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
|
||||
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
|
||||
; since this is a 13-sector disk
|
||||
|
||||
@ -215,4 +235,19 @@ TraceDOS32d
|
||||
; read the rest of the disk with the original RWTS
|
||||
|
||||
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
|
||||
!byte $2A,$00,$00,$00,$35,$34,$33,$32,$31,$30,$2F,$2E,$2D,$2C,$2B,$00
|
||||
!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.
|
||||
;
|
||||
.header
|
||||
!text "Passport by 4am 2017-08-16",$00
|
||||
!text "Passport by 4am 2017-08-17",$00
|
||||
.mainmenu
|
||||
!text "________________________________________",$8D,$8D,$8D,$8D,$8D,$8D,$8D
|
||||
!text " "
|
||||
|
Loading…
Reference in New Issue
Block a user