From 659b77c5c0b056929689a071f51ab5a3428d4ebc Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Sun, 11 Dec 2022 13:31:48 -0800 Subject: [PATCH] wip --- dither4.s | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/dither4.s b/dither4.s index 86eb46d..2fbef9c 100644 --- a/dither4.s +++ b/dither4.s @@ -27,6 +27,7 @@ sample_ptrh = $85 sample_ptr = sample_ptrl scanline = $86 audiotemp = $87 +sample_index = $80 frame_counter = $89 height = 160 @@ -94,6 +95,8 @@ audio_high_byte: sta sample_ptrl lda #.hibyte(audio_samples) sta sample_ptrh + lda #0 + sta sample_index ; Disable display DMA lda #$00 @@ -168,7 +171,7 @@ wait_loop: .macro audio_play_raw ;ldy VCOUNT ; set on entry - ldy #0 ; 2 cycles + ldy sample_index ; 3 cycles lda (sample_ptr),y ; 5/6 cyc sta AUDC1 ; 4 cyc .endmacro @@ -187,20 +190,17 @@ wait_loop: .endmacro .macro audio_inc - ; Increment sample ptr ; 7 cycles - inc sample_ptrl ; 5 - bne audio_cont ; 2 + inc sample_index ; 5 cycles + bne audio_cont ; 2 - ; 7 cycles, optional - inc sample_ptrh ;5 + ; 12 cycles, optional + inc sample_ptrh ; 5 lda sample_ptrh ; 3 cmp #.hibyte(audio_samples_end) ; 2 bmi audio_cont ; 2 - ; 10 cycles, optional - lda #.lobyte(audio_samples) ; 2 - sta sample_ptrl ; 3 + ; 5 cycles, optional lda #.hibyte(audio_samples) ; 2 sta sample_ptrh ; 3 @@ -210,18 +210,15 @@ wait_loop: .macro run_frame frame_offset .scope each_scanline_pair: - ;audio_prep sty scanline ; 3 cycles inner_scanline frame_offset, 0 ; 23-26 cycles before break, 12 cycles after audio_play_raw ; 11-12 cycles + ldy scanline ; 3 cycles - ;audio_play_lo inner_scanline frame_offset, 128 ; 23-26 cycles before break, 12 cycles after audio_inc ; 7-24 cycles - ;audio_play_raw - ;audio_play_hi ; too slow ; save for later lookup ldy VCOUNT ; 4 cycles