$EF90/61328: Mark block as allocated Jump from $CD13, $EDE8, $EE04, $F19A, $F1F2: EF90: 20 F1 EF JSR $EFF1 ; set buffer pointer Jump from $EE96, $EE9D: EF93: 20 CF EF JSR $EFCF ; erase bit for sector in BAM EF96: F0 36 BEQ $EFCE ; already allocated, then done EF98: B1 6D LDA ($6D),Y EF9A: 5D E9 EF EOR $EFE9,X ; erase bit for block EF9D: 91 6D STA ($6D),Y EF9F: 20 88 EF JSR $EF88 ; set flag for BAM changed EFA2: A4 6F LDY $6F EFA4: B1 6D LDA ($6D),Y EFA6: 38 SEC EFA7: E9 01 SBC #$01 ; decrement number of blocks per track EFA9: 91 6D STA ($6D),Y EFAB: A5 80 LDA $80 ; track EFAD: CD 85 FE CMP $FE85 ; 18? EFB0: F0 0B BEQ $EFBD EFB2: BD FA 02 LDA $02FA,X ; number of free blocks lo EFB5: D0 03 BNE $EFBA EFB7: DE FC 02 DEC $02FC,X ; decrement number of free blocks Jump from $EFB5, $EF7D: EFBA: DE FA 02 DEC $02FA,X Jump from $EFB0: EFBD: BD FC 02 LDA $02FC,X ; number of free blocks hi EFC0: D0 0C BNE $EFCE ; more than 255 blocks free? EFC2: BD FA 02 LDA $02FA,X ; free blocks lo EFC5: C9 03 CMP #$03 EFC7: B0 05 BCS $EFCE ; smaller than 3? EFC9: A9 72 LDA #$72 EFCB: 20 C7 E6 JSR $E6C7 ; 72, 'disk full' Jump from $EF96, $EFC0, $EFC7: EFCE: 60 RTS Previous Page / Next Page |