diff --git a/Core/BatteryManager.cpp b/Core/BatteryManager.cpp index b5837d6..23b0172 100644 --- a/Core/BatteryManager.cpp +++ b/Core/BatteryManager.cpp @@ -25,6 +25,13 @@ void BatteryManager::SetBatteryRecorder(shared_ptr recorder) void BatteryManager::SaveBattery(string extension, uint8_t* data, uint32_t length) { +#ifdef LIBRETRO + if(extension == ".srm") { + //Disable .srm files for libretro, let the frontend handle save ram + return; + } +#endif + ofstream out(GetBasePath() + extension, ios::binary); if(out) { out.write((char*)data, length); diff --git a/Libretro/libretro.cpp b/Libretro/libretro.cpp index cb20a85..e6fa853 100644 --- a/Libretro/libretro.cpp +++ b/Libretro/libretro.cpp @@ -677,7 +677,7 @@ extern "C" { RETRO_API size_t retro_get_memory_size(unsigned id) { switch(id) { - case RETRO_MEMORY_SAVE_RAM: _console->GetCartridge()->DebugGetSaveRamSize(); break; + case RETRO_MEMORY_SAVE_RAM: return _console->GetCartridge()->DebugGetSaveRamSize(); break; case RETRO_MEMORY_SYSTEM_RAM: return MemoryManager::WorkRamSize; } return 0;