changes gpsp libretro core to 32 bit

This commit is contained in:
CometHunter92 2022-04-07 23:51:55 +02:00
parent 109ac56847
commit 04c2c1ec53
8 changed files with 73 additions and 16 deletions

View file

@ -0,0 +1 @@
RG351P

View file

@ -0,0 +1,21 @@
diff -rupN gpsp.orig/Makefile gpsp/Makefile
--- gpsp.orig/Makefile 2022-04-07 22:37:30.432792500 +0200
+++ gpsp/Makefile 2022-04-07 22:47:00.892790400 +0200
@@ -287,6 +287,17 @@ else ifeq ($(platform), rpi1)
MMAP_JIT_CACHE = 1
HAVE_DYNAREC = 1
+# Anbernic RG351x
+else ifeq ($(platform), RG351x)
+ CPUFLAGS := -marm -march=armv8-a+crc+simd -mtune=cortex-a35 -mfpu=neon-fp-armv8 -mfloat-abi=hard -flto
+ CFLAGS := $(CPUFLAGS) -fpic -ffast-math -fno-rtti -fno-exceptions
+ TARGET := $(TARGET_NAME)_libretro.so
+ fpic := -fPIC
+ SHARED := -shared -Wl,--version-script=link.T -Wl,--no-undefined
+ CPU_ARCH := arm
+ MMAP_JIT_CACHE = 1
+ HAVE_DYNAREC = 1
+
# Classic Platforms ####################
# Platform affix = classic_<ISA>_<µARCH>
# Help at https://modmyclassic.com/comp

View file

@ -0,0 +1 @@
RG351P

View file

@ -0,0 +1,21 @@
diff -rupN gpsp.orig/Makefile gpsp/Makefile
--- gpsp.orig/Makefile 2022-04-07 22:37:30.432792500 +0200
+++ gpsp/Makefile 2022-04-07 23:33:44.082780000 +0200
@@ -287,6 +287,17 @@ else ifeq ($(platform), rpi1)
MMAP_JIT_CACHE = 1
HAVE_DYNAREC = 1
+# Anbernic RG552 (32 bit)
+else ifeq ($(platform), RG552)
+ CPUFLAGS := -marm -march=armv8-a -mfpu=neon-fp-armv8 -mfloat-abi=hard -flto
+ CFLAGS := $(CPUFLAGS) -fpic -ffast-math -fno-rtti -fno-exceptions
+ TARGET := $(TARGET_NAME)_libretro.so
+ fpic := -fPIC
+ SHARED := -shared -Wl,--version-script=link.T -Wl,--no-undefined
+ CPU_ARCH := arm
+ MMAP_JIT_CACHE = 1
+ HAVE_DYNAREC = 1
+
# Classic Platforms ####################
# Platform affix = classic_<ISA>_<µARCH>
# Help at https://modmyclassic.com/comp

View file

@ -20,32 +20,45 @@
################################################################################
PKG_NAME="gpsp"
PKG_VERSION="e554360dd3ed283696fc607877024a219248b735"
PKG_SHA256="d989408ccc6e6fc20caa3af8727bcd4cdeb3ed68b6e5f2a6b4312576cf7fc700"
PKG_VERSION="d4547baf26dd70a18eeb38d231ce3f998004ec30"
PKG_SHA256="2d47d9019817d4eed16139b73281d53664ff58388055014f6b9c0f344ebf34aa"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"
PKG_SITE="https://github.com/libretro/gpsp"
PKG_URL="$PKG_SITE/archive/$PKG_VERSION.tar.gz"
PKG_URL="${PKG_SITE}/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain"
PKG_PRIORITY="optional"
PKG_SECTION="libretro"
PKG_SHORTDESC="gpSP for libretro."
PKG_LONGDESC="gameplaySP is a Gameboy Advance emulator for Playstation Portable"
PKG_PATCH_DIRS+="${DEVICE}"
PKG_IS_ADDON="no"
PKG_TOOLCHAIN="make"
PKG_AUTORECONF="no"
make_target() {
if [ "$ARCH" == "arm" ]; then
make CC=$CC platform=arm
else
make CC=$CC platform=arm64
fi
}
if [ "${ARCH}" = "arm" ]
then
make_target() {
cd ${PKG_BUILD}
if [[ "${DEVICE}" =~ RG351 ]]
then
make -f Makefile.libretro platform=RG351x
else
make -f Makefile.libretro platform=${DEVICE}
}
else
make_target() {
:
}
fi
makeinstall_target() {
mkdir -p $INSTALL/usr/lib/libretro
cp gpsp_libretro.so $INSTALL/usr/lib/libretro/
mkdir -p ${INSTALL}/usr/lib/libretro
if [ "${ARCH}" = "aarch64" ]
then
cp -vP ${PKG_BUILD}/../../build.${DISTRO}-${DEVICE}.arm/gpsp-*/.install_pkg/usr/lib/libretro/gpsp_libretro.so ${INSTALL}/usr/lib/libretro/
else
cp ${PKG_BUILD}/gpsp_libretro.so ${INSTALL}/usr/lib/libretro/
fi
}

View file

@ -304,7 +304,7 @@ else
### Check if we need retroarch 32 bits or 64 bits
RABIN="retroarch"
if [[ "${CORE}" =~ "pcsx_rearmed" ]] || [[ "${CORE}" =~ "parallel_n64" ]]
if [[ "${CORE}" =~ "pcsx_rearmed" ]] || [[ "${CORE}" =~ "parallel_n64" ]] || [[ "${CORE}" =~ "gpsp" ]]
then
export LD_LIBRARY_PATH="/usr/lib32"
RABIN="retroarch32"

View file

@ -18,7 +18,7 @@ NOREWIND=(sega32x psx zxspectrum odyssey2 mame n64 dreamcast atomiswave naomi ne
NORUNAHEAD=(psp sega32x n64 dreamcast atomiswave naomi neogeocd saturn)
# The following systems are listed as they don't need the Analogue D-Pad mode on RA
NOANALOGUE=(n64 psx wonderswan wonderswancolor psp pspminis dreamcast)
IS32BITCORE=(pcsx_rearmed parallel_n64 parallel_n64_gln64)
IS32BITCORE=(pcsx_rearmed parallel_n64 parallel_n64_gln64 gpsp)
INDEXRATIOS=(4/3 16/9 16/10 16/15 21/9 1/1 2/1 3/2 3/4 4/1 9/16 5/4 6/5 7/9 8/3 8/7 19/12 19/14 30/17 32/9 config squarepixel core full custom)
CONF="/storage/.config/system/configs/system.cfg"

View file

@ -4,6 +4,6 @@
PKG_NAME="arm32"
PKG_LICENSE="GPL"
PKG_SITE="www.jelos.org"
PKG_DEPENDS_TARGET="toolchain squashfs-tools:host dosfstools:host fakeroot:host kmod:host mtools:host populatefs:host libc gcc linux linux-drivers linux-firmware libusb unzip socat p7zip file ${OPENGLES} SDL2 SDL2_gfx SDL2_image SDL2_mixer SDL2_net SDL2_ttf libgo2 retroarch pcsx_rearmed parallel-n64_rice parallel-n64_gln64 parallel-n64_glide64"
PKG_DEPENDS_TARGET="toolchain squashfs-tools:host dosfstools:host fakeroot:host kmod:host mtools:host populatefs:host libc gcc linux linux-drivers linux-firmware libusb unzip socat p7zip file ${OPENGLES} SDL2 SDL2_gfx SDL2_image SDL2_mixer SDL2_net SDL2_ttf libgo2 retroarch pcsx_rearmed parallel-n64_rice parallel-n64_gln64 parallel-n64_glide64 gpsp"
PKG_SECTION="virtual"
PKG_LONGDESC="Root package used to build and create 32-bit userland"