fix Street Sports on IIc+

This commit is contained in:
Peter Ferrie 2020-03-06 10:53:57 -08:00
parent 496a069894
commit c2b04b0bec
2 changed files with 56 additions and 4 deletions

View File

@ -1,5 +1,5 @@
;license:MIT
;(c) 2020 by Frank M.
;(c) 2020 by Frank M., qkumba
!cpu 6502
!to "build/PRELAUNCH/SS.BASEBALL",plain
@ -14,8 +14,34 @@
inc $3F4 ; reboot
lda #$4C
sta $B7A6
lda #<callback1
sta $B7A7
lda #>callback1
sta $B7A8
jmp $B700
callback1
ldx #$FF
txs
lda #<callback2
sta $675B
lda #>callback2
sta $675C
jmp $6000
callback2
; work around IIc+ firmware bug:
; if LC is writable but not banked in
; then SmartPort always banks in bank 2
; regardless of which bank was active
lda #$8B
sta $B528
sta $B52B
+DISABLE_ACCEL
jmp $B700 ; could probably hook further
jmp $B581
!if * > $1C0 {
!error "code is too large, ends at ", *

View File

@ -1,5 +1,5 @@
;license:MIT
;(c) 2020 by Frank M.
;(c) 2020 by Frank M., qkumba
!cpu 6502
!to "build/PRELAUNCH/SS.BASKETBALL",plain
@ -14,8 +14,34 @@
inc $3F4 ; reboot
lda #$4C
sta $B7A6
lda #<callback1
sta $B7A7
lda #>callback1
sta $B7A8
jmp $B700
callback1
ldx #$FF
txs
lda #<callback2
sta $675B
lda #>callback2
sta $675C
jmp $6000
callback2
; work around IIc+ firmware bug:
; if LC is writable but not banked in
; then SmartPort always banks in bank 2
; regardless of which bank was active
lda #$8B
sta $B528
sta $B52B
+DISABLE_ACCEL
jmp $B700 ; could probably hook further
jmp $B581
!if * > $1C0 {
!error "code is too large, ends at ", *