     $F1FA/61946:   Find free sectors in current track

    Jump from $CD09, $CD27, $F195, $F1A1, $F1ED:

    F1FA: 20 11 F0  JSR $F011       ; find BAM field for this track
    F1FD: 98        TYA             ; point to number of free blocks
    F1FE: 48        PHA
    F1FF: 20 20 F2  JSR $F220       ; verify BAM
    F202: A5 80     LDA $80         ; track
    F204: 20 4B F2  JSR $F24B       ; get max number of sectors of the track
    F207: 8D 4E 02  STA $024E       ; save
    F20A: 68        PLA
    F20B: 85 6F     STA $6F         ; save pointer

    Jump from $F21B:

    F20D: A5 81     LDA $81         ; compare sector
    F20F: CD 4E 02  CMP $024E       ; with maximum number
    F212: B0 09     BCS $F21D       ; greater than or equal to?
    F214: 20 D5 EF  JSR $EFD5       ; get bit number of sector
    F217: D0 06     BNE $F21F       ; sector free?
    F219: E6 81     INC $81         ; increment sector number
    F21B: D0 F0     BNE $F20D       ; and check if free

    Jump from $F212:

    F21D: A9 00     LDA #$00        ; no sectors free

    Jump from $F217:

    F21F: 60        RTS

        Previous Page / Next Page