    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