$F220/61984:   Verify number of free blocks in BAM

Jump from $EF28, $F1FF:

F220: A5 6F     LDA $6F
F222: 48        PHA
F223: A9 00     LDA #$00
F225: 85 6F     STA $6F         ; counter to zero
F227: AC 86 FE  LDY $FE86       ; 4, number of bytes per track in BAM
F22A: 88        DEY

Jump from $F23A:

F22B: A2 07     LDX #$07

Jump from $F237:

F22D: B1 6D     LDA ($6D),Y
F22F: 3D E9 EF  AND $EFE9,X     ; isolate bit
F232: F0 02     BEQ $F236
F234: E6 6F     INC $6F         ; increment counter of free sectors

Jump from $F232:

F236: CA        DEX
F237: 10 F4     BPL $F22D
F239: 88        DEY
F23A: D0 EF     BNE $F22B
F23C: B1 6D     LDA ($6D),Y     ; compare with number on diskette
F23E: C5 6F     CMP $6F
F240: D0 04     BNE $F246       ; not equal, then error
F242: 68        PLA
F243: 85 6F     STA $6F
F245: 60        RTS

Jump from $F240:

F246: A9 71     LDA #$71
F248: 20 45 E6  JSR $E645       ; 71, 'dir error'

    Previous Page / Next Page