$EEB7/61111: Create BAM Jump from $ED8F, $EE56: EEB7: 20 D1 F0 JSR $F0D1 EEBA: A0 00 LDY #$00 EEBC: A9 12 LDA #$12 ; 18 EEBE: 91 6D STA ($6D),Y ; pointer to directory track EEC0: C8 INY EEC1: 98 TYA ; 1 EEC2: 91 6D STA ($6D),Y ; pointer to directory sector EEC4: C8 INY EEC5: C8 INY EEC6: C8 INY Jump from $EEEF: EEC7: A9 00 LDA #$00 EEC9: 85 6F STA $6F EECB: 85 70 STA $70 ; 3 bytes = 24 bits for sectors EECD: 85 71 STA $71 EECF: 98 TYA ; byte position EED0: 4A LSR EED1: 4A LSR ; divided by 4 = track number EED2: 20 4B F2 JSR $F24B ; get number of sectors EED5: 91 6D STA ($6D),Y ; and in BAM EED7: C8 INY EED8: AA TAX Jump from $EEE1: EED9: 38 SEC EEDA: 26 6F ROL $6F EEDC: 26 70 ROL $70 ; create bit model EEDE: 26 71 ROL $71 EEE0: CA DEX EEE1: D0 F6 BNE $EED9 Jump from $EEEB: EEE3: B5 6F LDA $6F,X ; 3 bytes EEE5: 91 6D STA ($6D),Y ; the BAM in buffer EEE7: C8 INY EEE8: E8 INX EEE9: E0 03 CPX #$03 EEEB: 90 F6 BCC $EEE3 EEED: C0 90 CPY #$90 ; position 144? EEEF: 90 D6 BCC $EEC7 ; no, next track EEF1: 4C 75 D0 JMP $D075 ; calculate number of free blocks Previous Page / Next Page |