diff options
author | nia <nia@pkgsrc.org> | 2019-07-18 10:44:57 +0000 |
---|---|---|
committer | nia <nia@pkgsrc.org> | 2019-07-18 10:44:57 +0000 |
commit | b107e82670a4d01fa70788c54644ea531cfe5f23 (patch) | |
tree | 617e7d6d0ff80c21b00949e4225c10baa02330c6 /emulators/sameboy | |
parent | b8f1da65982f16b3ec135c978b759c5d24fca550 (diff) | |
download | pkgsrc-b107e82670a4d01fa70788c54644ea531cfe5f23.tar.gz |
sameboy: Update to 0.12.1. Add the SDL version.
0.12.1:
Bug Fixes
- Fixed the CGB and AGB boot ROMs being corrupt on the Windows version
- Improved audio quality on the SDL ports on systems using a large audio buffer
0.12:
New/Improved Features
- An experimental support for emulating CGB-CPU C is now available in the Cocoa port. This is still experimental and does not accurately represent all differences between CGB-CPU E and CGB-CPU C yet
- The Libretro port no longer restarts the core after changes to the high-pass filter or color correction
- The SDL port can now start in fullscreen mode via a command line argument
- High level emulation of Super Game Boy:
- Supports game colorization
- Supports borders, including correct emulation of the fade animations and borders that obscure parts of the Game Boy display window
- Up to 4-player multiplayer (Currently only in the Cocoa and Libretro ports)
- Can choose between Super Game Boy (NTSC), Super Game Boy (PAL) and Super Game Boy 2, with correct CPU speed emulation
- All models include open source boot ROMs, just like previously supported models
- Includes a default border for games without SGB support
- Includes a boot animation
- Accurate emulation of cases where the internal frame buffer loses sync with the SNES/SFC side
- New CRT display filter
- New preference panel in the Cocoa port
- Minor visual improvements to the icon
- Many performance all around the core
- The debugger now includes jump-to breakpoints
- New APU debugger commands
- The SDL port now has mouse support
- The SDL port now has an "Open ROM" dialog window, in addition to the previously available drag and drop support
- The Cocoa and SDL ports now have better support for sub-frame input accuracy
- The VRAM display window in the Cocoa port can now display SCX and SCY on the tilemap
- Redesigned audio API that should improve audio quality in all ports
Accuracy Improvements/Fixes
- WRAM, VRAM, and other types of memory are now realistically initialized to random values. The randomization patterns vary across emulated models and revisions. This fixes several games that rely on non-zero values on boot
- Slightly more accurate emulation of the undocumented $FF4C register, which controls DMG mode on CGBs
- Fixed an APU regression where the noise channel's volume envelope ran too fast
- More accurate emulation of analog APU characteristics
- Fixed a CGB boot ROM bug that made some games boot with incorrect palettes
- Fixed incorrect emulation of echo RAM
- Fixed a very rare edge case when an interrupt occurs while the stack points to $FF11
- Correct emulation of the time required to switch the CPU speed
- Correct emulation of CGB palette accessibility in different PPU timings, fixes Lego Racers
- Other accuracy improvements to OAM and VRAM accessibility
- The serial registers now behave realistically by working with bits instead of bytes
- More accurate initial RAM and VRAM values when using the built in CGB boot ROM
- Accurate emulation of AGB audio mixing, which is different from older models
- Fixed the behavior of the wave channel's first sample playback, fixes buzzing sounds on LSDJ and several games
- Most aspects of STOP mode are now accurately emulated
- Fixed a bug where initial register values were incorrect when selecting a palette for a DMG game in the built in CGB boot ROM
- Fixed incorrect emulation of the Background and Window enable bit in LCDC
Bug Fixes
- Fixed a bug where the SDL port would not recognize joypads if started directly to a ROM
- Fixed a bug where the Quick Look previewer would show glitched thumbnails for DMG games
- Fixed a regression that made the Cocoa port unable to display anything on Macs not supporting Metal
- Fixed a bug where modifying RTC data could corrupt MBC RAM data
- Fixed a bug where CGB save states were significantly larger than they should have been, older save states are converted
- Fixed several bugs in expression parsing in the debugger
- Work around a bug where some Windows 10 machines using Intel HD Graphics had unresponsive UI in the SDL port
- Fixed a bug where the D-Pad did not work on several gamepads in the Cocoa port
- Fixed a bug where the gamepad D-Pad had unexpected behaviors in the menus of the SDL port
- Fixed a bug where underclocking slowed down the core to ~40% of its speed instead of an exact 50%
Misc Internal Changes
- Rename all Z80 instances to SM83, which is most likely the name of the CPU core used in the Game Boy
- Size optimization in the CGB boot ROM
Diffstat (limited to 'emulators/sameboy')
-rw-r--r-- | emulators/sameboy/DESCR | 5 | ||||
-rw-r--r-- | emulators/sameboy/Makefile | 34 | ||||
-rw-r--r-- | emulators/sameboy/Makefile.common | 18 | ||||
-rw-r--r-- | emulators/sameboy/PLIST | 24 | ||||
-rw-r--r-- | emulators/sameboy/distinfo | 6 |
5 files changed, 87 insertions, 0 deletions
diff --git a/emulators/sameboy/DESCR b/emulators/sameboy/DESCR new file mode 100644 index 00000000000..0ad06939287 --- /dev/null +++ b/emulators/sameboy/DESCR @@ -0,0 +1,5 @@ +SameBoy is an extremely accurate open source Nintendo Gameboy (DMG) +and Gameboy Color (CGB) emulator, written in portable C. + +It features link cable emulation, and includes open source DMG and CGB +boot ROMs. diff --git a/emulators/sameboy/Makefile b/emulators/sameboy/Makefile new file mode 100644 index 00000000000..20ac1d58a20 --- /dev/null +++ b/emulators/sameboy/Makefile @@ -0,0 +1,34 @@ +# $NetBSD: Makefile,v 1.1 2019/07/18 10:44:57 nia Exp $ + +.include "Makefile.common" + +MAINTAINER= nia@NetBSD.org +HOMEPAGE= https://sameboy.github.io/ +COMMENT= Highly accurate Game Boy and Game Boy Color emulator + +BUILD_TARGET= sdl + +MAKE_FLAGS+= DATA_DIR=${PREFIX}/share/sameboy/ + +INSTALLATION_DIRS+= bin +INSTALLATION_DIRS+= share/doc/sameboy +INSTALLATION_DIRS+= share/sameboy +INSTALLATION_DIRS+= share/sameboy/Shaders + +BUILDLINK_TRANSFORM+= rm:-Werror + +do-install: + cd ${WRKSRC}/build/bin/SDL && ${INSTALL_PROGRAM} sameboy \ + ${DESTDIR}${PREFIX}/bin/sameboy + cd ${WRKSRC}/build/bin/SDL && ${INSTALL_DATA} *.bin *.sym *.bmp \ + ${DESTDIR}${PREFIX}/share/sameboy + cd ${WRKSRC}/build/bin/SDL && ${INSTALL_DATA} LICENSE \ + ${DESTDIR}${PREFIX}/share/doc/sameboy + cd ${WRKSRC}/build/bin/SDL/Shaders && ${INSTALL_DATA} *.fsh \ + ${DESTDIR}${PREFIX}/share/sameboy/Shaders + +.include "../../devel/SDL2/buildlink3.mk" +.include "../../graphics/MesaLib/buildlink3.mk" +.include "../../mk/dlopen.buildlink3.mk" +BUILDLINK_TRANSFORM+= opt:-ldl:${BUILDLINK_LDADD.dl:Q} +.include "../../mk/bsd.pkg.mk" diff --git a/emulators/sameboy/Makefile.common b/emulators/sameboy/Makefile.common new file mode 100644 index 00000000000..180838494cc --- /dev/null +++ b/emulators/sameboy/Makefile.common @@ -0,0 +1,18 @@ +# $NetBSD: Makefile.common,v 1.1 2019/07/18 10:44:57 nia Exp $ +# used by emulators/sameboy/Makefile +# used by emulators/libretro-sameboy/Makefile + +DISTNAME= sameboy-0.12.1 +CATEGORIES= emulators +MASTER_SITES= ${MASTER_SITE_GITHUB:=LIJI32/} +GITHUB_PROJECT= SameBoy +GITHUB_TAG= v${PKGVERSION_NOREV} + +LICENSE= mit + +EXTRACT_USING= bsdtar +USE_TOOLS+= gmake + +TOOL_DEPENDS+= rgbds-[0-9]*:../../devel/rgbds + +DISTINFO_FILE= ${.CURDIR}/../../emulators/sameboy/distinfo diff --git a/emulators/sameboy/PLIST b/emulators/sameboy/PLIST new file mode 100644 index 00000000000..cb647ba9c9b --- /dev/null +++ b/emulators/sameboy/PLIST @@ -0,0 +1,24 @@ +@comment $NetBSD: PLIST,v 1.1 2019/07/18 10:44:57 nia Exp $ +bin/sameboy +share/doc/sameboy/LICENSE +share/sameboy/Shaders/AAOmniScaleLegacy.fsh +share/sameboy/Shaders/AAScale2x.fsh +share/sameboy/Shaders/AAScale4x.fsh +share/sameboy/Shaders/Bilinear.fsh +share/sameboy/Shaders/CRT.fsh +share/sameboy/Shaders/HQ2x.fsh +share/sameboy/Shaders/LCD.fsh +share/sameboy/Shaders/MasterShader.fsh +share/sameboy/Shaders/NearestNeighbor.fsh +share/sameboy/Shaders/OmniScale.fsh +share/sameboy/Shaders/OmniScaleLegacy.fsh +share/sameboy/Shaders/Scale2x.fsh +share/sameboy/Shaders/Scale4x.fsh +share/sameboy/Shaders/SmoothBilinear.fsh +share/sameboy/agb_boot.bin +share/sameboy/background.bmp +share/sameboy/cgb_boot.bin +share/sameboy/dmg_boot.bin +share/sameboy/registers.sym +share/sameboy/sgb2_boot.bin +share/sameboy/sgb_boot.bin diff --git a/emulators/sameboy/distinfo b/emulators/sameboy/distinfo new file mode 100644 index 00000000000..f39d6111a8d --- /dev/null +++ b/emulators/sameboy/distinfo @@ -0,0 +1,6 @@ +$NetBSD: distinfo,v 1.1 2019/07/18 10:44:57 nia Exp $ + +SHA1 (sameboy-0.12.1.tar.gz) = 834f746e6f6e7979a89282b6ccf6591e7a995bde +RMD160 (sameboy-0.12.1.tar.gz) = 806694f76a86b3b347b5a5a1ca25336b3fdbfcef +SHA512 (sameboy-0.12.1.tar.gz) = c02c2d77a514dea110c1ffee56291b69e7b44fe41975c03a8df332ed3a5417c2eec71ae1ae5c8fde27b698bd19d803f1102788e34855436ba4cd06a024bd20e6 +Size (sameboy-0.12.1.tar.gz) = 2533327 bytes |