    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