summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Bridle <ben@derelict.engineering>2024-11-13 10:55:09 +1300
committerBen Bridle <ben@derelict.engineering>2024-11-13 10:55:32 +1300
commit2bc38ca471cfb37fb6f65740f7a9f0d374183dce (patch)
treef7f9c508273176c54384d5deafb3a147754ffe1d
parent5ca376b56c3a495c9772e546995485159da2e664 (diff)
downloadbedrock-pc-2bc38ca471cfb37fb6f65740f7a9f0d374183dce.zip
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.
-rw-r--r--src/devices/file_device.rs4
1 files changed, 2 insertions, 2 deletions
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;