Anlaufvorgang ueberwachen

Einsprung von $C10F:

CD7B: A5 26     LDA $26          Ist Anlaufvorgang beendet ?
CD7D: 10 04     BPL $CD83        ja, ==>
CD7F: A5 2A     LDA $2A          Anlaufzeit des Motors vorbei ?
CD81: D0 34     BNE $CDB7        nein, ==>

Einsprung von $CD7D:

CD83: AD 00 40  LDA $4000        b7=0: Diskettenwechsel ?
CD86: 29 80     AND #$80
CD88: D0 23     BNE $CDAD        nein, ==>
Schreib-/Lesekopf positionieren, damit er genau auf der Spur liegt
und damit das Diskettenwechsel-Flag geloescht wird.

CD8A: AD DD 01  LDA $01DD        Controller-Befehl: 'Step-in'
CD8D: 20 F4 CB  JSR $CBF4        Kommando an Controller uebergeben
CD90: 20 EC CB  JSR $CBEC        auf Controller-Ready warten
CD93: AD DE 01  LDA $01DE        Controller-Befehl: 'Step-out'
CD96: 20 F4 CB  JSR $CBF4        Kommando an Controller uebergeben
CD99: 20 EC CB  JSR $CBEC        auf Controller-Ready warten
CD9C: A4 98     LDY $98          Kopfberuhigungszeit
CD9E: 20 D5 CB  JSR $CBD5        18 ms Warten
CDA1: AD 00 40  LDA $4000        immer noch Diskettenwechsel ?
CDA4: 29 80     AND #$80
CDA6: D0 05     BNE $CDAD        nein, ==>

Einsprung von $CDB0:

CDA8: A9 03     LDA #$03         keine Adressmarke gefunden
CDAA: 4C CC CD  JMP $CDCC

Einsprung von $CD88, $CDA6:

CDAD: 20 BC CD  JSR $CDBC        Ist eine Diskette eingelegt ?
CDB0: B0 F6     BCS $CDA8        Nein, ==>
CDB2: A9 20     LDA #$20         Ja: b7=0: Laufwerk ist bereit
CDB4: 85 26     STA $26          b5=1: Motor laeuft
CDB6: 60        RTS

Einsprung von $CD81:

CDB7: 68        PLA              Motor ist noch nicht hochgelaufen
CDB8: 68        PLA
CDB9: 4C 00 CE  JMP $CE00        zur Hauptsteuer-Routine ==>

    Previous Page / Next Page