    T&S auf Gueltigkeit pruefen       ($d506)
    ggf. Formatkennzeichen pruefen, Jobcode setzen und Controller aufrufen
    E: x  : Puffernummer
       $28: Jobcode

    Einsprung von $900A, $9DCB:

    9471: A5 28     LDA $28          Zwischenspeicher fuer Jobcode merken

    Einsprung von $94EA:

    9473: 48        PHA
    9474: 86 6C     STX $6C          aktuelle Puffernummer merken
    9476: 2C A8 02  BIT $02A8        b6=1: T&S Pruefung abgeschaltet ?
    9479: 70 58     BVS $94D3        ja, ==>
    947B: 8A        TXA              Index fuer 16-Bit Tabelle berechnen
    947C: 0A        ASL
    947D: AA        TAX
    947E: B5 0C     LDA $0C,X        Sektornummer merken
    9480: 85 28     STA $28
    9482: B5 0B     LDA $0B,X        Tracknummer
    9484: F0 1A     BEQ $94A0        = 0 ? ja, (Fehler) ==>
    9486: CD 2C 02  CMP $022C        > letzter Track der Partition ?
    9489: B0 15     BCS $94A0        ja, (Fehler) ==>
    948B: 68        PLA              Jobcode holen
    948C: 48        PHA
    948D: C9 90     CMP #$90         'Schreiben' ?
    948F: D0 42     BNE $94D3        nein, ==> [Anscheinend wird die Sektor-
                                    nummer nur bei Schreibjobs geprueft ?!]
    9491: A5 6F     LDA $6F          Formatkennzeichen
    9493: CD EB 01  CMP $01EB        = 1581-Formatkennzeichen ?
    9496: D0 33     BNE $94CB        nein, ==>
    9498: A5 75     LDA $75          Anzahl der Sektoren pro Track
    949A: C5 28     CMP $28          mit Sektornummer vergleichen
    949C: F0 02     BEQ $94A0        gleich, dann Fehler ==>
    949E: B0 33     BCS $94D3        groesser, dann Ok. ==>

    Einsprung von $9484, $9489, $949C:

    94A0: 20 A8 94  JSR $94A8        T&S aus Jobpuffer holen

    Einsprung von $94B7, $94BC, $94C0, $94C6, $94C8:

    94A3: A9 66     LDA #$66         66, Illegal Track or Sector
    94A5: 4C 3F FF  JMP $FF3F

        Previous Page / Next Page