mirror of
https://github.com/AppleWin/AppleWin.git
synced 2026-01-22 14:17:03 +00:00
Add new command line switch: -aux <empty|std80|ext80|rw3> Add 6502/65C02 x normal/debugger alt read support for CPU emulation (#1353). Fix bug in MemReadFloatingBus() reading from mem[] - no good, if MF_AUXREAD is set. Support odd 80-col text video mode when aux slot is empty: . add a new videoMode flag for VF_80COL_AUX_EMPTY. Correctly support 80COL & DHIRES soft-switches when aux slot is empty or with std80 card. Support VidHD's SHR with -aux <empty|std80>. Save-state: support aux slot empty or with std80 card.
This commit is contained in:
@@ -178,76 +178,84 @@ bool ProcessCmdLine(LPSTR lpCmdLine)
|
||||
lpCmdLine = GetCurrArg(lpNextArg);
|
||||
lpNextArg = GetNextArg(lpNextArg);
|
||||
if (strcmp(lpCmdLine, "empty") == 0)
|
||||
{
|
||||
g_cmdLine.bSlotEmpty[slot] = true;
|
||||
if (strcmp(lpCmdLine, "diskii") == 0)
|
||||
}
|
||||
else if (strcmp(lpCmdLine, "diskii") == 0)
|
||||
{
|
||||
g_cmdLine.slotInsert[slot] = CT_Disk2;
|
||||
if (strcmp(lpCmdLine, "diskii13") == 0)
|
||||
}
|
||||
else if (strcmp(lpCmdLine, "diskii13") == 0)
|
||||
{
|
||||
g_cmdLine.slotInsert[slot] = CT_Disk2;
|
||||
g_cmdLine.slotInfo[slot].isDiskII13 = true;
|
||||
}
|
||||
if (strcmp(lpCmdLine, "hdc") == 0)
|
||||
else if (strcmp(lpCmdLine, "hdc") == 0)
|
||||
{
|
||||
g_cmdLine.slotInsert[slot] = CT_GenericHDD;
|
||||
}
|
||||
if (strcmp(lpCmdLine, "hdc-sp") == 0)
|
||||
else if (strcmp(lpCmdLine, "hdc-sp") == 0)
|
||||
{
|
||||
g_cmdLine.slotInsert[slot] = CT_GenericHDD;
|
||||
g_cmdLine.slotInfo[slot].useHdcFirmwareMode = HdcSmartPort;
|
||||
}
|
||||
if (strcmp(lpCmdLine, "hdc-bm2") == 0)
|
||||
else if (strcmp(lpCmdLine, "hdc-bm2") == 0)
|
||||
{
|
||||
g_cmdLine.slotInsert[slot] = CT_GenericHDD;
|
||||
g_cmdLine.slotInfo[slot].useHdcFirmwareMode = HdcBlockMode2Devices;
|
||||
}
|
||||
if (strcmp(lpCmdLine, "hdc-bm4") == 0)
|
||||
else if (strcmp(lpCmdLine, "hdc-bm4") == 0)
|
||||
{
|
||||
g_cmdLine.slotInsert[slot] = CT_GenericHDD;
|
||||
g_cmdLine.slotInfo[slot].useHdcFirmwareMode = HdcBlockMode4Devices;
|
||||
}
|
||||
if (strcmp(lpCmdLine, "saturn") == 0 || strcmp(lpCmdLine, "saturn128") == 0) // Support Saturn128 card in slot 1-7 too (GH#1279)
|
||||
else if (strcmp(lpCmdLine, "saturn") == 0 || strcmp(lpCmdLine, "saturn128") == 0) // Support Saturn128 card in slot 1-7 too (GH#1279)
|
||||
{
|
||||
g_cmdLine.slotInsert[slot] = CT_Saturn128K;
|
||||
}
|
||||
if (strcmp(lpCmdLine, "megaaudio") == 0)
|
||||
else if (strcmp(lpCmdLine, "megaaudio") == 0)
|
||||
{
|
||||
g_cmdLine.slotInsert[slot] = CT_MegaAudio;
|
||||
g_cmdLine.supportExtraMBCardTypes = true;
|
||||
}
|
||||
if (strcmp(lpCmdLine, "sdmusic") == 0)
|
||||
else if (strcmp(lpCmdLine, "sdmusic") == 0)
|
||||
{
|
||||
g_cmdLine.slotInsert[slot] = CT_SDMusic;
|
||||
g_cmdLine.supportExtraMBCardTypes = true;
|
||||
}
|
||||
if (strcmp(lpCmdLine, "6522a-bad") == 0)
|
||||
else if (strcmp(lpCmdLine, "6522a-bad") == 0)
|
||||
{
|
||||
g_cmdLine.slotInfo[slot].useBad6522A = true;
|
||||
}
|
||||
if (strcmp(lpCmdLine, "6522b-bad") == 0)
|
||||
else if (strcmp(lpCmdLine, "6522b-bad") == 0)
|
||||
{
|
||||
g_cmdLine.slotInfo[slot].useBad6522B = true;
|
||||
}
|
||||
if (strcmp(lpCmdLine, "parallel") == 0)
|
||||
else if (strcmp(lpCmdLine, "parallel") == 0)
|
||||
{
|
||||
if (slot == SLOT1)
|
||||
g_cmdLine.slotInsert[slot] = CT_GenericPrinter;
|
||||
else
|
||||
LogFileOutput("Parallel Printer card currently only supported in slot 1\n");
|
||||
}
|
||||
if (strcmp(lpCmdLine, "ssc") == 0)
|
||||
else if (strcmp(lpCmdLine, "ssc") == 0)
|
||||
{
|
||||
if (slot == SLOT2)
|
||||
g_cmdLine.slotInsert[slot] = CT_SSC;
|
||||
else
|
||||
LogFileOutput("SSC currently only supported in slot 2\n");
|
||||
}
|
||||
if (strcmp(lpCmdLine, "vidhd") == 0)
|
||||
else if (strcmp(lpCmdLine, "vidhd") == 0)
|
||||
{
|
||||
if (slot == SLOT3)
|
||||
g_cmdLine.slotInsert[slot] = CT_VidHD;
|
||||
else
|
||||
LogFileOutput("VidHD currently only supported in slot 3\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
LogFileOutput("Unsupported slot-%d card: %s\n", slot, lpCmdLine);
|
||||
}
|
||||
}
|
||||
else if (lpCmdLine[3] == 'd' && (lpCmdLine[4] == '1' || lpCmdLine[4] == '2')) // -s[1..7]d[1|2] <dsk-image>
|
||||
{
|
||||
@@ -289,6 +297,31 @@ bool ProcessCmdLine(LPSTR lpCmdLine)
|
||||
LogFileOutput("Unsupported arg: %s\n", lpCmdLine);
|
||||
}
|
||||
}
|
||||
else if (strcmp(lpCmdLine, "-aux") == 0)
|
||||
{
|
||||
lpCmdLine = GetCurrArg(lpNextArg);
|
||||
lpNextArg = GetNextArg(lpNextArg);
|
||||
if (strcmp(lpCmdLine, "empty") == 0)
|
||||
{
|
||||
g_cmdLine.auxSlotEmpty = true;
|
||||
}
|
||||
else if (strcmp(lpCmdLine, "std80") == 0)
|
||||
{
|
||||
g_cmdLine.auxSlotInsert = CT_80Col;
|
||||
}
|
||||
else if (strcmp(lpCmdLine, "ext80") == 0)
|
||||
{
|
||||
g_cmdLine.auxSlotInsert = CT_Extended80Col;
|
||||
}
|
||||
else if (strcmp(lpCmdLine, "rw3") == 0)
|
||||
{
|
||||
g_cmdLine.auxSlotInsert = CT_RamWorksIII;
|
||||
}
|
||||
else
|
||||
{
|
||||
LogFileOutput("Unsupported aux slot card: %s\n", lpCmdLine);
|
||||
}
|
||||
}
|
||||
else if (strcmp(lpCmdLine, "-harddisknumblocks") == 0) // number of blocks to report for ProDOS
|
||||
{
|
||||
lpCmdLine = GetCurrArg(lpNextArg);
|
||||
|
||||
Reference in New Issue
Block a user