Pruefen, ob alle Blocks der Partition vor dem Anlegen noch frei sind Einsprung von $B88D: B811: A5 35 LDA $35 'BAM veraendert'-Flag merken B813: 48 PHA B814: AD A9 02 LDA $02A9 Anzahl 'Blocks free' merken B817: 48 PHA B818: AD AA 02 LDA $02AA B81B: 48 PHA B81C: 20 5F B8 JSR $B85F Partition-Parameter aus Kommandozeile holen Einsprung von $B833: B81F: 20 B5 94 JSR $94B5 auf gueltigen Block testen B822: A5 4D LDA $4D aktueller Track B824: C9 28 CMP #$28 = Haupt-Directory-Track ? B826: F0 19 BEQ $B841 ja, ==> B828: 20 72 B5 JSR $B572 Block in BAM belegen B82B: F0 14 BEQ $B841 Block war schon belegt, ==> B82D: 20 46 B5 JSR $B546 Block wieder freigeben B830: 20 EF B2 JSR $B2EF naechsten Block der Part. holen B833: D0 EA BNE $B81F noch nicht fertig, ==> B835: 68 PLA B836: 8D AA 02 STA $02AA Anzahl 'Blocks free' zurueckholen B839: 68 PLA B83A: 8D A9 02 STA $02A9 B83D: 68 PLA B83E: 85 35 STA $35 'BAM veraendert'-Flag zurueckholen B840: 60 RTS Einsprung von $B826, $B82B: B841: 68 PLA B842: 8D AA 02 STA $02AA Anzahl 'Blocks free' zurueckholen B845: 68 PLA B846: 8D A9 02 STA $02A9 B849: 68 PLA B84A: 85 35 STA $35 'BAM veraendert'-Flag zurueckholen B84C: A9 67 LDA #$67 67, Illegal Track or Sector B84E: 4C 3F FF JMP $FF3F Previous Page / Next Page |