mirror of
https://github.com/AppleWin/AppleWin.git
synced 2025-02-05 17:30:45 +00:00
Add cmd line option (for testing): -load-state-ignore-hdc-fw
This commit is contained in:
parent
964a5d5198
commit
7c6ec3dbf0
@ -240,6 +240,8 @@
|
||||
<br><br>
|
||||
-screenshot-and-exit<br>
|
||||
For testing. Use in combination with -load-state.<br><br>
|
||||
-load-state-ignore-hdc-fw<br>
|
||||
For testing. Use in combination with -load-state.<br><br>
|
||||
-hdc-firmware-v1<br>
|
||||
Force all attached hard disk controllers to use the old v1 firmware (as per pre-AppleWin 1.30.17).
|
||||
<ul>
|
||||
|
@ -310,6 +310,10 @@ bool ProcessCmdLine(LPSTR lpCmdLine)
|
||||
lpNextArg = GetNextArg(lpNextArg);
|
||||
g_cmdLine.szSnapshotName = lpCmdLine;
|
||||
}
|
||||
else if (strcmp(lpCmdLine, "-load-state-ignore-hdc-fw") == 0) // For testing - Use in combination with -load-state
|
||||
{
|
||||
g_cmdLine.snapshotIgnoreHdcFirmware = true;
|
||||
}
|
||||
else if (strcmp(lpCmdLine, "-f") == 0 || strcmp(lpCmdLine, "-full-screen") == 0)
|
||||
{
|
||||
g_cmdLine.setFullScreen = 1;
|
||||
|
@ -43,6 +43,7 @@ struct CmdLine
|
||||
useHdcFirmwareV1 = false;
|
||||
useHdcFirmwareV2 = false;
|
||||
szSnapshotName = NULL;
|
||||
snapshotIgnoreHdcFirmware = false;
|
||||
szScreenshotFilename = NULL;
|
||||
uHarddiskNumBlocks = 0;
|
||||
uRamWorksExPages = 0;
|
||||
@ -95,6 +96,7 @@ struct CmdLine
|
||||
LPCSTR szImageName_harddisk[NUM_SLOTS][NUM_HARDDISKS];
|
||||
UINT uHarddiskNumBlocks;
|
||||
LPSTR szSnapshotName;
|
||||
bool snapshotIgnoreHdcFirmware;
|
||||
LPSTR szScreenshotFilename;
|
||||
UINT uRamWorksExPages;
|
||||
UINT uSaturnBanks;
|
||||
|
@ -1399,6 +1399,11 @@ bool HarddiskInterfaceCard::LoadSnapshot(YamlLoadHelper& yamlLoadHelper, UINT ve
|
||||
yamlLoadHelper.LoadMemory(m_saveStateFirmware, APPLE_SLOT_SIZE);
|
||||
yamlLoadHelper.PopMap();
|
||||
m_saveStateFirmwareValid = true;
|
||||
|
||||
// NB. A command line option can be used to ignore the HDC's firmware:
|
||||
// . Used by AppleWin-Test (regression suite) so that an older save-state file can be used to test newer HDC firmware (eg. GH#1207).
|
||||
if (Snapshot_GetIgnoreHdcFirmware())
|
||||
m_saveStateFirmwareValid = false;
|
||||
}
|
||||
|
||||
// Unplug all HDDs first in case eg. HDD-2 is to be plugged in as HDD-1
|
||||
|
@ -79,6 +79,20 @@ static YamlHelper yamlHelper;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
static bool g_ignoreHdcFirmware = false;
|
||||
|
||||
bool Snapshot_GetIgnoreHdcFirmware()
|
||||
{
|
||||
return g_ignoreHdcFirmware;
|
||||
}
|
||||
|
||||
void Snapshot_SetIgnoreHdcFirmware(const bool ignoreHdcFirmware)
|
||||
{
|
||||
g_ignoreHdcFirmware = ignoreHdcFirmware;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
static void Snapshot_SetPathname(const std::string& strPathname)
|
||||
{
|
||||
if (strPathname.empty())
|
||||
|
@ -1,6 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
extern bool g_bSaveStateOnExit;
|
||||
extern bool g_bSaveStateOnExit;
|
||||
|
||||
void Snapshot_SetFilename(const std::string& filename, const std::string& path="");
|
||||
const std::string& Snapshot_GetFilename(void);
|
||||
@ -8,7 +8,10 @@ const std::string& Snapshot_GetPath(void);
|
||||
const std::string& Snapshot_GetPathname(void);
|
||||
void Snapshot_GetDefaultFilenameAndPath(std::string& defaultFilename, std::string& defaultPath);
|
||||
void Snapshot_UpdatePath(void);
|
||||
void Snapshot_LoadState();
|
||||
void Snapshot_SaveState();
|
||||
void Snapshot_Startup();
|
||||
void Snapshot_Shutdown();
|
||||
void Snapshot_LoadState();
|
||||
void Snapshot_SaveState();
|
||||
void Snapshot_Startup();
|
||||
void Snapshot_Shutdown();
|
||||
|
||||
bool Snapshot_GetIgnoreHdcFirmware();
|
||||
void Snapshot_SetIgnoreHdcFirmware(const bool ignoreHdcFirmware);
|
||||
|
@ -959,6 +959,7 @@ static void RepeatInitialization(void)
|
||||
// Override value just loaded from Registry by LoadConfiguration()
|
||||
// . NB. Registry value is not updated with this cmd-line value
|
||||
Snapshot_SetFilename(g_cmdLine.szSnapshotName);
|
||||
Snapshot_SetIgnoreHdcFirmware(g_cmdLine.snapshotIgnoreHdcFirmware);
|
||||
Snapshot_LoadState();
|
||||
g_cmdLine.bBoot = true;
|
||||
g_cmdLine.szSnapshotName = NULL;
|
||||
|
Loading…
x
Reference in New Issue
Block a user