$E44E/58446: Write side-sector and allocate new Jump from $E3EF: E44E: 20 1E F1 JSR $F11E ; find free block in BAM E451: 20 1E CF JSR $CF1E ; change buffer E454: 20 F1 DD JSR $DDF1 ; write block E457: 20 93 DF JSR $DF93 ; get buffer number E45A: 48 PHA E45B: 20 C1 DE JSR $DEC1 ; erase buffer E45E: A6 82 LDX $82 ; channel number E460: B5 CD LDA $CD,X ; buffer number E462: A8 TAY E463: 68 PLA E464: AA TAX E465: A9 10 LDA #$10 ; 16 bytes of the side-sector E467: 20 A5 DE JSR $DEA5 ; copy in buffer E46A: A9 00 LDA #$00 E46C: 20 DC DE JSR $DEDC ; buffer pointer to 0, old side-sector E46F: A0 02 LDY #$02 E471: B1 94 LDA ($94),Y ; side-sector number E473: 48 PHA E474: A9 00 LDA #$00 E476: 20 C8 D4 JSR $D4C8 ; buffer pointer to 0, new side-sector E479: 68 PLA E47A: 18 CLC E47B: 69 01 ADC #$01 ; increment side-sector number E47D: 91 94 STA ($94),Y ; and in buffer E47F: 0A ASL ; times 2 E480: 69 04 ADC #$04 ; plus 4 E482: 85 89 STA $89 E484: A8 TAY E485: 38 SEC E486: E9 02 SBC #$02 ; minus 2 E488: 85 8A STA $8A ; same pointer to old side-sector E48A: A5 80 LDA $80 ; track E48C: 85 87 STA $87 E48E: 91 94 STA ($94),Y ; in buffer E490: C8 INY E491: A5 81 LDA $81 ; sector E493: 85 88 STA $88 E495: 91 94 STA ($94),Y ; in buffer E497: A0 00 LDY #$00 E499: 98 TYA E49A: 91 94 STA ($94),Y ; zero in buffer E49C: C8 INY E49D: A9 11 LDA #$11 ; 17 E49F: 91 94 STA ($94),Y ; number of bytes in block E4A1: A9 10 LDA #$10 ; 16 E4A3: 20 C8 D4 JSR $D4C8 ; buffer pointer to 16 E4A6: 20 50 DE JSR $DE50 ; write block E4A9: 20 99 D5 JSR $D599 ; and verify E4AC: A6 82 LDX $82 ; channel number E4AE: B5 CD LDA $CD,X ; buffer number of the side-sector E4B0: 48 PHA E4B1: 20 9E DF JSR $DF9E ; get buffer number E4B4: A6 82 LDX $82 ; channel number E4B6: 95 CD STA $CD,X ; write in table E4B8: 68 PLA E4B9: AE 57 02 LDX $0257 ; channel number + 7 E4BC: 95 A7 STA $A7,X ; in table E4BE: A9 00 LDA #$00 E4C0: 20 C8 D4 JSR $D4C8 ; buffer pointer to zero E4C3: A0 00 LDY #$00 E4C5: A5 80 LDA $80 ; track E4C7: 91 94 STA ($94),Y ; in buffer E4C9: C8 INY E4CA: A5 81 LDA $81 ; sector E4CC: 91 94 STA ($94),Y ; in buffer E4CE: 4C DE E4 JMP $E4DE Jump from $E4F7: E4D1: 20 93 DF JSR $DF93 ; get buffer number E4D4: A6 82 LDX $82 ; channel number E4D6: 20 1B DF JSR $DF1B ; read block E4D9: A9 00 LDA #$00 E4DB: 20 C8 D4 JSR $D4C8 ; buffer pointer to zero Jump from $E4CE: E4DE: C6 8A DEC $8A E4E0: C6 8A DEC $8A ; counter for side-sector blocks E4E2: A4 89 LDY $89 E4E4: A5 87 LDA $87 ; track number E4E6: 91 94 STA ($94),Y ; in buffer E4E8: C8 INY E4E9: A5 88 LDA $88 ; sector number E4EB: 91 94 STA ($94),Y ; in buffer E4ED: 20 5E DE JSR $DE5E ; write block E4F0: 20 99 D5 JSR $D599 ; and verify E4F3: A4 8A LDY $8A ; counter for side-sector blocks E4F5: C0 03 CPY #$03 E4F7: B0 D8 BCS $E4D1 ; greater than or equal to 3? E4F9: 4C 1E CF JMP $CF1E ; change buffer Previous Page / Next Page |