bsnes_libretro: bump to v0.94+git20171227 (#2264)

This commit is contained in:
Benjamin FRANCOIS
2018-03-04 02:29:24 -08:00
committed by fbrosson
parent f1d259d37f
commit 4639e27686
6 changed files with 316 additions and 66 deletions

View File

@@ -0,0 +1,68 @@
display_name = "Nintendo - SNES / Famicom (bsnes Accuracy)"
authors = "byuu"
supported_extensions = "sfc|smc|bml"
corename = "bsnes/higan Accuracy"
manufacturer = "Nintendo"
categories = "Emulator"
systemname = "Super Nintendo Entertainment System"
database = "Nintendo - Super Nintendo Entertainment System|Nintendo - Super Nintendo Entertainment System Hacks|Nintendo - Sufami Turbo"
license = "GPLv3"
permissions = ""
display_version = "@DISPLAY_VERSION@ (Accuracy)"
supports_no_game = "false"
firmware_count = 18
firmware0_desc = "dsp1.data.rom"
firmware0_path = "dsp1.data.rom"
firmware0_opt = "true"
firmware1_desc = "dsp1.program.rom"
firmware1_path = "dsp1.program.rom"
firmware1_opt = "true"
firmware2_desc = "dsp1b.data.rom"
firmware2_path = "dsp1b.data.rom"
firmware2_opt = "true"
firmware3_desc = "dsp1b.program.rom"
firmware3_path = "dsp1b.program.rom"
firmware3_opt = "true"
firmware4_desc = "dsp2.data.rom"
firmware4_path = "dsp2.data.rom"
firmware4_opt = "true"
firmware5_desc = "dsp2.program.rom"
firmware5_path = "dsp2.program.rom"
firmware5_opt = "true"
firmware6_desc = "dsp3.data.rom"
firmware6_path = "dsp3.data.rom"
firmware6_opt = "true"
firmware7_desc = "dsp3.program.rom"
firmware7_path = "dsp3.program.rom"
firmware7_opt = "true"
firmware8_desc = "dsp4.data.rom"
firmware8_path = "dsp4.data.rom"
firmware8_opt = "true"
firmware9_desc = "dsp4.program.rom"
firmware9_path = "dsp4.program.rom"
firmware9_opt = "true"
firmware10_desc = "cx4.data.rom"
firmware10_path = "cx4.data.rom"
firmware10_opt = "true"
firmware11_desc = "st010.data.rom"
firmware11_path = "st010.data.rom"
firmware11_opt = "true"
firmware12_desc = "st010.program.rom"
firmware12_path = "st010.program.rom"
firmware12_opt = "true"
firmware13_desc = "st011.data.rom"
firmware13_path = "st011.data.rom"
firmware13_opt = "true"
firmware14_desc = "st011.program.rom"
firmware14_path = "st011.program.rom"
firmware14_opt = "true"
firmware15_desc = "st018.data.rom"
firmware15_path = "st018.data.rom"
firmware15_opt = "true"
firmware16_desc = "st018.program.rom"
firmware16_path = "st018.program.rom"
firmware16_opt = "true"
firmware17_desc = "sgb.boot.rom (SGB Boot Image)"
firmware17_path = "sgb.boot.rom"
firmware17_opt = "true"
notes = "[1] bsnes/higan Accuracy uses split ROMS for special chip games.|[*] Notable DSP1/DSP1B Games: Super Mario Kart, Pilotwings|[*] Notable DSP2 Games: Dungeon Master|[*] Notable DSP3 Games: SD Gundam GX|[*] Notable DSP4 Games: Top Gear 3000|[*] Notable Cx4 Games: Mega Man X2, Mega Man X3|[2] SGB Emulation will only work with command line."

View File

@@ -0,0 +1,68 @@
display_name = "Nintendo - SNES / Famicom (bsnes Balanced)"
authors = "byuu"
supported_extensions = "sfc|smc|bml"
corename = "bsnes/higan Balanced"
manufacturer = "Nintendo"
categories = "Emulator"
systemname = "Super Nintendo Entertainment System"
database = "Nintendo - Super Nintendo Entertainment System|Nintendo - Super Nintendo Entertainment System Hacks|Nintendo - Sufami Turbo"
license = "GPLv3"
permissions = ""
display_version = "@DISPLAY_VERSION@ (Balanced)"
supports_no_game = "false"
firmware_count = 18
firmware0_desc = "dsp1.data.rom"
firmware0_path = "dsp1.data.rom"
firmware0_opt = "true"
firmware1_desc = "dsp1.program.rom"
firmware1_path = "dsp1.program.rom"
firmware1_opt = "true"
firmware2_desc = "dsp1b.data.rom"
firmware2_path = "dsp1b.data.rom"
firmware2_opt = "true"
firmware3_desc = "dsp1b.program.rom"
firmware3_path = "dsp1b.program.rom"
firmware3_opt = "true"
firmware4_desc = "dsp2.data.rom"
firmware4_path = "dsp2.data.rom"
firmware4_opt = "true"
firmware5_desc = "dsp2.program.rom"
firmware5_path = "dsp2.program.rom"
firmware5_opt = "true"
firmware6_desc = "dsp3.data.rom"
firmware6_path = "dsp3.data.rom"
firmware6_opt = "true"
firmware7_desc = "dsp3.program.rom"
firmware7_path = "dsp3.program.rom"
firmware7_opt = "true"
firmware8_desc = "dsp4.data.rom"
firmware8_path = "dsp4.data.rom"
firmware8_opt = "true"
firmware9_desc = "dsp4.program.rom"
firmware9_path = "dsp4.program.rom"
firmware9_opt = "true"
firmware10_desc = "cx4.data.rom"
firmware10_path = "cx4.data.rom"
firmware10_opt = "true"
firmware11_desc = "st010.data.rom"
firmware11_path = "st010.data.rom"
firmware11_opt = "true"
firmware12_desc = "st010.program.rom"
firmware12_path = "st010.program.rom"
firmware12_opt = "true"
firmware13_desc = "st011.data.rom"
firmware13_path = "st011.data.rom"
firmware13_opt = "true"
firmware14_desc = "st011.program.rom"
firmware14_path = "st011.program.rom"
firmware14_opt = "true"
firmware15_desc = "st018.data.rom"
firmware15_path = "st018.data.rom"
firmware15_opt = "true"
firmware16_desc = "st018.program.rom"
firmware16_path = "st018.program.rom"
firmware16_opt = "true"
firmware17_desc = "sgb.boot.rom (SGB Boot Image)"
firmware17_path = "sgb.boot.rom"
firmware17_opt = "true"
notes = "[1] bsnes/higan Balanced uses split ROMS for special chip games.|[*] Notable DSP1/DSP1B Games: Super Mario Kart, Pilotwings|[*] Notable DSP2 Games: Dungeon Master|[*] Notable DSP3 Games: SD Gundam GX|[*] Notable DSP4 Games: Top Gear 3000|[*] Notable Cx4 Games: Mega Man X2, Mega Man X3|[2] SGB Emulation will only work with command line."

View File

@@ -0,0 +1,65 @@
display_name = "Nintendo - SNES / Famicom (bsnes Performance)"
authors = "byuu"
supported_extensions = "sfc|smc|bml"
corename = "bsnes/higan Performance"
manufacturer = "Nintendo"
categories = "Emulator"
systemname = "Super Nintendo Entertainment System"
database = "Nintendo - Super Nintendo Entertainment System|Nintendo - Super Nintendo Entertainment System Hacks|Nintendo - Sufami Turbo"
license = "GPLv3"
permissions = ""
display_version = "@DISPLAY_VERSION@ (Performance)"
supports_no_game = "false"
firmware_count = 17
firmware0_desc = "dsp1.data.rom"
firmware0_path = "dsp1.data.rom"
firmware0_opt = "true"
firmware1_desc = "dsp1.program.rom"
firmware1_path = "dsp1.program.rom"
firmware1_opt = "true"
firmware2_desc = "dsp1b.data.rom"
firmware2_path = "dsp1b.data.rom"
firmware2_opt = "true"
firmware3_desc = "dsp1b.program.rom"
firmware3_path = "dsp1b.program.rom"
firmware3_opt = "true"
firmware4_desc = "dsp2.data.rom"
firmware4_path = "dsp2.data.rom"
firmware4_opt = "true"
firmware5_desc = "dsp2.program.rom"
firmware5_path = "dsp2.program.rom"
firmware5_opt = "true"
firmware6_desc = "dsp3.data.rom"
firmware6_path = "dsp3.data.rom"
firmware6_opt = "true"
firmware7_desc = "dsp3.program.rom"
firmware7_path = "dsp3.program.rom"
firmware7_opt = "true"
firmware8_desc = "dsp4.data.rom"
firmware8_path = "dsp4.data.rom"
firmware8_opt = "true"
firmware9_desc = "dsp4.program.rom"
firmware9_path = "dsp4.program.rom"
firmware9_opt = "true"
firmware10_desc = "st010.data.rom"
firmware10_path = "st010.data.rom"
firmware10_opt = "true"
firmware11_desc = "st010.program.rom"
firmware11_path = "st010.program.rom"
firmware11_opt = "true"
firmware12_desc = "st011.data.rom"
firmware12_path = "st011.data.rom"
firmware12_opt = "true"
firmware13_desc = "st011.program.rom"
firmware13_path = "st011.program.rom"
firmware13_opt = "true"
firmware14_desc = "st018.data.rom"
firmware14_path = "st018.data.rom"
firmware14_opt = "true"
firmware15_desc = "st018.program.rom"
firmware15_path = "st018.program.rom"
firmware15_opt = "true"
firmware16_desc = "sgb.boot.rom (SGB Boot Image)"
firmware16_path = "sgb.boot.rom"
firmware16_opt = "true"
notes = "[1] bsnes/higan Performance uses split ROMS for special chip games.|[*] Notable DSP1/DSP1B Games: Super Mario Kart, Pilotwings|[*] Notable DSP2 Games: Dungeon Master|[*] Notable DSP3 Games: SD Gundam GX|[*] Notable DSP4 Games: Top Gear 3000|[2] Emulation for Cx4 games is broken."

View File

@@ -0,0 +1,64 @@
SUMMARY="A port of bsnes to the libretro architecture"
DESCRIPTION="bsnes is an accurate SNES emulator, but can also emulate the NES, \
Game Boy (DMG), Game Boy Color, and Game Boy Advance systems. This package \
provides three different profiles: one focuses on accuracy but can be \
CPU-intensive, one focuses on speed but is less accurate, and one is \
attempting to provide a reasonable balance between the previous two."
HOMEPAGE="https://byuu.org/emulation/higan/"
COPYRIGHT="2014-2018 byuu, the libretro team"
LICENSE="GNU GPL v3"
REVISION="1"
srcGitRev="4e572a3cfa10e56bedb6737b0494e8165f6490d5"
SOURCE_URI="https://github.com/libretro/bsnes-libretro/archive/$srcGitRev.tar.gz"
CHECKSUM_SHA256="77255571b654ef1b7559608818393dc8377c657dc30aa7d3ec45e40662c99a31"
SOURCE_DIR="bsnes-libretro-$srcGitRev"
PATCHES="bsnes_libretro-$portVersion.patchset"
ADDITIONAL_FILES="
bsnes_accuracy_libretro.info.in
bsnes_balanced_libretro.info.in
bsnes_performance_libretro.info.in
"
ARCHITECTURES="!x86_gcc2 ?x86 x86_64"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
bsnes_libretro$secondaryArchSuffix = $portVersion
lib:bsnes_accuracy_libretro$secondaryArchSuffix = $portVersion
lib:bsnes_balanced_libretro$secondaryArchSuffix = $portVersion
lib:bsnes_performance_libretro$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
"
SUPPLEMENTS="
retroarch$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
"
BUILD_PREREQUIRES="
cmd:gcc$secondaryArchSuffix
cmd:make
"
BUILD()
{
for bsnesProfile in "accuracy" "balanced" "performance"; do
sed -e "s/@DISPLAY_VERSION@/v${portVersion%.git*}/" \
$portDir/additional-files/bsnes_"$bsnesProfile"_libretro.info.in \
> bsnes_"$bsnesProfile"_libretro.info
make $jobArgs profile="$bsnesProfile"
done
}
INSTALL()
{
install -d "$libDir"/libretro
for bsnesProfile in "accuracy" "balanced" "performance"; do
install -t "$libDir"/libretro \
out/bsnes_"$bsnesProfile"_libretro.so \
bsnes_"$bsnesProfile"_libretro.info
done
}

View File

@@ -1,41 +0,0 @@
SUMMARY="A port of bsnes to the libretro architecture"
DESCRIPTION="bsnes is a SNES, NES, and Game Boy (DMG), Color, and Advance \
emulator. It has a focus on accuracy, but also on speed and can also emulate \
the Super Game Boy."
HOMEPAGE="http://wiki.libretro.com/index.php?title=Bsnes"
COPYRIGHT="2014-2015 byuu, the libretro team"
LICENSE="GNU GPL v3"
REVISION="1"
SOURCE_URI="https://github.com/libretro/bsnes-libretro/archive/4a98250c9bf814d3b48ae8e7836a72115823c05a.tar.gz"
CHECKSUM_SHA256="ae3742fdffce9581ff92ce56bd407dd53afe60efa6efa044bde79f3d89629c39"
SOURCE_DIR="bsnes-libretro-4a98250c9bf814d3b48ae8e7836a72115823c05a"
ARCHITECTURES="!x86_gcc2 ?x86 ?x86_64"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
bsnes_libretro$secondaryArchSuffix = $portVersion
lib:bsnes_libretro$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
"
BUILD_PREREQUIRES="
cmd:make
cmd:gcc$secondaryArchSuffix
"
BUILD()
{
make $jobArgs ui=target-libretro
}
INSTALL()
{
mkdir -p $libDir
cp -a out/bsnes_libretro.so $libDir
}

View File

@@ -1,14 +1,14 @@
From 56a7340a68473a078cc321d4c50bf8a0d1628efd Mon Sep 17 00:00:00 2001
From 14cffc4226e26fae9179841806780800592927d7 Mon Sep 17 00:00:00 2001
From: Puck Meerburg <puck@puckipedia.nl>
Date: Sat, 17 Jan 2015 19:54:22 +0100
Subject: Fix Haiku build
diff --git a/Makefile b/Makefile
index 70f3e6d..96e38da 100644
index e208c15..073dc3c 100644
--- a/Makefile
+++ b/Makefile
@@ -47,6 +47,9 @@ ifeq ($(findstring libretro,$(ui)),)
@@ -62,6 +62,9 @@ ifeq ($(findstring libretro,$(ui)),)
ifeq ($(platform),x)
flags += -march=native
link += -Wl,-export-dynamic -ldl -lX11 -lXext
@@ -19,25 +19,24 @@ index 70f3e6d..96e38da 100644
ifeq ($(arch),win32)
flags += -m32
diff --git a/nall/Makefile b/nall/Makefile
index 4e12a39..051cfe2 100755
index 94b58fc..6d7174e 100644
--- a/nall/Makefile
+++ b/nall/Makefile
@@ -25,6 +25,9 @@ ifeq ($(platform),)
@@ -22,6 +22,8 @@ ifeq ($(platform),)
platform := windows
else ifneq ($(findstring Darwin,$(uname)),)
platform := osx
delete = rm -f $1
+ else ifneq ($(findstring Haiku,$(uname)),)
+ platform := haiku
+ delete = rm -f $1
else
platform := unix
delete = rm -f $1
endif
diff --git a/nall/directory.hpp b/nall/directory.hpp
index 45a062c..d711554 100644
index 691b31e..a930191 100644
--- a/nall/directory.hpp
+++ b/nall/directory.hpp
@@ -190,12 +190,18 @@ private:
while(ep = readdir(dp)) {
while((ep = readdir(dp))) {
if(!strcmp(ep->d_name, ".")) continue;
if(!strcmp(ep->d_name, "..")) continue;
+#if defined(PLATFORM_HAIKU)
@@ -56,7 +55,7 @@ index 45a062c..d711554 100644
if(strmatch(ep->d_name, pattern)) list.append(ep->d_name);
}
@@ -215,7 +221,13 @@ private:
while(ep = readdir(dp)) {
while((ep = readdir(dp))) {
if(!strcmp(ep->d_name, ".")) continue;
if(!strcmp(ep->d_name, "..")) continue;
+#if defined(PLATFORM_HAIKU)
@@ -70,7 +69,7 @@ index 45a062c..d711554 100644
}
}
diff --git a/nall/intrinsics.hpp b/nall/intrinsics.hpp
index db44996..e3dc078 100755
index 7377ed1..7a4784a 100644
--- a/nall/intrinsics.hpp
+++ b/nall/intrinsics.hpp
@@ -3,7 +3,7 @@
@@ -79,7 +78,7 @@ index db44996..e3dc078 100755
enum class Compiler : unsigned { Clang, GCC, VisualCPP, Unknown };
- enum class Platform : unsigned { Windows, MacOSX, X, Unknown }; //X = Linux, BSD, etc
+ enum class Platform : unsigned { Windows, MacOSX, X, BeAPI, Unknown }; //X = Linux, BSD, etc
enum class Architecture : unsigned { x86, amd64, ARM, Unknown };
enum class Architecture : unsigned { x86, amd64, ARM, aarch64, Unknown };
enum class Endian : unsigned { LSB, MSB, Unknown };
@@ -38,6 +38,9 @@ struct Intrinsics {
@@ -93,27 +92,54 @@ index db44996..e3dc078 100755
#warning "unable to detect platform"
#define PLATFORM_UNKNOWN
diff --git a/target-libretro/Makefile b/target-libretro/Makefile
index b923e2b..66bf743 100755
index 997cd48..13dc9ba 100644
--- a/target-libretro/Makefile
+++ b/target-libretro/Makefile
@@ -7,6 +7,8 @@ output := libretro
@@ -9,6 +9,8 @@ core_installdir := $(prefix)/lib
ifeq ($(platform),unix)
ifeq ($(platform),linux)
flags += -fPIC
+else ifeq ($(platform),haiku)
+ flags += -fPIC
else ifeq ($(platform),osx)
flags += -fPIC
else ifeq ($(platform),ios)
@@ -35,6 +37,8 @@ obj/libretro.o: $(ui)/libretro.cpp $(ui)/*
else ifneq (,$(findstring ios,$(platform)))
@@ -47,6 +49,8 @@ obj/libretro-$(profile).o: $(ui)/libretro.cpp $(ui)/*
build: $(objects)
ifeq ($(platform),unix)
$(compiler) -o out/bsnes_libretro.so -shared $(objects) -ldl -Wl,--no-undefined -Wl,--version-script=$(ui)/link.T
ifeq ($(platform),linux)
$(compiler) -o out/bsnes_$(profile)_libretro.so -shared $(objects) -ldl -Wl,--no-undefined -Wl,--version-script=$(ui)/link.T
+else ifeq ($(platform),haiku)
+ $(compiler) -o out/bsnes_libretro.so -shared $(objects) -lnetwork -Wl,--no-undefined -Wl,--version-script=$(ui)/link.T
else ifeq ($(platform),ios)
$(compiler) -o out/bsnes_libretro_ios.dylib -dynamiclib $(objects) -isysroot $(IOSSDK) -arch armv7
else ifeq ($(platform),osx)
+ $(compiler) -o out/bsnes_$(profile)_libretro.so -shared $(objects) -lnetwork -Wl,--no-undefined -Wl,--version-script=$(ui)/link.T
else ifneq (,$(findstring ios,$(platform)))
ifeq ($(platform),ios-arm64)
$(compiler) -o out/bsnes_$(profile)_libretro_ios.dylib -dynamiclib $(objects) -isysroot $(IOSSDK) -arch arm64
--
1.8.3.4
2.16.2
From 246e7cdeb44452454c4c4b8e3f148f1a09693a04 Mon Sep 17 00:00:00 2001
From: Benjamin FRANCOIS <kwyxz@kwyxz.org>
Date: Sat, 3 Mar 2018 02:06:40 +0000
Subject: Fix endianness
diff --git a/nall/platform.hpp b/nall/platform.hpp
index e5e3f8e..36f0f6c 100644
--- a/nall/platform.hpp
+++ b/nall/platform.hpp
@@ -44,7 +44,11 @@ namespace Math {
#ifdef __linux__
#include <endian.h>
#else
- #include <machine/endian.h>
+ #if defined(__HAIKU__)
+ #include <posix/endian.h>
+ #else
+ #include <machine/endian.h>
+ #endif
#endif
#include <unistd.h>
#include <pwd.h>
--
2.16.2