    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