From 31b4e7944b24423939dcde409afc51c6c85b90cb Mon Sep 17 00:00:00 2001 From: Logan McNaughton <848146+loganmc10@users.noreply.github.com> Date: Wed, 2 Jul 2025 14:33:19 +0200 Subject: [PATCH] non-empty default value for ram (#465) --- src/device/cart/sram.rs | 4 ++-- src/device/rdram.rs | 6 +++--- src/device/rsp_interface.rs | 2 +- src/device/si.rs | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/device/cart/sram.rs b/src/device/cart/sram.rs index b839210..a58986b 100644 --- a/src/device/cart/sram.rs +++ b/src/device/cart/sram.rs @@ -240,14 +240,14 @@ fn dma_write_flash( .rdram .mem .get_mut(dram_addr as usize..dram_addr as usize + 4) - .unwrap_or_default() + .unwrap_or(&mut [0; 4]) .copy_from_slice(&device.cart.flashram.silicon_id[0].to_ne_bytes()); dram_addr += 4; device .rdram .mem .get_mut(dram_addr as usize..dram_addr as usize + 4) - .unwrap_or_default() + .unwrap_or(&mut [0; 4]) .copy_from_slice(&device.cart.flashram.silicon_id[1].to_ne_bytes()); } else if (cart_addr & 0x1ffff) < 0x10000 && device.cart.flashram.mode == FlashramMode::ReadArray diff --git a/src/device/rdram.rs b/src/device/rdram.rs index 15eefcd..b40c31a 100644 --- a/src/device/rdram.rs +++ b/src/device/rdram.rs @@ -76,7 +76,7 @@ pub fn write_mem(device: &mut device::Device, address: u64, value: u32, mask: u3 .rdram .mem .get_mut(address as usize..(address + 4) as usize) - .unwrap_or_default() + .unwrap_or(&mut [0; 4]) .copy_from_slice(&data.to_ne_bytes()); } @@ -118,14 +118,14 @@ pub fn init(device: &mut device::Device) { .rdram .mem .get_mut(0x318..0x318 + 4) - .unwrap_or_default() + .unwrap_or(&mut [0; 4]) .copy_from_slice(&device.rdram.size.to_ne_bytes()); // hack, skip RDRAM initialization device .rdram .mem .get_mut(0x3f0..0x3f0 + 4) - .unwrap_or_default() + .unwrap_or(&mut [0; 4]) .copy_from_slice(&device.rdram.size.to_ne_bytes()); device.ri.regs[device::ri::RI_MODE_REG as usize] = 0x0e; diff --git a/src/device/rsp_interface.rs b/src/device/rsp_interface.rs index 5140c3a..468db54 100644 --- a/src/device/rsp_interface.rs +++ b/src/device/rsp_interface.rs @@ -161,7 +161,7 @@ fn do_dma(device: &mut device::Device, dma: RspDma) { .rdram .mem .get_mut(dram_addr as usize..dram_addr as usize + 4) - .unwrap_or_default() + .unwrap_or(&mut [0; 4]) .copy_from_slice(&data.to_ne_bytes()); mem_addr += 4; dram_addr += 4; diff --git a/src/device/si.rs b/src/device/si.rs index c05d065..5cef137 100644 --- a/src/device/si.rs +++ b/src/device/si.rs @@ -105,7 +105,7 @@ fn copy_pif_rdram(device: &mut device::Device) { .rdram .mem .get_mut(dram_addr + i..dram_addr + i + 4) - .unwrap_or_default() + .unwrap_or(&mut [0; 4]) .copy_from_slice(&data.to_ne_bytes()); i += 4; }