    Blockheader lesen

    Einsprung von $CFA6:

    CD00: A2 05     LDX #$05         Blockheaderpuffer loeschen

    Einsprung von $CD06:

    CD02: 8A        TXA
    CD03: 95 1F     STA $1F,X        6 Bytes: Track,Seite,Sektor,Groesse,CRC1,CRC2
    CD05: CA        DEX
    CD06: 10 FA     BPL $CD02
    CD08: 20 BC CD  JSR $CDBC        Ist eine Diskette im Laufwerk ?
    CD0B: B0 2C     BCS $CD39        nein, Lesen unmoeglich ==>
    CD0D: AD E1 01  LDA $01E1        Controller-Befehl: Read Adress
    CD10: 20 F4 CB  JSR $CBF4        Kommando in Controller schreiben
    CD13: A2 00     LDX #$00
    CD15: A0 06     LDY #$06         6 Bytes von Diskette einlesen

    Einsprung von $CD1F, $CD28:

    CD17: AD 00 60  LDA $6000        Controller-Status holen
    CD1A: 29 03     AND #$03
    CD1C: 4A        LSR
    CD1D: 90 0B     BCC $CD2A        Controller ready, ==>
    CD1F: F0 F6     BEQ $CD17        kein Byte ready, ==>
    CD21: AD 03 60  LDA $6003        Byte einlesen und
    CD24: 95 1F     STA $1F,X        im Blockheader-Puffer speichern
    CD26: E8        INX
    CD27: 88        DEY
    CD28: D0 ED     BNE $CD17        noch ein Byte einlesen, ==>

    Einsprung von $CD1D:

    CD2A: 20 3F CD  JSR $CD3F        Controller-Status pruefen
    CD2D: F0 02     BEQ $CD31        Kein Fehler, ==>
    CD2F: 38        SEC
    CD30: 24         B $24

    Einsprung von $CD2D:

    CD31: 18        CLC
    CD32: 24 8D     BIT $8D          E/A-Byte abfragen
    CD34: 50 08     BVC $CD3E        b6=0: keine Pruefsumme bilden, ==>
    CD36: 4C 63 DA  JMP $DA63        Pruefsumme bilden ==>

    Einsprung von $CD0B:

    CD39: A9 03     LDA #$03         Zwischenspeicher setzen
    CD3B: 85 7D     STA $7D
    CD3D: 38        SEC

    Einsprung von $CD34:

    CD3E: 60        RTS

        Previous Page / Next Page