passport/src/patchers/gamco.a
2018-08-02 22:00:03 -07:00

34 lines
1.1 KiB
Plaintext

;-------------------------------
; #GAMCO
; bad block check POKEd into memory
; from compiled BASIC
; e.g. Essential Grammar, Math Football
;-------------------------------
!zone {
bit gMode ; nothing to do here in verify-only mode
bpl .exit
; [speed optimization: only ever seen this protection on disks with
; a specific nibble sequence on track $22, or an unformatted T22 --
; if this global variable is set in SkipTrack() after failing to read T22S0F,
; then we scan every other track for the Gamco protection code]
lda gPossibleGamco
bne .exit
ldy #$12
jsr SearchTrack
!byte $33,$32,$01,$30,$03,$31,$39,$31
!byte $03,$31,$32,$38,$02,$31,$31,$02
!byte $39,$36
bcs .exit
sta gDisplayBytes
pha
lda #s_poke
jsr PrintByID
pla
ldy #$12
jsr modify
!byte $34,$34,$01,$30,$02,$31,$30,$03
!byte $32,$33,$34,$03,$31,$36,$39,$02
!byte $33,$39
.exit
}