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

Method LoadSnapshotDriveUnitv4

source/Disk.cpp:2466–2499  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2464}
2465
2466bool Disk2InterfaceCard::LoadSnapshotDriveUnitv4(YamlLoadHelper& yamlLoadHelper, UINT unit, UINT version, std::vector<BYTE>& track)
2467{
2468 _ASSERT(version >= 4);
2469
2470 std::string disk2UnitName = std::string(SS_YAML_KEY_DISK2UNIT) + (unit == DRIVE_1 ? std::string("0") : std::string("1"));
2471 if (!yamlLoadHelper.GetSubMap(disk2UnitName))
2472 throw std::runtime_error("Card: Expected key: " + disk2UnitName);
2473
2474 if (!yamlLoadHelper.GetSubMap(SS_YAML_KEY_FLOPPY))
2475 throw std::runtime_error("Card: Expected key: " SS_YAML_KEY_FLOPPY);
2476
2477 bool bImageError = LoadSnapshotFloppy(yamlLoadHelper, unit, version, track);
2478
2479 yamlLoadHelper.PopMap();
2480
2481 //
2482
2483 m_floppyDrive[unit].m_phase = yamlLoadHelper.LoadUint(SS_YAML_KEY_PHASE);
2484 m_floppyDrive[unit].m_phasePrecise = yamlLoadHelper.LoadFloat(SS_YAML_KEY_PHASE_PRECISE);
2485 m_floppyDrive[unit].m_headWindow = yamlLoadHelper.LoadUint(SS_YAML_KEY_HEAD_WINDOW) & 0xf;
2486 m_floppyDrive[unit].m_lastStepperCycle = yamlLoadHelper.LoadUint64(SS_YAML_KEY_LAST_STEPPER_CYCLE);
2487 m_floppyDrive[unit].m_spinning = yamlLoadHelper.LoadUint(SS_YAML_KEY_SPINNING);
2488 m_floppyDrive[unit].m_writelight = yamlLoadHelper.LoadUint(SS_YAML_KEY_WRITE_LIGHT);
2489
2490 if (version >= 6)
2491 {
2492 m_floppyDrive[unit].m_isConnected = yamlLoadHelper.LoadBool(SS_YAML_KEY_DRIVE_CONNECTED);
2493 m_floppyDrive[unit].m_motorOnCycle = yamlLoadHelper.LoadUint64(SS_YAML_KEY_MOTOR_ON_CYCLE);
2494 }
2495
2496 yamlLoadHelper.PopMap();
2497
2498 return bImageError;
2499}
2500
2501void Disk2InterfaceCard::LoadSnapshotDriveUnit(YamlLoadHelper& yamlLoadHelper, UINT unit, UINT version)
2502{

Callers

nothing calls this directly

Calls 6

PopMapMethod · 0.80
LoadUintMethod · 0.80
LoadFloatMethod · 0.80
LoadUint64Method · 0.80
LoadBoolMethod · 0.80
GetSubMapMethod · 0.45

Tested by

no test coverage detected