Small simplification to Memory interface (directly unmap cards' ROMs if internal ROM is enabled)

This commit is contained in:
tomcw 2016-09-11 20:16:19 +01:00
parent cf0cd37d9e
commit 8c3a2148e9
3 changed files with 7 additions and 11 deletions

View File

@ -1326,6 +1326,13 @@ void MemInitializeIO(void)
DiskLoadRom(pCxRomPeripheral, 6); // $C600 : Disk][ f/w DiskLoadRom(pCxRomPeripheral, 6); // $C600 : Disk][ f/w
HD_Load_Rom(pCxRomPeripheral, 7); // $C700 : HDD f/w HD_Load_Rom(pCxRomPeripheral, 7); // $C700 : HDD f/w
//
// Finally remove the cards' ROMs at $Csnn if internal ROM is enabled
// . required when restoring saved-state
if (!SW_SLOTCXROM)
IoHandlerCardsOut();
} }
inline DWORD getRandomTime() inline DWORD getRandomTime()
@ -1685,14 +1692,6 @@ LPVOID MemGetSlotParameters(UINT uSlot)
//=========================================================================== //===========================================================================
void MemLoadSnapshot_SetSlotCxRom(void)
{
if (!SW_SLOTCXROM)
IoHandlerCardsOut();
}
//===========================================================================
// NB. Don't need to save 'modechanging', as this is just an optimisation to save calling UpdatePaging() twice. // NB. Don't need to save 'modechanging', as this is just an optimisation to save calling UpdatePaging() twice.
// . If we were to save the state when 'modechanging' is set, then on restoring the state, the 6502 code will immediately update the read memory mode. // . If we were to save the state when 'modechanging' is set, then on restoring the state, the 6502 code will immediately update the read memory mode.
// . This will work correctly. // . This will work correctly.

View File

@ -54,7 +54,6 @@ void MemReset ();
void MemResetPaging (); void MemResetPaging ();
void MemUpdatePaging(BOOL initialize); void MemUpdatePaging(BOOL initialize);
LPVOID MemGetSlotParameters (UINT uSlot); LPVOID MemGetSlotParameters (UINT uSlot);
void MemLoadSnapshot_SetSlotCxRom(void);
void MemSetSnapshot_v1(const DWORD MemMode, const BOOL LastWriteRam, const BYTE* const pMemMain, const BYTE* const pMemAux); void MemSetSnapshot_v1(const DWORD MemMode, const BOOL LastWriteRam, const BYTE* const pMemMain, const BYTE* const pMemAux);
std::string MemGetSnapshotUnitAuxSlotName(void); std::string MemGetSnapshotUnitAuxSlotName(void);
void MemSaveSnapshot(class YamlSaveHelper& yamlSaveHelper); void MemSaveSnapshot(class YamlSaveHelper& yamlSaveHelper);

View File

@ -515,8 +515,6 @@ static void Snapshot_LoadState_v2(void)
MemInitializeCustomF8ROM(); MemInitializeCustomF8ROM();
MemInitializeIO(); MemInitializeIO();
MemLoadSnapshot_SetSlotCxRom(); // Remove the cards' ROMs at $Csnn if internal ROM is enabled
MemUpdatePaging(TRUE); MemUpdatePaging(TRUE);
// g_Apple2Type may've changed: so redraw frame (title, buttons, leds, etc) // g_Apple2Type may've changed: so redraw frame (title, buttons, leds, etc)