From 2bc38ca471cfb37fb6f65740f7a9f0d374183dce Mon Sep 17 00:00:00 2001 From: Ben Bridle Date: Wed, 13 Nov 2024 10:55:09 +1300 Subject: Fix file device cached write issue Writing a value to the pointer and length ports wasn't working, because the cached write was never getting committed. --- src/devices/file_device.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/devices/file_device.rs b/src/devices/file_device.rs index 2d923b4..00a2f69 100644 --- a/src/devices/file_device.rs +++ b/src/devices/file_device.rs @@ -319,11 +319,11 @@ impl Device for FileDevice { 0x8 => write_hh!(self.pointer_write, value), 0x9 => write_hl!(self.pointer_write, value), 0xa => write_lh!(self.pointer_write, value), - 0xb => write_ll!(self.pointer_write, value), + 0xb => {write_ll!(self.pointer_write, value); self.commit_pointer()}, 0xc => write_hh!(self.length_write, value), 0xd => write_hl!(self.length_write, value), 0xe => write_lh!(self.length_write, value), - 0xf => write_ll!(self.length_write, value), + 0xf => {write_ll!(self.length_write, value); self.commit_length()}, _ => unreachable!(), }; return None; -- cgit v1.2.3-70-g09d2