Downloads

Changes

This version is backwards compatible with save states from SameBoy 0.11.x and newer.

New/Improved Features

  • When emulating a Game Boy, you can now select out of 4 different palettes
  • New Monochrome LCD scaling filter
  • It is now possible to display Super Game Boy, or a built-in default border, even when emulating different models
  • Improvements to the built-in boot ROMs; the DMG boot ROM has a new animation, and the CGB boot ROM now features an anti-aliased logo
  • Gamma correction added to the CRT scaling filter
  • Add “Reduce Contrast” as an additional color correction mode
  • Optional more accurate frame blending mode, emulating the scanline-like appearance of actual Game Boy displays
  • The next debugger command now skips over HALT
  • The registers debugger command now display IME as well
  • Added volume control to the SDL frontend
  • The SDL frontend will now load and save “prefs.bin” relative to the binary if such file exists
  • The sidebar in the Cocoa debugger is now resizable and collapsable
  • The Cocoa frontend now supports cheats
  • Added support to ISX files, used by the official toolchain
  • Rewritten and improved controller support in Cocoa, featuring rumble, player LEDs, and analog controls for turbo and slow motion. Controller support:
    • GameCube adapters (Both official and PC adapters): Full support, including automatic mappings, multiplayer, analog controls, and rumble
      • Unofficial adapters in PC mode support analog rumble, as opposed to PWM binary rumble; the use of PC mode is recommended
    • Generic “Twin USB” DualShock 2 PC adapter: Automatic mapping, multiplayer support
    • Switch Pro Controller: Full support, including automatic mappings, rumble, and player LEDs; via both USB and Bluetooth
    • DualShock 3: Full support, including automatic mappings, rumble, player LEDs, and analog controls; via both USB and Bluetooth
      • Some Macs seem to be unable to communicate LED and rumble information to DualShock 3 controllers; the use of USB for this controller is recommended
    • Generic controllers: Basic functionality, may need to be manually remapped in settings
    • Support for more controllers will come in future releases
  • Optionally add rumble support to all games, even those without a Rumble Pak, in all frontends
    • SDL rumble support varies between operating systems and SDL versions
  • The debugger now allows more than one symbol at the same address
  • Added the softbreak debugger command to enable/disable software breakpoints (ld b, b)
  • The SDL debugger now always outputs “>” when it’s waiting for an input
  • The SDL debugger allows the use of the magic binary sequence "\x03\x0a" to break the debugger from stdin in async-capable platforms

Accuracy Improvements/Fixes

  • Fixed a regression bug that made the first frame blank instead of repeated on the Game Boy Color
  • Fixed an APU sequencer edge case
  • Fixed a bug affecting HDMA timing
  • Color correction is now more accurate
  • Correct emulation of the OPRI register
  • More accurate emulation of STOP mode
  • More accurate emulation of LCDC write conflicts; although individual units may behave differently
  • Emulation of cases where PPU object fetched are aborted in the middle
  • Correct emulation of changing object height during fetch
  • More accurate emulation of the PPU fetcher’s timings
  • Accurate emulation of SCX’s upper 5 bits changing mid-line
  • Rewritten window implementation, which is much more accurate now, including the various timing scenarios
  • More accurate emulation of background FIFO push timings
  • Emulate some of the cases where the PPU and LCD desync
  • Accurate emulation of tilemap advance timings
  • Implement a missing SGB command (ATTR_CHR)
  • More accurate MBC2 emulation
  • More accurate MBC3 emulation and proper MBC30 support
  • Correct emulation of PCM12 and PCM34 reads when emulating CGB-C
  • Improved HuC-1 emulation
  • HuC-3 emulation, including RTC and alarm clock emulation
    • Alarm clock emulation is only supported in the Cocoa frontend
  • Partial emulation of glitched VRAM reads that happen right after mode 3

Bug Fixes

  • Fixed a bug with scrolling menus in the SDL frontend when emulating a Super Game Boy
  • Fixed cases where the Cocoa frontend froze
  • Fixed a bug where an incorrect minimum window size was enforced on the Cocoa frontend
  • Assignments to 16-bit expression in the debugger is now working correctly
  • Fixed operator priorities in the debugger
  • Fixed a debugger parsing bug
  • Fixed compatibility with older macOS versions in the Cocoa version, restoring support for 10.9 (Mavericks) and newer

Misc Internal Changes

  • Added per-commit automatic GitHub builds, with basic sanity tests
  • When building the SDL frontend on macOS, the Brew version of SDL2 is used
  • Fixed various compilation errors with GCC
  • Make the libretro frontend compile without warnings
  • HuC-1 and HuC-3 IR are emulated now, but this is not currently supported in any frontend