Releases: deltabeard/Peanut-GB
v1.2.0
This release contains several improvements to performance and compatibility. Peanut GB and MiniGB_APU have now been demonstrated to run games at full speed on the RP2040 microcontroller.
Some games may not work with Peanut-GB or have some problems; please open issue if you encounter any issues.
Thank you for your support. 😃
Overview
- MiniGB-APU now has it's own repository at https://github.com/deltabeard/minigb_apu
- MiniGB-APU now outputs 16-bit signed integer (s16) samples instead of 32-bit floating point (f32). In addition, there is no more floating point arithmetic.
- General improvements to documentation.
- When a HALT instruction is executed, Peanut-GB now calculates the emulated CPU time until an interrupt will occur instead of looping one CPU cycle at a time until a counter triggers an interrupt. This allows for a significant performance improvement in games which use the HALT instruction.
- Use compiler intrinsic functions if available for a small number of emulated CPU instructions.
- Many fixes to LCD emulation, including LY=LYC interrupt, BG over OBJ priority, mode timing, IO overwriting, etc. #66 #69 #70 #78.
- Added bootrom support using
gb_set_bootrom
. - peanut_gb.h can now be compiled as an object by defining
PEANUT_GB_HEADER_ONLY
. - Fix MBC2 emulation #80.
- Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.
Files
Peanut-SDL is an example usage of Peanut-GB. I recommend that users compile Peanut-SDL themselves, but attached below are builds for those that don't want to or know how to build Peanut-SDL from scratch.
Peanut-SDL-1.2.0-Linux-x86_64.zip Built on Arch Linux using gcc 13.1 using a shared library of sdl2 which is not included. Includes limited debugging symbols.
Peanut-SDL-1.2.0-macOS11-x86_64.zip For x86 64-bit macOS 11 and above. Includes debugging symbols.
Peanut-SDL-1.2.0-Windows-x86_32.zip For x86 32-bit Windows 7 and above. Includes debugging symbols. May require the latest Visual Studio runtime.
Peanut-SDL-1.2.0-Windows-x86_64.zip For x86 64-bit Windows 7 and above. Includes debugging symbols. May require the latest Visual Studio runtime.
v1.1.0
Improvements to LCD rendering accuracy
When running the dmg-acid2 test, Peanut-GB would previously render the following screen:
Fixes to object priority and adding sprite limits on each scanline fixed the missing exclamation mark and the left mole, as shown below:
These improvements to LCD rendering are enabled by default. These can be disabled be declaring PEANUT_GB_HIGH_LCD_ACCURACY
to 0
before including peanut_gb.h if these changes occur a performance penalty that is unnacceptable to your target platform.
Improvements to APU
Fixed issue #49 whereby poor APU emulation would crash Pokemon RBY. When ENABLE_SOUND
was defined to 0, Peanut_GB would handle APU emulation internally. This internal APU emulation was pretty much non-existant. Minor improvements to reading and writing to APU registers fixed this issue. There is no other internal emulation on the APU.
v1.0.0
Initial versioned release.