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 |