2020-11-26 21:50:06 +00:00
|
|
|
#pragma once
|
|
|
|
|
2021-10-18 19:23:46 +00:00
|
|
|
#include "RGBMonitor.h"
|
2020-11-26 21:50:06 +00:00
|
|
|
#include "Harddisk.h"
|
|
|
|
#include "Disk.h"
|
|
|
|
#include "Common.h"
|
|
|
|
#include "Card.h"
|
|
|
|
|
|
|
|
|
|
|
|
struct CmdLine
|
|
|
|
{
|
2022-10-05 20:29:57 +00:00
|
|
|
struct SlotInfo
|
|
|
|
{
|
|
|
|
SlotInfo()
|
|
|
|
{
|
|
|
|
isDiskII13 = false;
|
2024-07-28 15:12:36 +00:00
|
|
|
useHdcFirmwareMode = HdcDefault;
|
2024-09-25 19:58:59 +00:00
|
|
|
useBad6522A = false;
|
|
|
|
useBad6522B = false;
|
2022-10-05 20:29:57 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
bool isDiskII13;
|
2024-07-28 15:12:36 +00:00
|
|
|
HdcMode useHdcFirmwareMode;
|
2024-09-25 19:58:59 +00:00
|
|
|
bool useBad6522A;
|
|
|
|
bool useBad6522B;
|
2022-10-05 20:29:57 +00:00
|
|
|
};
|
|
|
|
|
2020-11-26 21:50:06 +00:00
|
|
|
CmdLine()
|
|
|
|
{
|
|
|
|
bShutdown = false;
|
2021-05-31 15:09:39 +00:00
|
|
|
setFullScreen = -1;
|
2020-11-26 21:50:06 +00:00
|
|
|
bBoot = false;
|
|
|
|
bSlot0LanguageCard = false;
|
|
|
|
bSlot7EmptyOnExit = false;
|
|
|
|
bSwapButtons0and1 = false;
|
|
|
|
bRemoveNoSlotClock = false;
|
2021-09-10 12:57:55 +00:00
|
|
|
snesMaxAltControllerType[0] = false;
|
|
|
|
snesMaxAltControllerType[1] = false;
|
2021-12-24 20:58:04 +00:00
|
|
|
supportDCD = false;
|
2022-03-18 22:04:34 +00:00
|
|
|
enableDumpToRealPrinter = false;
|
2023-04-28 15:41:22 +00:00
|
|
|
supportExtraMBCardTypes = false;
|
2022-06-20 19:40:39 +00:00
|
|
|
noDisk2StepperDefer = false;
|
2024-03-02 21:16:28 +00:00
|
|
|
useHdcFirmwareV1 = false;
|
2024-07-28 15:12:36 +00:00
|
|
|
useHdcFirmwareV2 = false;
|
2020-11-26 21:50:06 +00:00
|
|
|
szSnapshotName = NULL;
|
2024-11-03 19:02:01 +00:00
|
|
|
snapshotIgnoreHdcFirmware = false;
|
2020-11-26 21:50:06 +00:00
|
|
|
szScreenshotFilename = NULL;
|
2024-02-06 21:32:30 +00:00
|
|
|
uHarddiskNumBlocks = 0;
|
2020-11-26 21:50:06 +00:00
|
|
|
uRamWorksExPages = 0;
|
|
|
|
uSaturnBanks = 0;
|
|
|
|
newVideoType = -1;
|
|
|
|
newVideoStyleEnableMask = 0;
|
|
|
|
newVideoStyleDisableMask = 0;
|
|
|
|
newVideoRefreshRate = VR_NONE;
|
|
|
|
clockMultiplier = 0.0; // 0 => not set from cmd-line
|
|
|
|
model = A2TYPE_MAX;
|
|
|
|
rgbCard = RGB_Videocard_e::Apple;
|
|
|
|
rgbCardForegroundColor = 15;
|
|
|
|
rgbCardBackgroundColor = 0;
|
2021-11-30 21:41:02 +00:00
|
|
|
bestFullScreenResolution = false;
|
|
|
|
userSpecifiedWidth = 0;
|
|
|
|
userSpecifiedHeight = 0;
|
2020-11-26 21:50:06 +00:00
|
|
|
|
|
|
|
for (UINT i = 0; i < NUM_SLOTS; i++)
|
|
|
|
{
|
|
|
|
bSlotEmpty[i] = false;
|
|
|
|
slotInsert[i] = CT_Empty;
|
|
|
|
szImageName_drive[i][DRIVE_1] = NULL;
|
|
|
|
szImageName_drive[i][DRIVE_2] = NULL;
|
2020-12-12 20:49:46 +00:00
|
|
|
driveConnected[i][DRIVE_1] = true;
|
|
|
|
driveConnected[i][DRIVE_2] = true;
|
2023-02-26 20:42:21 +00:00
|
|
|
szImageName_harddisk[i][HARDDISK_1] = NULL;
|
|
|
|
szImageName_harddisk[i][HARDDISK_2] = NULL;
|
2020-11-26 21:50:06 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
bool bShutdown;
|
2021-05-31 15:09:39 +00:00
|
|
|
int setFullScreen; // tristate: -1 (no cmd line specified), 0="-no-full-screen", 1="-full-screen"
|
2020-11-26 21:50:06 +00:00
|
|
|
bool bBoot;
|
|
|
|
bool bSlot0LanguageCard;
|
|
|
|
bool bSlotEmpty[NUM_SLOTS];
|
|
|
|
bool bSlot7EmptyOnExit;
|
|
|
|
bool bSwapButtons0and1;
|
|
|
|
bool bRemoveNoSlotClock;
|
2021-09-10 12:57:55 +00:00
|
|
|
bool snesMaxAltControllerType[2];
|
2021-12-24 20:58:04 +00:00
|
|
|
bool supportDCD;
|
2022-03-18 22:04:34 +00:00
|
|
|
bool enableDumpToRealPrinter;
|
2023-04-28 15:41:22 +00:00
|
|
|
bool supportExtraMBCardTypes;
|
2022-06-20 19:40:39 +00:00
|
|
|
bool noDisk2StepperDefer; // debug
|
2024-03-02 21:16:28 +00:00
|
|
|
bool useHdcFirmwareV1; // debug
|
2024-07-28 15:12:36 +00:00
|
|
|
bool useHdcFirmwareV2;
|
2020-11-26 21:50:06 +00:00
|
|
|
SS_CARDTYPE slotInsert[NUM_SLOTS];
|
2022-10-05 20:29:57 +00:00
|
|
|
SlotInfo slotInfo[NUM_SLOTS];
|
2021-07-25 10:55:25 +00:00
|
|
|
LPCSTR szImageName_drive[NUM_SLOTS][NUM_DRIVES];
|
2020-12-12 20:49:46 +00:00
|
|
|
bool driveConnected[NUM_SLOTS][NUM_DRIVES];
|
2023-02-26 20:42:21 +00:00
|
|
|
LPCSTR szImageName_harddisk[NUM_SLOTS][NUM_HARDDISKS];
|
2024-02-06 21:32:30 +00:00
|
|
|
UINT uHarddiskNumBlocks;
|
2020-11-26 21:50:06 +00:00
|
|
|
LPSTR szSnapshotName;
|
2024-11-03 19:02:01 +00:00
|
|
|
bool snapshotIgnoreHdcFirmware;
|
2020-11-26 21:50:06 +00:00
|
|
|
LPSTR szScreenshotFilename;
|
|
|
|
UINT uRamWorksExPages;
|
|
|
|
UINT uSaturnBanks;
|
|
|
|
int newVideoType;
|
|
|
|
int newVideoStyleEnableMask;
|
|
|
|
int newVideoStyleDisableMask;
|
|
|
|
VideoRefreshRate_e newVideoRefreshRate;
|
|
|
|
double clockMultiplier;
|
|
|
|
eApple2Type model;
|
|
|
|
RGB_Videocard_e rgbCard;
|
|
|
|
int rgbCardForegroundColor;
|
|
|
|
int rgbCardBackgroundColor;
|
|
|
|
std::string strCurrentDir;
|
2021-11-30 21:41:02 +00:00
|
|
|
bool bestFullScreenResolution;
|
|
|
|
UINT userSpecifiedWidth;
|
|
|
|
UINT userSpecifiedHeight;
|
2022-04-17 15:23:46 +00:00
|
|
|
std::string wavFileSpeaker;
|
|
|
|
std::string wavFileMockingboard;
|
2020-11-26 21:50:06 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
bool ProcessCmdLine(LPSTR lpCmdLine);
|
|
|
|
|
|
|
|
extern std::string g_sConfigFile; // INI file to use instead of Registry
|
|
|
|
extern bool g_bCapturePrintScreenKey;
|
|
|
|
extern bool g_bRegisterFileTypes;
|
|
|
|
extern bool g_bHookSystemKey;
|
|
|
|
extern bool g_bHookAltTab;
|
|
|
|
extern bool g_bHookAltGrControl;
|
|
|
|
extern CmdLine g_cmdLine;
|