Update the model enum so comparisons work correctly for SGB PAL and no-SFC SGBs
This commit is contained in:
parent
13a1e9d332
commit
aa421258b8
@ -31,8 +31,13 @@
|
||||
#define GB_MODEL_DMG_FAMILY 0x000
|
||||
#define GB_MODEL_MGB_FAMILY 0x100
|
||||
#define GB_MODEL_CGB_FAMILY 0x200
|
||||
#define GB_MODEL_PAL_BIT 0x1000
|
||||
#define GB_MODEL_NO_SFC_BIT 0x2000
|
||||
#define GB_MODEL_PAL_BIT 0x40
|
||||
#define GB_MODEL_NO_SFC_BIT 0x80
|
||||
|
||||
#ifdef GB_INTERNAL
|
||||
#define GB_MODEL_PAL_BIT_OLD 0x1000
|
||||
#define GB_MODEL_NO_SFC_BIT_OLD 0x2000
|
||||
#endif
|
||||
|
||||
#ifdef GB_INTERNAL
|
||||
#if __clang__
|
||||
|
@ -163,6 +163,16 @@ static bool verify_and_update_state_compatibility(GB_gameboy_t *gb, GB_gameboy_t
|
||||
}
|
||||
}
|
||||
|
||||
if (save->model & GB_MODEL_PAL_BIT_OLD) {
|
||||
save->model &= ~GB_MODEL_PAL_BIT_OLD;
|
||||
save->model |= GB_MODEL_PAL_BIT;
|
||||
}
|
||||
|
||||
if (save->model & GB_MODEL_NO_SFC_BIT_OLD) {
|
||||
save->model &= ~GB_MODEL_NO_SFC_BIT_OLD;
|
||||
save->model |= GB_MODEL_NO_SFC_BIT;
|
||||
}
|
||||
|
||||
if (gb->version != save->version) {
|
||||
GB_log(gb, "The save state is for a different version of SameBoy.\n");
|
||||
return false;
|
||||
|
Loading…
Reference in New Issue
Block a user