Block in Bam freigeben ($ef5f)
E: $4c, $4e: T&S
Einsprung von $86D0, $8713, $8732, $8B29, $B82D:
B546: 20 B4 B5 JSR $B5B4 BAM-Zeiger auf aktuellen Track setzen
B549: 20 D8 B5 JSR $B5D8 ist Block ueberhaupt belegt ?
B54C: D0 23 BNE $B571 nein, ==>
B54E: B1 31 LDA ($31),Y Block freigeben
B550: 1D EA B5 ORA $B5EA,X durch setzen des entsprechenden Bits
B553: 91 31 STA ($31),Y
B555: A9 01 LDA #$01 Flag fuer 'BAM geaendert' setzen
B557: 85 35 STA $35
B559: A0 00 LDY #$00
B55B: 18 CLC
B55C: B1 31 LDA ($31),Y Anzahl der freien Blocks +1
B55E: 69 01 ADC #$01
B560: 91 31 STA ($31),Y
B562: A5 4D LDA $4D Aktueller Track
B564: CD 2B 02 CMP $022B = Direktory-Track
B567: F0 34 BEQ $B59D ja, ==>
[Dieser Sprung sollte nach $b571 oder $b5a0
gehen, aber doch sicherlich nicht nach
$b59d ! Dieser Fehler ist auch schon in
der 1541 vorhanden.]
B569: EE A9 02 INC $02A9 Anzahl der 'Blocks free' +1
B56C: D0 03 BNE $B571
B56E: EE AA 02 INC $02AA
Einsprung von $B54C, $B56C:
B571: 60 RTS
Previous Page / Next Page