first incomplete pass at options

layout is done, need to polish up the frontend and emulator options and sort out the mess of input overrides
This commit is contained in:
Shaun Inman 2023-01-26 20:42:28 -05:00
parent 501aa77d14
commit 3cfd1313c6
14 changed files with 1278 additions and 179 deletions

File diff suppressed because it is too large Load diff

View file

@ -6,9 +6,11 @@ TARGET = minarch.elf
CC = $(CROSS_COMPILE)gcc
CFLAGS = -marm -mtune=cortex-a9 -mfpu=neon-vfpv4 -mfloat-abi=hard -march=armv7-a -fomit-frame-pointer
CFLAGS += -I. -I../common -I./libretro-common/include -DPLATFORM=\"$(UNION_PLATFORM)\" -Ofast # -Wall -Wno-unused-variable -Wno-unused-function
CFLAGS += -I. -I../common -I./libretro-common/include -DPLATFORM=\"$(UNION_PLATFORM)\" -Ofast
LDFLAGS = -ldl -lSDL -lSDL_image -lSDL_ttf -lmsettings -lpthread
#CFLAGS += -Wall -Wno-unused-variable -Wno-unused-function
# CFLAGS += -fsanitize=address -fno-common
LDFLAGS = -ldl -lSDL -lSDL_image -lSDL_ttf -lmsettings -lpthread # -lasan
# LDFLAGS += -lasan
all:
$(CC) main.c ../common/scaler_neon.c ../common/utils.c ../common/api.c -o $(TARGET) $(CFLAGS) $(LDFLAGS)

23
src/minarch/overrides.h Normal file
View file

@ -0,0 +1,23 @@
#ifndef OVERRIDES_H
#define OVERRIDES_H
typedef struct OptionOverride {
char* key;
char* value;
int disable; // hides from user
} OptionOverride;
typedef struct ButtonMapping {
char* name;
int retro;
int local;
} ButtonMapping;
// TODO: not strictly overrides anymore...
typedef struct CoreOverrides {
char* core_name;
OptionOverride* option_overrides;
ButtonMapping* button_mapping;
} CoreOverrides;
#endif

View file

@ -0,0 +1,28 @@
#include "overrides.h"
static CoreOverrides fceumm_overrides = {
.core_name = "fceumm",
.option_overrides = (OptionOverride[]){
{"fceumm_sndquality", "High"}, // why does it default to low :sob:
{"fceumm_sndvolume", "10"},
// {"fceumm_sndlowpass", "enabled"}, // too muffled for my tastes
{NULL,NULL},
},
.button_mapping = (ButtonMapping[]){
{"UP", RETRO_DEVICE_ID_JOYPAD_UP, BTN_ID_UP},
{"DOWN", RETRO_DEVICE_ID_JOYPAD_DOWN, BTN_ID_DOWN},
{"LEFT", RETRO_DEVICE_ID_JOYPAD_LEFT, BTN_ID_LEFT},
{"RIGHT", RETRO_DEVICE_ID_JOYPAD_RIGHT, BTN_ID_RIGHT},
{"SELECT", RETRO_DEVICE_ID_JOYPAD_SELECT, BTN_ID_SELECT},
{"START", RETRO_DEVICE_ID_JOYPAD_START, BTN_ID_START},
{"A BUTTON", RETRO_DEVICE_ID_JOYPAD_A, BTN_ID_A},
{"B BUTTON", RETRO_DEVICE_ID_JOYPAD_B, BTN_ID_B},
{"A TURBO", RETRO_DEVICE_ID_JOYPAD_X, BTN_ID_NONE},
{"B TURBO", RETRO_DEVICE_ID_JOYPAD_Y, BTN_ID_NONE},
{"CHANGE DISK", RETRO_DEVICE_ID_JOYPAD_L, BTN_ID_NONE},
{"INSERT DISK", RETRO_DEVICE_ID_JOYPAD_R, BTN_ID_NONE},
{"INSERT COIN", RETRO_DEVICE_ID_JOYPAD_R2, BTN_ID_NONE},
{NULL,0,0},
},
};

View file

@ -0,0 +1,27 @@
#include "overrides.h"
CoreOverrides gambatte_overrides = {
.core_name = "gambatte",
.option_overrides = (OptionOverride[]){
{"gambatte_gb_colorization", "internal"},
{"gambatte_gb_internal_palette", "TWB64 - Pack 1"},
{"gambatte_gb_palette_twb64_1", "TWB64 038 - Pokemon mini Ver."},
{"gambatte_gb_bootloader", "disabled"},
{NULL,NULL},
},
.button_mapping = (ButtonMapping[]){
{"UP", RETRO_DEVICE_ID_JOYPAD_UP, BTN_ID_UP},
{"DOWN", RETRO_DEVICE_ID_JOYPAD_DOWN, BTN_ID_DOWN},
{"LEFT", RETRO_DEVICE_ID_JOYPAD_LEFT, BTN_ID_LEFT},
{"RIGHT", RETRO_DEVICE_ID_JOYPAD_RIGHT, BTN_ID_RIGHT},
{"SELECT", RETRO_DEVICE_ID_JOYPAD_SELECT, BTN_ID_SELECT},
{"START", RETRO_DEVICE_ID_JOYPAD_START, BTN_ID_START},
{"A BUTTON", RETRO_DEVICE_ID_JOYPAD_A, BTN_ID_A},
{"B BUTTON", RETRO_DEVICE_ID_JOYPAD_B, BTN_ID_B},
{"A TURBO", RETRO_DEVICE_ID_JOYPAD_X, BTN_ID_NONE},
{"B TURBO", RETRO_DEVICE_ID_JOYPAD_Y, BTN_ID_NONE},
{"PREV PAL", RETRO_DEVICE_ID_JOYPAD_L, BTN_ID_NONE},
{"NEXT PAL", RETRO_DEVICE_ID_JOYPAD_R, BTN_ID_NONE},
{NULL,0,0},
},
};

View file

@ -0,0 +1,24 @@
#include "overrides.h"
static CoreOverrides gpsp_overrides = {
.core_name = "gpsp",
.option_overrides = (OptionOverride[]){
{"gpsp_save_method", "libretro", 1},
{NULL,NULL},
},
.button_mapping = (ButtonMapping[]){
{"UP", RETRO_DEVICE_ID_JOYPAD_UP, BTN_ID_UP},
{"DOWN", RETRO_DEVICE_ID_JOYPAD_DOWN, BTN_ID_DOWN},
{"LEFT", RETRO_DEVICE_ID_JOYPAD_LEFT, BTN_ID_LEFT},
{"RIGHT", RETRO_DEVICE_ID_JOYPAD_RIGHT, BTN_ID_RIGHT},
{"SELECT", RETRO_DEVICE_ID_JOYPAD_SELECT, BTN_ID_SELECT},
{"START", RETRO_DEVICE_ID_JOYPAD_START, BTN_ID_START},
{"A BUTTON", RETRO_DEVICE_ID_JOYPAD_A, BTN_ID_A},
{"B BUTTON", RETRO_DEVICE_ID_JOYPAD_B, BTN_ID_B},
{"A TURBO", RETRO_DEVICE_ID_JOYPAD_X, BTN_ID_NONE},
{"B TURBO", RETRO_DEVICE_ID_JOYPAD_Y, BTN_ID_NONE},
{"L BUTTON", RETRO_DEVICE_ID_JOYPAD_L, BTN_ID_L1},
{"R BUTTON", RETRO_DEVICE_ID_JOYPAD_R, BTN_ID_R1},
{NULL,0,0},
},
};

View file

@ -0,0 +1,22 @@
#include "overrides.h"
static CoreOverrides pcsx_rearmed_overrides = {
.core_name = "pcsx_rearmed",
.button_mapping = (ButtonMapping[]){
{"UP", RETRO_DEVICE_ID_JOYPAD_UP, BTN_ID_UP},
{"DOWN", RETRO_DEVICE_ID_JOYPAD_DOWN, BTN_ID_DOWN},
{"LEFT", RETRO_DEVICE_ID_JOYPAD_LEFT, BTN_ID_LEFT},
{"RIGHT", RETRO_DEVICE_ID_JOYPAD_RIGHT, BTN_ID_RIGHT},
{"SELECT", RETRO_DEVICE_ID_JOYPAD_SELECT, BTN_ID_SELECT},
{"START", RETRO_DEVICE_ID_JOYPAD_START, BTN_ID_START},
{"CIRCLE", RETRO_DEVICE_ID_JOYPAD_A, BTN_ID_A},
{"CROSS", RETRO_DEVICE_ID_JOYPAD_B, BTN_ID_B},
{"TRIANGLE", RETRO_DEVICE_ID_JOYPAD_X, BTN_ID_X},
{"SQUARE", RETRO_DEVICE_ID_JOYPAD_Y, BTN_ID_Y},
{"L1 BUTTON", RETRO_DEVICE_ID_JOYPAD_L, BTN_ID_L1},
{"R1 BUTTON", RETRO_DEVICE_ID_JOYPAD_R, BTN_ID_R1},
{"L2 BUTTON", RETRO_DEVICE_ID_JOYPAD_L2, BTN_ID_L2},
{"R2 BUTTON", RETRO_DEVICE_ID_JOYPAD_R2, BTN_ID_R2},
{NULL,0,0},
},
};

View file

@ -0,0 +1,24 @@
#include "overrides.h"
static CoreOverrides picodrive_overrides = {
.core_name = "picodrive",
.option_overrides = (OptionOverride[]){
{"picodrive_sound_rate", "41000", 1},
{NULL,NULL},
},
.button_mapping = (ButtonMapping[]){
{"UP", RETRO_DEVICE_ID_JOYPAD_UP, BTN_ID_UP},
{"DOWN", RETRO_DEVICE_ID_JOYPAD_DOWN, BTN_ID_DOWN},
{"LEFT", RETRO_DEVICE_ID_JOYPAD_LEFT, BTN_ID_LEFT},
{"RIGHT", RETRO_DEVICE_ID_JOYPAD_RIGHT, BTN_ID_RIGHT},
{"MODE", RETRO_DEVICE_ID_JOYPAD_SELECT, BTN_ID_SELECT},
{"START", RETRO_DEVICE_ID_JOYPAD_START, BTN_ID_START},
{"A BUTTON", RETRO_DEVICE_ID_JOYPAD_Y, BTN_ID_Y},
{"B BUTTON", RETRO_DEVICE_ID_JOYPAD_B, BTN_ID_X},
{"C BUTTON", RETRO_DEVICE_ID_JOYPAD_A, BTN_ID_A},
{"X BUTTON", RETRO_DEVICE_ID_JOYPAD_L, BTN_ID_B},
{"Y BUTTON", RETRO_DEVICE_ID_JOYPAD_X, BTN_ID_L1},
{"Z BUTTON", RETRO_DEVICE_ID_JOYPAD_R, BTN_ID_R1},
{NULL,0,0},
},
};

View file

@ -0,0 +1,23 @@
#include "overrides.h"
static CoreOverrides pokemini_overrides = {
.core_name = "pokemini",
.option_overrides = (OptionOverride[]){
{"pokemini_palette", "Old"},
{"pokemini_piezofilter", "disabled"},
{"pokemini_lowpass_filter", "enabled"},
{NULL,NULL},
},
.button_mapping = (ButtonMapping[]){
{"UP", RETRO_DEVICE_ID_JOYPAD_UP, BTN_ID_UP},
{"DOWN", RETRO_DEVICE_ID_JOYPAD_DOWN, BTN_ID_DOWN},
{"LEFT", RETRO_DEVICE_ID_JOYPAD_LEFT, BTN_ID_LEFT},
{"RIGHT", RETRO_DEVICE_ID_JOYPAD_RIGHT, BTN_ID_RIGHT},
{"A BUTTON", RETRO_DEVICE_ID_JOYPAD_A, BTN_ID_A},
{"B BUTTON", RETRO_DEVICE_ID_JOYPAD_B, BTN_ID_B},
{"C BUTTON", RETRO_DEVICE_ID_JOYPAD_R, BTN_ID_R1},
{"SHAKE", RETRO_DEVICE_ID_JOYPAD_L, BTN_ID_L1},
{"POWER", RETRO_DEVICE_ID_JOYPAD_SELECT, BTN_ID_SELECT},
{NULL,0,0},
},
};

View file

@ -0,0 +1,20 @@
#include "overrides.h"
static CoreOverrides snes9x2005_plus_overrides = {
.core_name = "snes9x2005_plus",
.button_mapping = (ButtonMapping[]){
{"UP", RETRO_DEVICE_ID_JOYPAD_UP, BTN_ID_UP},
{"DOWN", RETRO_DEVICE_ID_JOYPAD_DOWN, BTN_ID_DOWN},
{"LEFT", RETRO_DEVICE_ID_JOYPAD_LEFT, BTN_ID_LEFT},
{"RIGHT", RETRO_DEVICE_ID_JOYPAD_RIGHT, BTN_ID_RIGHT},
{"SELECT", RETRO_DEVICE_ID_JOYPAD_SELECT, BTN_ID_SELECT},
{"START", RETRO_DEVICE_ID_JOYPAD_START, BTN_ID_START},
{"Y BUTTON", RETRO_DEVICE_ID_JOYPAD_Y, BTN_ID_Y},
{"X BUTTON", RETRO_DEVICE_ID_JOYPAD_X, BTN_ID_X},
{"B BUTTON", RETRO_DEVICE_ID_JOYPAD_B, BTN_ID_B},
{"A BUTTON", RETRO_DEVICE_ID_JOYPAD_A, BTN_ID_A},
{"L BUTTON", RETRO_DEVICE_ID_JOYPAD_L, BTN_ID_L1},
{"R BUTTON", RETRO_DEVICE_ID_JOYPAD_R, BTN_ID_R1},
{NULL,0,0},
},
};