Pad: Fix unconditional memory card replug on load state

This commit is contained in:
Stenzek
2024-03-29 12:34:42 +10:00
parent e54ad1956a
commit c41563c7dc
3 changed files with 52 additions and 27 deletions

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: 2019-2023 Connor McLaughlin <stenzek@gmail.com>
// SPDX-FileCopyrightText: 2019-2024 Connor McLaughlin <stenzek@gmail.com>
// SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0)
#include "memory_card.h"
@ -65,6 +65,19 @@ bool MemoryCard::DoState(StateWrapper& sw)
return !sw.HasError();
}
void MemoryCard::CopyState(const MemoryCard* src)
{
DebugAssert(m_data == src->m_data);
m_state = src->m_state;
m_FLAG.bits = src->m_FLAG.bits;
m_address = src->m_address;
m_sector_offset = src->m_sector_offset;
m_checksum = src->m_checksum;
m_last_byte = src->m_last_byte;
m_changed = src->m_changed;
}
void MemoryCard::ResetTransferState()
{
m_state = State::Idle;