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 |