Burst-Befehl $0c: Inquire Status (bei der 1571: $856b)

BEBB: 24 7C     BIT $7C          b7: W-Bit abfragen (0=Status schreiben)
BEBD: 10 09     BPL $BEC8        W=0, dann ==>

Einsprung von $BAFF:

BEBF: 20 D4 AC  JSR $ACD4        FSM zur Ausgabe vorbereiten
BEC2: 20 AB BF  JSR $BFAB        Burst-Statusbyte ausgeben
BEC5: 4C BB AC  JMP $ACBB        FSM auf Eingabe

Einsprung von $BEBD:

BEC8: AD 03 02  LDA $0203        Neuen Status
BECB: 85 80     STA $80          in Burst-Status
BECD: A9 20     LDA #$20         b5: M-Bit abfragen (1=Maske aendern)
BECF: 24 7C     BIT $7C          Burst-Status-Maske aendern ?
BED1: F0 0A     BEQ $BEDD        nein ==>
BED3: AD 04 02  LDA $0204        neue OR-Maske
BED6: 85 8A     STA $8A
BED8: AD 05 02  LDA $0205        neue AND-Maske
BEDB: 85 89     STA $89

Einsprung von $BED1:

BEDD: 24 7C     BIT $7C          b6: C-Bit abfragen (1=Diskette anmelden)
BEDF: 50 10     BVC $BEF1        nicht gesetzt ==>
BEE1: 08        PHP
BEE2: 58        CLI              Diskette anmelden
BEE3: A9 80     LDA #$80         DOS-Fehler unterdruecken
BEE5: 85 81     STA $81
BEE7: 20 69 FF  JSR $FF69        Prueft auf Diskettenwechsel
BEEA: 20 03 8F  JSR $8F03        Diskette initialisieren
BEED: 06 81     ASL $81          Fehler freigeben
BEEF: 28        PLP
BEF0: 60        RTS
Standard-1581-Format setzen

Einsprung von $BEDF, $BCC8:

BEF1: A9 01     LDA #$01         Flag fuer Diskettenwechsel setzen
BEF3: 85 25     STA $25
BEF5: 4C 69 FF  JMP $FF69        1581-Format vorwaehlen

    Previous Page / Next Page