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

40 lines
1.1 KiB
Plaintext

;-------------------------------
; #SSI protections
; weak bit, magic values,
; the occasional fat track
;
; module by qkumba/4am
;-------------------------------
!zone {
ldy gIsRDOS13
bne .exit
ldy #$0F
jsr SearchTrack
!byte WILDCARD,$00; xxx $00 (sometimes DEC, sometimes CMP)
!byte $F0,$17 ; BEQ *+$19
!byte $20,$65,$BC; JSR $BC65
!byte $B0,$F7 ; BCS *-7
!byte $C1,$00 ; CMP ($00,X)
!byte $C1,$00 ; CMP ($00,X)
!byte $EA ; NOP
!byte $EA ; NOP
bcs + ; passport-test-suite/Epidemic.woz [C=0] matches
jsr PrintByID
!byte s_ssi
jsr modify1
!byte $A9 ; LDA #$..
+
ldy #$09
jsr SearchTrack
!byte $AE,$F1,$BA; LDX $BAF1
!byte $BD,$89,$C0; LDA $C089,X
!byte $A9,$44 ; LDA #$22
!byte $20 ; JSR ...
bcs .exit ; passport-test-suite/Sixgun Shootout.woz [C=0] matches
jsr modify1
!byte $60 ; RTS
.exit
}