Minor changes.

This commit is contained in:
Chris Spegal 2025-04-05 23:48:15 -04:00
parent f44e12f4d8
commit 7529383861
3 changed files with 39 additions and 32 deletions

View file

@ -80,33 +80,6 @@ MMURange* memory_getMMURangeByAddress(MPTR address)
return nullptr; return nullptr;
} }
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& mmuRange)
{
bool needsMapped = readBool();
mmuRange.m_isMapped = false;
mmuRange.baseAddress = read<uint32>();
mmuRange.areaId = (MMU_MEM_AREA_ID)read<uint8>();
mmuRange.flags = (MMURange::MFLAG)read<uint8>();
mmuRange.name = read<std::string>();
mmuRange.size = read<uint32>();
mmuRange.initSize = read<uint32>();
if (needsMapped)
mmuRange.mapMem();
}
MMURange::MMURange(const uint32 baseAddress, const uint32 size, MMU_MEM_AREA_ID areaId, const std::string_view name, MFLAG flags) : baseAddress(baseAddress), size(size), initSize(size), areaId(areaId), name(name), flags(flags) MMURange::MMURange(const uint32 baseAddress, const uint32 size, MMU_MEM_AREA_ID areaId, const std::string_view name, MFLAG flags) : baseAddress(baseAddress), size(size), initSize(size), areaId(areaId), name(name), flags(flags)
{ {
g_mmuRanges.emplace_back(this); g_mmuRanges.emplace_back(this);
@ -439,6 +412,33 @@ 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) void memory_Serialize(MemStreamWriter& s)
{ {
for (auto& itr : g_mmuRanges) for (auto& itr : g_mmuRanges)
@ -455,7 +455,7 @@ void memory_Deserialize(MemStreamReader& s)
{ {
for (auto& itr : g_mmuRanges) for (auto& itr : g_mmuRanges)
{ {
s.read<MMURange>(*itr); s.read(*itr);
if (itr->isMapped()) if (itr->isMapped())
{ {
s.readData(memory_base + itr->getBase(), itr->getSize()); s.readData(memory_base + itr->getBase(), itr->getSize());

View file

@ -928,7 +928,7 @@ template <>
void MemStreamWriter::write(const iosu::fsa::_FSAHandleTable& v) void MemStreamWriter::write(const iosu::fsa::_FSAHandleTable& v)
{ {
write(v.m_currentCounter); write(v.m_currentCounter);
for (sint32 i = 0; i < v.m_handleTableSize; i++) for (sint32 i = 0; i < v.m_handleTable.size(); i++)
{ {
write(v.m_handleTable[i].handleCheckValue); write(v.m_handleTable[i].handleCheckValue);
writeBool(v.m_handleTable[i].isAllocated); writeBool(v.m_handleTable[i].isAllocated);
@ -942,12 +942,19 @@ template <>
void MemStreamReader::read(iosu::fsa::_FSAHandleTable& v) void MemStreamReader::read(iosu::fsa::_FSAHandleTable& v)
{ {
read(v.m_currentCounter); read(v.m_currentCounter);
for (sint32 i = 0; i < v.m_handleTableSize; i++) for (sint32 i = 0; i < v.m_handleTable.size(); i++)
{ {
read(v.m_handleTable[i].handleCheckValue); read(v.m_handleTable[i].handleCheckValue);
readBool(v.m_handleTable[i].isAllocated); readBool(v.m_handleTable[i].isAllocated);
if (readBool()) v.m_handleTable[i].fscFile = FSCVirtualFile::Restore(*this); if (readBool())
{
v.m_handleTable[i].fscFile = FSCVirtualFile::Restore(*this);
}
else
{
v.m_handleTable[i].fscFile = nullptr;
}
} }
} }

View file

@ -173,7 +173,7 @@ namespace coreinit
s_allocatedVirtMemory.reserve(s_allocatedVirtMemorySize); s_allocatedVirtMemory.reserve(s_allocatedVirtMemorySize);
for (sint32 i = 0; i < s_allocatedVirtMemorySize; i++) for (sint32 i = 0; i < s_allocatedVirtMemorySize; i++)
{ {
s_allocatedVirtMemory.push_back(OSVirtMemoryEntry(s.read<MPTR>(), s.read<uint32>(), s.read<uint32>())); s_allocatedVirtMemory.emplace_back(s.read<MPTR>(), s.read<uint32>(), s.read<uint32>());
} }
} }