From 2f7d6119e14646c2a088cb88b7f742636c53fcab Mon Sep 17 00:00:00 2001 From: 4am Date: Thu, 17 Aug 2017 09:29:35 -0400 Subject: [PATCH] support DOS 3.2 disks with unformatted data fields on unused sectors --- src/id/trace32.a | 35 +++++++++++++++++++++++++++++++++++ src/standarddelivery.a | 16 ---------------- src/strings/en.a | 2 +- 3 files changed, 36 insertions(+), 17 deletions(-) diff --git a/src/id/trace32.a b/src/id/trace32.a index 78ee63c..f941a76 100644 --- a/src/id/trace32.a +++ b/src/id/trace32.a @@ -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 + 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 } diff --git a/src/standarddelivery.a b/src/standarddelivery.a index 2136620..78c741a 100644 --- a/src/standarddelivery.a +++ b/src/standarddelivery.a @@ -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 diff --git a/src/strings/en.a b/src/strings/en.a index 2e65ba4..d71cd1b 100755 --- a/src/strings/en.a +++ b/src/strings/en.a @@ -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 " "