raw play sorta works
This commit is contained in:
parent
d2bc874011
commit
48a91b96ef
2 changed files with 11 additions and 4 deletions
11
dither4.s
11
dither4.s
|
@ -158,6 +158,12 @@ wait_loop:
|
|||
sty COLPF2
|
||||
.endmacro
|
||||
|
||||
.macro audio_play_raw
|
||||
ldy VCOUNT
|
||||
lda (sample_ptr),y ; 5/6 cyc
|
||||
sta AUDC1 ; 4 cyc
|
||||
.endmacro
|
||||
|
||||
.macro audio_play_lo
|
||||
lda audiotemp ; 3 cyc
|
||||
and #$0f ; 2 cyc
|
||||
|
@ -199,9 +205,10 @@ wait_loop:
|
|||
.macro run_frame palette1, palette2, palette3
|
||||
.scope
|
||||
each_scanline_pair:
|
||||
audio_prep
|
||||
;audio_prep
|
||||
inner_scanline palette1, palette2, palette3
|
||||
audio_play_lo
|
||||
audio_play_raw
|
||||
;audio_play_lo
|
||||
inner_scanline palette1, palette2, palette3
|
||||
;audio_play_hi ; too slow
|
||||
|
||||
|
|
|
@ -24,6 +24,7 @@ function to4bit(val8) {
|
|||
|
||||
function pack(audio) {
|
||||
let packed = [];
|
||||
/*
|
||||
for (let i = 0; i < audio.length; i += 2) {
|
||||
// little-endian 4-bit samples
|
||||
let low = to4bit(audio[i]);
|
||||
|
@ -31,14 +32,13 @@ function pack(audio) {
|
|||
let byte = low | (high << 4);
|
||||
packed.push(byte);
|
||||
}
|
||||
/*
|
||||
*/
|
||||
// raw push bytes
|
||||
for (let i = 0; i < audio.length; i += 2) {
|
||||
let val = to4bit(audio[i]);
|
||||
let byte = val | 0x10;
|
||||
packed.push(byte);
|
||||
}
|
||||
*/
|
||||
return packed;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue