core, preparations for sc-3000 support

This commit is contained in:
kub 2023-02-18 20:57:16 +00:00
parent ecf8764253
commit cab84f29e5
10 changed files with 66 additions and 18 deletions

View file

@ -336,6 +336,8 @@ static void system_announce(void)
sys_name = "Game Gear";
else if (Pico.m.hardware & PMS_HW_SG)
sys_name = "SG-1000";
else if (Pico.m.hardware & PMS_HW_SC)
sys_name = "SC-3000";
else if (Pico.m.hardware & PMS_HW_JAP)
sys_name = "Mark III";
#ifdef NO_SMS

View file

@ -572,7 +572,7 @@ static int menu_loop_32x_options(int id, int keys)
#ifndef NO_SMS
static const char *sms_hardwares[] = { "auto", "Game Gear", "Master System", "SG-1000", NULL };
static const char *sms_hardwares[] = { "auto", "Game Gear", "Master System", "SG-1000", "SC-3000", NULL };
static const char *gg_ghosting_opts[] = { "OFF", "weak", "normal", NULL };
static const char *sms_mappers[] = { "auto", "Sega", "Codemasters", "Korea", "Korea MSX", "Korea X-in-1", "Korea 4-Pak", "Korea Janggun", "Korea Nemesis", "Taiwan 8K RAM", "Korea XOR", NULL };
static const char h_smsfm[] = "FM sound is only supported by few games\nOther games may crash with FM enabled";

View file

@ -1789,6 +1789,8 @@ static void update_variables(bool first_run)
PicoIn.hwSelect = PHWS_GG;
else if (strcmp(var.value, "SG-1000") == 0)
PicoIn.hwSelect = PHWS_SG;
else if (strcmp(var.value, "SC-3000") == 0)
PicoIn.hwSelect = PHWS_SC;
else
PicoIn.hwSelect = PHWS_SMS;
}

View file

@ -118,6 +118,7 @@ struct retro_core_option_v2_definition option_defs_us[] = {
{ "Game Gear", NULL },
{ "Master System", NULL },
{ "SG-1000" , NULL },
{ "SC-3000" , NULL },
{ NULL, NULL },
},
"Auto"

View file

@ -217,7 +217,7 @@ static void do_pal_update_sms(void)
int i;
if (!(Pico.video.reg[0] & 0x4)) {
int sg = !!(Pico.m.hardware & PMS_HW_SG);
int sg = !!(Pico.m.hardware & (PMS_HW_SG|PMS_HW_SC));
for (i = Pico.est.SonicPalCount; i >= 0; i--)
do_pal_convert(localPal+i*0x40, tmspal+sg*0x10, currentConfig.gamma, currentConfig.gamma2);
} else {