passport/src/patchers/davidsonasm.a
2021-06-21 10:33:16 -04:00

38 lines
977 B
Plaintext

;-------------------------------
; #DAVIDSONASM
; bad block check of T22,S00
; implemented in assembly
;
; tested on
; - Alge-Blaster Plus 1.0
; - Math Blaster Mystery 1.0
; - Math Blaster Mystery 1.3
; - Reading and Me
; - Spell It Plus
; - Word Attack Plus 1.2
; - Word Attack Plus French 1.2
; - Word Attack Plus Spanish 1.2
;-------------------------------
!zone {
lda gIsDavidson
bne .exit
lda #$0F
sta .sector+1
.sector lda #$FF ; modified at runtime
ldx #$00
ldy #$06
jsr compare
!byte $20,$D2,$25; JSR $25D2
!byte $4C,$74,$08; JMP $0874
bcs + ; passport-test-suite/Word Attack Plus Spanish.woz [C=0] matches
jsr PrintByID
!byte s_badblock
ldx #$04
jsr modify1
!byte $79 ; JMP to $0879 instead
+ dec .sector+1
bpl .sector
.exit
}