diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/N64/N64.IMemoryDomains.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/N64/N64.IMemoryDomains.cs index a620c52357..250a3facde 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/N64/N64.IMemoryDomains.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/N64/N64.IMemoryDomains.cs @@ -81,6 +81,8 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64 //zero 07-sep-2014 - made RDRAM big endian domain, but none others. others need to be studied individually. MakeMemoryDomain("RDRAM", mupen64plusApi.N64_MEMORY.RDRAM, MemoryDomain.Endian.Big, true); + MakeMemoryDomain("ROM", mupen64plusApi.N64_MEMORY.THE_ROM, MemoryDomain.Endian.Big, true); + MakeMemoryDomain("PI Register", mupen64plusApi.N64_MEMORY.PI_REG, MemoryDomain.Endian.Little); MakeMemoryDomain("SI Register", mupen64plusApi.N64_MEMORY.SI_REG, MemoryDomain.Endian.Little); MakeMemoryDomain("VI Register", mupen64plusApi.N64_MEMORY.VI_REG, MemoryDomain.Endian.Little); diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/N64/NativeAPI/mupen64plusCoreApi.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/N64/NativeAPI/mupen64plusCoreApi.cs index 2c8f31c0f3..dac999c33c 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/N64/NativeAPI/mupen64plusCoreApi.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/N64/NativeAPI/mupen64plusCoreApi.cs @@ -112,7 +112,9 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64.NativeApi MEMPAK1, MEMPAK2, MEMPAK3, - MEMPAK4 + MEMPAK4, + + THE_ROM } // Core Specifc functions diff --git a/libmupen64plus/mupen64plus-core/projects/msvc11/mupen64plus-core.vcxproj b/libmupen64plus/mupen64plus-core/projects/msvc11/mupen64plus-core.vcxproj index 2f0abf07b1..2a76f73588 100644 --- a/libmupen64plus/mupen64plus-core/projects/msvc11/mupen64plus-core.vcxproj +++ b/libmupen64plus/mupen64plus-core/projects/msvc11/mupen64plus-core.vcxproj @@ -93,7 +93,6 @@ Level3 - ProgramDatabase Default true @@ -105,6 +104,7 @@ true true MachineX86 + /PDBALTPATH:%_PDB%.%_EXT% %(AdditionalOptions) diff --git a/libmupen64plus/mupen64plus-core/src/api/debugger.c b/libmupen64plus/mupen64plus-core/src/api/debugger.c index 65b4079fdd..81feb83672 100644 --- a/libmupen64plus/mupen64plus-core/src/api/debugger.c +++ b/libmupen64plus/mupen64plus-core/src/api/debugger.c @@ -38,6 +38,7 @@ #include "debugger/debugger.h" #include "memory/memory.h" #include "r4300/r4300.h" +#include "main/rom.h" extern unsigned int op; /* this is in r4300/pure_interp.c */ @@ -231,6 +232,9 @@ EXPORT void * CALL DebugMemGetPointer(m64p_dbg_memptr_type mem_ptr_type) return mempack[2]; case MEMPAK4: return mempack[3]; + + case THE_ROM: + return rom; default: DebugMessage(M64MSG_ERROR, "Bug: DebugMemGetPointer() called with invalid m64p_dbg_memptr_type"); return NULL; @@ -264,6 +268,9 @@ EXPORT int CALL MemGetSize(m64p_dbg_memptr_type mem_ptr_type) return 0x8000; case MEMPAK4: return 0x8000; + + case THE_ROM: + return rom_size; default: DebugMessage(M64MSG_ERROR, "Bug: MemGetSize() called with invalid m64p_dbg_memptr_type"); return NULL; diff --git a/libmupen64plus/mupen64plus-core/src/api/m64p_types.h b/libmupen64plus/mupen64plus-core/src/api/m64p_types.h index 9e96f6fcda..3d101c01d0 100644 --- a/libmupen64plus/mupen64plus-core/src/api/m64p_types.h +++ b/libmupen64plus/mupen64plus-core/src/api/m64p_types.h @@ -269,7 +269,9 @@ typedef enum { MEMPAK1, MEMPAK2, MEMPAK3, - MEMPAK4 + MEMPAK4, + + THE_ROM, } m64p_dbg_memptr_type; typedef enum { diff --git a/output/dll/mupen64plus.dll b/output/dll/mupen64plus.dll index d0b6641c85..c6f4fa969c 100644 Binary files a/output/dll/mupen64plus.dll and b/output/dll/mupen64plus.dll differ