don't init gpgx trace buffer when not emulating genesis, more proper genesis bootrom firmware handling

This commit is contained in:
CasualPokePlayer 2024-04-30 20:57:31 -07:00
parent 7d9483ea0f
commit f0a2ea1ed2
3 changed files with 8 additions and 5 deletions

View File

@ -280,7 +280,7 @@ namespace BizHawk.Emulation.Common
var jp_mcd_beta = File("F30D109D1C2F7C9FEAF38600C65834261DB73D1F", 131072, "MCD_jp_beta.bin", "Mega CD JP (Beta)");
var eu_mcd_221 = File("9DE4EDA59F544DB2D5FD7E6514601F7B648D8EB4", 131072, "MCD_eu_221.bin", "Mega CD EU (v2.21)");
FirmwareAndOption("1C470A9A8D0B211C5FEEA1C1C2376AA1F7934B16", 4096, "GEN", "TMSS", "TMSS.md", "Mega Drive TMSS Boot Rom (Japan)");
FirmwareAndOption("3F50B76B0529DB7F79C396B5E808CC0786FFC311", 2048, "GEN", "Boot", "GEN_boot.md", "Genesis Boot Rom (World)");
Firmware("GEN", "CD_BIOS_EU", "Mega CD Bios (Europe)");
Firmware("GEN", "CD_BIOS_JP", "Mega CD Bios (Japan)");

View File

@ -26,7 +26,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.gpgx
var name = Marshal.PtrToStringAnsi(pName)!;
// typically Genesis domains will be 2 bytes large (and thus big endian and byteswapped)
var oneByteWidth = name is "Z80 RAM" or "Main RAM" or "ROM" or "Cart (Volatile) RAM" or "SRAM";
var oneByteWidth = name is "Z80 RAM" or "Main RAM" or "ROM" or "BOOT ROM" or "Cart (Volatile) RAM" or "SRAM";
var endian = oneByteWidth
? MemoryDomain.Endian.Little

View File

@ -148,8 +148,11 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.gpgx
KillMemCallbacks();
_tracer = new GPGXTraceBuffer(this, _memoryDomains, this);
((BasicServiceProvider)ServiceProvider).Register(_tracer);
if (SystemId == VSystemID.Raw.GEN)
{
_tracer = new GPGXTraceBuffer(this, _memoryDomains, this);
((BasicServiceProvider)ServiceProvider).Register(_tracer);
}
}
_romfile = null;
@ -261,7 +264,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.gpgx
FirmwareID? firmwareID = filename switch
{
"MD_BIOS" => new(system: VSystemID.Raw.GEN, firmware: "TMSS"),
"MD_BIOS" => new(system: VSystemID.Raw.GEN, firmware: "Boot"),
"CD_BIOS_EU" => new(system: VSystemID.Raw.GEN, firmware: "CD_BIOS_EU"),
"CD_BIOS_JP" => new(system: VSystemID.Raw.GEN, firmware: "CD_BIOS_JP"),
"CD_BIOS_US" => new(system: VSystemID.Raw.GEN, firmware: "CD_BIOS_US"),