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 |