diff options
author | Ben Bridle <bridle.benjamin@gmail.com> | 2024-04-16 15:27:45 +1200 |
---|---|---|
committer | Ben Bridle <bridle.benjamin@gmail.com> | 2024-04-16 15:29:12 +1200 |
commit | a07d1585deb41bc40777045ac36b1643d2574980 (patch) | |
tree | ca055ebf05d28d11d9eb06c726f91a39b77562ba /src/devices.rs | |
parent | d8f0c1e96b79d5094b8f13f8d412763e18a2e6b8 (diff) | |
download | bedrock-pc-a07d1585deb41bc40777045ac36b1643d2574980.zip |
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.
Diffstat (limited to 'src/devices.rs')
-rw-r--r-- | src/devices.rs | 64 |
1 files changed, 32 insertions, 32 deletions
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}"), }; |