Block-Allocate ($cd03)
8B2F: 20 AE 84 JSR $84AE Auf Diskettenwechsel testen
8B32: 20 32 8C JSR $8C32 Blockparameter holen
8B35: A5 4E LDA $4E Sektornummer merken
8B37: 48 PHA
8B38: 20 46 B7 JSR $B746 naechsten freien Block auf dem Track suchen
8B3B: F0 0B BEQ $8B48 kein Block frei, ==>
8B3D: 68 PLA mit altem Sektor vergleichen
8B3E: C5 4E CMP $4E Ist der freie Sektor der gewuenschte ?
8B40: D0 19 BNE $8B5B nein, ==>
8B42: 20 72 B5 JSR $B572 Block belegen
8B45: 4C 50 80 JMP $8050 00, ok,00,00 ==>
Einsprung von $8B3B:
8B48: 68 PLA
Einsprung von $8B59:
8B49: A9 00 LDA #$00 mit Sektor 0 beginnen
8B4B: 85 4E STA $4E
8B4D: E6 4D INC $4D naechsten Track probieren
8B4F: A5 4D LDA $4D ist maximale Tracknummer + 1 erreicht ?
8B51: CD 2C 02 CMP $022C
8B54: B0 0A BCS $8B60 ja, ==>
8B56: 20 46 B7 JSR $B746 einen freien Block auf dem Track suchen
8B59: F0 EE BEQ $8B49 nicht gefunden, ==>
Einsprung von $8B40:
8B5B: A9 65 LDA #$65 65, no Block,tt,ss
8B5D: 20 3F FF JSR $FF3F CMDERR-Ende
Einsprung von $8B54:
8B60: A9 65 LDA #$65 65, no Block,00,00
8B62: 20 7C 80 JSR $807C T&S=0, Ende
Previous Page / Next Page