2017-02-07 15:53:52 +00:00
|
|
|
;-------------------------------
|
|
|
|
; #GAMCO
|
|
|
|
; bad block check POKEd into memory
|
|
|
|
; from compiled BASIC
|
|
|
|
; e.g. Essential Grammar, Math Football
|
|
|
|
;-------------------------------
|
|
|
|
!zone {
|
2017-07-03 14:50:55 +00:00
|
|
|
; [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
|
2017-02-07 15:53:52 +00:00
|
|
|
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
|
|
|
|
}
|