This version is not compatible with save states of older versions.

New/Improved Features

  • A symbol file for IO-registers is now included
  • The Cocoa GUI now handles errors and warnings in a more user friendly manner
  • The debugger now includes an lcd command, that outputs information about the LCD controller and related registers
  • Improved audio quality, especially on Windows, by adding supersampling support
  • Upgraded the SDL port from SDL 1.2 to SDL 2.0
  • The following features were added to the SDL port:
    • OpenGL renderer
    • Reset and pause shortcuts
    • Ability to mute and unmute the audio
    • Ability to switch model between CGB and DMG without restarting SameBoy
    • Ability to open ROMs with drag and drop
    • Resizing, with 3 different mode (Entire window, keep aspect, and integer ratio)
    • Help dialog, accessible by the Shift+? shortcut (macOS) or F1 (Other platforms)
  • Improved input in the Cocoa debugger; supports command history (up/down) and reverse search (^R)

Accuracy Improvements/Fixes

  • Much more accurate emulation of HDMA
  • The effect of the DI opcode is no longer delayed
  • SameBoy’s CGB boot ROM no longer incorrectly changes the RAM bank
  • Fixed a bug where HUC1 banks higher than 0x1F were not mapped correctly
  • Fixed a bug where MBC5 would map the wrong bank if address 3XXX is written before 2XXX is
  • The STOP instruction is now treated as a 2-byte opcode
  • LCD timing was rewritten and is now much more accurate
  • Corrected behavior of the HUC1 RAM enable switch
  • Large ROMs use MBC3 if the header claims no MBC should be use, for better compatibility with unofficial ROMs
  • Fixed a bug in the implementation of the STAT write bug
  • The value of SCX now affects the LCD’s mode 3 length
  • More accurate FPS capping that tracks time correctly even when the LCD is off
  • Window behavior rewritten and and is now much more accurate; fixes Donkey Kong ‘94
  • Fixed a bug where sound is generate on the wave channel while it shouldn’t be

The following games now pass the automatic testing:

Alfred’s Adventure, Animorphs, Armada - FX Racers, Asterix - Search for Dogmatix, Bad Badtz-Maru Robo Battle, Barbie - Pet Rescue, Bear in the Big Blue House, Blue’s Clues - Blue’s Alphabet Book, Boarder Zone, Bob et Bobette - Les Dompteurs du Temps, Caesars Palace II, Captain Knick-Knack (Sachen), Daikaijuu Monogatari - The Miracle of the Zone II, Disney’s Tarzan, Doug’s Big Game, Dragon Tales - Dragon Wings, The Emperor’s New Groove, Fort Boyard, Honkaku Yonin Uchi Mahjong - Mahjong Ou, Hoyle Casino, Kinniku Banzuke GB3 - Shinseiki Survival Retsuden!, Konami GB Collection Vol.2, Konami GB Collection Vol.4, LEGO Racers, Lemmings & Oh No! More Lemmings, Les Aventures De TinTin - Le Temple du Soleil, Matchbox - Emergency Patrol, Microsoft Entertainment Pack, Pia Carrot he Youkoso!! 2.2, Pocket Music (E), Pokemon Card GB (J), Puchi Carat, San Francisco Rush 2049, Scrabble, The Simpsons - Night of the Living Treehouse of Horror, Star Wars Episode I - Obi-Wan’s Adventures, Supreme Snowboarding, Tintin in Tibet, Toki Tori, Tomb Raider - Curse of the Sword, Turok 3 - Shadow of Oblivion, VS Lemmings, World Destruction League - Thunder Tanks, Yu-Gi-Oh! Duel Monsters 4 - Saikyou Kettousha Senki

Bug Fixes

  • The SBC instruction was incorrectly printed as “LBC” in the debugger
  • The LDH instruction was not symbolicated
  • Fixed a bug with saving and loading save states and battery states on Windows
  • Fixed a bug where saving or loading save states sometimes worked incorrectly in the SDL port
  • Fixed a bug where the VRAM window would now show correctly if the game is paused
  • Fixed a bug where ^C in the Cocoa port would not move the focus to the console

Misc Internal Changes

  • Major refinements to the API