BAM-Zeiger auf Eintrag fuer aktuellen Track setzen ($f011)

Einsprung von $B546, $B572, $B675, $B710, $B72B, $B746:

B5B4: A5 6E     LDA $6E          Drivestatus Ok. ?
B5B6: F0 05     BEQ $B5BD        ja, ==>
B5B8: A9 74     LDA #$74         74, Drive not ready
B5BA: 20 3F FF  JSR $FF3F

Einsprung von $B5B6, $8FA0:

B5BD: 20 52 B6  JSR $B652        Zeiger auf 1. BAM-Puffer setzen
B5C0: A5 4D     LDA $4D          (Tracks 1-40)
B5C2: C9 29     CMP #$29         Tracknummer < 41
B5C4: 90 04     BCC $B5CA        ja, ==>
B5C6: E9 28     SBC #$28         Auf 2. BAM-Puffer schalten
B5C8: E6 32     INC $32          (Tracks 41-80)

Einsprung von $B5C4:

B5CA: 0A        ASL              Tracknummer * 6 [5 Bytes fuer das Bitmuster
B5CB: 85 31     STA $31           (5 * 8 Bit = 40 Bit fuer 40 Blocks)
B5CD: 0A        ASL               +1 Byte (Anzahl freier Blocks) = 6 Bytes]
B5CE: 18        CLC
B5CF: 65 31     ADC $31
B5D1: 69 0A     ADC #$0A         + 10 (Anfang der Tabelle)
B5D3: 85 31     STA $31          Zeigt auf BAM-Bitmuster des aktuellen
B5D5: A0 00     LDY #$00         Tracks
B5D7: 60        RTS

    Previous Page / Next Page