From 186a4a16f43c4b06f29779cad8ab1e1e4e006ef1 Mon Sep 17 00:00:00 2001
From: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com>
Date: Thu, 2 May 2024 20:22:51 -0700
Subject: [PATCH] Fix off by one in SGB memory handling for RetroAchievements

---
 .../RetroAchievements/RetroAchievements.Memory.cs          | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/BizHawk.Client.EmuHawk/RetroAchievements/RetroAchievements.Memory.cs b/src/BizHawk.Client.EmuHawk/RetroAchievements/RetroAchievements.Memory.cs
index 59d1a8eca9..9933caa66d 100644
--- a/src/BizHawk.Client.EmuHawk/RetroAchievements/RetroAchievements.Memory.cs
+++ b/src/BizHawk.Client.EmuHawk/RetroAchievements/RetroAchievements.Memory.cs
@@ -451,8 +451,11 @@ namespace BizHawk.Client.EmuHawk
 							mfs.Add(new(domains["SGB WRAM"], 0, 0x1E00));
 							TryAddDomain("SGB OAM", 0xA0);
 							TryAddDomain("SGB System Bus", 0xE0);
-							TryAddDomain("SGB HRAM", 0x80);
-							TryAddDomain("SGB IE");
+							mfs.Add(new(domains["SGB HRAM"], 0, domains["SGB HRAM"].Size));
+							if (domains["SGB HRAM"].Size == 0x7F)
+							{
+								mfs.Add(new(domains["SGB IE"], 0, domains["SGB IE"].Size));
+							}
 							mfs.Add(new NullMemFunctions(0x6000));
 							if (domains.Has("SGB CARTRAM") && domains["SGB CARTRAM"].Size > 0x2000)
 							{