summaryrefslogtreecommitdiff
path: root/emulators
diff options
context:
space:
mode:
authornia <nia@pkgsrc.org>2021-08-10 12:20:41 +0000
committernia <nia@pkgsrc.org>2021-08-10 12:20:41 +0000
commit64ec79aedfe9e2844a431f8603ea7e700bc158b6 (patch)
treeb9a573eaa79a5792d760aad9f72d465cc88a561a /emulators
parent9d09f4d2ab066c226803e892c2a30f20313de5ee (diff)
downloadpkgsrc-64ec79aedfe9e2844a431f8603ea7e700bc158b6.tar.gz
sameboy: update to 0.14.5
Version 0.14.5 This version is backwards compatible with save states from SameBoy 0.11.x and newer, as well as save states from any BESS compliant emulator. Outside of macOS, this version is identical to 0.14.4 other than the version number. Bug Fixes * Fixed a bug that sometimes prevented opening GBS files Version 0.14.4 This version is backwards compatible with save states from SameBoy 0.11.x and newer, as well as save states from any BESS compliant emulator New/Improved Features * GBS support updated to support common non-standard formats, as well as ugetab’s GBS extensions * SameBoy is now better categorized on Linux desktops * Improved support for running without OpenGL in the SDL frontend, added command-line flag to disable OpenGL * SameBoy will now attempt to load .snX save states (used by other emulators such as BGB) if a .sX save state is not found * The Cocoa and SDL frontends now include an optional speedrun-friendly OSD * The SDL frontend now supports the -s/–stop-debugger command line flag, which starts SameBoy with a stopped debugged on the first instruction * A new realistic low contrast color correction mode, “Harsh Reality”, was added * Improved the ticks debugger command with more detailed output * Improved warnings when entering PPU or APU odd-modes * The libretro frontend has been updated to the newer options API, which majorly improves core option screens in RetroArch and other libretro interfaces Accuracy Improvements/Fixes * Improved accuracy of RTC latching * Fixed a bug that prevented STAT interrupt blocking from functioning correctly in the transition to VBlank while the OAM interrupt was disabled * Disabled an attempt to improve audio accuracy that resulted in audio regressions in several games * Improved T-cycle accuracy of VBlank * Major improvements to emulation of the STOP instruction and speed switching * MBC5’s RAM enable register is now correctly emulated as an 8-bit register * Improvements to several edge cases of the OAM corruption bug * Fixed an issue where several DMG games would boot with incorrect palettes when using SameBoy’s built-in boot ROMs Bug Fixes * Fixed a bug where the ‘O’ key could not be mapped in the SDL frontend Misc Internal Changes * The GBS APIs now allow loading from a buffer * Redundant MBC data removed from BESS save states Version 0.14.3 This version is backwards compatible with save states from SameBoy 0.11.x and newer, as well as save states from any BESS compliant emulator New/Improved Features * GBS APIs available in the core * Support for emulation of the homebrew TPP1 MBC * Save states can be dropped into emulator windows to load them in both the Cocoa and SDL frontends * SameBoy now uses the BESS (Best Effort Save State) format within its save states, allowing interoperability between big and little endian save states, future versions of SameBoy, as well as other BESS compliant emulators (Such as the incoming releases of BGB and Emulicious) Accuracy Improvements/Fixes * Fixed time syncing issues when turning the LCD off and on, fixes timing issues in Link’s Awakening * Fixed a bug where an invalid SGB command would be ignored, while the actual SGB firmware would still process it in some manner, fixes Donkey Kong Land Bug Fixes * Better handling of more edge cases in the Linux build system * Fixed a memory leak in the SDL and libretro frontends when loading a second ROM * Fixed several potential crashes involving cheat codes
Diffstat (limited to 'emulators')
-rw-r--r--emulators/sameboy/Makefile.common5
-rw-r--r--emulators/sameboy/distinfo11
-rw-r--r--emulators/sameboy/patches/patch-Core_gb.c24
3 files changed, 33 insertions, 7 deletions
diff --git a/emulators/sameboy/Makefile.common b/emulators/sameboy/Makefile.common
index 12de1ed021c..ec49aeeea37 100644
--- a/emulators/sameboy/Makefile.common
+++ b/emulators/sameboy/Makefile.common
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile.common,v 1.12 2021/03/19 12:18:56 nia Exp $
+# $NetBSD: Makefile.common,v 1.13 2021/08/10 12:20:41 nia Exp $
# used by emulators/sameboy/Makefile
# used by emulators/libretro-sameboy/Makefile
-DISTNAME= sameboy-0.14.2
+DISTNAME= sameboy-0.14.5
CATEGORIES= emulators
MASTER_SITES= ${MASTER_SITE_GITHUB:=LIJI32/}
GITHUB_PROJECT= SameBoy
@@ -15,6 +15,7 @@ USE_TOOLS+= gmake pkg-config
TOOL_DEPENDS+= rgbds-[0-9]*:../../devel/rgbds
DISTINFO_FILE= ${.CURDIR}/../../emulators/sameboy/distinfo
+PATCHDIR= ${.CURDIR}/../../emulators/sameboy/patches
# sh: /tmp/emulators/libretro-sameboy/work/SameBoy-0.13.2/build/pb12: text busy
MAKE_JOBS_SAFE= no
diff --git a/emulators/sameboy/distinfo b/emulators/sameboy/distinfo
index 5b0f59d5ffe..069cef9adfc 100644
--- a/emulators/sameboy/distinfo
+++ b/emulators/sameboy/distinfo
@@ -1,6 +1,7 @@
-$NetBSD: distinfo,v 1.10 2021/03/19 12:18:56 nia Exp $
+$NetBSD: distinfo,v 1.11 2021/08/10 12:20:41 nia Exp $
-SHA1 (sameboy-0.14.2.tar.gz) = 98700cedd551aaaf005bac3ae27509ba2f623055
-RMD160 (sameboy-0.14.2.tar.gz) = 2f5d41d890334ee89f905c4c0bc434a84b4e6e44
-SHA512 (sameboy-0.14.2.tar.gz) = a322ad8bf5faf2a325b02ca0cdd29ff4a116918607094120f5c4f36dbf06ff578887d48ff0d8d10c276f07b1b8c625ff774b9ddfd7f9ac895505c99d46e56d5a
-Size (sameboy-0.14.2.tar.gz) = 2826305 bytes
+SHA1 (sameboy-0.14.5.tar.gz) = 6f4511e6af1356c9573ef7475ac93db7615b60c9
+RMD160 (sameboy-0.14.5.tar.gz) = fb9080385df518f39693adeda74cae8cddf1decc
+SHA512 (sameboy-0.14.5.tar.gz) = 92c77891240a408615f6cc94a0e3a5bfa73480d7eec2d4e35cad858da93cfe982fb8d4e7bb3ef01dd854efbf1164556909666fef9140a87e5e8aa609a5364c11
+Size (sameboy-0.14.5.tar.gz) = 2884298 bytes
+SHA1 (patch-Core_gb.c) = 3945b96fcfa2047213e34a398b2e18b89057fdab
diff --git a/emulators/sameboy/patches/patch-Core_gb.c b/emulators/sameboy/patches/patch-Core_gb.c
new file mode 100644
index 00000000000..9e79d7fb50e
--- /dev/null
+++ b/emulators/sameboy/patches/patch-Core_gb.c
@@ -0,0 +1,24 @@
+$NetBSD: patch-Core_gb.c,v 1.1 2021/08/10 12:20:41 nia Exp $
+
+Fix building with memcpy defined as a macro (FORTIFY_SOURCE/SSP).
+
+--- Core/gb.c.orig 2021-08-01 13:19:40.000000000 +0000
++++ Core/gb.c
+@@ -307,7 +307,7 @@ int GB_load_rom(GB_gameboy_t *gb, const
+
+ static void generate_gbs_entry(GB_gameboy_t *gb, uint8_t *data)
+ {
+- memcpy(data, (uint8_t[]) {
++ memcpy(data, ((uint8_t[]) {
+ 0xCD, // Call $XXXX
+ LE16(gb->gbs_header.init_address),
+ LE16(gb->gbs_header.init_address) >> 8,
+@@ -321,7 +321,7 @@ static void generate_gbs_entry(GB_gamebo
+ LE16(gb->gbs_header.play_address) >> 8,
+ 0x18, // JR pc ± $XX
+ -10 // To HALT
+- }, GBS_ENTRY_SIZE);
++ }), GBS_ENTRY_SIZE);
+ }
+
+ void GB_gbs_switch_track(GB_gameboy_t *gb, uint8_t track)