add emulators/fbneo
FinalBurn Neo is an emulator for arcade games and select consoles. It is based on the emulators FinalBurn and old versions of MAME.
This commit is contained in:
parent
9d9712118b
commit
9af9728e70
10 changed files with 199 additions and 1 deletions
|
@ -1,4 +1,4 @@
|
|||
# $NetBSD: Makefile,v 1.349 2023/05/20 13:26:51 thorpej Exp $
|
||||
# $NetBSD: Makefile,v 1.350 2023/05/29 19:30:47 nia Exp $
|
||||
#
|
||||
|
||||
COMMENT= Emulators for other machines and systems
|
||||
|
@ -61,6 +61,7 @@ SUBDIR+= dynagen
|
|||
SUBDIR+= dynamips
|
||||
SUBDIR+= e-uae
|
||||
SUBDIR+= emulationstation
|
||||
SUBDIR+= fbneo
|
||||
SUBDIR+= fceu
|
||||
SUBDIR+= fmsx
|
||||
SUBDIR+= free42
|
||||
|
|
3
emulators/fbneo/DESCR
Normal file
3
emulators/fbneo/DESCR
Normal file
|
@ -0,0 +1,3 @@
|
|||
FinalBurn Neo is an emulator for arcade games and select consoles.
|
||||
|
||||
It is based on the emulators FinalBurn and old versions of MAME.
|
55
emulators/fbneo/Makefile
Normal file
55
emulators/fbneo/Makefile
Normal file
|
@ -0,0 +1,55 @@
|
|||
# $NetBSD: Makefile,v 1.1 2023/05/29 19:30:47 nia Exp $
|
||||
|
||||
DISTNAME= FBNeo-1.0.0.2
|
||||
PKGNAME= ${DISTNAME:tl}
|
||||
CATEGORIES= emulators
|
||||
MASTER_SITES= ${MASTER_SITE_GITHUB:=finalburnneo/}
|
||||
GITHUB_PROJECT= fbneo
|
||||
GITHUB_TAG= v${PKGVERSION_NOREV}
|
||||
|
||||
MAINTAINER= nia@NetBSD.org
|
||||
HOMEPAGE= https://github.com/finalburnneo/FBNeo
|
||||
COMMENT= FinalBurn Neo - the arcade game emulator (SDL2 version)
|
||||
LICENSE= fbalpha-license
|
||||
|
||||
USE_TOOLS+= gmake perl
|
||||
MAKE_FILE= makefile
|
||||
|
||||
WRKSRC= ${WRKDIR}/${DISTNAME}
|
||||
|
||||
BUILD_TARGET= sdl2
|
||||
|
||||
MAKE_FLAGS+= RELEASEBUILD=1
|
||||
MAKE_FLAGS+= FORCE_SYSTEM_LIBPNG=1
|
||||
MAKE_FLAGS+= INCLUDE_7Z_SUPPORT=1
|
||||
MAKE_FLAGS+= PERL=1
|
||||
|
||||
REPLACE_PERL+= src/dep/scripts/*.pl
|
||||
|
||||
.include "../../mk/bsd.prefs.mk"
|
||||
|
||||
.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
|
||||
MAKE_FLAGS+= LSB_FIRST=1
|
||||
TOOL_DEPENDS+= nasm-[0-9]*:../../devel/nasm
|
||||
.endif
|
||||
|
||||
LDFLAGS+= -lpng -lz
|
||||
|
||||
MAKE_JOBS_SAFE= no
|
||||
|
||||
INSTALLATION_DIRS+= bin
|
||||
INSTALLATION_DIRS+= share/applications
|
||||
INSTALLATION_DIRS+= share/pixmaps
|
||||
|
||||
do-install:
|
||||
${INSTALL_PROGRAM} ${WRKSRC}/fbneo ${DESTDIR}${PREFIX}/bin
|
||||
${INSTALL_DATA} ${FILESDIR}/fbneo.desktop ${DESTDIR}${PREFIX}/share/applications
|
||||
${INSTALL_DATA} ${WRKSRC}/projectfiles/xcode/Emulator/Assets.xcassets/AppIcon.appiconset/icon_128.png \
|
||||
${DESTDIR}${PREFIX}/share/pixmaps/fbneo.png
|
||||
|
||||
.include "../../devel/SDL2/buildlink3.mk"
|
||||
.include "../../devel/zlib/buildlink3.mk"
|
||||
.include "../../graphics/SDL2_image/buildlink3.mk"
|
||||
.include "../../graphics/png/buildlink3.mk"
|
||||
.include "../../sysutils/desktop-file-utils/desktopdb.mk"
|
||||
.include "../../mk/bsd.pkg.mk"
|
4
emulators/fbneo/PLIST
Normal file
4
emulators/fbneo/PLIST
Normal file
|
@ -0,0 +1,4 @@
|
|||
@comment $NetBSD: PLIST,v 1.1 2023/05/29 19:30:47 nia Exp $
|
||||
bin/fbneo
|
||||
share/applications/fbneo.desktop
|
||||
share/pixmaps/fbneo.png
|
9
emulators/fbneo/distinfo
Normal file
9
emulators/fbneo/distinfo
Normal file
|
@ -0,0 +1,9 @@
|
|||
$NetBSD: distinfo,v 1.1 2023/05/29 19:30:47 nia Exp $
|
||||
|
||||
BLAKE2s (FBNeo-1.0.0.2.tar.gz) = 53db8d6df7bffe800159d529867168889742523f9db6196972343f9a78a46b35
|
||||
SHA512 (FBNeo-1.0.0.2.tar.gz) = 5ba58d89e3f119a3521e9ba4278ca85b818912a11663be3e1aa1ab80a03fc8b76974709232c1dc27f5e5877db251d6878f7c0b9bc9e4ae4ab583a12bd617b98b
|
||||
Size (FBNeo-1.0.0.2.tar.gz) = 12171430 bytes
|
||||
SHA1 (patch-makefile) = 94c77fe8b5c8f7b924c507d7b327f9ef25bb3409
|
||||
SHA1 (patch-makefile.sdl2) = a41b13f31faccf2e6bb075290f926fb64ca7b1d5
|
||||
SHA1 (patch-src_burn_burnint.h) = 1050d2088c17b0763c47fef6a0674b5eb94b7ba6
|
||||
SHA1 (patch-src_burner_burner.h) = a09ded507381d6f2bb9d4476813122a53415c01d
|
9
emulators/fbneo/files/fbneo.desktop
Normal file
9
emulators/fbneo/files/fbneo.desktop
Normal file
|
@ -0,0 +1,9 @@
|
|||
[Desktop Entry]
|
||||
Type=Application
|
||||
Encoding=UTF-8
|
||||
Name=FinalBurn Neo
|
||||
Comment=Arcade game emulator
|
||||
Icon=fbneo
|
||||
Exec=fbneo -menu -integerscale -joy
|
||||
Terminal=false
|
||||
Categories=Game;Emulator;
|
28
emulators/fbneo/patches/patch-makefile
Normal file
28
emulators/fbneo/patches/patch-makefile
Normal file
|
@ -0,0 +1,28 @@
|
|||
$NetBSD: patch-makefile,v 1.1 2023/05/29 19:30:48 nia Exp $
|
||||
|
||||
Disable stuff we don't necessarily actually want to assume.
|
||||
|
||||
--- makefile.orig 2021-05-01 20:32:23.000000000 +0000
|
||||
+++ makefile
|
||||
@@ -22,7 +22,7 @@ UNICODE = 1
|
||||
#BUILD_A68K = 1
|
||||
|
||||
# Include x86 Assembly routines
|
||||
-BUILD_X86_ASM = 1
|
||||
+#BUILD_X86_ASM = 1
|
||||
|
||||
# Include GCC optmisations for your CPU e.g use -march=native. WARNING: This might mean that the generated binaries will not run on other peoples (older) machines!
|
||||
#BUILD_NATIVE = 1
|
||||
@@ -63,10 +63,10 @@ FASTCALL = 1
|
||||
PERL = 1
|
||||
|
||||
# Endianness
|
||||
-LSB_FIRST = 1
|
||||
+#LSB_FIRST = 1
|
||||
|
||||
# Include png.h from burner.h
|
||||
-INCLUDE_LIB_PNGH = 1
|
||||
+#INCLUDE_LIB_PNGH = 1
|
||||
|
||||
# Enable CRT resolution switching
|
||||
# INCLUDE_SWITCHRES = 1
|
54
emulators/fbneo/patches/patch-makefile.sdl2
Normal file
54
emulators/fbneo/patches/patch-makefile.sdl2
Normal file
|
@ -0,0 +1,54 @@
|
|||
$NetBSD: patch-makefile.sdl2,v 1.1 2023/05/29 19:30:48 nia Exp $
|
||||
|
||||
Honour CFLAGS. Disable partial linking (incompatible with PIE).
|
||||
|
||||
Unbundle libpng and zlib.
|
||||
|
||||
--- makefile.sdl2.orig 2021-05-01 20:32:23.000000000 +0000
|
||||
+++ makefile.sdl2
|
||||
@@ -50,7 +50,7 @@ srcdir = src/
|
||||
include makefile.burn_rules
|
||||
|
||||
# Platform stuff
|
||||
-alldir += burner burner/sdl burner/sdl dep/libs/libpng dep/libs/lib7z dep/libs/zlib intf intf/video \
|
||||
+alldir += burner burner/sdl burner/sdl dep/libs/lib7z intf intf/video \
|
||||
intf/video/scalers intf/video/sdl intf/audio intf/audio/sdl intf/input intf/input/sdl intf/cd intf/cd/sdl \
|
||||
intf/perfcount intf/perfcount/sdl dep/generated
|
||||
|
||||
@@ -58,11 +58,6 @@ depobj += neocdlist.o \
|
||||
\
|
||||
conc.o cong.o dat.o gamc.o gami.o image.o ioapi.o misc.o sshot.o state.o statec.o unzip.o zipfn.o \
|
||||
\
|
||||
- adler32.o compress.o crc32.o deflate.o gzclose.o gzlib.o gzread.o gzwrite.o infback.o inffast.o inflate.o inftrees.o \
|
||||
- trees.o uncompr.o zutil.o \
|
||||
- \
|
||||
- png.o pngerror.o pngget.o pngmem.o pngpread.o pngread.o pngrio.o pngrtran.o pngrutil.o pngset.o pngtrans.o pngwio.o \
|
||||
- pngwrite.o pngwtran.o pngwutil.o \
|
||||
\
|
||||
aud_dsp.o aud_interface.o cd_interface.o inp_interface.o interface.o lowpass2.o vid_interface.o \
|
||||
vid_softfx.o vid_support.o \
|
||||
@@ -183,13 +178,13 @@ AS = nasm
|
||||
|
||||
#LDFLAGS = -static
|
||||
|
||||
-CFLAGS = -O2 -fomit-frame-pointer -Wno-write-strings \
|
||||
+CFLAGS += -Wno-write-strings \
|
||||
-Wall -Wno-long-long -Wno-sign-compare -Wno-uninitialized -Wno-unused \
|
||||
-Wno-conversion -Wno-attributes \
|
||||
-Wno-unused-parameter -Wno-unused-value -std=c99 \
|
||||
$(PLATFLAGS) $(DEF) $(incdir)
|
||||
|
||||
-CXXFLAGS = -O2 -fomit-frame-pointer -Wno-write-strings \
|
||||
+CXXFLAGS += -Wno-write-strings \
|
||||
-Wall -W -Wno-long-long \
|
||||
-Wunknown-pragmas -Wundef -Wconversion -Wno-missing-braces \
|
||||
-Wuninitialized -Wpointer-arith -Winline -Wno-multichar \
|
||||
@@ -361,7 +356,7 @@ $(NAME): $(allobj) $(objdir)drivers.o
|
||||
|
||||
else
|
||||
|
||||
-$(NAME): $(allobj) $(objdir)drivers.o
|
||||
+$(NAME): $(allobj) $(autdrv)
|
||||
@echo
|
||||
@echo Linking executable... $(NAME)
|
||||
@$(LD) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(lib)
|
20
emulators/fbneo/patches/patch-src_burn_burnint.h
Normal file
20
emulators/fbneo/patches/patch-src_burn_burnint.h
Normal file
|
@ -0,0 +1,20 @@
|
|||
$NetBSD: patch-src_burn_burnint.h,v 1.1 2023/05/29 19:30:48 nia Exp $
|
||||
|
||||
Teach fbneo about endian on NetBSD.
|
||||
|
||||
--- src/burn/burnint.h.orig 2021-05-01 20:32:23.000000000 +0000
|
||||
+++ src/burn/burnint.h
|
||||
@@ -80,6 +80,13 @@ typedef union {
|
||||
#define BURN_ENDIAN_SWAP_INT8(x) (x^1)
|
||||
#define BURN_ENDIAN_SWAP_INT16(x) ({uint16_t tt; __sthbrx(&tt, 0, x); tt;})
|
||||
#define BURN_ENDIAN_SWAP_INT32(x) ({uint32_t tt; __stwbrx(&tt, 0, x); tt;})
|
||||
+// NetBSD
|
||||
+#elif defined(__NetBSD__)
|
||||
+#include <machine/endian.h>
|
||||
+#define BURN_ENDIAN_SWAP_INT8(x) (x^1)
|
||||
+#define BURN_ENDIAN_SWAP_INT16(x) (bswap16(x))
|
||||
+#define BURN_ENDIAN_SWAP_INT32(x) (bswap32(x))
|
||||
+#define BURN_ENDIAN_SWAP_INT64(x) (bswap64(x))
|
||||
// gcc/clang
|
||||
#elif defined(__GNUC__)
|
||||
#define BURN_ENDIAN_SWAP_INT8(x) (x^1)
|
15
emulators/fbneo/patches/patch-src_burner_burner.h
Normal file
15
emulators/fbneo/patches/patch-src_burner_burner.h
Normal file
|
@ -0,0 +1,15 @@
|
|||
$NetBSD: patch-src_burner_burner.h,v 1.1 2023/05/29 19:30:48 nia Exp $
|
||||
|
||||
Make the "FORCE_SYSTEM_LIBPNG" option do the unsurprising thing.
|
||||
|
||||
--- src/burner/burner.h.orig 2021-05-01 20:32:23.000000000 +0000
|
||||
+++ src/burner/burner.h
|
||||
@@ -54,6 +54,8 @@ typedef struct tagIMAGE {
|
||||
|
||||
#if defined (INCLUDE_LIB_PNGH)
|
||||
#include "png.h"
|
||||
+#else
|
||||
+ #include <png.h>
|
||||
#endif
|
||||
|
||||
// ---------------------------------------------------------------------------
|
Loading…
Reference in a new issue