Scratch ($c823)

8688: 20 70 82  JSR $8270        Dateityp feststellen ('S0:A*=U')
868B: 20 0B 82  JSR $820B        alle Filenamen auf Drivenummer testen
868E: 20 A2 82  JSR $82A2        Drive initialisieren
8691: A9 00     LDA #$00         Zaehler fuer 'Files scratched' = 0
8693: 85 55     STA $55
8695: 20 ED 82  JSR $82ED        1. Datei suchen
8698: 30 6E     BMI $8708        nicht gefunden, ==>

Einsprung von $8706:

869A: 20 F5 9C  JSR $9CF5        Ist das File gerade geoeffnet
869D: 90 64     BCC $8703        ja, ==>
869F: A0 00     LDY #$00         Filetyp holen
86A1: B1 64     LDA ($64),Y
86A3: 8D EE 01  STA $01EE        und merken
86A6: 29 40     AND #$40         b6=1: Ist der Scratch-Schutz aktiv ?
86A8: D0 59     BNE $8703        ja, ==>
86AA: 20 3B 87  JSR $873B        Filetyp = 0 setzen

CBM-Dateien loeschen

86AD: AD EE 01  LDA $01EE        Filetyp holen
86B0: 29 07     AND #$07
86B2: C9 05     CMP #$05         ist es eine Partition
86B4: D0 25     BNE $86DB        nein, ==>
86B6: C8        INY
86B7: B1 64     LDA ($64),Y      Start-T&S holen
86B9: 85 4D     STA $4D
86BB: C8        INY
86BC: B1 64     LDA ($64),Y
86BE: 85 4E     STA $4E
86C0: A0 1C     LDY #$1C
86C2: B1 64     LDA ($64),Y      Laenge der Partition holen
86C4: 8D EE 01  STA $01EE
86C7: C8        INY
86C8: B1 64     LDA ($64),Y
86CA: 8D ED 01  STA $01ED

Einsprung von $86D6:

86CD: 20 B5 94  JSR $94B5        auf gueltigen Partition-Block pruefen
86D0: 20 46 B5  JSR $B546        Block in Bam freigeben
86D3: 20 EF B2  JSR $B2EF        naechsten Block der Partition holen
86D6: D0 F5     BNE $86CD        noch Blocks uebrig, ==>
86D8: 4C EE DB  JMP $DBEE        Bam speichern, Sprung nach $8701

File loeschen

Einsprung von $86B4:

86DB: A0 13     LDY #$13         Side-Sektoren loeschen
86DD: B1 64     LDA ($64),Y
86DF: F0 0A     BEQ $86EB        sind Side-Sektoren vorhanden ?
86E1: 85 4D     STA $4D          ja, T&S merken
86E3: C8        INY
86E4: B1 64     LDA ($64),Y
86E6: 85 4E     STA $4E
86E8: 20 13 87  JSR $8713        Blocks freigeben

Einsprung von $86DF:

86EB: AE 6D 02  LDX $026D        File loeschen
86EE: A9 20     LDA #$20         ist die Datei ordnungsgemaess geschlossen ?
86F0: 35 F4     AND $F4,X        (b5=0)
86F2: D0 0D     BNE $8701        nein, ('*'-File) ==>
86F4: BD 97 02  LDA $0297,X      T&S des Files holen
86F7: 85 4D     STA $4D
86F9: BD 9C 02  LDA $029C,X
86FC: 85 4E     STA $4E
86FE: 20 13 87  JSR $8713        Datei verfolgen und Blocks freigeben

Einsprung von $86F2, $DBF1:

8701: E6 55     INC $55          Anzahl 'Files scratched' +1

Einsprung von $869D, $86A8:

8703: 20 E6 82  JSR $82E6        naechste Datei suchen
8706: 10 92     BPL $869A        gefunden, ==>

Einsprung von $8698:

8708: A5 55     LDA $55          Anzahl 'Files scratched' fuer die Meldung
870A: 85 4D     STA $4D          als aktuelle Tracknummer merken
870C: A0 00     LDY #$00         Sektornummer =0
870E: A9 01     LDA #$01         01, Files scratched ,xx,00
8710: 4C 5D 80  JMP $805D

File verfolgen und Blocks freigeben

Einsprung von $86E8, $86FE, $9AE2:

8713: 20 46 B5  JSR $B546        1. Block des Files  freigeben
8716: 20 CF 93  JSR $93CF        Datei auf internem Lesekanal oeffnen

Einsprung von $8738:

8719: A9 00     LDA #$00         Pufferzeiger auf 0 setzen
871B: 20 22 94  JSR $9422
871E: 20 9B 90  JSR $909B        T&S des Folgeblocks holen und merken
8721: 85 4D     STA $4D
8723: 20 9B 90  JSR $909B        (Byte aus Puffer holen)
8726: 85 4E     STA $4E
8728: A5 4D     LDA $4D          existiert ein Folgeblock ?
872A: D0 06     BNE $8732        ja, ==>
872C: 20 15 B5  JSR $B515        BAM abspeichern
872F: 4C 9E 91  JMP $919E        Lesekanal freigeben

Einsprung von $872A:

8732: 20 46 B5  JSR $B546        Folgeblock freigeben
8735: 20 AA 93  JSR $93AA        Folgeblock lesen
8738: 4C 19 87  JMP $8719

File im Directory als geloescht kennzeichnen

Einsprung von $86AA, $9780, $B2C1:

873B: A0 00     LDY #$00         Filetyp = 0 (DEL) setzen
873D: 98        TYA
873E: 91 64     STA ($64),Y
8740: 20 9A 9D  JSR $9D9A        Puffer schreiben
8743: 4C ED 94  JMP $94ED        Jobausfuehrung ueberwachen

    Previous Page / Next Page