use log::trace; pub struct AddressBus { value: u16 } impl AddressBus { pub fn new() -> Self { AddressBus { value : 0x0000 } } pub fn set_address(&mut self, new_address: u16) { trace!("Address bus updated from {} to {}", self.value, new_address); self.value = new_address } pub fn address(&self) -> u16 { self.value } } pub struct DataBus { value: u8 } impl DataBus { pub fn new() -> Self { DataBus { value: 0x00 } } pub fn set_data(&mut self, new_value: u8) { self.value = new_value; } pub fn data(&self) -> u8 { self.value } }