aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorneonloop2023-01-25 07:02:16 +0000
committerneonloop2023-01-25 07:02:16 +0000
commitda4eb199cdb9b587f432a85b493d99b5dd62681a (patch)
treecd1c8d028ee3363e0f5ef14762b35cfacb0d7b4c
parent4383b7dad5e24eec8623a81fdb647485b6f4078a (diff)
downloadpicoarch-da4eb199cdb9b587f432a85b493d99b5dd62681a.tar.gz
picoarch-da4eb199cdb9b587f432a85b493d99b5dd62681a.tar.bz2
picoarch-da4eb199cdb9b587f432a85b493d99b5dd62681a.zip
Makes minor makefile fixes, basic support for prboom, tyrquake, scummvm
-rw-r--r--Makefile43
-rw-r--r--patches/prboom/0001-skip-zclose.patch27
2 files changed, 66 insertions, 4 deletions
diff --git a/Makefile b/Makefile
index f2488aa..6dc3659 100644
--- a/Makefile
+++ b/Makefile
@@ -18,8 +18,7 @@ CFLAGS += -I./ -I./libretro-common/include/ $(shell $(SYSROOT)/usr/bin/sdl-c
LDFLAGS = -lc -ldl -lgcc -lm -lSDL -lasound -lpng -lz -Wl,--gc-sections -flto
# Unpolished or slow cores that build
-# EXTRA_CORES += fbalpha2012
-# EXTRA_CORES += mame2003_plus
+# EXTRA_CORES += fbalpha2012 mame2003_plus prboom scummvm tyrquake
CORES = beetle-pce-fast bluemsx fceumm fmsx gambatte gme gpsp mame2000 pcsx_rearmed picodrive quicknes smsplus-gx snes9x2002 snes9x2005 $(EXTRA_CORES)
@@ -27,6 +26,8 @@ ifneq ($(platform), trimui)
CORES := $(CORES) fake-08 snes9x2005_plus snes9x2010
endif
+#CORES=tyrquake
+
beetle-pce-fast_REPO = https://github.com/libretro/beetle-pce-fast-libretro
beetle-pce-fast_CORE = mednafen_pce_fast_libretro.so
beetle-pce-fast_TYPES = pce,cue,ccd,chd,toc,m3u
@@ -70,9 +71,14 @@ pcsx_rearmed_TYPES = bin,cue,img,mdf,pbp,toc,cbn,m3u,chd
picodrive_MAKEFILE = Makefile.libretro
picodrive_TYPES = bin,gen,smd,md,32x,cue,iso,chd,sms,gg,m3u,68k,sgd
+prboom_REPO = https://github.com/libretro/libretro-prboom
+prboom_TYPES = wad,iwad,pwad,lmp
+
quicknes_REPO = https://github.com/libretro/QuickNES_Core
quicknes_TYPES = nes
+scummvm_TYPES = scummvm
+
smsplus-gx_MAKEFILE = Makefile.libretro
smsplus-gx_CORE = smsplus_libretro.so
smsplus-gx_TYPES = sms,bin,rom,col,gg,sg
@@ -90,6 +96,8 @@ snes9x2005_plus_TYPES = smc,fig,sfc,gd3,gd7,dx2,bsx,swc,zip
snes9x2010_TYPES = smc,fig,sfc,gd3,gd7,dx2,bsx,swc,zip
+tyrquake_TYPES = pak
+
ifeq ($(platform), trimui)
OBJS += plat_trimui.o
CFLAGS += -mcpu=arm926ej-s -mtune=arm926ej-s -fno-PIC -DCONTENT_DIR='"/mnt/SDCARD/Roms"'
@@ -189,11 +197,14 @@ $(foreach core,$(CORES),$(eval $(call CORE_template,$(core))))
cores: $(SOFILES)
-clean: clean-libpicofe
- rm -f $(OBJS) $(BIN) $(SOFILES)
+clean-picoarch:
+ rm -f $(OBJS) $(BIN)
rm -rf pkg
rm -f *.opk
+clean: clean-libpicofe clean-picoarch
+ rm -f $(SOFILES)
+
clean-all: $(foreach core,$(CORES),clean-$(core)) clean
force-clean: clean
@@ -507,6 +518,30 @@ picoarch.opk: $(BIN) cores
cd .opkdata && mksquashfs * ../picoarch.opk -all-root -no-xattrs -noappend -no-exports
rm -r .opkdata
+define picoarch_lite_DESKTOP
+[Desktop Entry]
+Name=picoarch-lite
+Comment=Small screen libretro frontend
+Exec=picoarch %f
+Icon=sdlretro_icon
+SelectorBrowser=true
+SelectorDir=/mnt/FunKey/.picoarch/cores
+SelectorFilter=so
+Terminal=false
+Type=Application
+StartupNotify=true
+Categories=emulators;
+endef
+
+picoarch-lite.opk: $(BIN)
+ mkdir -p .opkdata
+ $(file >picoarch.funkey-s.desktop,$(picoarch_lite_DESKTOP))
+ mv picoarch.funkey-s.desktop .opkdata
+ cp $(BIN) .opkdata
+ cd .opkdata && curl -L -O https://raw.githubusercontent.com/FunKey-Project/sdlretro/master/data/sdlretro_icon.png
+ cd .opkdata && mksquashfs * ../picoarch-lite.opk -all-root -no-xattrs -noappend -no-exports
+ rm -r .opkdata
+
picoarch-funkey-s.zip: picoarch.opk $(foreach core, $(CORES), picoarch-$(core).opk)
rm -f picoarch-funkey-s.zip
zip picoarch-funkey-s.zip README.funkey-s.md *.opk
diff --git a/patches/prboom/0001-skip-zclose.patch b/patches/prboom/0001-skip-zclose.patch
new file mode 100644
index 0000000..51b81b0
--- /dev/null
+++ b/patches/prboom/0001-skip-zclose.patch
@@ -0,0 +1,27 @@
+diff --git a/Makefile b/Makefile
+index 5dfa675..c913d73 100644
+--- a/Makefile
++++ b/Makefile
+@@ -163,7 +163,8 @@ else ifeq ($(platform), classic_armv7_a7)
+ -falign-functions=1 -falign-jumps=1 -falign-loops=1 \
+ -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-unroll-loops \
+ -fmerge-all-constants -fno-math-errno \
+- -marm -mtune=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard
++ -marm -mtune=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard \
++ -DSKIP_ZCLOSE
+ CXXFLAGS += $(CFLAGS)
+ HAVE_NEON = 1
+ ARCH = arm
+diff --git a/src/z_zone.c b/src/z_zone.c
+index bf9ec1a..5a89885 100644
+--- a/src/z_zone.c
++++ b/src/z_zone.c
+@@ -116,7 +116,7 @@ void Z_Close(void)
+ /* The libretro core will crash on
+ * close content if we free memory
+ * here while running on Windows... */
+-#if !defined(_WIN32)
++#if !defined(_WIN32) && !defined(SKIP_ZCLOSE)
+ Z_FreeTags(PU_FREE, PU_MAX);
+ #endif
+ memory_size = 0;