    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