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