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