Byte in aktuelle Datei schreiben ($cfb7)
[Diese Routine wird immer dann aufgerufen, wenn Daten ueber den seriellen
 Bus an das Diskettenlaufwerk gesendet werden. Dabei ist es egal, ob es
 sich um:
 - Daten fuer eine Datei, oder
 - den Filenamen der Datei, oder um
 - Diskettenkommandos
 handelt. In den beiden letzten Faellen wird das Befehlsmodus-Flag gesetzt.
 Dadurch wird nach der Uebertragung der Befehl automatisch analysiert bzw.
 die Datei geoeffnet (s.$8004).]

Einsprung von $AED3:

8E78: A5 53     LDA $53          SA vom BUS
8E7A: 29 8F     AND #$8F         b7=1: SA oeffnen ?  oder
8E7C: C9 0F     CMP #$0F         Byte in Kommandokanal schreiben ?
8E7E: B0 19     BCS $8E99        ja, ==>

Einsprung von $8E76:

8E80: 20 5F 90  JSR $905F        aktuellen Filetyp holen
8E83: B0 05     BCS $8E8A        Rel-Datei oder Direktzugriff, ==>
8E85: A5 54     LDA $54          empfangenes Byte holen
8E87: 4C 12 91  JMP $9112        Byte in die Datei schreiben

Einsprung von $8E83:

8E8A: D0 03     BNE $8E8F        REL-Datei ?
8E8C: 4C 33 A0  JMP $A033        ja, Byte in Record schreiben

Einsprung von $8E8A:

8E8F: A5 54     LDA $54          Byte holen
8E91: 20 B1 8E  JSR $8EB1        Byte in Puffer schreiben
8E94: A4 50     LDY $50
8E96: 4C 4A 93  JMP $934A        naechstes Byte zur Ausgabe bereitstellen

Einsprung von $8E7E, $8E74:

8E99: A9 05     LDA #$05         Kommando-Kanalnumer setzen
8E9B: 85 50     STA $50
8E9D: 20 42 94  JSR $9442        Pufferzeiger holen
8EA0: C9 2A     CMP #$2A         Puffer voll ?
8EA2: F0 05     BEQ $8EA9        ja, ==>
8EA4: A5 54     LDA $54          empfangenes Byte holen und
8EA6: 20 B1 8E  JSR $8EB1        in (Kommando-) Puffer schreiben

Einsprung von $8EA2:

8EA9: A5 51     LDA $51          EOI-Flag testen
8EAB: F0 01     BEQ $8EAE        Datenende, ==>
8EAD: 60        RTS

Einsprung von $8EAB:

8EAE: E6 7B     INC $7B          Befehlsmodus-Flag setzen
8EB0: 60        RTS
    Previous Page / Next Page