Move the audio buffer locations into consts
No more magic values!!!
This commit is contained in:
parent
d1386e14f8
commit
537b774667
|
@ -37,6 +37,9 @@ const WIDTH: usize = 640;
|
||||||
const HEIGHT: usize = 480;
|
const HEIGHT: usize = 480;
|
||||||
|
|
||||||
const FRAMEBUFFER_ADDRESS: usize = 0x02000000;
|
const FRAMEBUFFER_ADDRESS: usize = 0x02000000;
|
||||||
|
const AUDIO_BUFFER_0_ADDRESS: usize = 0x0212C000;
|
||||||
|
const AUDIO_BUFFER_1_ADDRESS: usize = 0x02134000;
|
||||||
|
const AUDIO_BUFFER_SIZE: usize = 0x8000;
|
||||||
|
|
||||||
pub struct Display {
|
pub struct Display {
|
||||||
background: Vec<u8>,
|
background: Vec<u8>,
|
||||||
|
@ -184,10 +187,10 @@ fn main() {
|
||||||
if audio_lock.playing {
|
if audio_lock.playing {
|
||||||
let current_buffer: Vec<i16> = if audio_lock.current_buffer_is_0 {
|
let current_buffer: Vec<i16> = if audio_lock.current_buffer_is_0 {
|
||||||
audio_lock.current_buffer_is_0 = false;
|
audio_lock.current_buffer_is_0 = false;
|
||||||
memory_audio.ram()[0x0212C000..0x0212C000+32768].to_vec().chunks_exact(2).map(|x| ((x[1] as i16) << 8) | x[0] as i16).collect()
|
memory_audio.ram()[AUDIO_BUFFER_0_ADDRESS..AUDIO_BUFFER_0_ADDRESS+AUDIO_BUFFER_SIZE].to_vec().chunks_exact(2).map(|x| ((x[1] as i16) << 8) | x[0] as i16).collect()
|
||||||
} else {
|
} else {
|
||||||
audio_lock.current_buffer_is_0 = true;
|
audio_lock.current_buffer_is_0 = true;
|
||||||
memory_audio.ram()[0x0212C000+32768..0x0212C000+65536].to_vec().chunks_exact(2).map(|x| ((x[1] as i16) << 8) | x[0] as i16).collect()
|
memory_audio.ram()[AUDIO_BUFFER_1_ADDRESS..AUDIO_BUFFER_1_ADDRESS+AUDIO_BUFFER_SIZE].to_vec().chunks_exact(2).map(|x| ((x[1] as i16) << 8) | x[0] as i16).collect()
|
||||||
};
|
};
|
||||||
let buffer = SamplesBuffer::new(1, 22050, current_buffer);
|
let buffer = SamplesBuffer::new(1, 22050, current_buffer);
|
||||||
sink.append(buffer);
|
sink.append(buffer);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user