;------------------------------- ; #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 }