zero unformatted DOS 3.2 sectors after confirming their status

This commit is contained in:
4am 2017-08-18 09:46:39 -04:00 committed by Peter Ferrie
parent c24598a4d3
commit 373bf8bd33
3 changed files with 42 additions and 10 deletions

View File

@ -237,6 +237,8 @@ TraceDOS32d
jmp ADStyle jmp ADStyle
; callback to check if the data field is missing ; callback to check if the data field is missing
; and if so, fill the RWTS data buffer with zeros
; and tell the caller that nibblizing was successful
FFer FFer
ldy #$00 ldy #$00
@ -246,8 +248,22 @@ FFer
bne + bne +
iny iny
bne - bne -
ldy callrwts+2
dey
sty .G+2
dey
sty .F+2
ldy #$00
tya
.F sta $FF00,y
iny
bne .F
.G sta $FF00,y
iny
cpy #$9A
bne .G
clc clc
!byte $24 ; hide next SEC rts
+ sec + sec
rts rts
} }

View File

@ -8,10 +8,6 @@
bit gMode ; nothing to do here in verify-only mode bit gMode ; nothing to do here in verify-only mode
bpl .exit bpl .exit
lda #s_bootwrite
jsr PrintByID
inc gPatchCount
; sectors 2-9 ; sectors 2-9
lda #>universalrwts lda #>universalrwts
@ -21,6 +17,9 @@
lda #$38 lda #$38
sta $1656 ; #BASEPAGE+6 sta $1656 ; #BASEPAGE+6
lda #s_rwtswrite
jsr PrintByID
; sector 1 ; sector 1
lda callrwts+2 lda callrwts+2
@ -29,8 +28,16 @@
ldx #$11 ; #BASEPAGE+1 ldx #$11 ; #BASEPAGE+1
ldy #$01 ldy #$01
jsr CopyMemory jsr CopyMemory
lda #$2C lda #$01
sta $1138 ; #BASEPAGE+1 ldx #$38
ldy #$02
jsr compare
!byte $20,$93
bcs +
ldy #$01
jsr modify
!byte $2C
+
; sector 0 ; sector 0
@ -40,10 +47,14 @@
lda #<SD_DOS32 lda #<SD_DOS32
ldx #>SD_DOS32 ldx #>SD_DOS32
jsr ConstructStandardDelivery jsr ConstructStandardDelivery
jmp .exit jmp ++
+ lda #<SD_DOS32LO + lda #<SD_DOS32LO
ldx #>SD_DOS32LO ldx #>SD_DOS32LO
jsr ConstructStandardDelivery jsr ConstructStandardDelivery
++ lda #s_bootwrite
jsr PrintByID
inc gPatchCount
.exit .exit
} }

View File

@ -106,7 +106,8 @@ s_d5timing = $57
s_advint = $58 s_advint = $58
s_dos32b0 = $59 s_dos32b0 = $59
s_bootwrite = $5A s_bootwrite = $5A
STRINGCOUNT = $5B s_rwtswrite = $5B
STRINGCOUNT = $5C
!zone { !zone {
StringTable StringTable
@ -201,6 +202,7 @@ StringTable
!word .advint !word .advint
!word .dos32boot0 !word .dos32boot0
!word .bootwrite !word .bootwrite
!word .rwtswrite
; ;
; Text can contain substitution strings, which ; Text can contain substitution strings, which
; are replaced by current values at runtime. Each ; are replaced by current values at runtime. Each
@ -500,5 +502,8 @@ StringTable
!text "T%t,S%0 Found Adventure International",$8D !text "T%t,S%0 Found Adventure International",$8D
!text "protection check",$8D,$00 !text "protection check",$8D,$00
.bootwrite .bootwrite
!text "T00 Writing Standard Delivery bootloader",$00 !text "T00,S00 Writing Standard Delivery",$8D
!text "bootloader",$8D,$00
.rwtswrite
!text "T00,S02 Writing built-in RWTS",$8D,$00
} }