Highlights
- Add automated testing for LCD emulation. This is checked when a pull request is made.
- Fixed LSDJ not working due to MBC5 RAM bank switching not emulated correctly.
- Fixed a bug in the LCD emulation whereby the LCD was in HBlank state rather than OAM Scan after VBlank. This fixed an issue with Final Fantasy Legend III crashing on entering a battle, and the flickering in Prince of Persia (#73)
- Fixed Final Fantasy Legend III not starting because Peanut-GB was not starting the APU when a bootrom was not being used.
- Fixed Dragon Quest III, whereby halting the CPU with no interrupts enabled would cause Peanut-GB to infinite loop (#83)
- Added list of projects that use Peanut-GB to README
- Minor optimisation in the setting of
fregister in some CPU instructions. Clearing all 8 bits of the register can be faster than only clearing multiple specific bits in the register. - Use of macros to remove repetitive code in similar CPU instructions.
- Improve emulation speed by counting the duration of time that the LCD is switched off
- Improve RTC emulation accuracy (still not perfect)
- Add repeating A and B keys to peanut-sdl by @lesleyrs in #97
- Use SDL_HINT_WINDOWS_DPI_AWARENESS only if it's available by @RobLoach in #94
- Demonstrated support for Windows 3.11 with Win32s and Windows NT 3.1
- Fixed MBC3 RTC on cartridges with no RAM.
- Minor optimisations.
- Added a basic graphical UI debugger.
- Further improvements to overall emulator stability and other minor adjustments have been made to enhance the user experience.
API
- PGB_DEPRECATED macro is added to mark deprecated functions.
- gb_tick_rtc() is deprecated. The RTC is now ticked internally by Peanut-GB automatically. This will be removed in v2.0.0.
- Deprecate non-portable joypad_bits bitfield by @ccawley2011 in #106
Other changes
- Added PGB_LIKELY() and PGB_UNLIKELY() macros.
- Fixes to minifb by @lesleyrs in #99
- Fix warning due to RTC_CYCLES cast by @ccawley2011 in #104
- frontends: Fix parameter types in lcd_draw_line by @ccawley2011 in #105
- Use bool for bitfield values by @ccawley2011 in #103
- Add GB_INIT_INVALID_MAX by @ccawley2011 in #115
- Update SDL2 in peanut-sdl to v2.32.4.
- Fix incorrect free in debugger
New Contributors
- @RobLoach made their first contribution in #94
- @lesleyrs made their first contribution in #99
- @ccawley2011 made their first contribution in #104
Binaries
The attached binaries are Release builds with debug symbols attached.
Full Changelog: v1.2.0...v1.3.0