    Error-Routine des Controllers ($e60a)

    A7AE: 48        PHA              Fehlernummer merken
    A7AF: 86 6C     STX $6C          Puffernummer bzw Jobspeichernummer merken
    A7B1: 8A        TXA
    A7B2: 0A        ASL              (Index fuer 2-Byte Tabelle)
    A7B3: AA        TAX
    A7B4: B5 0B     LDA $0B,X        T&S des Fehlers holen
    A7B6: 85 4D     STA $4D
    A7B8: B5 0C     LDA $0C,X
    A7BA: 85 4E     STA $4E
    A7BC: 68        PLA              Fehlernummer zurueckholen
    Job-Errorcodes in DOS-Errorcodes umwandeln

    A7BD: 29 0F     AND #$0F         Fehlercode = $10 ?
    A7BF: F0 10     BEQ $A7D1        ja, (24, Read Error) ==>
    A7C1: C9 03     CMP #$03         NOADAM_DV_ER: keine Sync-Markierungen
    A7C3: F0 08     BEQ $A7CD        ja, (74, Drive not Ready) ==>
    A7C5: C9 0E     CMP #$0E         SYNTAX_DV_ER: ungueltiger Jobcode
    A7C7: F0 04     BEQ $A7CD        ja, (74, Drive not Ready) ==>
    A7C9: C9 0F     CMP #$0F         NODSKPRS_DV_ER:
    A7CB: D0 06     BNE $A7D3        nein, Fehlrecode errechnen

    Einsprung von $A7C3, $A7C7:

    A7CD: A9 74     LDA #$74         Meldung: '74, Drive not Ready' ausgeben
    A7CF: D0 08     BNE $A7D9        ==>

    Einsprung von $A7BF:

    A7D1: A9 06     LDA #$06         24, Read Error ausgeben

    Einsprung von $A7CB:

    A7D3: 09 20     ORA #$20         Fehlernummer + 20 (BCD) -2
    A7D5: AA        TAX              (Aus den Fehlern: 02,04,05,07,08 und 09
    A7D6: CA        DEX              die entsprechenden DOS-Meldungen errechnen.
    A7D7: CA        DEX              Bsp.: aus 5 wird 23; aus 9 wird 27)
    A7D8: 8A        TXA

    Einsprung von $A7CF:

    A7D9: 48        PHA              Fehlernummer merken
    A7DA: AD 2A 02  LDA $022A        aktuelle DOS-Befehlsnummer holen
    A7DD: C9 00     CMP #$00         = 0 (Validate) ?
    A7DF: D0 0F     BNE $A7F0        nein, ==>
    A7E1: A9 FF     LDA #$FF         Befehlsnummer loeschen
    A7E3: 8D 2A 02  STA $022A
    A7E6: 68        PLA              Fehlernummer zurueckholen
    A7E7: 20 6D A8  JSR $A86D        Fehlertext generieren
    A7EA: 20 03 8F  JSR $8F03        Partition initialisieren
    A7ED: 4C F4 A7  JMP $A7F4

    Einsprung von $A7DF:

    A7F0: 68        PLA

        Previous Page / Next Page