aboutsummaryrefslogtreecommitdiff
path: root/overrides/snes9x2002.h
blob: 00ff40bcc2377ad782200c3a4383154c4cf1b804 (plain)
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
#include "overrides.h"

static const struct core_override_option snes9x2002_core_option_overrides[] = {
	{
		.key = "snes9x2002_frameskip",
		.info = "Skip frames to avoid audio crackling. Improves performance at the expense of visual smoothness.",
		.default_value = "auto",
		.retro_var_value = "Frameskip ; disabled|auto|threshold"
	},
	{
		.key = "snes9x2002_frameskip_threshold",
		.info = "When 'Frameskip' is set to 'Threshold', sets how low the audio buffer can get before frames will be skipped.",
		.retro_var_value = "FS Threshold (%); 30|40|50|60",
	},
	{
		.key = "snes9x2002_frameskip_interval",
		.info = "The maximum number of frames that can be skipped before a new frame is rendered.",
		.default_value = "4",
		.retro_var_value = "FS Interval; 1|2|3|4|5|6|7|8|9"
	},
	{
		.key = "snes9x2002_overclock_cycles",
		.info = "Hack, unsafe. Requires restart.",
		.retro_var_value = "Overclock (Restart); disabled|compatible|max"
	},
	{ NULL }
};

me_bind_action snes9x2002_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 snes9x2002_fast_forward = {
	.type_key = "snes9x2002_frameskip",
	.type_value = "auto",
	.interval_key = "snes9x2002_frameskip_interval"
};

#define snes9x2002_overrides {                               \
	.core_name = "snes9x2002",                           \
	.fast_forward = &snes9x2002_fast_forward,            \
	.actions = snes9x2002_ctrl_actions,                  \
	.action_size = array_size(snes9x2002_ctrl_actions),  \
	.options = snes9x2002_core_option_overrides          \
}