pkgsrc/emulators/sameboy/Makefile
nia 1f8367f822 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
2019-07-18 10:44:57 +00:00

34 lines
1.1 KiB
Makefile

# $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"