Dos-Tabellen initialisieren ($eb3a)

Einsprung von $AFD3:

AFE9: AD 00 40  LDA $4000        Geraetenummer auslesen
AFEC: 29 18     AND #$18
AFEE: 4A        LSR
AFEF: 4A        LSR
AFF0: 4A        LSR              Schalter-Bits + 8
AFF1: 09 48     ORA #$48         TALK (+ $40)
AFF3: 85 78     STA $78
AFF5: 49 60     EOR #$60         LISTEN (+ $20)
AFF7: 85 77     STA $77
AFF9: A2 08     LDX #$08         Hi-Bytes der Pufferadressen
AFFB: A9 0B     LDA #$0B         berechnen

Einsprung von $B004:

AFFD: 9D F1 01  STA $01F1,X      $01F1: 03 04 .. 0b
B000: 38        SEC
B001: E9 01     SBC #$01
B003: CA        DEX
B004: 10 F7     BPL $AFFD
B006: A2 00     LDX #$00         Pufferzeiger initialisieren
B008: A0 00     LDY #$00

Einsprung von $B018:

B00A: A9 00     LDA #$00
B00C: 95 BB     STA $BB,X        Lo-Byte = 0
B00E: E8        INX
B00F: B9 F1 01  LDA $01F1,Y      Hi-Byte = 03 04 .. 0b
B012: 95 BB     STA $BB,X
B014: E8        INX
B015: C8        INY
B016: C0 09     CPY #$09
B018: D0 F0     BNE $B00A

B01A: A9 00     LDA #$00         INPUT-Puffer nach $0200
B01C: 95 BB     STA $BB,X
B01E: A9 02     LDA #$02
B020: 95 BC     STA $BC,X
B022: A9 D0     LDA #$D0         ERROR-Puffer nach $02d0
B024: 95 BD     STA $BD,X
B026: A9 02     LDA #$02
B028: 95 BE     STA $BE,X

B02A: A9 FF     LDA #$FF         Kanalzuordnung loeschen
B02C: A2 12     LDX #$12         (SA sind keinem Kanal zugeordnet)

Einsprung von $B031:

B02E: 95 A8     STA $A8,X
B030: CA        DEX
B031: 10 FB     BPL $B02E
B033: A2 06     LDX #$06

Einsprung von $B03D:

B035: 95 D1     STA $D1,X        1. Pufferzuordnung freigeben
B037: 95 D8     STA $D8,X        2. Pufferzuordnung freigeben
B039: 9D 65 02  STA $0265,X      Side-Sektor Tabelle loeschen
B03C: CA        DEX              Puffer 7+8 werden nicht
B03D: 10 F6     BPL $B035        Kanaelen zugeordnet (BAM)
B03F: A9 09     LDA #$09         Puffer 9 (INPUT) auf Kanal 5
B041: 85 D6     STA $D6
B043: A9 0A     LDA #$0A         Puffer 10 (ERROR) auf Kanal 6
B045: 85 D7     STA $D7
B047: A9 06     LDA #$06         SA 16 belegt Kanal 6 (lesen)
B049: 85 B8     STA $B8
B04B: A9 85     LDA #$85         SA 15 belegt Kanal 5 (schreiben)
B04D: 85 B7     STA $B7
B04F: A9 1F     LDA #$1F         Kanal 0-4 freigeben
B051: 85 70     STA $70
B053: A9 01     LDA #$01         Kanal 5 auf Schreiben stellen
B055: 8D 39 02  STA $0239
B058: A9 88     LDA #$88         Kanal 6 auf Lesen / kein EOI
B05A: 8D 3A 02  STA $023A
B05D: A9 80     LDA #$80         Pufferbelegung: Puffer 7 belegen
B05F: 85 6D     STA $6D          [Puffer 8 hat kein Bit; ist immer belegt]
B061: A9 01     LDA #$01         Diskette wurde gewechselt
B063: 85 25     STA $25
B065: 20 C3 89  JSR $89C3        Standard Uservektoren-Tabelle setzen
B068: 20 59 8D  JSR $8D59        Reihenfolge der Pufferbelegung festlegen
B06B: A9 01     LDA #$01         Sektorversatz auf 1
B06D: 85 2E     STA $2E
B06F: A9 02     LDA #$02         Anzahl der Leseversuche
B071: 85 30     STA $30
B073: A9 00     LDA #$00         Burst-OR-Maske
B075: 85 8A     STA $8A
B077: A9 FF     LDA #$FF         Burst-AND-Maske
B079: 85 89     STA $89
B07B: A9 00     LDA #$00         Zeiger auf Cachepuffer
B07D: 85 8B     STA $8B
B07F: A9 0C     LDA #$0C         nach $0c00
B081: 85 8C     STA $8C
B083: A9 08     LDA #$08         FSM-Bus aktiv / C64-Modus
B085: 85 76     STA $76
B087: A9 33     LDA #$33         Dos-Version
B089: 8D EC 01  STA $01EC
B08C: A9 44     LDA #$44         1581-Formatkennzeichen
B08E: 8D EB 01  STA $01EB
B091: A9 C0     LDA #$C0         E/A-Byte: b6=1: CRC-Test ein; b7:Verify ein
B093: 85 8D     STA $8D          b5=0: Super-Side-Sektoren verwenden
B095: A9 50     LDA #$50         Anlaufzeit des Motors setzen (0,8 sec)
B097: 8D D9 01  STA $01D9
B09A: A9 20     LDA #$20         Cache-Verzoegerung auf 32 (= 320 ms) setzen
B09C: 85 9D     STA $9D
B09E: A2 00     LDX #$00         Job 0 benutzen
B0A0: A9 82     LDA #$82         RESET_DV: Controller initialisieren
B0A2: 20 9D 95  JSR $959D        Job ausfuehren
B0A5: C9 02     CMP #$02         Fehler ?
B0A7: B0 05     BCS $B0AE        ja, (Controller Error) ==>
B0A9: A9 C0     LDA #$C0         RESTORE_DV: ('Bump')
B0AB: 4C 9D 95  JMP $959D        Job ausfuehren

Einsprung von $B0A7:

B0AE: A9 76     LDA #$76         76, Controller Error
B0B0: 4C 67 A8  JMP $A867

    Previous Page / Next Page