fix weird colouring on the IIc and IIc+

This commit is contained in:
Peter Ferrie 2019-12-01 15:34:08 -08:00
parent 7c1a2c4f8c
commit 7e26583868

View File

@ -20,6 +20,9 @@
;;; NORMFAST Disable/enable Apple II compatible accelerator ;;; NORMFAST Disable/enable Apple II compatible accelerator
; (no copyright info given) ; (no copyright info given)
; ;
; Release 7 2019-11-27 FASTChip control just like ZipChip.
; Prevents unexpected acceleration by user.
;
; Release 6 2017-10-05 Fix Mac IIe card check ; Release 6 2017-10-05 Fix Mac IIe card check
; ;
; Release 5 2017-09-27 Add Macintosh IIe Card. Addon ; Release 5 2017-09-27 Add Macintosh IIe Card. Addon
@ -210,10 +213,11 @@ build_setspeed
rts rts
patch_zc patch_zc
lda #$d0 ; BNE lda #$D0
sta zc_iic sta zc_iic1 + 2
lda #(FASTChip-zc_iic)-2 sta zc_iic2
sta zc_iic+1 lda #(FASTChip - zc_iic2) - 2
sta zc_iic2 + 1
; fall through ; fall through
build_addon build_addon
@ -283,6 +287,7 @@ iicplus !pseudopc DisableAccelerator {
lda #CGGA_LOCK ; should lock after a change lda #CGGA_LOCK ; should lock after a change
pha pha
jsr cgga ; reads parm from stack, must JSR jsr cgga ; reads parm from stack, must JSR
sta $C05B ; fix colouring
+READ_RAM2_WRITE_RAM2 +READ_RAM2_WRITE_RAM2
rts rts
@endpokery @endpokery
@ -326,14 +331,18 @@ addon
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 ; trademarked accelerator from Germany
tay tay
sta uw_fast,y ; value does not matter
; Zip Chip zc_iic1
sta uw_fast,y ; value does not matter, SMC
; no blind setting on the IIc
; it has unwanted side-effects
; Zip Chip
ldy #FC_1MHZ ldy #FC_1MHZ
eor #1 eor #1
@ -343,8 +352,7 @@ addon
+ lda #ZC_UNLOCK + lda #ZC_UNLOCK
php php
sei ; timing sensitive sei ; timing sensitive
zc_iic2
zc_iic
sta zc_lock ; SMC sta zc_lock ; SMC
; no blind Zip Chip on the IIc ; no blind Zip Chip on the IIc
; it has unwanted side-effects ; it has unwanted side-effects
@ -369,6 +377,7 @@ FASTChip
lda #FC_LOCK lda #FC_LOCK
sta fc_lock sta fc_lock
skip_chip
plp ; restore interrupt state plp ; restore interrupt state
rts rts
end_addon end_addon