mirror of
https://github.com/AppleWin/AppleWin.git
synced 2025-02-24 23:29:01 +00:00
Add new cmd line -mac-lc-card-dlgr to support the DLGR bug in the 'Apple IIe card Mac LC' (#1258)
This commit is contained in:
parent
be427a6a30
commit
e7f2e3d541
@ -491,6 +491,10 @@ bool ProcessCmdLine(LPSTR lpCmdLine)
|
|||||||
{
|
{
|
||||||
RGB_SetInvertBit7(true);
|
RGB_SetInvertBit7(true);
|
||||||
}
|
}
|
||||||
|
else if (strcmp(lpCmdLine, "-mac-lc-card-dlgr") == 0) // GH#1258
|
||||||
|
{
|
||||||
|
RGB_SetMacLCCardDLGR(true);
|
||||||
|
}
|
||||||
else if (strcmp(lpCmdLine, "-screenshot-and-exit") == 0) // GH#616: For testing - Use in combination with -load-state
|
else if (strcmp(lpCmdLine, "-screenshot-and-exit") == 0) // GH#616: For testing - Use in combination with -load-state
|
||||||
{
|
{
|
||||||
g_cmdLine.szScreenshotFilename = GetCurrArg(lpNextArg);
|
g_cmdLine.szScreenshotFilename = GetCurrArg(lpNextArg);
|
||||||
|
@ -1049,7 +1049,8 @@ void UpdateDLoResCell (int x, int y, uint16_t addr, bgra_t *pVideoAddress)
|
|||||||
|
|
||||||
const BYTE auxval_h = auxval >> 4;
|
const BYTE auxval_h = auxval >> 4;
|
||||||
const BYTE auxval_l = auxval & 0xF;
|
const BYTE auxval_l = auxval & 0xF;
|
||||||
auxval = (ROL_NIB(auxval_h)<<4) | ROL_NIB(auxval_l);
|
if (!RGB_IsMacLCCardDLGR()) // "Apple IIe Card for Macintosh LC" has a bug in its DLGR implementation (GH#1258)
|
||||||
|
auxval = (ROL_NIB(auxval_h)<<4) | ROL_NIB(auxval_l);
|
||||||
|
|
||||||
if ((y & 4) == 0)
|
if ((y & 4) == 0)
|
||||||
{
|
{
|
||||||
@ -1213,6 +1214,7 @@ static UINT g_rgbFlags = 0;
|
|||||||
static UINT g_rgbMode = 0;
|
static UINT g_rgbMode = 0;
|
||||||
static WORD g_rgbPrevAN3Addr = 0;
|
static WORD g_rgbPrevAN3Addr = 0;
|
||||||
static bool g_rgbInvertBit7 = false;
|
static bool g_rgbInvertBit7 = false;
|
||||||
|
static bool g_rgbMacLCCardDLGR = false; // TODO: Persist to save-state
|
||||||
|
|
||||||
// Video7 RGB card:
|
// Video7 RGB card:
|
||||||
// . Clock in the !80COL state to define the 2 flags: F2, F1
|
// . Clock in the !80COL state to define the 2 flags: F2, F1
|
||||||
@ -1273,6 +1275,11 @@ bool RGB_IsMixModeInvertBit7(void)
|
|||||||
return RGB_IsMixMode() && g_rgbInvertBit7;
|
return RGB_IsMixMode() && g_rgbInvertBit7;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool RGB_IsMacLCCardDLGR(void)
|
||||||
|
{
|
||||||
|
return g_rgbMacLCCardDLGR;
|
||||||
|
}
|
||||||
|
|
||||||
void RGB_ResetState(void)
|
void RGB_ResetState(void)
|
||||||
{
|
{
|
||||||
g_rgbFlags = 0;
|
g_rgbFlags = 0;
|
||||||
@ -1285,6 +1292,11 @@ void RGB_SetInvertBit7(bool state)
|
|||||||
g_rgbInvertBit7 = state;
|
g_rgbInvertBit7 = state;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RGB_SetMacLCCardDLGR(bool state)
|
||||||
|
{
|
||||||
|
g_rgbMacLCCardDLGR = state;
|
||||||
|
}
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define SS_YAML_KEY_RGB_CARD "AppleColor RGB Adaptor"
|
#define SS_YAML_KEY_RGB_CARD "AppleColor RGB Adaptor"
|
||||||
|
@ -36,8 +36,10 @@ bool RGB_Is160Mode(void);
|
|||||||
bool RGB_IsMixMode(void);
|
bool RGB_IsMixMode(void);
|
||||||
bool RGB_Is560Mode(void);
|
bool RGB_Is560Mode(void);
|
||||||
bool RGB_IsMixModeInvertBit7(void);
|
bool RGB_IsMixModeInvertBit7(void);
|
||||||
|
bool RGB_IsMacLCCardDLGR(void);
|
||||||
void RGB_ResetState(void);
|
void RGB_ResetState(void);
|
||||||
void RGB_SetInvertBit7(bool state);
|
void RGB_SetInvertBit7(bool state);
|
||||||
|
void RGB_SetMacLCCardDLGR(bool state);
|
||||||
|
|
||||||
void RGB_SaveSnapshot(class YamlSaveHelper& yamlSaveHelper);
|
void RGB_SaveSnapshot(class YamlSaveHelper& yamlSaveHelper);
|
||||||
void RGB_LoadSnapshot(class YamlLoadHelper& yamlLoadHelper, UINT cardVersion);
|
void RGB_LoadSnapshot(class YamlLoadHelper& yamlLoadHelper, UINT cardVersion);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user