JOB $a6: SP_WRITE

C700: 20 A6 CF  JSR $CFA6        Blockheader lesen
C703: A5 88     LDA $88          Solltrack
C705: C5 1F     CMP $1F          = aktueller Track ?
C707: F0 03     BEQ $C70C        ja, ==>
C709: 4C 88 CB  JMP $CB88        Error $02 (Header nicht gefunden)

Einsprung von $C707:

C70C: A6 83     LDX $83          Jobnummer holen und als Index in eine
C70E: B5 0B     LDA $0B,X        2 (!) Byte Tabelle verwenden
C710: 8D 01 60  STA $6001        physikalische T&S des Sektors holen
C713: B5 0C     LDA $0C,X        [Das funktioniert nur bei Job 0 !
C715: 8D 02 60  STA $6002         Da aber der verwendete Puffer immer $0300
C718: A9 00     LDA #$00          ist, besteht kein Grund, einen anderen
C71A: 85 4A     STA $4A           Jobpuffer zu verwenden.]
C71C: A9 03     LDA #$03         Zeiger auf Pufferanfang ($0300) setzen
C71E: 85 4B     STA $4B
C720: EA  ....  NOP            [19 NOPS]
C732: ....  EA  NOP

C733: AD E0 01  LDA $01E0        Controller-Befehl 'Write Sector'
C736: 20 F4 CB  JSR $CBF4        an Controller uebergeben
C739: A4 91     LDY $91          Blockgroesse holen
C73B: C0 03     CPY #$03         Anzahl der zu schreibenden Seiten berechnen
C73D: D0 02     BNE $C741
C73F: C8        INY              128-Byte-Sektoren werden nicht
C740: EA        NOP              unterstuetzt)

Einsprung von $C73D, $C749, $C758, $C75D:

C741: AD 00 60  LDA $6000        Controller-Status holen
C744: 29 03     AND #$03
C746: 4A        LSR
C747: 90 16     BCC $C75F        'Controller ready', ==>
C749: F0 F6     BEQ $C741        noch nicht 'Byte ready', ==>
C74B: 84 82     STY $82
C74D: A0 00     LDY #$00
C74F: B1 4A     LDA ($4A),Y      Byte auf Diskette schreiben
C751: 8D 03 60  STA $6003
C754: A4 82     LDY $82
C756: E6 4A     INC $4A          Pufferzeiger erhoehen
C758: D0 E7     BNE $C741
C75A: E6 4B     INC $4B
C75C: 88        DEY              noch eine Speicherseite zu schreiben ?
C75D: D0 E2     BNE $C741        ja, ==>

Einsprung von $C747:

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

C765: FF  ....
C7FF: ....  FF

Controller-Programm 2

    Previous Page / Next Page