| 2960 | } |
| 2961 | |
| 2962 | void MemSaveSnapshotAux(YamlSaveHelper& yamlSaveHelper) |
| 2963 | { |
| 2964 | if (IS_APPLE2) |
| 2965 | { |
| 2966 | return; // No Aux slot for AppleII |
| 2967 | } |
| 2968 | |
| 2969 | if (IS_APPLE2C()) |
| 2970 | { |
| 2971 | _ASSERT(g_uMaxExBanks == 1); |
| 2972 | } |
| 2973 | |
| 2974 | yamlSaveHelper.UnitHdr(MemGetSnapshotUnitAuxSlotName(), kUNIT_AUXSLOT_VER); |
| 2975 | |
| 2976 | // Unit state |
| 2977 | { |
| 2978 | YamlSaveHelper::Label unitState(yamlSaveHelper, "%s:\n", SS_YAML_KEY_STATE); |
| 2979 | |
| 2980 | const SS_CARDTYPE cardType = GetCardMgr().QueryAux(); |
| 2981 | std::string card = cardType == CT_Empty ? Card::GetCardNameEmpty() : |
| 2982 | cardType == CT_80Col ? MemGetSnapshotCardName80Col() : |
| 2983 | cardType == CT_Extended80Col ? MemGetSnapshotCardNameExtended80Col() : |
| 2984 | cardType == CT_RamWorksIII ? MemGetSnapshotCardNameRamWorksIII() : |
| 2985 | ""; |
| 2986 | _ASSERT(!card.empty()); |
| 2987 | |
| 2988 | yamlSaveHelper.SaveString(SS_YAML_KEY_CARD, card.c_str()); |
| 2989 | yamlSaveHelper.Save("%s: %d\n", SS_YAML_KEY_VERSION, kUNIT_CARD_VER); |
| 2990 | |
| 2991 | // Card state |
| 2992 | if (cardType == CT_80Col) |
| 2993 | { |
| 2994 | YamlSaveHelper::Label cardState(yamlSaveHelper, "%s:\n", SS_YAML_KEY_STATE); |
| 2995 | |
| 2996 | // 1KiB memory |
| 2997 | { |
| 2998 | const UINT bank = 1; |
| 2999 | LPBYTE pMemBase = MemGetBankPtr(bank); |
| 3000 | YamlSaveHelper::Label state(yamlSaveHelper, "%s:\n", MemGetSnapshotAuxMemStructName().c_str()); |
| 3001 | yamlSaveHelper.SaveMemory(pMemBase + TEXT_PAGE1_BEGIN, TEXT_PAGE1_SIZE); |
| 3002 | } |
| 3003 | } |
| 3004 | else if (cardType == CT_Extended80Col || cardType == CT_RamWorksIII) |
| 3005 | { |
| 3006 | YamlSaveHelper::Label cardState(yamlSaveHelper, "%s:\n", SS_YAML_KEY_STATE); |
| 3007 | |
| 3008 | yamlSaveHelper.Save("%s: 0x%03X # [0,1..100] 0=no aux mem, 1=128K system, etc\n", SS_YAML_KEY_NUMAUXBANKS, g_uMaxExBanks); |
| 3009 | yamlSaveHelper.Save("%s: 0x%02X # [ 0..FF] 0=memaux\n", SS_YAML_KEY_ACTIVEAUXBANK, g_uActiveBank); |
| 3010 | |
| 3011 | for(UINT bank = 1; bank <= g_uMaxExBanks; bank++) |
| 3012 | { |
| 3013 | MemSaveSnapshotMemory(yamlSaveHelper, false, bank); |
| 3014 | } |
| 3015 | |
| 3016 | RGB_SaveSnapshot(yamlSaveHelper); |
| 3017 | } |
| 3018 | } |
| 3019 | } |
no test coverage detected