aboutsummaryrefslogtreecommitdiff
path: root/overrides/beetle-pce-fast.h
blob: e1496a8a5981cf75138d918eeda42109a6a14922 (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
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
#include "overrides.h"

static const struct core_override_option beetle_pce_fast_core_option_overrides[] = {
	{
		.key = "pce_fast_frameskip",
		.info = "Skip frames to avoid audio crackling. Improves performance at the expense of visual smoothness.",
		.default_value = "auto",
		.options = {
			[2] = {"auto_threshold", "Threshold"},
			[3] = {"fixed_interval", "Fixed"},
		}
	},
	{
		.key = "pce_fast_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 = "pce_fast_frameskip_interval",
		.desc = "FS Interval",
	},
	{
		.key = "pce_fast_hoverscan",
		.desc = "Horiz. Overscan",
		.info = "Modify the horizontal overscan. (352 Width Mode Only)",
	},
	{
		.key = "pce_fast_turbo_toggling",
		.info = "Change III / IV to Toggle Turbo II / Toggle Turbo I",
	},
	{
		.key = "pce_fast_sound_channel_0_volume",
		.desc = "Channel 0 Volume",
	},
	{
		.key = "pce_fast_sound_channel_1_volume",
		.desc = "Channel 1 Volume",
	},
	{
		.key = "pce_fast_sound_channel_2_volume",
		.desc = "Channel 2 Volume",
	},
	{
		.key = "pce_fast_sound_channel_3_volume",
		.desc = "Channel 3 Volume",
	},
	{
		.key = "pce_fast_sound_channel_4_volume",
		.desc = "Channel 4 Volume",
	},
	{
		.key = "pce_fast_sound_channel_5_volume",
		.desc = "Channel 5 Volume",
	},
	{
		.key = "pce_fast_cdimagecache",
		.desc = "CD Cache (Restart)",
	},
	{
		.key = "pce_fast_cdbios",
		.desc = "CD BIOS (Restart)",
		.options = {
			{ "Games Express", "Games Exp" },
			{ "System Card 1", "SC 1" },
			{ "System Card 2", "SC 2" },
			{ "System Card 3", "SC 3" },
			{ "System Card 2 US", "SC 2 US" },
			{ "System Card 3 US", "SC 3 US" },
		}
	},
	{
		.key = "pce_fast_ocmultiplier",
		.desc = "Overclock (Restart)",
		.info = "Overclock the emulated CPU by selected multiplier.",
	},
	{
		.key = "pce_fast_disable_softreset",
		.desc = "Disable Soft Reset",
	},
	{
		.key = "pce_fast_default_joypad_type_p1",
		.desc = "Joypad Type",
		.info = "Choose if joypad should be 2 or 6 buttons by default. Needs restart. If you want to switch while content is running, use the 'Mode Switch' button."
	},
	{
		.key = "pce_fast_default_joypad_type_p2",
		.blocked = true
	},
	{
		.key = "pce_fast_default_joypad_type_p3",
		.blocked = true
	},
	{
		.key = "pce_fast_default_joypad_type_p4",
		.blocked = true
	},
	{
		.key = "pce_fast_default_joypad_type_p5",
		.blocked = true
	},
	{
		.key = "pce_fast_mouse_sensitivity",
		.blocked = true,
	},
	{
		.key = "pce_fast_turbo_toggle_hotkey",
		.blocked = true,
	},
	{ NULL }
};

me_bind_action beetle_pce_fast_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 },
	{ "I        ",  1 << RETRO_DEVICE_ID_JOYPAD_A },
	{ "II       ",  1 << RETRO_DEVICE_ID_JOYPAD_B },
	{ "III      ",  1 << RETRO_DEVICE_ID_JOYPAD_Y },
	{ "IV       ",  1 << RETRO_DEVICE_ID_JOYPAD_X },
	{ "V        ",  1 << RETRO_DEVICE_ID_JOYPAD_L },
	{ "VI       ",  1 << RETRO_DEVICE_ID_JOYPAD_R },
	{ "RUN      ",  1 << RETRO_DEVICE_ID_JOYPAD_START },
	{ "SELECT   ",  1 << RETRO_DEVICE_ID_JOYPAD_SELECT },
	{ "2 / 6 BTN",  1 << RETRO_DEVICE_ID_JOYPAD_L2 },
	{ NULL,       0 }
};

const struct core_override_fast_forward beetle_pce_fast_fast_forward = {
	.type_key = "pce_fast_frameskip",
	.type_value = "auto",
	.interval_key = "pce_fast_frameskip_interval",
};

#define beetle_pce_fast_overrides {                                    \
	.core_name = "beetle-pce-fast",                                \
	.fast_forward = &beetle_pce_fast_fast_forward,                 \
	.actions = beetle_pce_fast_ctrl_actions,                       \
	.action_size = array_size(beetle_pce_fast_ctrl_actions),       \
	.options = beetle_pce_fast_core_option_overrides               \
}