2017-01-24 00:57:43 +00:00
|
|
|
!zone {
|
2017-01-08 03:35:35 +00:00
|
|
|
InitSectorMap
|
|
|
|
lda #<sectormap
|
2017-01-24 00:57:43 +00:00
|
|
|
sta .B+1
|
2017-01-08 03:35:35 +00:00
|
|
|
lda #>sectormap
|
2017-01-24 00:57:43 +00:00
|
|
|
sta .B+2
|
2017-01-08 03:35:35 +00:00
|
|
|
lda #$FF
|
|
|
|
ldx #$22
|
2017-01-24 00:57:43 +00:00
|
|
|
.A ldy #$0F
|
|
|
|
.B sta $FFFF
|
|
|
|
inc .B+1
|
2017-01-08 03:35:35 +00:00
|
|
|
bne +
|
2017-01-24 00:57:43 +00:00
|
|
|
inc .B+2
|
2017-01-08 03:35:35 +00:00
|
|
|
+ dey
|
2017-01-24 00:57:43 +00:00
|
|
|
bpl .B
|
2017-01-08 03:35:35 +00:00
|
|
|
dex
|
2017-01-24 00:57:43 +00:00
|
|
|
bpl .A
|
2017-01-08 03:35:35 +00:00
|
|
|
rts
|
2017-01-24 00:57:43 +00:00
|
|
|
}
|
2017-01-08 03:35:35 +00:00
|
|
|
|
|
|
|
;-------------------------------
|
|
|
|
; This is a map of how much we care about each sector
|
|
|
|
; on the disk. Each byte is one sector, arranged in
|
|
|
|
; increasing logical sector order from T00,S00 to T22,S0F.
|
|
|
|
; Some sectors have their own individual labels just for
|
|
|
|
; convenience.
|
|
|
|
; e.g. LDA #$80
|
|
|
|
; STA T00S0A
|
|
|
|
; will mark T00,S0A as optional
|
|
|
|
;
|
|
|
|
; Possible values for each sector:
|
|
|
|
; 00 = ignore this sector (don't even read it)
|
|
|
|
; 80 = sector is optional -- read, but ignore any errors
|
|
|
|
; FE = sector is required, and switch to the built-in RWTS
|
|
|
|
; after reading it (if we haven't already)
|
2017-01-24 00:57:43 +00:00
|
|
|
; FF = sector is required -- read, and any error is fatal
|
2017-01-08 03:35:35 +00:00
|
|
|
; (this is the default value for all sectors)
|
|
|
|
;-------------------------------
|
|
|
|
sectormap
|
2017-04-05 01:20:05 +00:00
|
|
|
T00 !byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
|
|
|
T00S09 !byte $FF
|
|
|
|
T00S0A !byte $FF
|
|
|
|
!byte $FF,$FF,$FF,$FF,$FF
|
|
|
|
T01 !byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
|
|
|
T01S0F !byte $FF
|
|
|
|
T02 !byte $FF,$FF,$FF,$FF,$FF
|
|
|
|
T02S05 !byte $FF
|
|
|
|
!byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
|
|
|
T03 !byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
|
|
|
T04 !byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
|
|
|
T05 !byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
|
|
|
T06 !byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
|
|
|
T07 !byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
|
|
|
T08 !byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
|
|
|
T09 !byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
|
|
|
T0A !byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
|
|
|
T0B !byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
|
|
|
T0C !byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
|
|
|
T0D !byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
|
|
|
T0E !byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
|
|
|
T0F !byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
|
|
|
T10 !byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
|
|
|
T11 !byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
|
|
|
T11S0F !byte $FF
|
|
|
|
T12 !byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
|
|
|
T13 !byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
|
|
|
T14 !byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
|
|
|
T15 !byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
|
|
|
T16 !byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
|
|
|
T17 !byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
|
|
|
T18 !byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
|
|
|
T19 !byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
|
|
|
T1A !byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
|
|
|
T1B !byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
|
|
|
T1C !byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
|
|
|
T1D !byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
|
|
|
T1E !byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
|
|
|
T1F !byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
|
|
|
T20 !byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
|
|
|
T21 !byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
|
|
|
T22 !byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
|
|
|
T22S0F !byte $FF
|