mirror of
https://github.com/a2-4am/passport.git
synced 2024-08-31 23:30:37 +00:00
42 lines
1.4 KiB
Plaintext
42 lines
1.4 KiB
Plaintext
;-------------------------------
|
|
; #GAMCO
|
|
; bad block check POKEd into memory
|
|
; from compiled BASIC
|
|
; e.g. Essential Grammar, Math Football
|
|
;-------------------------------
|
|
!zone {
|
|
; [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 .var2 ; passport-test-suite/Essential Grammar.woz [C=0] matches
|
|
jsr PrintByID
|
|
!byte s_poke
|
|
jsr modify
|
|
!byte $34,$34,$01,$30,$02,$31,$30,$03
|
|
!byte $32,$33,$34,$03,$31,$36,$39,$02
|
|
!byte $33,$39
|
|
bvc .exit
|
|
.var2
|
|
ldy #$12
|
|
jsr SearchTrack
|
|
!byte $32,$01,$30,$03,$31,$39,$31,$03
|
|
!byte $31,$32,$38,$03,$32,$35,$30,$02
|
|
!byte $33,$31
|
|
bcs .exit ; passport-test-suite/Percent (Gamco).woz [C=0] matches
|
|
jsr PrintByID
|
|
!byte s_poke
|
|
jsr modify
|
|
!byte $36,$01,$30,$03,$31,$36,$39,$03
|
|
!byte $31,$32,$38,$03,$31,$36,$39,$02
|
|
!byte $33,$39
|
|
.exit
|
|
}
|