Burst-Befehle $04,$14: Inquire Disk (bei der 1571: $848b)
Einsprung von $BE06:
BCB2: AD 02 02 LDA $0202 Burst-Befehl holen
BCB5: 29 01 AND #$01 N-Flag (b0) testen (Laufwerksnummer)
BCB7: D0 2E BNE $BCE7 Laufwerk 1 angesprochen ? ja, ==>
BCB9: A2 00 LDX #$00 Burst-Status loeschen
BCBB: 86 80 STX $80
(bei der 1571: $8a09)
BCBD: A9 C0 LDA #$C0 RESTORE_DV: Kopf auf Spur 0 setzen
BCBF: 20 B0 BF JSR $BFB0
BCC2: 08 PHP i-Flag merken
BCC3: 58 CLI i-Flag loeschen
BCC4: A9 80 LDA #$80 DOS-Fehlermeldungen unterdruecken
BCC6: 85 81 STA $81
BCC8: 20 F1 BE JSR $BEF1 Standard-1581-Format setzen
BCCB: 20 03 8F JSR $8F03 Diskette initialisieren
BCCE: 06 81 ASL $81 DOS-Fehlermeldungen wieder zulassen
BCD0: 28 PLP i-Flag zurueckholen
BCD1: A5 7C LDA $7C Burst-Kommandobyte holen
BCD3: 29 10 AND #$10 S-Flag (b4) holen (Seitenauswahl)
BCD5: 4A LSR
BCD6: 4A LSR
BCD7: 4A LSR
BCD8: 4A LSR
BCD9: 9D CE 01 STA $01CE,X und in Job-Seitenspeicher (SIDS) schreiben
BCDC: A9 9C LDA #$9C SIDE_DV: Diskettenseite auswaehlen
BCDE: 20 9D 95 JSR $959D Job aufrufen
BCE1: A9 B0 LDA #$B0 SEEKHD_DV: beliebigen Blockheader suchen
BCE3: 20 B0 BF JSR $BFB0 Job aufrufen
BCE6: 2C B $2C
Einsprung von $BCB7:
BCE7: A9 4F LDA #$4F b6=1: Laufwerk 1; b0-3=$0f: Laufwerk n.v.
Einsprung von $BD04:
BCE9: 20 FC BA JSR $BAFC Status ausgeben
BCEC: A9 01 LDA #$01
BCEE: 8D EF 01 STA $01EF kleinste Sektornummer setzen
BCF1: 85 94 STA $94 1. Sektornummer auf der Spur
BCF3: A6 22 LDX $22 Sektorgroesse aus Blockheader holen
BCF5: BD 06 BD LDA $BD06,X Anzahl Sektoren pro Spur holen
BCF8: F0 08 BEQ $BD02 = 0 (128-Byte-Sektoren) ? ja, =>
BCFA: 85 92 STA $92 Anzahl Sektoren der Spur setzen
BCFC: 85 93 STA $93 letzter Sektor auf der Spur
BCFE: 8D F0 01 STA $01F0 groesste Sektornummer der Spur
BD01: 60 RTS
Einsprung von $BCF8:
BD02: A9 0E LDA #$0E Syntax-Fehler (gemeint ist: Format wird
BD04: D0 E3 BNE $BCE9 nicht unterstuetzt) ==>
Anzahl der Sektoren pro Spur bei verschiedenen Sektorgroessen.
128-Byte-Sektoren werden nicht unterstuetzt
BD06: 00 10 0A 05
Previous Page / Next Page