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

New/Improved Features

  • Emulation of the unreleased Workboy accessory in the Cocoa port
  • Emulation of Game Link Cable and infrared cross-game communication in the Cocoa port
  • Multiplayer support in the Libretro core now includes infrared support
  • The debugger now supports the undo command, which will revert the most recent state-modifying command
  • The automatic tester can now optionally output TGA files instead of BMP files
  • The debugger will now issue a warning when a ROM triggers PPU odd-mode
  • Improved support to non-QWERTY, Latin keyboard layouts in the SDL port
  • Simulation of an ambient light’s effect on the non-backlit screens of the Game Boy, with user-controlled ambient light color temperature
  • Improved menu scrolling in the SDL frontend
  • Improved mouse support in the SDL frontend, with mouse wheel scrolling and a visual scrollbar
  • The SDL port can now select a boot ROMs folder
  • The escape button now returns to the previous menu in the SDL port instead of closing it completely
  • Improved noise when emulating the Game Boy Camera on frontends without webcam support
  • The SDL port will exit cleanly and report an error if it fails to initialize
  • The automatic tester can now optionally create battery save files
  • Support of two Real Time Clock emulation modes:
    • Sync to system clock (Not affected by turbo, slow motion, pausing, etc.)
    • Accurate (Affected by the mentioned above)
  • The automation uses the new accurate RTC mode for stable results across runs
  • Refinements to the icon
  • Linux, BSD and other FreeDesktop users can now install SameBoy as both a command line utility and a GUI app by running make install

Accuracy Improvements/Fixes

  • Emulation of a scenario where an interrupt might trigger OAM corruption
  • Emulation of CGB-mode TILE_SEL mixing
  • Correct emulation of wave RAM reads when emulating a Game Boy Advance
  • Accuracy improvements to infrared
  • Accuracy improvements to the window
  • Major APU improvements, with correct emulation of countless edge cases and newly discovered quirks:
    • Complete rewrite of Channel 1’s sweep envelope
    • Complete rewrite of Channel 4’s noise generation, especially mid-pulse writes to NR43
    • Complete rewrite of the volume envelopes, including “Zombie Mode” and related quirks
  • The state of the NRx1 registers are now correctly preserved when emulating models prior to Game Boy Color
  • Emulation of a quirk where writes to NR44 might be delayed on models prior to Game Boy Color
  • Improved and more accurate color correction
  • Fixed a regression and improved the accuracy of speed switching, fixed a bug where odd-mode avoidance did not work correctly
  • Improved timing of the STOP instruction
  • Optional emulation of audio interference from the Game Boy SoC, with a user-controlled slider representing interference level
  • Emulation of an APU quirk where triggering Channels 1 and 2 might advance the duty cycle in certain cases in CGB-E (and CGB-D, currently unsupported)
  • Correct emulation of the differences between revisions when it comes to writes to NRx2 (“Zombie Mode”)
  • Accuracy improvements to RTC emulation
  • Minor improvements to MBC3 emulation
  • Prevent the printer from deadlocking if it was terminated during the transmission of a byte

Bug Fixes

  • Fixed a rare potential crash when loading symbol files
  • Fixed a bug where the Cocoa port would display wrong, dark, colors when disabling frame blending
  • Fixed a bug where the SDL and libretro ports would not update the game’s border when switching games and emulating a model other than the SGB
  • Fixed cases where the audio thread would deadlock the Cocoa frontend
  • Fixed a bug where changing the rewind length in the SDL port didn’t take effect until restarting