mirror of https://github.com/mgba-emu/mgba.git
Libretro: Fix saving in GB games (fixes #486)
This commit is contained in:
parent
61a657afcf
commit
68985d88e9
1
CHANGES
1
CHANGES
|
@ -13,6 +13,7 @@ Bugfixes:
|
||||||
- GBA BIOS: Implement BitUnPack
|
- GBA BIOS: Implement BitUnPack
|
||||||
- ARM7: Fix MLA/*MULL/*MLAL timing
|
- ARM7: Fix MLA/*MULL/*MLAL timing
|
||||||
- GBA: Fix multiboot ROM loading
|
- GBA: Fix multiboot ROM loading
|
||||||
|
- Libretro: Fix saving in GB games (fixes mgba.io/i/486)
|
||||||
Misc:
|
Misc:
|
||||||
- SDL: Remove scancode key input
|
- SDL: Remove scancode key input
|
||||||
- GBA Video: Clean up unused timers
|
- GBA Video: Clean up unused timers
|
||||||
|
|
|
@ -13,12 +13,12 @@
|
||||||
#include <mgba/core/version.h>
|
#include <mgba/core/version.h>
|
||||||
#ifdef M_CORE_GB
|
#ifdef M_CORE_GB
|
||||||
#include <mgba/gb/core.h>
|
#include <mgba/gb/core.h>
|
||||||
|
#include <mgba/internal/gb/gb.h>
|
||||||
#endif
|
#endif
|
||||||
#ifdef M_CORE_GBA
|
#ifdef M_CORE_GBA
|
||||||
#include <mgba/gba/core.h>
|
#include <mgba/gba/core.h>
|
||||||
#include <mgba/gba/interface.h>
|
#include <mgba/gba/interface.h>
|
||||||
#include <mgba/internal/gba/gba.h>
|
#include <mgba/internal/gba/gba.h>
|
||||||
#include <mgba/internal/gba/video.h>
|
|
||||||
#endif
|
#endif
|
||||||
#include <mgba-util/circle-buffer.h>
|
#include <mgba-util/circle-buffer.h>
|
||||||
#include <mgba-util/memory.h>
|
#include <mgba-util/memory.h>
|
||||||
|
@ -524,19 +524,28 @@ size_t retro_get_memory_size(unsigned id) {
|
||||||
if (id != RETRO_MEMORY_SAVE_RAM) {
|
if (id != RETRO_MEMORY_SAVE_RAM) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
switch (((struct GBA*) core->board)->memory.savedata.type) {
|
#ifdef M_CORE_GBA
|
||||||
case SAVEDATA_AUTODETECT:
|
if (core->platform(core) == PLATFORM_GBA) {
|
||||||
case SAVEDATA_FLASH1M:
|
switch (((struct GBA*) core->board)->memory.savedata.type) {
|
||||||
return SIZE_CART_FLASH1M;
|
case SAVEDATA_AUTODETECT:
|
||||||
case SAVEDATA_FLASH512:
|
case SAVEDATA_FLASH1M:
|
||||||
return SIZE_CART_FLASH512;
|
return SIZE_CART_FLASH1M;
|
||||||
case SAVEDATA_EEPROM:
|
case SAVEDATA_FLASH512:
|
||||||
return SIZE_CART_EEPROM;
|
return SIZE_CART_FLASH512;
|
||||||
case SAVEDATA_SRAM:
|
case SAVEDATA_EEPROM:
|
||||||
return SIZE_CART_SRAM;
|
return SIZE_CART_EEPROM;
|
||||||
case SAVEDATA_FORCE_NONE:
|
case SAVEDATA_SRAM:
|
||||||
return 0;
|
return SIZE_CART_SRAM;
|
||||||
|
case SAVEDATA_FORCE_NONE:
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
#ifdef M_CORE_GB
|
||||||
|
if (core->platform(core) == PLATFORM_GB) {
|
||||||
|
return ((struct GB*) core->board)->sramSize;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue