mirror of
https://github.com/RaySollium99/picodrive.git
synced 2025-09-05 15:27:46 -04:00
Merge branch 'dev'
This commit is contained in:
commit
9a1f192a14
89 changed files with 3226 additions and 4002 deletions
|
@ -290,6 +290,11 @@ void retro_set_environment(retro_environment_t cb)
|
|||
{
|
||||
static const struct retro_variable vars[] = {
|
||||
//{ "region", "Region; Auto|NTSC|PAL" },
|
||||
{ "picodrive_input1", "Input device 1; 3 button pad|6 button pad|None" },
|
||||
{ "picodrive_input2", "Input device 2; 3 button pad|6 button pad|None" },
|
||||
#ifdef DRC_SH2
|
||||
{ "picodrive_drc", "Dynamic recompilers; enabled|disabled" },
|
||||
#endif
|
||||
{ NULL, NULL },
|
||||
};
|
||||
|
||||
|
@ -652,7 +657,7 @@ bool retro_load_game(const struct retro_game_info *info)
|
|||
|
||||
enum retro_pixel_format fmt = RETRO_PIXEL_FORMAT_RGB565;
|
||||
if (!environ_cb(RETRO_ENVIRONMENT_SET_PIXEL_FORMAT, &fmt)) {
|
||||
lprintf("RGB565 suppot required, sorry\n");
|
||||
lprintf("RGB565 support required, sorry\n");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -767,13 +772,52 @@ static void snd_write(int len)
|
|||
audio_batch_cb(PsndOut, len / 4);
|
||||
}
|
||||
|
||||
static enum input_device input_name_to_val(const char *name)
|
||||
{
|
||||
if (strcmp(name, "3 button pad") == 0)
|
||||
return PICO_INPUT_PAD_3BTN;
|
||||
if (strcmp(name, "6 button pad") == 0)
|
||||
return PICO_INPUT_PAD_6BTN;
|
||||
if (strcmp(name, "None") == 0)
|
||||
return PICO_INPUT_NOTHING;
|
||||
|
||||
lprintf("invalid picodrive_input: '%s'\n", name);
|
||||
return PICO_INPUT_PAD_3BTN;
|
||||
}
|
||||
|
||||
static void update_variables(void)
|
||||
{
|
||||
struct retro_variable var;
|
||||
|
||||
var.value = NULL;
|
||||
var.key = "picodrive_input1";
|
||||
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
|
||||
PicoSetInputDevice(0, input_name_to_val(var.value));
|
||||
|
||||
var.value = NULL;
|
||||
var.key = "picodrive_input2";
|
||||
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
|
||||
PicoSetInputDevice(1, input_name_to_val(var.value));
|
||||
|
||||
#ifdef DRC_SH2
|
||||
var.value = NULL;
|
||||
var.key = "picodrive_drc";
|
||||
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) {
|
||||
if (strcmp(var.value, "enabled") == 0)
|
||||
PicoOpt |= POPT_EN_DRC;
|
||||
else
|
||||
PicoOpt &= ~POPT_EN_DRC;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void retro_run(void)
|
||||
{
|
||||
bool updated = false;
|
||||
int pad, i;
|
||||
|
||||
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE_UPDATE, &updated) && updated)
|
||||
; //update_variables(true);
|
||||
update_variables();
|
||||
|
||||
input_poll_cb();
|
||||
|
||||
|
@ -827,6 +871,8 @@ void retro_init(void)
|
|||
//PicoMessage = plat_status_msg_busy_next;
|
||||
PicoMCDopenTray = disk_tray_open;
|
||||
PicoMCDcloseTray = disk_tray_close;
|
||||
|
||||
update_variables();
|
||||
}
|
||||
|
||||
void retro_deinit(void)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue