38 lines
648 B
Rust
38 lines
648 B
Rust
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
|
|
}
|
|
} |