mirror of
https://github.com/AppleWin/AppleWin.git
synced 2025-08-15 02:27:45 +00:00
UpdatePaging(): Clear memdirty flag for $Cx pages (#495)
. STA $CFFF will set memdirty[0xCF] flag . The loop at the end of UpdatePaging() would copy a page of zeros over pCxRomInternal[0xF00] (ie. $CF00-CFFF)
This commit is contained in:
@@ -913,6 +913,7 @@ static void UpdatePaging(BOOL initialize)
|
|||||||
|
|
||||||
for (loop = 0xC0; loop < 0xC8; loop++)
|
for (loop = 0xC0; loop < 0xC8; loop++)
|
||||||
{
|
{
|
||||||
|
memdirty[loop] = 0; // ROM can't be dirty
|
||||||
const UINT uSlotOffset = (loop & 0x0f) * 0x100;
|
const UINT uSlotOffset = (loop & 0x0f) * 0x100;
|
||||||
if (loop == 0xC3)
|
if (loop == 0xC3)
|
||||||
memshadow[loop] = (SW_SLOTC3ROM && SW_SLOTCXROM) ? pCxRomPeripheral+uSlotOffset // C300..C3FF - Slot 3 ROM (all 0x00's)
|
memshadow[loop] = (SW_SLOTC3ROM && SW_SLOTCXROM) ? pCxRomPeripheral+uSlotOffset // C300..C3FF - Slot 3 ROM (all 0x00's)
|
||||||
@@ -924,6 +925,7 @@ static void UpdatePaging(BOOL initialize)
|
|||||||
|
|
||||||
for (loop = 0xC8; loop < 0xD0; loop++)
|
for (loop = 0xC8; loop < 0xD0; loop++)
|
||||||
{
|
{
|
||||||
|
memdirty[loop] = 0; // ROM can't be dirty (but STA $CFFF will set the dirty flag)
|
||||||
const UINT uRomOffset = (loop & 0x0f) * 0x100;
|
const UINT uRomOffset = (loop & 0x0f) * 0x100;
|
||||||
memshadow[loop] = (SW_SLOTCXROM && !INTC8ROM) ? pCxRomPeripheral+uRomOffset // C800..CFFF - Peripheral ROM (GH#486)
|
memshadow[loop] = (SW_SLOTCXROM && !INTC8ROM) ? pCxRomPeripheral+uRomOffset // C800..CFFF - Peripheral ROM (GH#486)
|
||||||
: pCxRomInternal+uRomOffset; // C800..CFFF - Internal ROM
|
: pCxRomInternal+uRomOffset; // C800..CFFF - Internal ROM
|
||||||
|
Reference in New Issue
Block a user