MCPcopy Create free account
hub / github.com/AppleWin/AppleWin / LoadSnapshot

Method LoadSnapshot

source/MouseInterface.cpp:720–758  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

718}
719
720bool CMouseInterface::LoadSnapshot(YamlLoadHelper& yamlLoadHelper, UINT version)
721{
722 if (version != 1)
723 ThrowErrorInvalidVersion(version);
724
725 LoadSnapshotMC6821(yamlLoadHelper, SS_YAML_KEY_MC6821);
726
727 m_nDataLen = yamlLoadHelper.LoadUint(SS_YAML_KEY_DATALEN);
728 m_byMode = yamlLoadHelper.LoadUint(SS_YAML_KEY_MODE);
729 m_by6821B = yamlLoadHelper.LoadUint(SS_YAML_KEY_6821B);
730 m_by6821A = yamlLoadHelper.LoadUint(SS_YAML_KEY_6821A);
731
732 if (!yamlLoadHelper.GetSubMap(SS_YAML_KEY_BUFF))
733 throw std::runtime_error("Card: Expected key: " SS_YAML_KEY_BUFF);
734 yamlLoadHelper.LoadMemory(m_byBuff, sizeof(m_byBuff));
735 yamlLoadHelper.PopMap();
736
737 m_nBuffPos = yamlLoadHelper.LoadUint(SS_YAML_KEY_BUFFPOS);
738 m_byState = yamlLoadHelper.LoadUint(SS_YAML_KEY_MOUSESTATE);
739 m_nX = yamlLoadHelper.LoadInt(SS_YAML_KEY_X);
740 m_nY = yamlLoadHelper.LoadInt(SS_YAML_KEY_Y);
741 m_bBtn0 = yamlLoadHelper.LoadBool(SS_YAML_KEY_BTN0);
742 m_bBtn1 = yamlLoadHelper.LoadBool(SS_YAML_KEY_BTN1);
743 m_bVBL = yamlLoadHelper.LoadBool(SS_YAML_KEY_VBL);
744 m_iX = yamlLoadHelper.LoadInt(SS_YAML_KEY_IX);
745 m_iMinX = yamlLoadHelper.LoadInt(SS_YAML_KEY_IMINX);
746 m_iMaxX = yamlLoadHelper.LoadInt(SS_YAML_KEY_IMAXX);
747 m_iY = yamlLoadHelper.LoadInt(SS_YAML_KEY_IY);
748 m_iMinY = yamlLoadHelper.LoadInt(SS_YAML_KEY_IMINY);
749 m_iMaxY = yamlLoadHelper.LoadInt(SS_YAML_KEY_IMAXY);
750 m_bButtons[0] = yamlLoadHelper.LoadBool(SS_YAML_KEY_BUTTON0);
751 m_bButtons[1] = yamlLoadHelper.LoadBool(SS_YAML_KEY_BUTTON1);
752 m_bEnabled = yamlLoadHelper.LoadBool(SS_YAML_KEY_ENABLED); // MemInitializeIO() calls Initialize() which sets true
753
754 if (m_byState & STAT_INT_ALL) // GH#677
755 CpuIrqAssert(IS_MOUSE);
756
757 return true;
758}

Callers

nothing calls this directly

Calls 7

CpuIrqAssertFunction · 0.85
LoadUintMethod · 0.80
LoadMemoryMethod · 0.80
PopMapMethod · 0.80
LoadIntMethod · 0.80
LoadBoolMethod · 0.80
GetSubMapMethod · 0.45

Tested by

no test coverage detected