| 718 | } |
| 719 | |
| 720 | bool 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 | } |
nothing calls this directly
no test coverage detected