#[derive(Default, Debug)] pub struct Serial { data: u8, control: u8, } impl Serial { pub fn new() -> Serial { Serial::default() } pub fn write_byte(&mut self, addr: u16, val: u8) { match addr { 0xFF01 => { // println!("Serial: Write {:02X}", val); self.data = val; } 0xFF02 => self.control = val, _ => panic!("Serial: Write {:02X} to {:04X} unsupported", val, addr), } } pub fn read_byte(&self, addr: u16) -> u8 { match addr { 0xFF01 => self.data, 0xFF02 => self.control, _ => panic!("Serial: Read from {:04X} unsupported", addr), } } pub fn serial_interrupt(&self) -> bool { // TODO false } }