From 72f47e5aff83c4aa7cedfc044e1523a2cca82f2b Mon Sep 17 00:00:00 2001 From: Logan McNaughton <848146+loganmc10@users.noreply.github.com> Date: Sat, 22 Nov 2025 10:04:31 +0100 Subject: [PATCH] addressing hack to fix compatibility with latest libdragon (#620) --- src/device/memory.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/device/memory.rs b/src/device/memory.rs index 167c3422..fecc4a25 100644 --- a/src/device/memory.rs +++ b/src/device/memory.rs @@ -62,9 +62,14 @@ pub fn masked_write_64(dst: &mut u64, value: u64, mask: u64) { pub fn translate_address( device: &mut device::Device, - address: u64, + mut address: u64, access_type: AccessType, ) -> (u64, bool, bool) { + if (address & 0xFFFFFFFF00000000) == 0x9000000000000000 { + // this is a hack to support 64-bit addresses used by some homebrew + address |= 0xA0000000; + } + if (address & 0xc0000000) != 0x80000000 { return device::tlb::get_physical_address(device, address, access_type); }