passport/src/patchers/springboard.a
2021-04-08 12:22:02 -04:00

34 lines
995 B
Plaintext

;-------------------------------
; #SPRINGBOARD
; RWTS checks for timing bit by
; comparing the data latch after
; the last address epilogue
;
; tested on
; - The Newsroom (Springboard)
; - Easy as ABC (Springboard)
; - Early Games for Young Children (Springboard)
; - The Chalice of Mostania (Coastal)
;-------------------------------
!zone {
lda gIsRWTS ; if DOS 3.3 RWTS
bne .exit
lda #$03
sta gDisplayBytes
ldx #$92
ldy #$07
jsr compare ; and T00,S03,$92 ==
!byte $D0,$AE ; BNE $B942
CMP $C08C,X
!byte $D0,$A9 ; BNE $B942
bcs .exit ; passport-test-suite/Easy as ABC.woz [C=0] matches
lda #s_springboard
jsr PrintByID
lda #$03
ldx #$98
ldy #$01
jsr modify ; then set T00,S03,$98 =
!byte $00 ; branch to next instruction on failure
.exit
}