emu/src/memory.rs

30 lines
490 B
Rust

#[derive(Clone, Debug)]
pub struct Memory {
pub array: [u8; 64],
}
impl Default for Memory {
fn default() -> Self {
Memory {
array: [0; 64],
}
}
}
pub struct In {
addr: u8,
op1: u8,
op2: u8,
}
impl Memory {
pub fn write(&mut self, addr: u8, val: u8) {
if addr == 0 { /* nop */ }
else { self.array[addr as usize] = val & 0b111111; }
}
pub fn read(&mut self, addr: u8) -> u8 {
if addr == 0 { 0 }
else { self.array[addr as usize] }
}
}