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