Empfangene Daten in Record schreiben ($e0ab)
Einsprung von $8E8C:
A033: A9 A0 LDA #$A0 Record voll/nicht vorhanden ?
A035: 20 E4 9C JSR $9CE4 (b5,7 testen)
A038: D0 27 BNE $A061 ja, ==>
Einsprung von $A078:
A03A: A5 54 LDA $54 Datenbyte holen
A03C: 20 FC 9F JSR $9FFC und in Record schreiben
A03F: A5 51 LDA $51 EOI empfangen ?
A041: F0 0D BEQ $A050 ja, ==>
A043: 60 RTS
Teil der Error-Routine (Record uebergelaufen & EOI vom Computer empfangen)
Einsprung von $A067:
A044: A9 20 LDA #$20 b5=1: Ist das Flag: 'Record voll' gesetzt ?
A046: 20 E4 9C JSR $9CE4 [Deshalb sind wir ja hier !!!]
A049: F0 05 BEQ $A050 nein, (wird nie ausgefuehrt) ==>
A04B: A9 51 LDA #$51 51, Overflow in Record
A04D: 8D AB 02 STA $02AB Fehlernummer merken
Arbeit mit dem aktuellen Record beenden
Einsprung von $A041, $A049:
A050: 20 7B A0 JSR $A07B Rest des Records mit $00 auffuellen
A053: 20 E1 A0 JSR $A0E1 naechsten Record lesen
A056: AD AB 02 LDA $02AB Ist ein Fehler aufgetreten ?
A059: F0 03 BEQ $A05E nein, ==>
A05B: 4C 7C 80 JMP $807C Fehler ausgeben
Einsprung von $A059:
A05E: 4C 62 A8 JMP $A862 00, Ok,00,00
Laut Dateistatus liegt ein Fehler vor
Einsprung von $A038:
A061: 29 80 AND #$80 Record nicht vorhanden ?
A063: D0 05 BNE $A06A ja, ==>
A065: A5 51 LDA $51 (Record ist voll ) EOI empfangen ?
A067: F0 DB BEQ $A044 ja, ==>
A069: 60 RTS ueberzaelige Daten vergessen
Einsprung von $A063:
A06A: A5 54 LDA $54 Datenbyte zwischenspeichern
A06C: 48 PHA
A06D: 20 D6 A2 JSR $A2D6 neuen Block mit Records an die Datei haengen
A070: 68 PLA
A071: 85 54 STA $54
A073: A9 80 LDA #$80 b7=0: Record existiert
A075: 20 DB 9C JSR $9CDB Status loeschen
A078: 4C 3A A0 JMP $A03A Byte in den neuen Record schreiben
Previous Page / Next Page