$EF5C/61276: Mark block as free EF5C: 20 F1 EF JSR $EFF1 ; set buffer pointer Jump from $C87D, $C8AD, $CCF8: EF5F: 20 CF EF JSR $EFCF ; erase bit for sector in BAM EF62: 38 SEC EF63: D0 22 BNE $EF87 ; block already free, then done EF65: B1 6D LDA ($6D),Y ; bit model of BAM EF67: 1D E9 EF ORA $EFE9,X ; set bit X, marker for free EF6A: 91 6D STA ($6D),Y EF6C: 20 88 EF JSR $EF88 ; set flag for BAM changed EF6F: A4 6F LDY $6F EF71: 18 CLC EF72: B1 6D LDA ($6D),Y EF74: 69 01 ADC #$01 ; increment number of free blocks/track EF76: 91 6D STA ($6D),Y EF78: A5 80 LDA $80 ; track EF7A: CD 85 FE CMP $FE85 ; equal to 18? EF7D: F0 3B BEQ $EFBA ; then skip EF7F: FE FA 02 INC $02FA,X ; increment number of free blocks in disk EF82: D0 03 BNE $EF87 EF84: FE FC 02 INC $02FC,X ; increment number of blocks hi Jump from $EF63, $EF82: EF87: 60 RTS Previous Page / Next Page |