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