1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
#include "overrides.h"
static const struct core_override_option snes9x2010_core_option_overrides[] = {
{
.key = "snes9x_2010_region",
.desc = "Region (Restart)",
.info = "'PAL' is 50hz, 'NTSC' is 60hz. Games will run faster or slower than normal if the incorrect region is selected.",
},
{
.key = "snes9x_2010_aspect",
.blocked = true,
},
{
.key = "snes9x_2010_frameskip",
.info = "Skip frames to avoid audio crackling. Improves performance at the expense of visual smoothness.",
.default_value = "auto"
},
{
.key = "snes9x_2010_frameskip_threshold",
.desc = "FS Threshold (%%)",
.info = "When 'Frameskip' is set to 'Threshold', sets how low the audio buffer can get before frames will be skipped.",
},
{
.key = "snes9x_2010_overclock",
.desc = "SuperFX OC",
.options = {
{ "5 MHz (Underclock)", "5 MHz" },
{ "8 MHz (Underclock)", "8 MHz" },
{ "9 MHz (Underclock)", "9 MHz" },
{ "10 MHz (Default)", "Default" },
{ "11 MHz", NULL },
{ "12 MHz", NULL },
{ "13 MHz", NULL },
{ "14 MHz", NULL },
{ "15 MHz", NULL },
{ "20 MHz", NULL },
{ "30 MHz", NULL },
{ "40 MHz", NULL },
{ NULL, NULL},
},
},
{
.key = "snes9x_2010_overclock_cycles",
.desc = "Overclock (Restart)",
.info = "Alleviate normal SNES slowdown. Compatible keeps as much compatibility as possible. Max will reduce more slowdown but break more games.",
},
{
.key = "snes9x_2010_reduce_sprite_flicker",
.desc = "Reduce Flicker",
.info = "Raises sprite limit to reduce flickering in games.",
},
{
.key = "snes9x_2010_block_invalid_vram_access",
.desc = "Block Invalid VRAM",
.info = "Some homebrew/ROM hacks require this option to be disabled for correct operation. Requires restart.",
},
{ NULL }
};
me_bind_action snes9x2010_ctrl_actions[] =
{
{ "UP ", 1 << RETRO_DEVICE_ID_JOYPAD_UP},
{ "DOWN ", 1 << RETRO_DEVICE_ID_JOYPAD_DOWN },
{ "LEFT ", 1 << RETRO_DEVICE_ID_JOYPAD_LEFT },
{ "RIGHT ", 1 << RETRO_DEVICE_ID_JOYPAD_RIGHT },
{ "A BUTTON ", 1 << RETRO_DEVICE_ID_JOYPAD_A },
{ "B BUTTON ", 1 << RETRO_DEVICE_ID_JOYPAD_B },
{ "X BUTTON ", 1 << RETRO_DEVICE_ID_JOYPAD_X },
{ "Y BUTTON ", 1 << RETRO_DEVICE_ID_JOYPAD_Y },
{ "START ", 1 << RETRO_DEVICE_ID_JOYPAD_START },
{ "SELECT ", 1 << RETRO_DEVICE_ID_JOYPAD_SELECT },
{ "L BUTTON ", 1 << RETRO_DEVICE_ID_JOYPAD_L },
{ "R BUTTON ", 1 << RETRO_DEVICE_ID_JOYPAD_R },
{ NULL, 0 }
};
const struct core_override_fast_forward snes9x2010_fast_forward = {
.type_key = "snes9x_2010_frameskip",
.type_value = "auto",
.interval_key = "snes9x_2010_frameskip_interval"
};
#define snes9x2010_overrides { \
.core_name = "snes9x2010", \
.fast_forward = &snes9x2010_fast_forward, \
.actions = snes9x2010_ctrl_actions, \
.action_size = array_size(snes9x2010_ctrl_actions), \
.options = snes9x2010_core_option_overrides \
}
|