remove support for Ultrawarp card and simplify other softswitches

This commit is contained in:
4am 2020-04-02 14:37:15 -04:00
parent 8cedcada15
commit 2af1a0a076
2 changed files with 13 additions and 28 deletions

View File

@ -81,8 +81,6 @@ DecompressHGR
DecompressDHGR DecompressDHGR
jsr DecompressHGR jsr DecompressHGR
sta WRITEMAINMEM sta WRITEMAINMEM
jsr DHGRMode ; OpenEmulator incorrectly switches out of
; DHGR mode during accelerated decompression
lda #$60 lda #$60
sta PageFrom+2 sta PageFrom+2
lda #$40 lda #$40

View File

@ -6,8 +6,7 @@
; ;
; Forked from NORMFAST Release 6 (see changelog below) ; Forked from NORMFAST Release 6 (see changelog below)
; ;
; No functional changes to the acceleration routines, but for ; For Total Replay, we split the machine identification code from
; Total Replay, we split the machine identification code from
; the (de)acceleration code, because we can do the ID part once ; the (de)acceleration code, because we can do the ID part once
; at program startup (when ROM is easily available), then ; at program startup (when ROM is easily available), then
; (de)accelerate repeatedly from the language card (when ROM ; (de)accelerate repeatedly from the language card (when ROM
@ -135,11 +134,6 @@ tw1_speed = $C074
TW1_1MHZ = 1 TW1_1MHZ = 1
TW1_MAX = 0 TW1_MAX = 0
; Trademarked German accelerator
; overlaps annunciator 2 & //c mouse interrupts
uw_fast = $C05C
uw_1mhz = $C05D
; Zip Chip ; Zip Chip
; overlaps annunciator 1 & //c vertical blank ; overlaps annunciator 1 & //c vertical blank
zc_lock = $C05A zc_lock = $C05A
@ -320,9 +314,9 @@ end_iicplus
; X = low byte address of speed location ; X = low byte address of speed location
; Y = OR mask for fast ; Y = OR mask for fast
setspeed setspeed
lda #1 ; disable accelerator entry point lda #1 ; disable accelerator entry point
!byte $2C ; BIT <ABSOLUTE>, hide next lda # !byte $2C ; BIT <ABSOLUTE>, hide next lda #
lda #0 ; enable accelerator entry point lda #0 ; enable accelerator entry point
setspeed_x=*+1 setspeed_x=*+1
ldx #$FD ; SMC ldx #$FD ; SMC
@ -348,23 +342,17 @@ end_setspeed
; FastChip, &c.) ; FastChip, &c.)
; We blindly set switches for all known cards. ; We blindly set switches for all known cards.
addon addon
lda #1 ; disable accelerator entry point lda #1 ; disable accelerator entry point
!byte $2C ; BIT <ABSOLUTE>, hide next lda # !byte $2C ; BIT <ABSOLUTE>, hide next lda #
lda #0 ; enable accelerator entry point lda #0 ; enable accelerator entry point
; TransWarp I ; TransWarp I
sta tw1_speed sta tw1_speed
; trademarked accelerator from Germany ; no UW support here because the softswitch to enable
; acceleration triggers DHGR bugs in OpenEmulator :-(
tay
sta uw_fast,y ; value does not matter, SMC
; no blind setting on the IIc
; it has unwanted side-effects
; Zip Chip ; Zip Chip
ldy #FC_1MHZ ldy #FC_1MHZ
eor #1 eor #1
tax tax
@ -372,16 +360,15 @@ addon
ldy #FC_ON ldy #FC_ON
+ lda #ZC_UNLOCK + lda #ZC_UNLOCK
php php
sei ; timing sensitive sei ; following sequence is timing sensitive
sta zc_lock sta zc_lock
sta zc_lock sta zc_lock
sta zc_lock sta zc_lock
sta zc_lock sta zc_lock
lsr ; not ZC_LOCK or ZC_UNLOCK lsr ; not ZC_LOCK or ZC_UNLOCK
sta zc_lock,x ; disable/enable sta zc_lock,x ; disable/enable
lda #ZC_LOCK lda #ZC_LOCK
sta zc_lock sta zc_lock
sta $C05D ; fix colouring
FASTChip FASTChip
lda #FC_UNLOCK lda #FC_UNLOCK