Block in BAM belegen ($ef93) E: $4d, $4e: T&S Einsprung von $8B42, $B2CA, $B2E6, $B33F, $B417, $B41C, $B421, $B429, $B4FD, $B502, $B507, $B50F, $B6DE, $B73E, $B828, $B8AA: B572: 20 B4 B5 JSR $B5B4 BAM-Zeiger auf aktuellen Track setzen B575: 20 D8 B5 JSR $B5D8 ist Block schon belegt ? B578: F0 39 BEQ $B5B3 ja, ==> B57A: B1 31 LDA ($31),Y Block belegen B57C: 5D EA B5 EOR $B5EA,X B57F: 91 31 STA ($31),Y B581: A9 01 LDA #$01 Flag fuer 'BAM geaendert' setzen B583: 85 35 STA $35 B585: A0 00 LDY #$00 B587: B1 31 LDA ($31),Y Anzahl der freien Blocks -1 B589: 38 SEC B58A: E9 01 SBC #$01 B58C: 91 31 STA ($31),Y B58E: A5 4D LDA $4D Aktueller Track B590: CD 2B 02 CMP $022B = Direktory-Track B593: F0 0B BEQ $B5A0 ja, ==> B595: AD A9 02 LDA $02A9 Anzahl 'Blocks free' -1 B598: D0 03 BNE $B59D B59A: CE AA 02 DEC $02AA Einsprung von $B598, $B567: B59D: CE A9 02 DEC $02A9 Einsprung von $B593: B5A0: AD AA 02 LDA $02AA Sind weniger als 3 Blocks frei ? B5A3: D0 0E BNE $B5B3 B5A5: AD A9 02 LDA $02A9 B5A8: C9 03 CMP #$03 B5AA: B0 05 BCS $B5B1 B5AC: A9 72 LDA #$72 72, Disk full ausgeben, aber nicht als B5AE: 4C 6D A8 JMP $A86D Fehler behandeln, sondern als Hinweis Einsprung von $B5AA: B5B1: A9 01 LDA #$01 z=0: Block ist belegt worden Einsprung von $B578, $B5A3: B5B3: 60 RTS (z=1: Block war schon belegt) Previous Page / Next Page |