Skip to content

Releases: deltabeard/Peanut-GB

v1.2.0

06 May 19:48
v1.2.0
Compare
Choose a tag to compare

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.
    DMG-ACID2 Test on Peanut-SDL
  • 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

04 May 08:51
v1.1.0
fff1d2e
Compare
Choose a tag to compare

Improvements to LCD rendering accuracy

When running the dmg-acid2 test, Peanut-GB would previously render the following screen:
bef

Fixes to object priority and adding sprite limits on each scanline fixed the missing exclamation mark and the left mole, as shown below:
aft

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

09 Apr 17:29
v1.0.0
c22bfd4
Compare
Choose a tag to compare

Initial versioned release.