JOB $a4: SP_READ

C800: 20 A6 CF  JSR $CFA6        Blockheader lesen
C803: A5 88     LDA $88          befindet sich der Kopf auf der
C805: C5 1F     CMP $1F          richtigen Spur ?
C807: F0 03     BEQ $C80C        ja, ==>
C809: 4C 88 CB  JMP $CB88        02, MISHD_DV_ER

Einsprung von $C807:

C80C: A6 83     LDX $83          Jobnummer holen [Dies ist der Index fuer
                                 1-Byte Tabellen !!!
C80E: B5 0B     LDA $0B,X         Das Holen der T&S funktioniert daher nur
C810: 8D 01 60  STA $6001         bei Job 0. Da die Pufferadresse aber
C813: B5 0C     LDA $0C,X         sowieso immer $0300 ist, laesst sich dieser
C815: 8D 02 60  STA $6002         Fehler verschmerzen.]
C818: A9 00     LDA #$00         $0300: Pufferadresse
C81A: 85 4A     STA $4A          Pufferzeiger setzen
C81C: A9 03     LDA #$03
C81E: 85 4B     STA $4B
C820: EA  ....  NOP            [19 NOPS]
C832: ....  EA  NOP

C833: AD DF 01  LDA $01DF        Controller-Befehl: 'Read Sector'
C836: 20 F4 CB  JSR $CBF4        Kommando an Controller uebergeben
C839: A4 91     LDY $91          Blockgroesse holen
C83B: C0 03     CPY #$03         Anzahl der einzulesenden Speicherseiten
C83D: D0 02     BNE $C841        ermitteln
C83F: C8        INY
C840: EA        NOP

Einsprung von $C83D, $C849, $C858, $C85D:

C841: AD 00 60  LDA $6000        Controllestatus abfragen
C844: 29 03     AND #$03
C846: 4A        LSR
C847: 90 16     BCC $C85F        'Controller ready', (Fehler) ==>
C849: F0 F6     BEQ $C841        noch nicht 'Byte ready', (warten) ==>
C84B: 84 82     STY $82
C84D: A0 00     LDY #$00
C84F: AD 03 60  LDA $6003        Byte von Diskette
C852: 91 4A     STA ($4A),Y      in Puffer schreiben
C854: A4 82     LDY $82
C856: E6 4A     INC $4A          Pufferzeiger erhoehen
C858: D0 E7     BNE $C841
C85A: E6 4B     INC $4B
C85C: 88        DEY              noch eine Seite einlesen ?
C85D: D0 E2     BNE $C841        ja, ==>

Einsprung von $C847:

C85F: 20 3F CD  JSR $CD3F        Controller-Status pruefen
C862: 4C CC CD  JMP $CDCC        Jobauftrag beenden

C865: FF  ....
C8FF: ....  FF
    Previous Page / Next Page