    Burst-Befehl: Read mit logischen Blockangaben (bei der 1571: $83a4)

    Einsprung von $BAB5:

    BAAE: A9 8D     LDA #$8D         b0-3: kein logisches Diskettenformat
    BAB0: 4C FC BA  JMP $BAFC        b7: Fremdformat; Burststatus ausgeben

    Einsprung von $BAF1, $BB1A:

    BAB3: A5 8A     LDA $8A          <--  Burst-Status OR-Maske holen
    BAB5: 30 F7     BMI $BAAE        b7=1: Fremdformat ? ja, ==>
    BAB7: A2 00     LDX #$00
    BAB9: AD 03 02  LDA $0203        Tracknummer in Jobspeicher schreiben
    BABC: 95 0B     STA $0B,X
    BABE: AD 04 02  LDA $0204        Sektornummer in Jobspeicher schreiben
    BAC1: 95 0C     STA $0C,X
    BAC3: A9 80     LDA #$80         Job $80: READ_DV: Block einlesen
    BAC5: 20 B0 BF  JSR $BFB0        Job ausfuehren
    BAC8: 20 66 BF  JSR $BF66        Burst-Status setzen
    BACB: 24 7C     BIT $7C          E-Flag (b6)=1: Lesefehler ignorieren ?
    BACD: 70 07     BVS $BAD6        ja, ==>
    BACF: C9 02     CMP #$02         ist ein Fehler aufgetreten ?
    BAD1: 90 03     BCC $BAD6        nein, ==>
    BAD3: 4C FC BA  JMP $BAFC        Burst-Status setzen und ausgeben ==>

    Einsprung von $BACD, $BAD1:

    BAD6: 20 AB BF  JSR $BFAB        Burst-Status ausgeben
    BAD9: A0 00     LDY #$00         Pufferzeiger auf $0300 setzen
    BADB: 84 7E     STY $7E
    BADD: A9 03     LDA #$03
    BADF: 85 7F     STA $7F

    Einsprung von $BAE7:

    BAE1: B1 7E     LDA ($7E),Y      Datenbyte holen
    BAE3: 20 86 BF  JSR $BF86        und an Computer senden
    BAE6: C8        INY
    BAE7: D0 F8     BNE $BAE1        ganzen Datenblock senden, ==>
    BAE9: CE 05 02  DEC $0205        Anzahl zu sendender Bloecke -1
    BAEC: F0 06     BEQ $BAF4        =0 ? ja, ==>
    BAEE: 20 7A C0  JSR $C07A        naechsten logischen Sektor holen
    BAF1: 4C B3 BA  JMP $BAB3        Block laden und ausgeben ==>

    Einsprung von $BAEC:

    BAF4: 4C 44 BF  JMP $BF44        ggf. die angegebene Spur anfahren

        Previous Page / Next Page