Card: cleanup interface. (PR #1059)

1) Remove Init()
2) Call Reset() via CardManager
3) Call Destroy() via CardManager (only used by Disks/Harddisk) on WM_DESTROY

The only "real" changes are in CSuperSerialCard: ensure destructor cleans up and remove Destroy().
This commit is contained in:
Andrea
2022-03-11 22:17:03 +00:00
committed by GitHub
parent bbe2a7f8ee
commit 12d1a0e1fe
20 changed files with 56 additions and 105 deletions
+2 -26
View File
@@ -532,15 +532,7 @@ void GetAppleWindowTitle()
// todo: consolidate CtrlReset() and ResetMachineState()
void ResetMachineState()
{
GetCardMgr().GetDisk2CardMgr().Reset(true);
if (GetCardMgr().QuerySlot(SLOT7) == CT_GenericHDD)
GetCardMgr().GetRef(SLOT7).Reset(true);
if (GetCardMgr().QuerySlot(SLOT3) == CT_VidHD)
GetCardMgr().GetRef(SLOT3).Reset(true);
if (GetCardMgr().QuerySlot(SLOT3) == CT_Uthernet)
GetCardMgr().GetRef(SLOT3).Reset(true);
if (GetCardMgr().QuerySlot(SLOT3) == CT_Uthernet2)
GetCardMgr().GetRef(SLOT3).Reset(true);
GetCardMgr().Reset(true);
g_bFullSpeed = 0; // Might've hit reset in middle of InternalCpuExecute() - so beep may get (partially) muted
MemReset(); // calls CpuInitialize(), CNoSlotClock.Reset()
@@ -549,14 +541,10 @@ void ResetMachineState()
dynamic_cast<Disk2InterfaceCard&>(GetCardMgr().GetRef(SLOT6)).Boot();
GetVideo().VideoResetState();
KeybReset();
if (GetCardMgr().IsSSCInstalled())
GetCardMgr().GetSSC()->CommReset();
PrintReset();
JoyReset();
MB_Reset(true);
SpkrReset();
if (GetCardMgr().IsMouseCardInstalled())
GetCardMgr().GetMouseCard()->Reset();
SetActiveCpu(GetMainCpu());
#ifdef USE_SPEECH_API
g_Speech.Reset();
@@ -593,21 +581,9 @@ void CtrlReset()
}
GetPravets().Reset();
GetCardMgr().GetDisk2CardMgr().Reset();
if (GetCardMgr().QuerySlot(SLOT7) == CT_GenericHDD)
GetCardMgr().GetRef(SLOT7).Reset(false);
if (GetCardMgr().QuerySlot(SLOT3) == CT_VidHD)
GetCardMgr().GetRef(SLOT3).Reset(false);
if (GetCardMgr().QuerySlot(SLOT3) == CT_Uthernet)
GetCardMgr().GetRef(SLOT3).Reset(false);
if (GetCardMgr().QuerySlot(SLOT3) == CT_Uthernet2)
GetCardMgr().GetRef(SLOT3).Reset(false);
GetCardMgr().Reset(false);
KeybReset();
if (GetCardMgr().IsSSCInstalled())
GetCardMgr().GetSSC()->CommReset();
MB_Reset(false);
if (GetCardMgr().IsMouseCardInstalled())
GetCardMgr().GetMouseCard()->Reset(); // Deassert any pending IRQs - GH#514
#ifdef USE_SPEECH_API
g_Speech.Reset();
#endif