$C823/51235: Perform [S] - Scratch command C823: 20 98 C3 JSR $C398 ; ascertain file type C826: 20 20 C3 JSR $C320 ; get drive number C829: 20 CA C3 JSR $C3CA ; initialize drive if needed C82C: A9 00 LDA #$00 C82E: 85 86 STA $86 ; counter for erased files C830: 20 9D C4 JSR $C49D ; search for file in directory C833: 30 3D BMI $C872 ; not found? Jump from $C870: C835: 20 B7 DD JSR $DDB7 ; is file open C838: 90 33 BCC $C86D ; yes C83A: A0 00 LDY #$00 C83C: B1 94 LDA ($94),Y ; file type C83E: 29 40 AND #$40 ; scratch protect C840: D0 2B BNE $C86D ; yes C842: 20 B6 C8 JSR $C8B6 ; erase file and note in directory C845: A0 13 LDY #$13 C847: B1 94 LDA ($94),Y ; track number of the first side-sector C849: F0 0A BEQ $C855 ; none present? C84B: 85 80 STA $80 ; note track number C84D: C8 INY C84E: B1 94 LDA ($94),Y ; and sector number C850: 85 81 STA $81 C852: 20 7D C8 JSR $C87D ; erase side-sector Jump from $C849: C855: AE 53 02 LDX $0253 ; file number C858: A9 20 LDA #$20 C85A: 35 E7 AND $E7,X ; bit 5 set? C85C: D0 0D BNE $C86B ; yes, file not closed C85E: BD 80 02 LDA $0280,X ; get track C861: 85 80 STA $80 C863: BD 85 02 LDA $0285,X ; and sector C866: 85 81 STA $81 C868: 20 7D C8 JSR $C87D ; erase file Jump from $C85C: C86B: E6 86 INC $86 ; increment number of erased files Jump from $C838, $C840: C86D: 20 8B C4 JSR $C48B ; search for next file C870: 10 C3 BPL $C835 ; if present, erase Jump from $C833: C872: A5 86 LDA $86 ; number of erased files C874: 85 80 STA $80 ; save as 'track' C876: A9 01 LDA #$01 ; 1 as disk status C878: A0 00 LDY #$00 ; 0 as 'sector' C87A: 4C A3 C1 JMP $C1A3 ; message 'files scratched' Previous Page / Next Page |