mirror of
https://github.com/cemu-project/Cemu.git
synced 2025-07-10 00:41:19 +12:00
Merge cbfb5c519b
into e68c31e5fb
This commit is contained in:
commit
bacb6e4f2c
99 changed files with 2029 additions and 115 deletions
|
@ -412,6 +412,57 @@ void memory_createDump()
|
|||
}
|
||||
}
|
||||
|
||||
template<>
|
||||
void MemStreamWriter::write(const MMURange& v)
|
||||
{
|
||||
writeBool(v.m_isMapped);
|
||||
write(v.baseAddress);
|
||||
write((uint8)v.areaId);
|
||||
write((uint8)v.flags);
|
||||
write(v.name);
|
||||
write(v.size);
|
||||
write(v.initSize);
|
||||
}
|
||||
|
||||
template <>
|
||||
void MemStreamReader::read(MMURange& v)
|
||||
{
|
||||
bool needsMapped = readBool();
|
||||
v.m_isMapped = false;
|
||||
read(v.baseAddress);
|
||||
v.areaId = (MMU_MEM_AREA_ID)read<uint8>();
|
||||
v.flags = (MMURange::MFLAG)read<uint8>();
|
||||
read(v.name);
|
||||
read(v.size);
|
||||
read(v.initSize);
|
||||
if (needsMapped)
|
||||
v.mapMem();
|
||||
}
|
||||
|
||||
void memory_Serialize(MemStreamWriter& s)
|
||||
{
|
||||
for (auto& itr : g_mmuRanges)
|
||||
{
|
||||
s.write(*itr);
|
||||
if (itr->isMapped())
|
||||
{
|
||||
s.writeData(memory_base + itr->getBase(), itr->getSize());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void memory_Deserialize(MemStreamReader& s)
|
||||
{
|
||||
for (auto& itr : g_mmuRanges)
|
||||
{
|
||||
s.read(*itr);
|
||||
if (itr->isMapped())
|
||||
{
|
||||
s.readData(memory_base + itr->getBase(), itr->getSize());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
namespace MMU
|
||||
{
|
||||
// MMIO access handler
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue