From 5406434c9dab927bb306ac6d25f70b8dd3f8233c Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Wed, 30 Nov 2022 04:01:55 -0800 Subject: [PATCH] it really looks too tight :( --- dither4.s | 26 +++++++++++++++----------- pack-wav.js | 9 ++++++++- 2 files changed, 23 insertions(+), 12 deletions(-) diff --git a/dither4.s b/dither4.s index 32557d6..36cf535 100644 --- a/dither4.s +++ b/dither4.s @@ -156,13 +156,15 @@ each_scanline: pha .endmacro - fake: - lda #18 - pha - pha + .macro audio_play + ldy #0 + lda (sample_ptr),y + sta AUDC1 + .endmacro .macro inner_scanline ldy scanline + inc scanline ; Leisurely memory fetches lda palette1,y @@ -181,21 +183,21 @@ each_scanline: sty COLPF2 ; Audio sample - pla - sta AUDC1 - - inc scanline + ;pla + ;lda temp1 + ;sta AUDC1 .endmacro + audio_play inner_scanline .macro audio_inc + ;; toooo slllooowwww ; Increment sample ptr - jmp audio_cont inc sample_ptrl bne audio_cont - inc sample_ptrh + inc sample_ptrh lda sample_ptrh cmp #.hibyte(audio_samples_end) bne audio_cont @@ -208,10 +210,12 @@ each_scanline: sta sample_ptrl lda #.hibyte(audio_samples) sta sample_ptrh + + audio_cont: .endmacro -audio_cont: + ;audio_inc inner_scanline lda VCOUNT diff --git a/pack-wav.js b/pack-wav.js index 0d2e9f9..c60cca5 100644 --- a/pack-wav.js +++ b/pack-wav.js @@ -15,7 +15,7 @@ function byte2byte(arr) { } function to4bit(val8) { - let val = val8 + 7 >> 4; + let val = (val8 + 7) >> 4; if (val > 15) { return 15; } @@ -24,12 +24,19 @@ function to4bit(val8) { function pack(audio) { let packed = []; + /* for (let i = 0; i < audio.length; i += 2) { let low = to4bit(audio[i]); let high = to4bit(audio[i + 1]); let byte = low | (high << 4); packed.push(byte); } + */ + for (let i = 0; i < audio.length; i += 2) { + let val = to4bit(audio[i]); + let byte = val | 0x10; + packed.push(byte); + } return packed; }