added PC Engine/TurboGrafx-16 support (PCE)

This commit is contained in:
Shaun Inman 2023-02-26 16:53:20 -05:00
parent 6a7722648e
commit 9f2af4666a
10 changed files with 70 additions and 3 deletions

View file

@ -1,7 +1,7 @@
# this logic was broken out from picoarch's all-in-one makefile
CORES = fceumm gambatte gpsp pcsx_rearmed picodrive snes9x2005_plus
CORES+= beetle-vb fake-08 mednafen_supafaust mgba pokemini # extras
CORES+= beetle-pce-fast beetle-vb fake-08 mednafen_supafaust mgba pokemini # extras
###############################
@ -13,6 +13,9 @@ CORES+= beetle-vb fake-08 mednafen_supafaust mgba pokemini # extras
# *_MAKEFILE=
# *_BUILD_PATH=
beetle-pce-fast_REPO = https://github.com/libretro/beetle-pce-fast-libretro
beetle-pce-fast_CORE = mednafen_pce_fast_libretro.so
beetle-vb_REPO = https://github.com/libretro/beetle-vb-libretro
beetle-vb_CORE = mednafen_vb_libretro.so

View file

@ -0,0 +1,24 @@
diff --git forkSrcPrefix/Makefile forkDstPrefix/Makefile
index d580571511b43d1ec4597db4a9611b0924bb2c53..d2a2f9929cee1f7fb45a1a002efd7b04812ded49 100644
--- forkSrcPrefix/Makefile
+++ forkDstPrefix/Makefile
@@ -377,6 +377,19 @@ else ifeq ($(platform), miyoo)
CXXFLAGS += -std=c++11
CFLAGS += -std=gnu11
+# RG35XX
+else ifeq ($(platform), rg35xx)
+ TARGET := $(TARGET_NAME)_libretro.so
+ CC = $(CROSS_COMPILE)gcc
+ CXX = $(CROSS_COMPILE)g++
+ AR = $(CROSS_COMPILE)ar
+ fpic := -fPIC
+ SHARED := -shared -Wl,--no-undefined -Wl,--version-script=link.T
+ FLAGS += -marm -mtune=cortex-a9 -mfpu=neon-fp16 -mfloat-abi=hard -march=armv7-a -fomit-frame-pointer -DRG35XX
+ FLAGS += -fomit-frame-pointer -ffast-math -D_GNU_SOURCE -flto -fPIC
+ CXXFLAGS += -std=c++11
+ CFLAGS += -std=gnu11
+
# Windows MSVC 2017 all architectures
else ifneq (,$(findstring windows_msvc2017,$(platform)))

View file

@ -81,9 +81,10 @@ bundle:
# extras
cp ./cores/output/fake08_libretro.so ./build/EXTRAS/Emus/rg35xx/P8.pak
cp ./cores/output/mgba_libretro.so ./build/EXTRAS/Emus/rg35xx/MGBA.pak
cp ./cores/output/mednafen_vb_libretro.so ./build/EXTRAS/Emus/rg35xx/VB.pak
cp ./cores/output/mgba_libretro.so ./build/EXTRAS/Emus/rg35xx/SGB.pak
cp ./cores/output/mednafen_pce_fast_libretro.so ./build/EXTRAS/Emus/rg35xx/PCE.pak
cp ./cores/output/mednafen_supafaust_libretro.so ./build/EXTRAS/Emus/rg35xx/SUPA.pak
cp ./cores/output/mednafen_vb_libretro.so ./build/EXTRAS/Emus/rg35xx/VB.pak
cp ./cores/output/pokemini_libretro.so ./build/EXTRAS/Emus/rg35xx/PKM.pak
cp ./other/DinguxCommander/output/DinguxCommander ./build/EXTRAS/Tools/rg35xx/Files.pak
cp -R ./other/DinguxCommander/res ./build/EXTRAS/Tools/rg35xx/Files.pak/

View file

View file

@ -0,0 +1,14 @@
#!/bin/sh
EMU_EXE=mednafen_pce_fast
CORES_PATH=$(dirname "$0")
###############################
EMU_TAG=$(basename "$(dirname "$0")" .pak)
ROM="$1"
mkdir -p "$BIOS_PATH/$EMU_TAG"
mkdir -p "$SAVES_PATH/$EMU_TAG"
HOME="$USERDATA_PATH"
cd "$HOME"
minarch.elf "$CORES_PATH/${EMU_EXE}_libretro.so" "$ROM" DMG &> "$LOGS_PATH/$EMU_TAG.txt"

View file

@ -29,5 +29,6 @@ Bios files
You'll need to BYOB for the emulator paks included in this zip file.
MGBA: gba_bios.bin
sgb.bios
PCE: syscard3.pce
PKM: bios.min
SGB: sgb.bios

View file

View file

@ -28,6 +28,7 @@
#include "overrides/gambatte.h"
#include "overrides/gpsp.h"
#include "overrides/mgba.h"
#include "overrides/mednafen_pce_fast.h"
#include "overrides/mednafen_vb.h"
#include "overrides/mednafen_supafaust.h"
#include "overrides/pcsx_rearmed.h"
@ -40,6 +41,7 @@ static CoreOverrides* overrides[] = {
&fceumm_overrides,
&gambatte_overrides,
&gpsp_overrides,
&mednafen_pce_fast_overrides,
&mednafen_supafaust_overrides,
&mednafen_vb_overrides,
&mgba_overrides,

View file

@ -0,0 +1,22 @@
#include "overrides.h"
static CoreOverrides mednafen_pce_fast_overrides = {
.core_name = "mednafen_pce_fast",
.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},
{"Run", RETRO_DEVICE_ID_JOYPAD_START, BTN_ID_START},
{"I", RETRO_DEVICE_ID_JOYPAD_A, BTN_ID_A},
{"II", RETRO_DEVICE_ID_JOYPAD_B, BTN_ID_B},
{"III", RETRO_DEVICE_ID_JOYPAD_Y, BTN_ID_Y},
{"IV", RETRO_DEVICE_ID_JOYPAD_X, BTN_ID_X},
{"V", RETRO_DEVICE_ID_JOYPAD_L, BTN_ID_L1},
{"VI", RETRO_DEVICE_ID_JOYPAD_R, BTN_ID_R1},
{"Mode", RETRO_DEVICE_ID_JOYPAD_L2, BTN_ID_L2},
{NULL},
},
};