    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