mirror of
https://github.com/a2-4am/passport.git
synced 2024-11-19 03:06:34 +00:00
support DOS 3.2 disks with unformatted data fields on unused sectors
This commit is contained in:
parent
4c2c8ec6ff
commit
2f7d6119e1
@ -178,6 +178,26 @@ TraceDOS32d
|
|||||||
!byte $84,$48,$85,$49
|
!byte $84,$48,$85,$49
|
||||||
bcs .fail
|
bcs .fail
|
||||||
|
|
||||||
|
lda #$FA
|
||||||
|
sta modsrc
|
||||||
|
lda callrwts+2
|
||||||
|
sec
|
||||||
|
sbc #$05
|
||||||
|
sta modsrc+1
|
||||||
|
ldy #$00
|
||||||
|
lda #$4C ; set up JMP at $B8FA to our routine that will
|
||||||
|
sta (modsrc),y ; check whether the data field is missing
|
||||||
|
iny
|
||||||
|
lda #<FFer
|
||||||
|
sta (modsrc),y
|
||||||
|
iny
|
||||||
|
lda #>FFer
|
||||||
|
sta (modsrc),y
|
||||||
|
ldy #$07
|
||||||
|
lda #$F8 ; change BEQ at $B900 to branch to that JMP at $B8FA
|
||||||
|
; if data prologue is not found
|
||||||
|
sta (modsrc),y
|
||||||
|
|
||||||
; skip sectors $0D, $0E, and $0F on all tracks
|
; skip sectors $0D, $0E, and $0F on all tracks
|
||||||
; since this is a 13-sector disk
|
; since this is a 13-sector disk
|
||||||
|
|
||||||
@ -215,4 +235,19 @@ TraceDOS32d
|
|||||||
; read the rest of the disk with the original RWTS
|
; read the rest of the disk with the original RWTS
|
||||||
|
|
||||||
jmp ADStyle
|
jmp ADStyle
|
||||||
|
|
||||||
|
; callback to check if the data field is missing
|
||||||
|
|
||||||
|
FFer
|
||||||
|
ldy #$00
|
||||||
|
- lda $C08C,x
|
||||||
|
bpl -
|
||||||
|
cmp #$FF
|
||||||
|
bne +
|
||||||
|
iny
|
||||||
|
bne -
|
||||||
|
clc
|
||||||
|
!byte $24 ; hide next SEC
|
||||||
|
+ sec
|
||||||
|
rts
|
||||||
}
|
}
|
||||||
|
@ -126,19 +126,3 @@ SD_DOS32LO
|
|||||||
; track 2
|
; track 2
|
||||||
!byte $2A,$00,$00,$00,$35,$34,$33,$32,$31,$30,$2F,$2E,$2D,$2C,$2B,$00
|
!byte $2A,$00,$00,$00,$35,$34,$33,$32,$31,$30,$2F,$2E,$2D,$2C,$2B,$00
|
||||||
!byte $C0
|
!byte $C0
|
||||||
; T01,S00
|
|
||||||
; T01,S0E
|
|
||||||
; T01,S0D
|
|
||||||
; T01,S0C
|
|
||||||
; T01,S0B
|
|
||||||
; T01,S0A
|
|
||||||
; T01,S09
|
|
||||||
; T01,S08
|
|
||||||
; T01,S07
|
|
||||||
; T01,S06
|
|
||||||
; T01,S05
|
|
||||||
; T01,S04
|
|
||||||
; T01,S03
|
|
||||||
; T01,S02
|
|
||||||
; T01,S01
|
|
||||||
; T01,S0F
|
|
||||||
|
@ -226,7 +226,7 @@ StringTable
|
|||||||
; can be set directly before calling PrintByID.
|
; can be set directly before calling PrintByID.
|
||||||
;
|
;
|
||||||
.header
|
.header
|
||||||
!text "Passport by 4am 2017-08-16",$00
|
!text "Passport by 4am 2017-08-17",$00
|
||||||
.mainmenu
|
.mainmenu
|
||||||
!text "________________________________________",$8D,$8D,$8D,$8D,$8D,$8D,$8D
|
!text "________________________________________",$8D,$8D,$8D,$8D,$8D,$8D,$8D
|
||||||
!text " "
|
!text " "
|
||||||
|
Loading…
Reference in New Issue
Block a user