aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorneonloop2023-07-26 15:17:25 +0000
committerneonloop2023-07-26 15:17:25 +0000
commitd802b95131c53258bae55fe04db2be648b0c6c55 (patch)
tree0ed652287551f42bac47fa01567c32550fe9540b
parent694af47e2b3dc8c24dac704f293f4bcf9ab67858 (diff)
downloadpicoarch-d802b95131c53258bae55fe04db2be648b0c6c55.tar.gz
picoarch-d802b95131c53258bae55fe04db2be648b0c6c55.tar.bz2
picoarch-d802b95131c53258bae55fe04db2be648b0c6c55.zip
Adds mednafen_ngp, mednafen_wswan, and stella2014 cores
-rw-r--r--.gitignore3
-rw-r--r--Makefile37
-rw-r--r--overrides.c6
-rw-r--r--overrides/mednafen_ngp.h24
-rw-r--r--overrides/mednafen_wswan.h65
-rw-r--r--overrides/stella2014.h62
6 files changed, 196 insertions, 1 deletions
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 \
+}