2012-05-06 22:14:03 +00:00
|
|
|
#pragma once
|
|
|
|
|
2020-11-26 21:50:06 +00:00
|
|
|
#include "../Core.h"
|
2019-12-19 19:42:30 +00:00
|
|
|
#include "../CardManager.h"
|
2018-02-24 15:12:40 +00:00
|
|
|
#include "../CPU.h"
|
2018-02-25 15:09:25 +00:00
|
|
|
#include "../DiskImage.h" // Disk_Status_e
|
2021-09-17 19:43:10 +00:00
|
|
|
#include "../Harddisk.h"
|
2020-12-28 16:25:29 +00:00
|
|
|
#include "../Interface.h" // VideoRefreshRate_e, GetVideoRefreshRate()
|
2021-05-19 20:44:33 +00:00
|
|
|
#include "../Tfe/tfe.h"
|
2012-05-06 22:14:03 +00:00
|
|
|
|
|
|
|
class CConfigNeedingRestart
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
CConfigNeedingRestart(UINT bEnableTheFreezesF8Rom = false) :
|
2016-02-14 16:01:30 +00:00
|
|
|
m_Apple2Type( GetApple2Type() ),
|
|
|
|
m_CpuType( GetMainCpu() ),
|
2019-06-28 20:34:34 +00:00
|
|
|
m_uSaveLoadStateMsg(0),
|
2020-12-28 16:25:29 +00:00
|
|
|
m_videoRefreshRate( GetVideo().GetVideoRefreshRate() )
|
2012-05-06 22:14:03 +00:00
|
|
|
{
|
|
|
|
m_bEnableTheFreezesF8Rom = bEnableTheFreezesF8Rom;
|
2021-09-17 19:43:10 +00:00
|
|
|
|
|
|
|
for (UINT slot = SLOT0; slot < NUM_SLOTS; slot++)
|
|
|
|
m_Slot[slot] = GetCardMgr().QuerySlot(slot);
|
|
|
|
m_SlotAux = GetCardMgr().QueryAux();
|
2021-05-19 20:44:33 +00:00
|
|
|
|
|
|
|
m_tfeInterface = get_tfe_interface();
|
2012-05-06 22:14:03 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
const CConfigNeedingRestart& operator= (const CConfigNeedingRestart& other)
|
|
|
|
{
|
|
|
|
m_Apple2Type = other.m_Apple2Type;
|
2016-02-14 16:01:30 +00:00
|
|
|
m_CpuType = other.m_CpuType;
|
2012-05-06 22:14:03 +00:00
|
|
|
memcpy(m_Slot, other.m_Slot, sizeof(m_Slot));
|
2021-09-17 19:43:10 +00:00
|
|
|
m_SlotAux = other.m_SlotAux;
|
2021-05-19 20:44:33 +00:00
|
|
|
m_tfeInterface = other.m_tfeInterface;
|
2012-05-06 22:14:03 +00:00
|
|
|
m_bEnableTheFreezesF8Rom = other.m_bEnableTheFreezesF8Rom;
|
|
|
|
m_uSaveLoadStateMsg = other.m_uSaveLoadStateMsg;
|
2019-06-28 20:34:34 +00:00
|
|
|
m_videoRefreshRate = other.m_videoRefreshRate;
|
2012-05-06 22:14:03 +00:00
|
|
|
return *this;
|
|
|
|
}
|
|
|
|
|
|
|
|
bool operator== (const CConfigNeedingRestart& other) const
|
|
|
|
{
|
|
|
|
return m_Apple2Type == other.m_Apple2Type &&
|
2019-06-28 20:34:34 +00:00
|
|
|
m_CpuType == other.m_CpuType &&
|
|
|
|
memcmp(m_Slot, other.m_Slot, sizeof(m_Slot)) == 0 &&
|
2021-09-17 19:43:10 +00:00
|
|
|
m_SlotAux == other.m_SlotAux &&
|
2021-05-19 20:44:33 +00:00
|
|
|
m_tfeInterface == other.m_tfeInterface &&
|
2019-06-28 20:34:34 +00:00
|
|
|
m_bEnableTheFreezesF8Rom == other.m_bEnableTheFreezesF8Rom &&
|
|
|
|
m_uSaveLoadStateMsg == other.m_uSaveLoadStateMsg &&
|
|
|
|
m_videoRefreshRate == other.m_videoRefreshRate;
|
2012-05-06 22:14:03 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
bool operator!= (const CConfigNeedingRestart& other) const
|
|
|
|
{
|
|
|
|
return !operator==(other);
|
|
|
|
}
|
|
|
|
|
|
|
|
eApple2Type m_Apple2Type;
|
2016-02-14 16:01:30 +00:00
|
|
|
eCpuType m_CpuType;
|
2021-09-17 19:43:10 +00:00
|
|
|
SS_CARDTYPE m_Slot[NUM_SLOTS];
|
2015-04-11 21:24:54 +00:00
|
|
|
SS_CARDTYPE m_SlotAux;
|
2021-05-19 20:44:33 +00:00
|
|
|
std::string m_tfeInterface;
|
2012-05-06 22:14:03 +00:00
|
|
|
UINT m_bEnableTheFreezesF8Rom;
|
|
|
|
UINT m_uSaveLoadStateMsg;
|
2019-06-28 20:34:34 +00:00
|
|
|
VideoRefreshRate_e m_videoRefreshRate;
|
2012-05-06 22:14:03 +00:00
|
|
|
};
|