From 8c4696609d53c2744dc0d5497ad967fab3a7c777 Mon Sep 17 00:00:00 2001
From: goyuken <goyuken@4bbf4f03-6f44-549e-7e59-35d4b0962838>
Date: Sat, 16 Aug 2014 05:45:31 +0000
Subject: [PATCH] vba next: memory domains

---
 BizHawk.Emulation.Common/MemoryDomain.cs      |  14 ++++---
 .../Consoles/Nintendo/GBA/LibVBANext.cs       |  20 ++++++++++
 .../Consoles/Nintendo/GBA/VBANext.cs          |  32 +++++++++++++++-
 .../Consoles/Nintendo/QuickNES/QuickNES.cs    |  23 +-----------
 output/dll/libvbanext.dll                     | Bin 443392 -> 443392 bytes
 vbanext/instance.cpp                          |  35 ++++++++++++++++++
 vbanext/instance.h                            |  12 ++++++
 7 files changed, 106 insertions(+), 30 deletions(-)

diff --git a/BizHawk.Emulation.Common/MemoryDomain.cs b/BizHawk.Emulation.Common/MemoryDomain.cs
index dd7ef12e33..7c4c3a7849 100644
--- a/BizHawk.Emulation.Common/MemoryDomain.cs
+++ b/BizHawk.Emulation.Common/MemoryDomain.cs
@@ -32,8 +32,9 @@ namespace BizHawk.Emulation.Common
 		/// <param name="size"></param>
 		/// <param name="endian"></param>
 		/// <param name="data">must remain valid as long as the MemoryDomain exists!</param>
+		/// <param name="writable">if false, writes will be ignored</param>
 		/// <returns></returns>
-		public unsafe static MemoryDomain FromIntPtr(string name, int size, Endian endian, IntPtr data)
+		public unsafe static MemoryDomain FromIntPtr(string name, int size, Endian endian, IntPtr data, bool writable = true)
 		{
 			if (data == IntPtr.Zero)
 				throw new ArgumentNullException("data");
@@ -53,15 +54,16 @@ namespace BizHawk.Emulation.Common
 				},
 				delegate(int addr, byte val)
 				{
-					if (addr < 0 || addr >= size)
-						throw new ArgumentOutOfRangeException();
-					p[addr] = val;
+					if (writable)
+					{
+						if (addr < 0 || addr >= size)
+							throw new ArgumentOutOfRangeException();
+						p[addr] = val;
+					}
 				}
 			);
 		}
 
-		public MemoryDomain() { }
-
 		public override string ToString()
 		{
 			return Name;
diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/GBA/LibVBANext.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/GBA/LibVBANext.cs
index 04956d9e07..6977b50dcf 100644
--- a/BizHawk.Emulation.Cores/Consoles/Nintendo/GBA/LibVBANext.cs
+++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/GBA/LibVBANext.cs
@@ -122,6 +122,26 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBA
 		public static extern bool SaveRamSave(IntPtr g, byte[] data, int length);
 		[DllImport(dllname, CallingConvention = cc)]
 		public static extern bool SaveRamLoad(IntPtr g, byte[] data, int length);
+		[DllImport(dllname, CallingConvention = cc)]
+		public static extern void GetMemoryAreas(IntPtr g, [Out]MemoryAreas mem);
 
+		[DllImport(dllname, CallingConvention = cc)]
+		public static extern void SystemBusWrite(IntPtr g, int addr, byte val);
+		[DllImport(dllname, CallingConvention = cc)]
+		public static extern byte SystemBusRead(IntPtr g, int addr);
+
+
+		[StructLayout(LayoutKind.Sequential)]
+		public class MemoryAreas
+		{
+			public IntPtr bios;
+			public IntPtr iwram;
+			public IntPtr ewram;
+			public IntPtr palram;
+			public IntPtr vram;
+			public IntPtr oam;
+			public IntPtr rom;
+			public IntPtr mmio;
+		}
 	}
 }
diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/GBA/VBANext.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/GBA/VBANext.cs
index 2fe873e8ba..fb251ba7f5 100644
--- a/BizHawk.Emulation.Cores/Consoles/Nintendo/GBA/VBANext.cs
+++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/GBA/VBANext.cs
@@ -73,6 +73,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBA
 
 				savebuff = new byte[LibVBANext.BinStateSize(Core)];
 				savebuff2 = new byte[savebuff.Length + 13];
+				InitMemoryDomains();
 			}
 			catch
 			{
@@ -253,11 +254,38 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBA
 
 		#region Debugging
 
-		public MemoryDomainList MemoryDomains
+		void InitMemoryDomains()
 		{
-			get { return MemoryDomainList.GetDummyList(); }
+			var mm = new List<MemoryDomain>();
+			var s = new LibVBANext.MemoryAreas();
+			var l = MemoryDomain.Endian.Little;
+			LibVBANext.GetMemoryAreas(Core, s);
+			mm.Add(MemoryDomain.FromIntPtr("IWRAM", 32 * 1024, l, s.iwram));
+			mm.Add(MemoryDomain.FromIntPtr("EWRAM", 256 * 1024, l, s.ewram));
+			mm.Add(MemoryDomain.FromIntPtr("BIOS", 16 * 1024, l, s.bios, false));
+			mm.Add(MemoryDomain.FromIntPtr("PALRAM", 1024, l, s.palram, false));
+			mm.Add(MemoryDomain.FromIntPtr("VRAM", 96 * 1024, l, s.vram));
+			mm.Add(MemoryDomain.FromIntPtr("OAM", 1024, l, s.oam));
+			mm.Add(MemoryDomain.FromIntPtr("ROM", 32 * 1024 * 1024, l, s.rom));
+			
+			mm.Add(new MemoryDomain("BUS", 0x10000000, l,
+				delegate(int addr)
+				{
+					if (addr < 0 || addr >= 0x10000000)
+						throw new ArgumentOutOfRangeException();
+					return LibVBANext.SystemBusRead(Core, addr);
+				},
+				delegate(int addr, byte val)
+				{
+					if (addr < 0 || addr >= 0x10000000)
+						throw new ArgumentOutOfRangeException();
+					LibVBANext.SystemBusWrite(Core, addr, val);
+				}));
+			MemoryDomains = new MemoryDomainList(mm, 0);
 		}
 
+		public MemoryDomainList MemoryDomains { get; private set; }
+
 		public Dictionary<string, int> GetCpuFlagsAndRegisters()
 		{
 			throw new NotImplementedException();
diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/QuickNES/QuickNES.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/QuickNES/QuickNES.cs
index d5b2d0e89e..9e7477b07f 100644
--- a/BizHawk.Emulation.Cores/Consoles/Nintendo/QuickNES/QuickNES.cs
+++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/QuickNES/QuickNES.cs
@@ -319,28 +319,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.QuickNES
 
 				if (data != IntPtr.Zero && size > 0 && name != IntPtr.Zero)
 				{
-					byte* p = (byte*)data;
-
-					mm.Add(new MemoryDomain
-					(
-						Marshal.PtrToStringAnsi(name),
-						size,
-						MemoryDomain.Endian.Unknown,
-						delegate(int addr)
-						{
-							if (addr < 0 || addr >= size)
-								throw new ArgumentOutOfRangeException();
-							return p[addr];
-						},
-						delegate(int addr, byte val)
-						{
-							if (!writable)
-								return;
-							if (addr < 0 || addr >= size)
-								throw new ArgumentOutOfRangeException();
-							p[addr] = val;
-						}
-					));
+					mm.Add(MemoryDomain.FromIntPtr(Marshal.PtrToStringAnsi(name), size, MemoryDomain.Endian.Little, data, writable));
 				}
 			}
 			// add system bus
diff --git a/output/dll/libvbanext.dll b/output/dll/libvbanext.dll
index 60350c839f64ede8c4194f67ea3f8db65ab5816c..afa0071028305aaa5766cba28d54544617bb88dc 100644
GIT binary patch
delta 72320
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%0AUT&;GtWhWR~V
zuP?Qi+)^KDxD=FTNXi0fowP$bB4s+7I#|cGj)9Jmj){)hj%AKd9C62SM-AuYPP_AF
z=V0e!&XDtUocFshqbHoTU1pcnbt6{!!>-A$Ij)tieAgitB{z{dtopm<N8~B;T=_kD
zn|x6IQ*Pky==Qq%y6<;C<$lq<(7n#R%bjqWJk1pkhs(yDo@~!Ep4pyvJ)e3Gc#2SX
zTzgUWI&3@E%MM^ivXj_(?ECC?_7M9gTOYqI;IQ0m8Dx3b@{DD+WsxOn$+H}={A9`G
z8glJ97uSm$%}wXt#0j;X`vHro8P4x(c|ZRMKOGBo4ZofLfzPyFX6<BEJk|l$fc0tX
zT&%Ax*4;QoD4~wfPT+)_g@HnjFjn}Fuw3|1*d-hlvc%@1DE1Hsi=)No#06MPyTqen
zmaU~twDqtJwLNKj!M4Emp>3D#s4dIh66Nn<A8a3Of6o4vJ!=2be#A~o%_UyCQMy|i
zB~6oFmp)LWJn67xbTmQnuXEh#$Z<?|%yr~C@*D+@633;^F3zi+w>w8VCpj14f}7_&
z;5_E6j?&v)H@k+o6xU2w#I?b--}Sqzq1;*SCf_DMC{M)o;9Yr({2dD4(B0YH&3&8u
zL0lJJaW8dmaewXp-CZ9SBd@2Q=K+s0-ZRs))bojFKPfw7q6VYv_1VtswXC0gjGfNT
zXV<X>><N~^k2=^b-7S8s`-zs9ED_6E%V(B@mY*#&cPZD7v*8LhlAFlQ;udmixqMs^
zvv3M_;@x~telQCE4A%Y%{xiOS|DCU6ZDqAuud@!fKCW1&S?5@nTQ{QgKU%8^4YB&K
z5^fcS36BWVg?YjX;bS2#{3MvfCSn)SDPAw$C5{ju6Q^tIf2(*vJTBI-wXiub0e9PS
zY?Ev++ZN*t*lGL8X0$i8ceP(-?`t1!f6_k7zR<qTzTJMv{wL0Xwm1j6OG71PH0EKh
zv{?F7isR;LbX?}JIIeLFaEx$_c1&`F9Sa?+9G^SBcARk3bq;kt=X?#<w9U@F&ZD^V
zwRSmOx47<ceeU`W6Hr%fE!(j6-;vkK`6zy|T-$AS^X}g6W$umcJy`FVp2nWe9?EQ@
znxo1rmiBCgHCP_9yl45)veB{y<^0jYa4on_9Lx3P?&1O{=*!$3tmG)Sp3CF*qpU|b
zny<;X<Zb*d{H^@GxTws;<#z#}&+q2r{5QA*{>Im^wnKrtTVJt$YHc8N7kUZ(g*%18
z!f@e1VU(Z<6ND+k^TI4)uAs~pmI`Zxjlve;bKxuDTdeXw1fy7AY$RSLwiYGPi<0*g
z9}riHQE?mYZ3Vco8f=%^TG?#2TWkYtGi<YLt88m+qwG)Er{Pw+*1o~sRkBJB$t(4g
z?vNgoo|j&g-jS9|A4r>|V^XnXa@2CvcQkgiz>AoUb+GP5$5mMQM{u$EJ$Jwi(;Hp>
E51*pAAOHXW

delta 76468
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

diff --git a/vbanext/instance.cpp b/vbanext/instance.cpp
index d89585f572..44626f4ca0 100644
--- a/vbanext/instance.cpp
+++ b/vbanext/instance.cpp
@@ -13321,6 +13321,27 @@ template<bool isReader>bool SyncBatteryRam(NewState *ns)
 		return lagged;
 	}
 
+	void FillMemoryAreas(MemoryAreas &mem)
+	{
+		mem.bios = bios;
+		mem.iwram = internalRAM;
+		mem.ewram = workRAM;
+		mem.palram = graphics.paletteRAM;
+		mem.mmio = ioMem;
+		mem.rom = rom;
+		mem.vram = vram;
+		mem.oam = oam;
+	}
+
+	void BusWrite(u32 addr, u8 val)
+	{
+		CPUWriteByte(addr, val);
+	}
+	u8 BusRead(u32 addr)
+	{
+		return CPUReadByte(addr);
+	}
+
 }; // class Gigazoid
 
 // zeroing mem operators: these are very important
@@ -13447,5 +13468,19 @@ EXPORT void TxtStateLoad(Gigazoid *g, FPtrs *ff)
 	g->SyncState<true>(&loader);
 }
 
+EXPORT void GetMemoryAreas(Gigazoid *g, MemoryAreas *mem)
+{
+	g->FillMemoryAreas(*mem);
+}
+
+EXPORT void SystemBusWrite(Gigazoid *g, u32 addr, u8 val)
+{
+	g->BusWrite(addr, val);
+}
+
+EXPORT u8 SystemBusRead(Gigazoid *g, u32 addr)
+{
+	return g->BusRead(addr);
+}
 
 #include "optable.inc"
diff --git a/vbanext/instance.h b/vbanext/instance.h
index 028302d5e6..68b043823b 100644
--- a/vbanext/instance.h
+++ b/vbanext/instance.h
@@ -20,6 +20,18 @@ struct FrontEndSettings
 
 };
 
+struct MemoryAreas
+{
+	void *bios;
+	void *iwram;
+	void *ewram;
+	void *palram;
+	void *vram;
+	void *oam;
+	void *rom;
+	void *mmio;
+};
+
 #define FLASH_128K_SZ 0x20000
 
 #define EEPROM_IDLE           0