From d802b95131c53258bae55fe04db2be648b0c6c55 Mon Sep 17 00:00:00 2001 From: neonloop Date: Wed, 26 Jul 2023 15:17:25 +0000 Subject: Adds mednafen_ngp, mednafen_wswan, and stella2014 cores --- .gitignore | 3 +++ Makefile | 37 +++++++++++++++++++++++++- overrides.c | 6 +++++ overrides/mednafen_ngp.h | 24 +++++++++++++++++ overrides/mednafen_wswan.h | 65 ++++++++++++++++++++++++++++++++++++++++++++++ overrides/stella2014.h | 62 +++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 196 insertions(+), 1 deletion(-) create mode 100644 overrides/mednafen_ngp.h create mode 100644 overrides/mednafen_wswan.h create mode 100644 overrides/stella2014.h diff --git a/.gitignore b/.gitignore index 74c043b..c04a391 100644 --- a/.gitignore +++ b/.gitignore @@ -22,6 +22,8 @@ picoarch /gpsp /mame2000 /mame2003_plus +/mednafen_ngp +/mednafen_wswan /pcsx_rearmed /picodrive /pokemini @@ -31,3 +33,4 @@ picoarch /snes9x2005 /snes9x2005_plus /snes9x2010 +/stella2014 diff --git a/Makefile b/Makefile index b742eb9..b3774e3 100644 --- a/Makefile +++ b/Makefile @@ -21,7 +21,7 @@ LDFLAGS = -lc -ldl -lgcc -lm -lSDL -lasound -lpng -lz -Wl,--gc-sections -flto # Unpolished or slow cores that build # EXTRA_CORES += mame2003_plus prboom scummvm tyrquake -CORES = beetle-pce-fast bluemsx fceumm fmsx gambatte gme gpsp mame2000 pcsx_rearmed picodrive pokemini quicknes smsplus-gx snes9x2002 snes9x2005 $(EXTRA_CORES) +CORES = beetle-pce-fast bluemsx fceumm fmsx gambatte gme gpsp mame2000 mednafen_ngp mednafen_wswan pcsx_rearmed picodrive pokemini quicknes smsplus-gx snes9x2002 snes9x2005 stella2014 $(EXTRA_CORES) ifneq ($(platform), trimui) CORES := $(CORES) dosbox-pure fake-08 fbalpha2012 snes9x2005_plus snes9x2010 @@ -75,6 +75,12 @@ mame2000_TYPES = zip mame2003_plus_REPO = https://github.com/libretro/mame2003-plus-libretro mame2003_plus_TYPES = zip +mednafen_ngp_REPO = https://github.com/libretro/beetle-ngp-libretro +mednafen_ngp_TYPES = ngp,ngc,ngpc,npc + +mednafen_wswan_REPO = https://github.com/libretro/beetle-wswan-libretro +mednafen_wswan_TYPES = ws,wsc,pc2 + pcsx_rearmed_MAKEFILE = Makefile.libretro pcsx_rearmed_TYPES = bin,cue,img,mdf,pbp,toc,cbn,m3u,chd @@ -108,6 +114,9 @@ snes9x2005_plus_TYPES = smc,fig,sfc,gd3,gd7,dx2,bsx,swc,zip snes9x2010_TYPES = smc,fig,sfc,gd3,gd7,dx2,bsx,swc,zip +stella2014_REPO = https://github.com/libretro/stella2014-libretro +stella2014_TYPES = a26,bin + tyrquake_TYPES = pak ifeq ($(platform), trimui) @@ -276,6 +285,14 @@ mame2003_plus_NAME = mame2003+ mame2003_plus_ROM_DIR = ARCADE mame2003_plus_PAK_NAME = Arcade (MAME 2003-plus) +mednafen_ngp_NAME = ngp +mednafen_ngp_ROM_DIR = NGP +mednafen_ngp_PAK_NAME = Neo Geo Pocket + +mednafen_wswan_NAME = wswan +mednafen_wswan_ROM_DIR = WS +mednafen_wswan_PAK_NAME = WonderSwan + picodrive_ROM_DIR = MD picodrive_PAK_NAME = Genesis @@ -302,6 +319,9 @@ snes9x2002_PAK_NAME = Super Nintendo snes9x2005_ROM_DIR = SFC snes9x2005_PAK_NAME = Super Nintendo (2005) +stella2014_ROM_DIR = 2600 +stella2014_PAK_NAME = Atari 2600 + # -- gmenunx dist-gmenu-section: @@ -464,6 +484,16 @@ mame2003_plus_ROM_DIR = /mnt/Arcade mame2003_plus_ICON_URL = https://raw.githubusercontent.com/MiyooCFW/gmenu2x/gmenunx/assets/miyoo/skins/PixUI/icons/mame.png mame2003_plus_ICON = icon +mednafen_ngp_NAME = ngp +mednafen_ngp_ROM_DIR = /mnt/Neo Geo Pocket +mednafen_ngp_ICON_URL = https://raw.githubusercontent.com/FunKey-Project/FunKey-OS/master/FunKey/package/mednafen/opk/ngp/ngp.png +mednafen_ngp_ICON = ngp + +mednafen_wswan_NAME = wswan +mednafen_wswan_ROM_DIR = /mnt/WonderSwan +mednafen_wswan_ICON_URL = https://raw.githubusercontent.com/FunKey-Project/FunKey-OS/master/FunKey/package/mednafen/opk/wonderswan/wonderswan.png +mednafen_wswan_ICON = wonderswan + pcsx_rearmed_ROM_DIR = /mnt/PS1 pcsx_rearmed_ICON_URL = https://raw.githubusercontent.com/MiyooCFW/gmenu2x/gmenunx/assets/miyoo/skins/PixUI/icons/pcsx4all.png pcsx_rearmed_ICON = pcsx4all @@ -502,6 +532,11 @@ snes9x2010_ICON_URL = https://raw.githubusercontent.com/FunKey-Project/FunKey-OS snes9x2010_ICON = snes snes9x2010_ROM_DIR = /mnt/SNES +stella2014_NAME = stella2014 +stella2014_ICON_URL = https://raw.githubusercontent.com/MiyooCFW/gmenu2x/gmenunx/assets/miyoo/skins/PixUI/icons/stella-od.png +stella2014_ICON = stella-od +stella2014_ROM_DIR = /mnt/Atari 2600 + define CORE_opk = $1_NAME ?= $1 diff --git a/overrides.c b/overrides.c index 56fca04..9133d11 100644 --- a/overrides.c +++ b/overrides.c @@ -11,6 +11,8 @@ #include "overrides/gme.h" #include "overrides/gpsp.h" #include "overrides/mame2000.h" +#include "overrides/mednafen_ngp.h" +#include "overrides/mednafen_wswan.h" #include "overrides/pcsx_rearmed.h" #include "overrides/picodrive.h" #include "overrides/pokemini.h" @@ -22,6 +24,7 @@ #include "overrides/snes9x2005.h" #include "overrides/snes9x2005_plus.h" #include "overrides/snes9x2010.h" +#include "overrides/stella2014.h" #include "overrides/tyrquake.h" #include "overrides/vitaquake2.h" #include "util.h" @@ -39,6 +42,8 @@ static const struct core_override overrides[] = { gme_overrides, gpsp_overrides, mame2000_overrides, + mednafen_ngp_overrides, + mednafen_wswan_overrides, pcsx_rearmed_overrides, picodrive_overrides, pokemini_overrides, @@ -50,6 +55,7 @@ static const struct core_override overrides[] = { snes9x2005_overrides, snes9x2005_plus_overrides, snes9x2010_overrides, + stella2014_overrides, tyrquake_overrides, vitaquake2_overrides, }; diff --git a/overrides/mednafen_ngp.h b/overrides/mednafen_ngp.h new file mode 100644 index 0000000..60da046 --- /dev/null +++ b/overrides/mednafen_ngp.h @@ -0,0 +1,24 @@ +#include "overrides.h" + +static const struct core_override_option mednafen_ngp_core_option_overrides[] = { + { NULL } +}; + +me_bind_action mednafen_ngp_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 ", 1 << RETRO_DEVICE_ID_JOYPAD_B }, + { "B ", 1 << RETRO_DEVICE_ID_JOYPAD_A }, + { "OPTION ", 1 << RETRO_DEVICE_ID_JOYPAD_START }, + { NULL, 0 } +}; + +#define mednafen_ngp_overrides { \ + .core_name = "mednafen_ngp", \ + .actions = mednafen_ngp_ctrl_actions, \ + .action_size = array_size(mednafen_ngp_ctrl_actions), \ + .options = mednafen_ngp_core_option_overrides \ +} diff --git a/overrides/mednafen_wswan.h b/overrides/mednafen_wswan.h new file mode 100644 index 0000000..6f27e30 --- /dev/null +++ b/overrides/mednafen_wswan.h @@ -0,0 +1,65 @@ +#include "overrides.h" + +static const struct core_override_option mednafen_wswan_core_option_overrides[] = { + { + .key = "wswan_rotate_display", + .info = "Choose the orientation of the console screen. 'Manual' enables rotation via the controller.", + }, + { + .key = "wswan_rotate_keymap", + .desc = "Rotate Buttons", + }, + { + .key = "wswan_gfx_colors", + .desc = "Color Depth", + .info = "24-bit is slower and not available on all platforms. Restart required.", + }, + { + .key = "wswan_frameskip", + .info = "Skip frames to avoid audio crackling. Improves performance at the expense of visual smoothness.", + }, + { + .key = "wswan_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 = "wswan_60hz_mode", + .info = "Update the display at 60Hz instead of the native 75Hz WonderSwan refresh rate by dropping every fifth frame. Reduces video smoothness, but avoids screen tearing on 60Hz screens.", + }, + { + .key = "wswan_sound_sample_rate", + .desc = "Sample Rate", + }, + { NULL } +}; + +me_bind_action mednafen_wswan_ctrl_actions[] = +{ + { "X UP ", 1 << RETRO_DEVICE_ID_JOYPAD_UP}, + { "X DOWN ", 1 << RETRO_DEVICE_ID_JOYPAD_DOWN }, + { "X LEFT ", 1 << RETRO_DEVICE_ID_JOYPAD_LEFT }, + { "X RIGHT ", 1 << RETRO_DEVICE_ID_JOYPAD_RIGHT }, + { "Y UP ", 1 << RETRO_DEVICE_ID_JOYPAD_R2 }, + { "Y DOWN ", 1 << RETRO_DEVICE_ID_JOYPAD_L2 }, + { "Y LEFT ", 1 << RETRO_DEVICE_ID_JOYPAD_L }, + { "Y RIGHT ", 1 << RETRO_DEVICE_ID_JOYPAD_R }, + { "A ", 1 << RETRO_DEVICE_ID_JOYPAD_A }, + { "B ", 1 << RETRO_DEVICE_ID_JOYPAD_B }, + { "START ", 1 << RETRO_DEVICE_ID_JOYPAD_START }, + { "ROTATE ", 1 << RETRO_DEVICE_ID_JOYPAD_SELECT }, + { NULL, 0 } +}; + +const struct core_override_fast_forward mednafen_wswan_fast_forward = { + .type_key = "wswan_frameskip", + .type_value = "auto", +}; + +#define mednafen_wswan_overrides { \ + .core_name = "mednafen_wswan", \ + .fast_forward = &mednafen_wswan_fast_forward, \ + .actions = mednafen_wswan_ctrl_actions, \ + .action_size = array_size(mednafen_wswan_ctrl_actions), \ + .options = mednafen_wswan_core_option_overrides \ +} diff --git a/overrides/stella2014.h b/overrides/stella2014.h new file mode 100644 index 0000000..c6e5682 --- /dev/null +++ b/overrides/stella2014.h @@ -0,0 +1,62 @@ +#include "overrides.h" + +static const struct core_override_option stella2014_core_option_overrides[] = { + { + .key = "stella2014_color_depth", + .desc = "Color Depth", + .info = "Specifies number of colors to display on-screen. 24-bit may increase performance overheads on some platforms. Requires restart." + }, + { + .key = "stella2014_mix_frames", + .info = "Simulates CRT phosphor ghosting effects. May be used to alleviate screen flicker when games toggle sprites on alternate frames.", + }, + { + .key = "stella2014_paddle_digital_sensitivity", + .desc = "Paddle Sensitivity", + }, + { + .key = "stella2014_paddle_analog_sensitivity", + .blocked = true, + }, + { + .key = "stella2014_paddle_analog_response", + .blocked = true, + }, + { + .key = "stella2014_paddle_analog_deadzone", + .blocked = true, + }, + { + .key = "stella2014_stelladaptor_analog_sensitivity", + .blocked = true, + }, + { + .key = "stella2014_stelladaptor_analog_center", + .blocked = true, + }, + { NULL } +}; + +me_bind_action stella2014_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 }, + { "L DIFF A ", 1 << RETRO_DEVICE_ID_JOYPAD_L }, + { "R DIFF A ", 1 << RETRO_DEVICE_ID_JOYPAD_R }, + { "L DIFF B ", 1 << RETRO_DEVICE_ID_JOYPAD_L2 }, + { "R DIFF B ", 1 << RETRO_DEVICE_ID_JOYPAD_R2 }, + { "FIRE ", 1 << RETRO_DEVICE_ID_JOYPAD_B }, + { "PDL FIRE ", 1 << RETRO_DEVICE_ID_JOYPAD_Y }, + { "SELECT ", 1 << RETRO_DEVICE_ID_JOYPAD_SELECT }, + { "RESET ", 1 << RETRO_DEVICE_ID_JOYPAD_START }, + { NULL, 0 } +}; + +#define stella2014_overrides { \ + .core_name = "stella2014", \ + .actions = stella2014_ctrl_actions, \ + .action_size = array_size(stella2014_ctrl_actions), \ + .options = stella2014_core_option_overrides \ +} -- cgit v1.2.3