    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