Make waterbox consistency check ui option only skip the memory check, not the core check (#1979)
This commit is contained in:
parent
a0d825084a
commit
974792cdfe
|
@ -33,7 +33,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Belogic
|
||||||
MmapHeapSizeKB = 4,
|
MmapHeapSizeKB = 4,
|
||||||
PlainHeapSizeKB = 4,
|
PlainHeapSizeKB = 4,
|
||||||
SkipCoreConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxCoreConsistencyCheck),
|
SkipCoreConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxCoreConsistencyCheck),
|
||||||
SkipMemoryConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxCoreConsistencyCheck),
|
SkipMemoryConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxMemoryConsistencyCheck),
|
||||||
});
|
});
|
||||||
|
|
||||||
_exe.AddReadonlyFile(rom, "romfile");
|
_exe.AddReadonlyFile(rom, "romfile");
|
||||||
|
|
|
@ -71,7 +71,7 @@ namespace BizHawk.Emulation.Cores.Consoles.NEC.PCFX
|
||||||
PlainHeapSizeKB = 4 * 1024,
|
PlainHeapSizeKB = 4 * 1024,
|
||||||
MmapHeapSizeKB = 6 * 1024,
|
MmapHeapSizeKB = 6 * 1024,
|
||||||
SkipCoreConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxCoreConsistencyCheck),
|
SkipCoreConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxCoreConsistencyCheck),
|
||||||
SkipMemoryConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxCoreConsistencyCheck),
|
SkipMemoryConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxMemoryConsistencyCheck),
|
||||||
});
|
});
|
||||||
|
|
||||||
SetCdCallbacks();
|
SetCdCallbacks();
|
||||||
|
|
|
@ -67,7 +67,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.Gameboy
|
||||||
PlainHeapSizeKB = 4,
|
PlainHeapSizeKB = 4,
|
||||||
MmapHeapSizeKB = 1024,
|
MmapHeapSizeKB = 1024,
|
||||||
SkipCoreConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxCoreConsistencyCheck),
|
SkipCoreConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxCoreConsistencyCheck),
|
||||||
SkipMemoryConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxCoreConsistencyCheck),
|
SkipMemoryConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxMemoryConsistencyCheck),
|
||||||
});
|
});
|
||||||
|
|
||||||
_cgb = (rom[0x143] & 0xc0) == 0xc0 && !sgb;
|
_cgb = (rom[0x143] & 0xc0) == 0xc0 && !sgb;
|
||||||
|
|
|
@ -71,7 +71,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.SNES
|
||||||
PlainHeapSizeKB = 2 * 1024, // TODO: wasn't there more in here?
|
PlainHeapSizeKB = 2 * 1024, // TODO: wasn't there more in here?
|
||||||
SealedHeapSizeKB = 128 * 1024,
|
SealedHeapSizeKB = 128 * 1024,
|
||||||
SkipCoreConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxCoreConsistencyCheck),
|
SkipCoreConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxCoreConsistencyCheck),
|
||||||
SkipMemoryConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxCoreConsistencyCheck),
|
SkipMemoryConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxMemoryConsistencyCheck),
|
||||||
});
|
});
|
||||||
using (_exe.EnterExit())
|
using (_exe.EnterExit())
|
||||||
{
|
{
|
||||||
|
|
|
@ -40,7 +40,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.SNES9X
|
||||||
InvisibleHeapSizeKB = 6 * 1024,
|
InvisibleHeapSizeKB = 6 * 1024,
|
||||||
PlainHeapSizeKB = 64,
|
PlainHeapSizeKB = 64,
|
||||||
SkipCoreConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxCoreConsistencyCheck),
|
SkipCoreConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxCoreConsistencyCheck),
|
||||||
SkipMemoryConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxCoreConsistencyCheck),
|
SkipMemoryConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxMemoryConsistencyCheck),
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!_core.biz_init())
|
if (!_core.biz_init())
|
||||||
|
|
|
@ -41,7 +41,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.VB
|
||||||
InvisibleHeapSizeKB = 256,
|
InvisibleHeapSizeKB = 256,
|
||||||
PlainHeapSizeKB = 256,
|
PlainHeapSizeKB = 256,
|
||||||
SkipCoreConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxCoreConsistencyCheck),
|
SkipCoreConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxCoreConsistencyCheck),
|
||||||
SkipMemoryConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxCoreConsistencyCheck),
|
SkipMemoryConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxMemoryConsistencyCheck),
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!_boyee.Load(rom, rom.Length, LibVirtualBoyee.NativeSyncSettings.FromFrontendSettings(_syncSettings)))
|
if (!_boyee.Load(rom, rom.Length, LibVirtualBoyee.NativeSyncSettings.FromFrontendSettings(_syncSettings)))
|
||||||
|
|
|
@ -50,7 +50,7 @@ namespace BizHawk.Emulation.Cores.Consoles.SNK
|
||||||
PlainHeapSizeKB = 5 * 1024, // must be a bit larger than the ROM size
|
PlainHeapSizeKB = 5 * 1024, // must be a bit larger than the ROM size
|
||||||
StartAddress = startAddress,
|
StartAddress = startAddress,
|
||||||
SkipCoreConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxCoreConsistencyCheck),
|
SkipCoreConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxCoreConsistencyCheck),
|
||||||
SkipMemoryConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxCoreConsistencyCheck),
|
SkipMemoryConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxMemoryConsistencyCheck),
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!_neopop.LoadSystem(rom, rom.Length, _syncSettings.Language))
|
if (!_neopop.LoadSystem(rom, rom.Length, _syncSettings.Language))
|
||||||
|
|
|
@ -58,7 +58,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.PicoDrive
|
||||||
MmapHeapSizeKB = 4096,
|
MmapHeapSizeKB = 4096,
|
||||||
PlainHeapSizeKB = 64,
|
PlainHeapSizeKB = 64,
|
||||||
SkipCoreConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxCoreConsistencyCheck),
|
SkipCoreConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxCoreConsistencyCheck),
|
||||||
SkipMemoryConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxCoreConsistencyCheck),
|
SkipMemoryConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxMemoryConsistencyCheck),
|
||||||
});
|
});
|
||||||
|
|
||||||
if (has32xBios)
|
if (has32xBios)
|
||||||
|
|
|
@ -95,7 +95,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.Saturn
|
||||||
PlainHeapSizeKB = 24 * 1024, // up to 16MB of cart ram
|
PlainHeapSizeKB = 24 * 1024, // up to 16MB of cart ram
|
||||||
StartAddress = LibSaturnus.StartAddress,
|
StartAddress = LibSaturnus.StartAddress,
|
||||||
SkipCoreConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxCoreConsistencyCheck),
|
SkipCoreConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxCoreConsistencyCheck),
|
||||||
SkipMemoryConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxCoreConsistencyCheck),
|
SkipMemoryConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxMemoryConsistencyCheck),
|
||||||
});
|
});
|
||||||
|
|
||||||
SetFirmwareCallbacks();
|
SetFirmwareCallbacks();
|
||||||
|
|
|
@ -53,7 +53,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.gpgx
|
||||||
PlainHeapSizeKB = 64,
|
PlainHeapSizeKB = 64,
|
||||||
MmapHeapSizeKB = 1 * 1024,
|
MmapHeapSizeKB = 1 * 1024,
|
||||||
SkipCoreConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxCoreConsistencyCheck),
|
SkipCoreConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxCoreConsistencyCheck),
|
||||||
SkipMemoryConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxCoreConsistencyCheck),
|
SkipMemoryConsistencyCheck = comm.CorePreferences.HasFlag(CoreComm.CorePreferencesFlags.WaterboxMemoryConsistencyCheck),
|
||||||
});
|
});
|
||||||
|
|
||||||
using (_elf.EnterExit())
|
using (_elf.EnterExit())
|
||||||
|
|
|
@ -58,12 +58,15 @@ namespace BizHawk.Emulation.Cores.Waterbox
|
||||||
public ulong StartAddress { get; set; } = PeRunner.CanonicalStart;
|
public ulong StartAddress { get; set; } = PeRunner.CanonicalStart;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Skips the "core consistency check"
|
/// Skips the check that the wbx file and other associated dlls match from state save to state load.
|
||||||
|
/// DO NOT SET THIS TO TRUE. A different executable most likely means different meanings for memory locations,
|
||||||
|
/// and nothing will make sense.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool SkipCoreConsistencyCheck { get; set; } = false;
|
public bool SkipCoreConsistencyCheck { get; set; } = false;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Skips the "memory consistency check"
|
/// Skips the check that the initial memory state (after init, but before any running) matches from state save to state load.
|
||||||
|
/// DO NOT SET THIS TO TRUE. The initial memory state must be the same for the XORed memory contents in the savestate to make sense.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool SkipMemoryConsistencyCheck { get; set; } = false;
|
public bool SkipMemoryConsistencyCheck { get; set; } = false;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue