Zugriffsart feststellen und File zum Lesen oeffnen ($d940)

Einsprung von $975B:

97ED: AD 97 02  LDA $0297        Tracknummer des 1. Blocks holen
97F0: D0 05     BNE $97F7        > 0 (File gefunden) ? ja, ==>
97F2: A9 62     LDA #$62         62, File not found
97F4: 4C 7C 80  JMP $807C

Einsprung von $97F0:

97F7: AD A7 02  LDA $02A7        Ist die Zugriffsart = 'M' (Modify) ?
97FA: C9 03     CMP #$03
97FC: F0 0B     BEQ $9809        ja, ==>
97FE: A9 20     LDA #$20         b5=1: ist die Datei offen ?
9800: 24 F4     BIT $F4
9802: F0 05     BEQ $9809        nein, ==>
9804: A9 60     LDA #$60         60, Write File open
9806: 4C 7C 80  JMP $807C

Einsprung von $97FC, $9802:

9809: A5 F4     LDA $F4          Typ der Datei
980B: 29 07     AND #$07
980D: CD 2D 02  CMP $022D        = gesuchter Typ ?
9810: F0 05     BEQ $9817        ja, ==>

Einsprung von $9825, $97A9, $97AD:

9812: A9 64     LDA #$64         64, File type mismatch
9814: 4C 7C 80  JMP $807C

Einsprung von $9810:

9817: A0 00     LDY #$00         Anzahl der Dateinamen = 1
9819: 8C 30 02  STY $0230
981C: AE A7 02  LDX $02A7        Zugriffsart holen
981F: E0 02     CPX #$02         = Append ?
9821: D0 1A     BNE $983D        nein, ==>
9823: C9 04     CMP #$04         Filetyp = REL ?
9825: F0 EB     BEQ $9812        ja, (Fehler) ==>
9827: B1 64     LDA ($64),Y      b7=0: Flag 'File offen' im Directory setzen
9829: 29 4F     AND #$4F
982B: 91 64     STA ($64),Y
982D: A5 52     LDA $52          aktuelle SA merken
982F: 48        PHA
9830: A9 11     LDA #$11         internen Lesekanal aktivieren
9832: 85 52     STA $52
9834: 20 79 9D  JSR $9D79        T&S der aktuellen Datei holen
9837: 20 C1 93  JSR $93C1        Puffer schreiben
983A: 68        PLA
983B: 85 52     STA $52          SA zurueckholen

Einsprung von $9821:

983D: 20 4D 98  JSR $984D        File zum Lesen oeffnen
9840: AD A7 02  LDA $02A7        Zugriffsart
9843: C9 02     CMP #$02         = Append ?
9845: D0 4F     BNE $9896        nein, ==>
9847: 20 CC 98  JSR $98CC        Append-Befehl aufrufen
984A: 4C 4C 80  JMP $804C

    Previous Page / Next Page