$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