libretro / picodrive

Fast MegaDrive/MegaCD/32X emulator
Other
43 stars 64 forks source link

Fix MegaCD RAM cart saving #133

Closed jdgleaver closed 4 years ago

jdgleaver commented 4 years ago

At present, the MegaCD RAM cart option doesn't function correctly: a RAM cart is emulated, but its contents is never saved to disk. This happens because the wrong buffer is exposed in retro_get_memory_data().

This PR fixes the issue.

Important note: BRAM and RAM cart are mutually exclusive - if the RAM cart is enabled, BRAM saves will be discarded. This is because the libretro API only allows one data buffer to be accessed via retro_get_memory_data(). The core options sublabel has been updated to reflect this fact. Since there are very few (3?) games that require the use of a RAM cart anyway, I don't think this is a problem.

In addition, this PR:

This PR closes #55