mirror of
https://github.com/melonDS-emu/melonDS.git
synced 2025-07-26 07:39:56 -06:00
Expose SRAM pointers for frontends that manage save data their own way (#1643)
* Add a clarifying comment - In case it saves some poor bastard hours of fruitless work * Expose GBA and NDS save memory - Add GetSaveMemory and GetSaveMemoryLength functions - Where unsupported, they return null and zero
This commit is contained in:

committed by
GitHub

parent
808292e424
commit
b078ca802f
@ -100,6 +100,15 @@ void CartCommon::SRAMWrite(u32 addr, u8 val)
|
||||
{
|
||||
}
|
||||
|
||||
u8* CartCommon::GetSaveMemory() const
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
u32 CartCommon::GetSaveMemoryLength() const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
CartGame::CartGame(u8* rom, u32 len) : CartCommon()
|
||||
{
|
||||
@ -334,6 +343,16 @@ void CartGame::SRAMWrite(u32 addr, u8 val)
|
||||
}
|
||||
}
|
||||
|
||||
u8* CartGame::GetSaveMemory() const
|
||||
{
|
||||
return SRAM;
|
||||
}
|
||||
|
||||
u32 CartGame::GetSaveMemoryLength() const
|
||||
{
|
||||
return SRAMLength;
|
||||
}
|
||||
|
||||
void CartGame::ProcessGPIO()
|
||||
{
|
||||
}
|
||||
@ -878,4 +897,14 @@ void SRAMWrite(u32 addr, u8 val)
|
||||
if (Cart) Cart->SRAMWrite(addr, val);
|
||||
}
|
||||
|
||||
u8* GetSaveMemory()
|
||||
{
|
||||
return Cart ? Cart->GetSaveMemory() : nullptr;
|
||||
}
|
||||
|
||||
u32 GetSaveMemoryLength()
|
||||
{
|
||||
return Cart ? Cart->GetSaveMemoryLength() : 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user