From e99c9c57b03eb915436a68659fcb1b750526a052 Mon Sep 17 00:00:00 2001 From: Giovanni Bajo Date: Sat, 1 Feb 2025 09:26:45 +0100 Subject: [PATCH] n64: fix a typo in ISViewer address range (#1806) Added in 14786372. This basically prevented ROM size between 0x3f0'0000 and 0x3ff'0000 to work correctly in Ares. --- ares/n64/cartridge/cartridge.cpp | 2 +- ares/n64/pi/bus.hpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ares/n64/cartridge/cartridge.cpp b/ares/n64/cartridge/cartridge.cpp index 14a1f78804..0eb65adcd3 100644 --- a/ares/n64/cartridge/cartridge.cpp +++ b/ares/n64/cartridge/cartridge.cpp @@ -47,7 +47,7 @@ auto Cartridge::connect() -> void { rtc.load(); - if(rom.size <= 0x03fe'ffff) { + if(rom.size <= 0x03ff'0000) { isviewer.ram.allocate(64_KiB); isviewer.tracer = node->append("ISViewer", "Cartridge"); isviewer.tracer->setAutoLineBreak(false); diff --git a/ares/n64/pi/bus.hpp b/ares/n64/pi/bus.hpp index 5473b833fb..94f90bbd11 100644 --- a/ares/n64/pi/bus.hpp +++ b/ares/n64/pi/bus.hpp @@ -44,7 +44,7 @@ inline auto PI::busRead(u32 address) -> u32 { if(cartridge.flash) return cartridge.flash.read(address); return unmapped; } - if(cartridge.isviewer.enabled() && address >= 0x13f0'0000 && address <= 0x13ff'ffff) { + if(cartridge.isviewer.enabled() && address >= 0x13ff'0000 && address <= 0x13ff'ffff) { return cartridge.isviewer.read(address); } if(address <= 0x1000'0000 + cartridge.rom.size - 1) { @@ -94,7 +94,7 @@ inline auto PI::busWrite(u32 address, u32 data) -> void { if(cartridge.flash) return cartridge.flash.write(address, data); return; } - if(address >= 0x13f0'0000 && address <= 0x13ff'ffff) { + if(address >= 0x13ff'0000 && address <= 0x13ff'ffff) { if(cartridge.isviewer.enabled()) { writeForceFinish(); //Debugging channel for homebrew, be gentle return cartridge.isviewer.write(address, data);