From a07d1585deb41bc40777045ac36b1643d2574980 Mon Sep 17 00:00:00 2001 From: Ben Bridle Date: Tue, 16 Apr 2024 15:27:45 +1200 Subject: Fix memory, input, screen, and file devices The memory device was never being allocated any memory, the input device wasn't scrolling correctly, the screen device was rendering sprites incorrectly, and the device ID of the file device had not been changed over from 0xA to 0x9. --- src/devices.rs | 64 +++++++++++++++++++++++++++++----------------------------- 1 file changed, 32 insertions(+), 32 deletions(-) (limited to 'src/devices.rs') diff --git a/src/devices.rs b/src/devices.rs index e191746..b843aca 100644 --- a/src/devices.rs +++ b/src/devices.rs @@ -198,22 +198,22 @@ impl DeviceBus for StandardDevices { // 0x8E => todo!(), // 0x8F => todo!(), // File - 0xA0 => read_b!(self.file.entry.is_some()), - 0xA1 => read_b!(self.file.move_success), - 0xA2 => self.file.name_buffer.read_byte(), - 0xA3 => read_b!(self.file.entry_type()), - 0xA4 => self.file.read_byte(), - 0xA5 => self.file.read_byte(), - 0xA6 => self.file.read_child_name(), - 0xA7 => read_b!(self.file.child_type()), - 0xA8 => read_hh!(self.file.pointer()), - 0xA9 => read_hl!(self.file.pointer()), - 0xAA => read_lh!(self.file.pointer()), - 0xAB => read_ll!(self.file.pointer()), - 0xAC => read_hh!(self.file.length()), - 0xAD => read_hl!(self.file.length()), - 0xAE => read_lh!(self.file.length()), - 0xAF => read_ll!(self.file.length()), + 0x90 => read_b!(self.file.entry.is_some()), + 0x91 => read_b!(self.file.move_success), + 0x92 => self.file.name_buffer.read_byte(), + 0x93 => read_b!(self.file.entry_type()), + 0x94 => self.file.read_byte(), + 0x95 => self.file.read_byte(), + 0x96 => self.file.read_child_name(), + 0x97 => read_b!(self.file.child_type()), + 0x98 => read_hh!(self.file.pointer()), + 0x99 => read_hl!(self.file.pointer()), + 0x9A => read_lh!(self.file.pointer()), + 0x9B => read_ll!(self.file.pointer()), + 0x9C => read_hh!(self.file.length()), + 0x9D => read_hl!(self.file.length()), + 0x9E => read_lh!(self.file.length()), + 0x9F => read_ll!(self.file.length()), _ => unimplemented!("Reading from device port 0x{port:02x}"), } @@ -335,22 +335,22 @@ impl DeviceBus for StandardDevices { 0x86 => self.stream.write_stdout(val), 0x87 => self.stream.write_stdout(val), // File - 0xA0 => self.file.write_to_open_port(val), - 0xA1 => self.file.write_to_move_port(val), - 0xA2 => self.file.set_name_pointer(val), - 0xA3 => self.file.ascend_to_parent(), - 0xA4 => self.file.write_byte(val), - 0xA5 => self.file.write_byte(val), - 0xA6 => self.file.set_child_name_pointer(val), - 0xA7 => self.file.descend_to_child(), - 0xA8 => write_hh!(self.file.new_pointer), - 0xA9 => write_hl!(self.file.new_pointer), - 0xAA => write_lh!(self.file.new_pointer), - 0xAB => { write_ll!(self.file.new_pointer); self.file.commit_pointer() }, - 0xAC => write_hh!(self.file.new_length), - 0xAD => write_hl!(self.file.new_length), - 0xAE => write_lh!(self.file.new_length), - 0xAF => { write_ll!(self.file.new_length); self.file.commit_length() }, + 0x90 => self.file.write_to_open_port(val), + 0x91 => self.file.write_to_move_port(val), + 0x92 => self.file.set_name_pointer(val), + 0x93 => self.file.ascend_to_parent(), + 0x94 => self.file.write_byte(val), + 0x95 => self.file.write_byte(val), + 0x96 => self.file.set_child_name_pointer(val), + 0x97 => self.file.descend_to_child(), + 0x98 => write_hh!(self.file.new_pointer), + 0x99 => write_hl!(self.file.new_pointer), + 0x9A => write_lh!(self.file.new_pointer), + 0x9B => { write_ll!(self.file.new_pointer); self.file.commit_pointer() }, + 0x9C => write_hh!(self.file.new_length), + 0x9D => write_hl!(self.file.new_length), + 0x9E => write_lh!(self.file.new_length), + 0x9F => { write_ll!(self.file.new_length); self.file.commit_length() }, _ => unimplemented!("Writing to device port 0x{port:02x}"), }; -- cgit v1.2.3-70-g09d2