diff --git a/BizHawk.Emulation/BizHawk.Emulation.csproj b/BizHawk.Emulation/BizHawk.Emulation.csproj
index efc5488022..8dd4fb7040 100644
--- a/BizHawk.Emulation/BizHawk.Emulation.csproj
+++ b/BizHawk.Emulation/BizHawk.Emulation.csproj
@@ -263,6 +263,7 @@
+
diff --git a/BizHawk.Emulation/Consoles/Sega/Genesis/Cart/SaveRAM.cs b/BizHawk.Emulation/Consoles/Sega/Genesis/Cart/SaveRAM.cs
index c4ccbbf387..da84efd0b7 100644
--- a/BizHawk.Emulation/Consoles/Sega/Genesis/Cart/SaveRAM.cs
+++ b/BizHawk.Emulation/Consoles/Sega/Genesis/Cart/SaveRAM.cs
@@ -14,7 +14,8 @@ namespace BizHawk.Emulation.Consoles.Sega
void InitializeSaveRam(GameInfo game)
{
- // TODO if eeprom in use, abort saveram check
+ if (EepromEnabled)
+ return;
if (game["DisableSaveRam"] || RH_SRamPresent == false)
return;
@@ -32,11 +33,7 @@ namespace BizHawk.Emulation.Consoles.Sega
SaveRamLength = (SaveRamEndOffset - SaveRamStartOffset) + 1;
if (SaveRamEveryOtherByte)
- {
- SaveRamStartOffset &= 0xFFFFFE;
- SaveRamEndOffset &= 0xFFFFFE;
SaveRamLength = ((SaveRamEndOffset - SaveRamStartOffset) / 2) + 1;
- }
SaveRAM = new byte[SaveRamLength];
diff --git a/BizHawk.Emulation/Consoles/Sega/Genesis/Genesis.cs b/BizHawk.Emulation/Consoles/Sega/Genesis/Genesis.cs
index 400edb7538..4884e71f66 100644
--- a/BizHawk.Emulation/Consoles/Sega/Genesis/Genesis.cs
+++ b/BizHawk.Emulation/Consoles/Sega/Genesis/Genesis.cs
@@ -136,6 +136,7 @@ namespace BizHawk.Emulation.Consoles.Sega
void InitializeCartHardware(GameInfo game)
{
LogCartInfo();
+ InitializeEeprom(game);
InitializeSaveRam(game);
}
diff --git a/BizHawk.Emulation/Consoles/Sega/Genesis/MemoryMap.68000.cs b/BizHawk.Emulation/Consoles/Sega/Genesis/MemoryMap.68000.cs
index 226ad0733c..fb9e706eb0 100644
--- a/BizHawk.Emulation/Consoles/Sega/Genesis/MemoryMap.68000.cs
+++ b/BizHawk.Emulation/Consoles/Sega/Genesis/MemoryMap.68000.cs
@@ -167,6 +167,13 @@ namespace BizHawk.Emulation.Consoles.Sega
return;
}
+ if (EepromEnabled && (address == SclAddr || address == SdaInAddr))
+ {
+ WriteByteEeprom(address, (byte) value);
+ return;
+
+ }
+
Console.WriteLine("UNHANDLED WRITEB {0:X6}:{1:X2}", address, value);
}
diff --git a/BizHawk.MultiClient/output/gamedb_sega_md.txt b/BizHawk.MultiClient/output/gamedb_sega_md.txt
index 240e360854..4cc52f43f8 100644
--- a/BizHawk.MultiClient/output/gamedb_sega_md.txt
+++ b/BizHawk.MultiClient/output/gamedb_sega_md.txt
@@ -5546,24 +5546,24 @@ D629DC27FF7657295BC6031142183926 Wolverine Adamantium Rage (UE) [h3C] GEN
BFFB9630079B61024C67D7D3C9AA09B4 Wonder Boy III - Monster Lair (JE) [b1] GEN
17F53791945CE7CCD83A4E812E3705E4 Wonder Boy III - Monster Lair (JE) [c][!] GEN
F992B15CC91DD24E3D3B7896D49B95E3 Wonder Boy III - Monster Lair (JE) [f1] GEN
-EDBA0BDB192D47712EDBE0097F885F40 Wonder Boy in Monster World (UE) [!] GEN
-69E5E95FA5B2C01EDD28B40B479C7FF0 Wonder Boy in Monster World (UE) [f1+C] GEN
-70881D8F992E7222C667F815CD25FF8D Wonder Boy in Monster World (UE) [f1] GEN
-6366092E18FB4CF310A651307472B531 Wonder Boy in Monster World (UE) [h1C] GEN
-ED9C03FF6DDB59CC7B8EC6404FFD5C7B Wonder Boy in Monster World (UE) [h2C] GEN
-945335637611A0951595FAE0994F4303 Wonder Boy in Monster World (UE) [o1] GEN
-3524CBE579A50015D4674DB5DAC2E186 Wonder Boy in Monster World (UE) [o1][f1] GEN
-73017C4267DD87223ABDE89313642396 Wonder Boy in Monster World (UE) [T+Fre] GEN
-E25AFC5B755555397E4047061050AE05 Wonder Boy V - Monster World III (J) [!] GEN
-E9AD2A8857B58F300B668619DB377640 Wonder Boy V - Monster World III (J) [b1] GEN
-CC41CDDA50D55290E959673281FD4D11 Wonder Boy V - Monster World III (J) [b2] GEN
-7571A54079024B762CFF639D670E6D12 Wonder Boy V - Monster World III (J) [f1+C] GEN
-1494668708041AAA7B0AC4F5148390DF Wonder Boy V - Monster World III (J) [f1] GEN
-11EF7EFC54760660D635567BFE420D93 Wonder Boy V - Monster World III (J) [f1][o1] GEN
-0B1870D3132068A9A3018C684C275202 Wonder Boy V - Monster World III (J) [h1C] GEN
-43451679C0EA5CE0DD0B5FA9FC1FDD00 Wonder Boy V - Monster World III (J) [o2+C] GEN
-A8071EC317B58F98B729A34F2528B340 Wonder Boy V - Monster World III (J) [o2] GEN
-1FB07182D41FB50800D3C4562DE802EF Wonder Boy V - Monster World III (J) [p1] GEN
+EDBA0BDB192D47712EDBE0097F885F40 Wonder Boy in Monster World (UE) [!] GEN EEPROM;SDA_IN=200001:0;SDA_OUT=200001:0;SCL=200001:1;EEPROM_ADDR_MASK=7F
+69E5E95FA5B2C01EDD28B40B479C7FF0 Wonder Boy in Monster World (UE) [f1+C] GEN EEPROM;SDA_IN=200001:0;SDA_OUT=200001:0;SCL=200001:1;EEPROM_ADDR_MASK=7F
+70881D8F992E7222C667F815CD25FF8D Wonder Boy in Monster World (UE) [f1] GEN EEPROM;SDA_IN=200001:0;SDA_OUT=200001:0;SCL=200001:1;EEPROM_ADDR_MASK=7F
+6366092E18FB4CF310A651307472B531 Wonder Boy in Monster World (UE) [h1C] GEN EEPROM;SDA_IN=200001:0;SDA_OUT=200001:0;SCL=200001:1;EEPROM_ADDR_MASK=7F
+ED9C03FF6DDB59CC7B8EC6404FFD5C7B Wonder Boy in Monster World (UE) [h2C] GEN EEPROM;SDA_IN=200001:0;SDA_OUT=200001:0;SCL=200001:1;EEPROM_ADDR_MASK=7F
+945335637611A0951595FAE0994F4303 Wonder Boy in Monster World (UE) [o1] GEN EEPROM;SDA_IN=200001:0;SDA_OUT=200001:0;SCL=200001:1;EEPROM_ADDR_MASK=7F
+3524CBE579A50015D4674DB5DAC2E186 Wonder Boy in Monster World (UE) [o1][f1] GEN EEPROM;SDA_IN=200001:0;SDA_OUT=200001:0;SCL=200001:1;EEPROM_ADDR_MASK=7F
+73017C4267DD87223ABDE89313642396 Wonder Boy in Monster World (UE) [T+Fre] GEN EEPROM;SDA_IN=200001:0;SDA_OUT=200001:0;SCL=200001:1;EEPROM_ADDR_MASK=7F
+E25AFC5B755555397E4047061050AE05 Wonder Boy V - Monster World III (J) [!] GEN EEPROM;SDA_IN=200001:0;SDA_OUT=200001:0;SCL=200001:1;EEPROM_ADDR_MASK=7F
+E9AD2A8857B58F300B668619DB377640 Wonder Boy V - Monster World III (J) [b1] GEN EEPROM;SDA_IN=200001:0;SDA_OUT=200001:0;SCL=200001:1;EEPROM_ADDR_MASK=7F
+CC41CDDA50D55290E959673281FD4D11 Wonder Boy V - Monster World III (J) [b2] GEN EEPROM;SDA_IN=200001:0;SDA_OUT=200001:0;SCL=200001:1;EEPROM_ADDR_MASK=7F
+7571A54079024B762CFF639D670E6D12 Wonder Boy V - Monster World III (J) [f1+C] GEN EEPROM;SDA_IN=200001:0;SDA_OUT=200001:0;SCL=200001:1;EEPROM_ADDR_MASK=7F
+1494668708041AAA7B0AC4F5148390DF Wonder Boy V - Monster World III (J) [f1] GEN EEPROM;SDA_IN=200001:0;SDA_OUT=200001:0;SCL=200001:1;EEPROM_ADDR_MASK=7F
+11EF7EFC54760660D635567BFE420D93 Wonder Boy V - Monster World III (J) [f1][o1] GEN EEPROM;SDA_IN=200001:0;SDA_OUT=200001:0;SCL=200001:1;EEPROM_ADDR_MASK=7F
+0B1870D3132068A9A3018C684C275202 Wonder Boy V - Monster World III (J) [h1C] GEN EEPROM;SDA_IN=200001:0;SDA_OUT=200001:0;SCL=200001:1;EEPROM_ADDR_MASK=7F
+43451679C0EA5CE0DD0B5FA9FC1FDD00 Wonder Boy V - Monster World III (J) [o2+C] GEN EEPROM;SDA_IN=200001:0;SDA_OUT=200001:0;SCL=200001:1;EEPROM_ADDR_MASK=7F
+A8071EC317B58F98B729A34F2528B340 Wonder Boy V - Monster World III (J) [o2] GEN EEPROM;SDA_IN=200001:0;SDA_OUT=200001:0;SCL=200001:1;EEPROM_ADDR_MASK=7F
+1FB07182D41FB50800D3C4562DE802EF Wonder Boy V - Monster World III (J) [p1] GEN EEPROM;SDA_IN=200001:0;SDA_OUT=200001:0;SCL=200001:1;EEPROM_ADDR_MASK=7F
B772F18DD3FFF8B61A6DC801AA74ED07 Wonder Library (J) [!] GEN
9EF694AB80344A7CCED0D33F9C84A1B5 World Championship Soccer (JU) (REV00) [!] GEN
2C490E1AB0153C73990F72E3EAC3298A World Championship Soccer (JU) (REV02) [p1+1C] GEN