Version 0.13.6
This version is backwards compatible with save states from SameBoy 0.11.x
and newer.
New/Improved Features
* Prevent SameBoy from asking for notification permissions until that
feature is needed by an HuC-3 game
* Improved user interface on macOS Big Sur
* The SDL frontend now has the ability change the default window size
Bug Fixes
* Fixed a bug that caused the Quick Look previews to include a border on
macOS Big Sur
* Fixed a bug where the RTC might drift when loading older saves or
states, or when pausing SameBoy for a long time
Version 0.13.5
This version is backwards compatible with save states from SameBoy
0.11.x and newer.
Bug Fixes
* Fixed major regression introduced in 0.13.4 that prevented saving
progress in games and caused several other issues
Version 0.13.4
This version is backwards compatible with save states from SameBoy
0.11.x and newer.
New/Improved Features
* Native support for ARM-based Macs (Experimental)
* Improved the loading time of battery saves with an RTC time set to
the far past
Bug Fixes
* Fixed a spelling mistake in the debugger
* Fix several major regressions affecting games that use a real time
clock
Version 0.13.3
This version is backwards compatible with save states from SameBoy 0.11.x
and newer.
New/Improved Features
* The scaling filters were updated to use gamma-corrected color mixing,
improving the quality of all shaders, especially the LCD and CRT
shaders.
Bug Fixes
* Fixed a regression in the CGB and AGB boot ROMs where wrong palettes
were chosen for Nintendo DMG games.
Version 0.13.2
This version is backwards compatible with save states from SameBoy 0.11.x
and newer.
New/Improved Features
* The Cocoa debugger now has tab completion
* Conflicting key mappings are now highlighted in red in the Cocoa
button configuration dialog
* Improved Dark Mode appearance in the Cocoa port
* Better, more system native appearance for the Cocoa memory viewer
* Improved Printer Feed window in the Cocoa port, now with an option to
print with an actual printer
Bug Fixes
* Fixed a bug in the Libretro frontend that prevented certain
achievements from triggering
* Fixed a bug where the save state format effectively used by the
Windows build was not following the intended format
* The non-Windows builds can now read pre-0.13.2 Windows save states and
vice versa
* Fixed a minor compatibility issue between save states created on
32-bit machines and ones created on 64-bit machines
* Fixed a potential crash when loading certain save states while a
printer is connected in the Cocoa port
Version 0.13.1
This version is backwards compatible with save states from SameBoy 0.11.x
and newer.
Bug Fixes
* Fixed a potential memory corruption when loading certain malformed
ROMs
* Improved stability when loading corrupt preference files in the SDL
port
Version 0.13
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
Changes
This version is backwards compatible with save states from SameBoy 0.11.x
and newer.
New/Improved Features
* Super Game Boy color correction is now available in the libretro port
* It is now possible to hide the Super Game Boy border in the libretro
port
* The SDL port will now hide the mouse while a ROM is running
Accuracy Improvements/Fixes
* Changing the frequency of channels 1 and 2 is now more accurate
* Audio rendering should now be accurate when emulating Game Boy Advance
Bug Fixes
* Fixed garbled graphics while emulting Super Game Boy in the SDL port
when OpenGL 3.2 is not available
* The Cocoa build is now linked against the correct SDK version,
restoring compatbility with older macOS versions that was mistakenly
dropped in the previous release
* Fixed fullscreen related issues in the SDL port
* Fixed a bug where the SDL port did not save the battery in some cases
* Bug fixes to libretro achievement support
* Restored Game Boy Camera support on newer macOS versions
* Fixed High-DPI support on Windows 10
Misc Internal Changes
* Improvements to the audio and ICD2 APIs
* Allow compiling SameBoy for platforms with a non-standard bool size
* Improved build portability, will now use pkg-config if available
New/Improved Features
The Quick Look previewer now produces color-corrected thumbnails
The debugger now supports a wider range of symbol files
Accuracy Improvements/Fixes
Fixed a bug where samples in the wave channel were treated as if they’re 0, effectively muting the channel in some cases.
Fixed a regression that caused some PPU test ROMs to fail
More accurate emulation of memory access conflicts on the Super Game Boy
When emulating a Super Game Boy, built-in palettes for select games are now emulated
Accuracy improvements to Super Game Boy’s multiplayer mode
Super Game Boy and Game Boy Advance now have their own color correction filters
Bug Fixes
Improvements to audio in the SDL port, affecting some machines
Fixed a bug where the SDL port loaded the wrong boot ROM when emulating Super Game Boy 2
Fixed broken audio on libretro when used with some RetroArch audio drivers
Fixed a potential crash when closing a window in the Cocoa port
Fixed libretro achievements
Fixed major performence issues in the Cocoa port that affected some Macs, especially when emulating the original Super Game Boy
Misc Internal Changes
The emulation core now supports emulating a Super Game Boy without high level emulation of the SNES or SFC. SameBoy is now used for Game Boy emulation by bsnes, allowing extremely accurate low-level emulation of Super Game Boy.
Made it possible to compile the SDL port with older SDL versions
Compression improvements to the CGB and AGB boot ROMs
0.12.1:
Bug Fixes
- Fixed the CGB and AGB boot ROMs being corrupt on the Windows version
- Improved audio quality on the SDL ports on systems using a large audio buffer
0.12:
New/Improved Features
- An experimental support for emulating CGB-CPU C is now available in the Cocoa port. This is still experimental and does not accurately represent all differences between CGB-CPU E and CGB-CPU C yet
- The Libretro port no longer restarts the core after changes to the high-pass filter or color correction
- The SDL port can now start in fullscreen mode via a command line argument
- High level emulation of Super Game Boy:
- Supports game colorization
- Supports borders, including correct emulation of the fade animations and borders that obscure parts of the Game Boy display window
- Up to 4-player multiplayer (Currently only in the Cocoa and Libretro ports)
- Can choose between Super Game Boy (NTSC), Super Game Boy (PAL) and Super Game Boy 2, with correct CPU speed emulation
- All models include open source boot ROMs, just like previously supported models
- Includes a default border for games without SGB support
- Includes a boot animation
- Accurate emulation of cases where the internal frame buffer loses sync with the SNES/SFC side
- New CRT display filter
- New preference panel in the Cocoa port
- Minor visual improvements to the icon
- Many performance all around the core
- The debugger now includes jump-to breakpoints
- New APU debugger commands
- The SDL port now has mouse support
- The SDL port now has an "Open ROM" dialog window, in addition to the previously available drag and drop support
- The Cocoa and SDL ports now have better support for sub-frame input accuracy
- The VRAM display window in the Cocoa port can now display SCX and SCY on the tilemap
- Redesigned audio API that should improve audio quality in all ports
Accuracy Improvements/Fixes
- WRAM, VRAM, and other types of memory are now realistically initialized to random values. The randomization patterns vary across emulated models and revisions. This fixes several games that rely on non-zero values on boot
- Slightly more accurate emulation of the undocumented $FF4C register, which controls DMG mode on CGBs
- Fixed an APU regression where the noise channel's volume envelope ran too fast
- More accurate emulation of analog APU characteristics
- Fixed a CGB boot ROM bug that made some games boot with incorrect palettes
- Fixed incorrect emulation of echo RAM
- Fixed a very rare edge case when an interrupt occurs while the stack points to $FF11
- Correct emulation of the time required to switch the CPU speed
- Correct emulation of CGB palette accessibility in different PPU timings, fixes Lego Racers
- Other accuracy improvements to OAM and VRAM accessibility
- The serial registers now behave realistically by working with bits instead of bytes
- More accurate initial RAM and VRAM values when using the built in CGB boot ROM
- Accurate emulation of AGB audio mixing, which is different from older models
- Fixed the behavior of the wave channel's first sample playback, fixes buzzing sounds on LSDJ and several games
- Most aspects of STOP mode are now accurately emulated
- Fixed a bug where initial register values were incorrect when selecting a palette for a DMG game in the built in CGB boot ROM
- Fixed incorrect emulation of the Background and Window enable bit in LCDC
Bug Fixes
- Fixed a bug where the SDL port would not recognize joypads if started directly to a ROM
- Fixed a bug where the Quick Look previewer would show glitched thumbnails for DMG games
- Fixed a regression that made the Cocoa port unable to display anything on Macs not supporting Metal
- Fixed a bug where modifying RTC data could corrupt MBC RAM data
- Fixed a bug where CGB save states were significantly larger than they should have been, older save states are converted
- Fixed several bugs in expression parsing in the debugger
- Work around a bug where some Windows 10 machines using Intel HD Graphics had unresponsive UI in the SDL port
- Fixed a bug where the D-Pad did not work on several gamepads in the Cocoa port
- Fixed a bug where the gamepad D-Pad had unexpected behaviors in the menus of the SDL port
- Fixed a bug where underclocking slowed down the core to ~40% of its speed instead of an exact 50%
Misc Internal Changes
- Rename all Z80 instances to SM83, which is most likely the name of the CPU core used in the Game Boy
- Size optimization in the CGB boot ROM