Path to this page:
Subject: CVS commit: pkgsrc/emulators/sameboy
From: Nia Alarie
Date: 2022-07-07 07:46:15
Message id: 20220707054615.8D238FB1A@cvs.NetBSD.org
Log Message:
sameboy: update to 0.15
SameBoy v0.15
New/Improved Features
* Improved UI for the VRAM Viewer's palette and object views
* The bundled register names symbol file now correctly names several
undocumented registers
* Improved performance by better utilizing Link-Time Optimizations
* The Memory Viewer, as well as the debugger examine command, no longer
trigger side effects when reading from memory
* Introducing PPU "fast paths", improving performance by up to \
34% with
not accuracy losses
* Removed the use of slow floating point arithmetics in the APU code to
improve performance
* Introducing lazy APU output generation, improving performance by up to
17%
* Link-Time Optimizations are now enabled for Windows build,
significantly improving performance on Windows
* A new dma debugger command
* New icon, minor visual refresh across both the Cocoa and SDL frontends
* The debugger apu commands now display a single channel
* Audio recording is now available in both the Cocoa and SDL frontends
* The SDL frontend now uses XAudio2 on Windows, when available
* The more common rX hardware symbol naming scheme now replaces the IO_X
scheme; the latter remains supported
* General code optimizations for overall performance improvements
Accuracy Improvements/Fixes
* The Game Boy Pocket/Light is now available for emulation
* Every CGB revision is now available for emulation, adding CGB
revisions 0, A, B and D
* An option to select the CGB revision is now available in the SDL
port
* Added MBC7 support
* The mouse, as well as a joystick, can be used for motion controls
* Accurate timing of clearing bits in the IF register
* Improved accuracy of LY change timings
* Improved accuracy of the LY=LYC condition in revisions prior to CGB-D
* Improved emulation of a glitch that makes channel 3 use the CPU's
address bus as an index to the wave sample buffer
* Fixed an incorrectly emulated theorized glitch where writing to VRAM
in certain timings would corrupt data
* Improved emulation of the TILE_SEL glitch
* Major improvements to DMA, HDMA, and GDMA, including timings, revision
differences, interaction with halt/stop, and all sorts of bus
conflicts
* This allows pixel-perfect emulation of certain demos, such as It
Came from Planet Zilog
* Improved IR modelling, fixes Gen 2 Pokémon Mystery Gift
* Added MMM01 support, including Mani carts
* Improved emulation of channel 1/2 "zombie stepping"
* Improved serial accuracy
* Correct emulation of how SCX prolongs mode 3
* Including emulation of "SCX banging", which can disrupt the PPU
state machine and, on a real device, damage the LCD
* Improved emulation of object timings where X=0
* Fixed a regression where MBC5's initial ROM bank was not 1
* Improved emulation of the Game Boy Camera MBC
* Improved HuC-1 emulation, fixes a Robopon Japanese Prototype ROM
Bug Fixes
* Fixed a bug where certain writes, when emulating CGB-C, would corrupt
the emulator state
* Fixed a bug where the SDL fronted did not correctly load the palette
setting
* Fixed a bug where the debugger undo command was available while not
stopped
* Fixed GDMA being used incorrectly in SameBoot
* Fixed a bug where the obscured object indicator did not function
correctly in the VRAM Viewer's object view
* Fixed the Preserve Waveforms setting, now it behaves as intended
* Fixed SDL crashes on certain Linux systems
* Fixed UI issues on OS X Mavericks
* Fixed achievement supports in the Libretro frontend
* Fixed the 16x16 cartridge icon in both Cocoa and FreeDesktop
* Fixes audio glitches during the SGB jingle
* Visual fixes for the GBS player on macOS Big Sur and newer
Misc Internal Changes
* Improvements to the input hints API
* Added safe memory read API
* New memory write callback API
* New API to determine DMG-mode CGB
* Improved APIs to handle input
* New execution callback API
* New LCD line callback API
* An API for adjusting the RTC speed, for TAS verifications
* An API for detecting lag frames
* The direct access API now supports accessing the CPU registers
* An API for allowing illegal directional inputs
* General preparation for future support of different AGB revisions
Files: