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:
Fixes a heap buffer overflow in the cue parsing code (noticed while running with ASAN enabled)
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 inretro_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:
Fixes a heap buffer overflow in the cue parsing code (noticed while running with ASAN enabled)
Trivially fixes the OpenDingux makefile target
This PR closes #55