This is apparently how it should be done.

See : https://github.com/libretro/smsplus-gx/issues/25
... for mroe details.

Thanks negativeExponent
This commit is contained in:
gameblabla 2021-03-13 17:36:46 +01:00
parent 3309b17337
commit b9a8289264
No known key found for this signature in database
GPG Key ID: 55F5ECF22285E516

View File

@ -487,10 +487,14 @@ void mapper_16k_w(uint16_t address, uint8_t data)
/* page index increment (SEGA mapper) */
/* THIS SHOULD BE FIXED PROPERLY */
/* TODO : For whatever reason, disabling this makes Shining Force Gaiden English trad work properly.
* This same bug happens on Mednafen and the older SMS Plus GX too. (up until they introduced the code just below)
* */
/*
About the "gaiden_hack" bit :
I initially thought that it was a hack.
But it turns out the translation hack actually expects this :
https://github.com/libretro/smsplus-gx/issues/25
TODO : Probably reimplement this ?
*/
if (slot.fcr[0] & 0x03 && gaiden_hack != 1)
{
page = (page + ((4 - (slot.fcr[0] & 0x03)) << 3)) % slot.pages;