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