Skip to content

@LIJI32 LIJI32 released this Jan 2, 2020 · 1 commit to master since this release

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
Assets 4

@LIJI32 LIJI32 released this Sep 14, 2019 · 31 commits to master since this release

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

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
Assets 4

@LIJI32 LIJI32 released this Jun 22, 2019 · 73 commits to master since this release

This version is a minor bug-fixing version that only affects the SDL version. The macOS version is identical, except for the version number.

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
Assets 4

@LIJI32 LIJI32 released this Jun 21, 2019 · 76 commits to master since this release

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

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
Assets 4

@LIJI32 LIJI32 released this Nov 3, 2018 · 284 commits to master since this release

New/Improved Features

  • Each debug console in Cocoa now displays the ROM file name in its titlebar
  • SameBoy can now load RTC information from battery saves from different emulators including BGB, VisualBoyAdvance, and VisualBoyAdvance-M and vice versa. Older battery saves will automatically be converted

Accuracy Improvements/Fixes

  • More accurate emulation of DAC charging and discharging. Fixes the buzzing sound heard in several games
  • Fixed a bug where the left and right audio channel were swapped
  • More accurate GDMA and HDMA timings
  • Fixed several bugs, one of which is a regression, where channels 1 and 2 could play without a delay. Fixes missing audio in Gensan 2
  • Correct emulation of enabling and disabling the volume envelope
  • Correct emulation of a glitch where the volume envelope ticks when it usually wouldn’t
  • Compensate for CPU prefetch in DIV's initial value
  • Correct emulation of turning the DACs on and off. Fixes missing audio in several games

Bug Fixes

  • Fixed bugs in the debugger UI in Cocoa that made it unresponsive
  • Fixed a bug where the libretro core didn't save and load the RTC properly
Assets 4

@LIJI32 LIJI32 released this Jul 11, 2018 · 284 commits to master since this release

New/Improved Features

  • Introduced adaptive audio buffer length mechanism to improve audio quality systems that force big audio buffers

Accuracy Improvements/Fixes

  • Fixed a major regression where DMG games failed to switch to DMG mode when using SameBoy's CGB boot ROM

Bug Fixes

  • Fixed the titlebar color in the Cocoa frontend
  • Fixed a bug where some macOS machines running High Sierra showed graphical garbage during fullscreen mode
Assets 4

@LIJI32 LIJI32 released this Jun 29, 2018 · 289 commits to master since this release

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

New/Improved Features

  • The Cocoa and SDL ports can now rewind the game using a configurable key
  • The libretro port can now be compiled for Haiku and Wii U
  • The libretro port now has split-screen link cable emulation
  • The Cocoa and SDL ports can now under-clock the emulator for a "slow motion" effect
  • A new LCD screen filter for both the Cocoa and SDL ports
  • The new PPU and timing system introduced an up to 100% performance boost (More details in "Accuracy Improvements/Fixes")
  • A new debugger operator – {...} can now be used to dereference a pointer to a 16-bit value
  • Fullscreen support in the SDL port
  • Improved audio in the Windows SDL port, on supported versions of Windows
  • The delete and unwatch debugger commands are now less strict
  • Added joystick hat support to the SDL port
  • The Cocoa port now uses Metal on supported Macs for better performance on laptops and less capable desktops
  • The Cocoa port now allows specifying a boot ROMs folder, so it can be used with the original boot ROMs
  • Improved the Cocoa debugger, it is now more responsive and no longer truncates output
  • The lcd debugger command now shows more accurate details about what the PPU is currently doing
  • The SDL port now has proper joypad configuration, similar to the Cocoa port
  • The SDL port now has more consistent joypad menu navigation, in comparison to keyboard navigation
  • Improved analog stick controls in both ports

Accuracy Improvements/Fixes

  • This version introduced major accuracy improvements, making SameBoy able to pass:
  • Improved emulation of analog characteristics of the APU for more accurate sound
  • Emulation of an open-bus-like quirk behavior in GDMA and HDMA
  • A whole new T-cycle accurate PPU:
    • Accurate interrupt timing and blocking
    • Sprite timings are now accurate
    • Pixel pushing timing is now accurate, for pixel-perfect emulation of Prehistorik Man
    • Has accurate memory and register access timings
  • Accurate emulation of several timing edge cases related to the halt instruction
  • Accurate emulation of a DMA bus quirk on the DMG
  • Complete and accurate emulation of the OAM bug, including cases not tested by Blagg's tests
  • Fixed a regression in dmg_sound-2
  • Several accuracy fixes in SameBoy's built-in boot ROMs
  • DMA now blocks PPU OAM access
  • Correct emulation of wiring both sets of buttons in JOYP
  • Fixed a bug where HDMA and GDMA were 4 times faster than they should have been
  • I/O register access conflicts are now emulated, including behavior differences between models
  • Improved accuracy of the halt bug
  • Correct emulation of the DMG STAT-write bug, which is just a specific case of I/O register access conflict
  • Emulated an APU glitch where in some edge cases a DIV-triggered APU event is skipped

Bug Fixes

  • Minor text adjustments in both the Cocoa and SDL ports
  • Fixed the Android build of the libretro port
  • The call instruction is now properly symbolicated
  • Fixed an issue that caused the Cocoa port to play a beep sound when certain buttons were pressed
  • Fixed several graphical issues with some of the filters
  • Worked around an SDL bug introduced in the macOS port of SDL
  • Fixed a bug where SameBoy froze after leaving turbo mode
  • Fixed a bug where the Windows port could not handle Unicode paths
  • Fixed a bug where the debugger wrote to the wrong CGB RAM bank
  • Fixed a bug where debugging symbols were not properly reloaded
  • Fixed save states in the SDL port
  • Fixed a bug where battery saves were not always saved in the SDL port
  • Fixed a bug where the SWAP instruction was incorrectly disassembled as RLC
  • Fixed a bug where the Cocoa memory viewer would play a beep sound and show a warning after resetting the emulator

Misc Internal Changes

  • API refinements
  • Minor improvements to the Windows build system
  • Documented several differences between DMG revisions and CGB revisions, and between DMG and MGB. SameBoy now explicitly targets DMG-CPU-B and CGB-CPU-E, and hopefully more revisions in the future
  • The official Windows binaries now use SDL 2.0.8
Assets 4

@LIJI32 LIJI32 released this Feb 2, 2018 · 543 commits to master since this release

New/Improved Features

  • The libretro port can now be compiled for the Switch
  • Made the menu key more obvious in the SDL port
  • Can now emulate a Game Boy Advance in Game Boy Color mode
  • Changing a model in the SDL port is now done via the menu
  • Major improvements to the way the libretro port handles audio, significantly improving audio quality
  • It is now possible to select a specific model to emulate in the libretro port

Accuracy Improvements/Fixes

  • APU stereo volume levels are now scaled emulated correctly (Volume levels are 1-8, not 0-7)
  • Triggering a pulse by writing to NRx4 now correctly changes the volume level of the previously played pulse. Fixes sound pops in Link's Awekening.
  • The CGB boot now finishes with correct register values
  • Fixed APU DIV events sometimes causing audio pops in disabled channels. Fixes sound pops in Super Mario Land 2
  • Fixed a bug where the effects of NR50 and NR51 were unintentionally delayed. Fixes sound pops in Pokémon Puzzle Challenge and Donkey Kong ‘94.

Bug Fixes

  • Fixed video issues with the libretro port when using Vulkan
  • Using a Joypad in the Cocoa port did not prevent the screen saver from starting
Assets 4

@LIJI32 LIJI32 released this Dec 30, 2017 · 581 commits to master since this release

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

New/Improved Features

  • The CGB boot ROM will now wait until the user finishes choosing a palette
  • New SDL GUI:
    • More user friendly, settings are now more accessible
    • Added configurable controls
    • Added scaling filters (requires OpenGL 3.2 support)
    • Added frame blending (requires OpenGL 3.2 support)
  • Added joypad support to both the Cocoa and SDL ports

Accuracy Improvements/Fixes

  • More accurate PPU timings
  • The first frame after turning the LCD on is now skipped, as in hardware (Fixed Pokémon Pinball visual glitch)
  • Accurate emulation of VRAM and OAM blocking
  • More accurate emulation of MBC1
  • Improved serial cable timing emulation
  • Complete rewrite of the APU emulation (Fixed audio on several games)
    • APU emulation is now sample-accurate in almost all case
    • Audio is now rendered at 2MHz (like real hardware), downsampled to 96KHz (or 44.1 on Windows)
    • Passes all of Blagg's APU tests, as well as most of SameBoy's (yet-to-be-released) APU tests
    • Added 3 modes of high-pass filtering (Disabled, Emulate Hardware, and Preserve Waveforms)
  • Fixed KEY1 being writable on a CGB in DMG mode
  • Refined window behavior (Fixed visual glitches in Pokémon G/S/C)
  • SCY latching is now correctly emulated
  • Refined SCX's effects on PPU timings
  • Correctly emulate differences in interrupt timing when the CPU is in halt mode
  • More accurate emulation of interrupt servicing. (Fixed Pinball Deluxe)
  • Fixed OAM interrupt timing (Fixed Pinball Deluxe when emulating a DMG)
  • Added 4 modes of color correction (Disabled, Correct Curves, Emulate Hardware and Preserve Brightness)
  • Fixed EI behavior

Bug Fixes

  • Fixed backtrace command in the debugger (first item did not appear correct)
  • Fixed a bug that prevented saving games after resetting the emulator
  • Fixed several memory leaks
  • Fixed a bug that caused black screens after loading a save state when emulating a DMG
  • Fixed potential crashes when viewing OAMs in the VRAM viewer

Misc Internal Changes

  • API improvements
  • It is now possible to specify a boot ROM for the automatic tester
  • The Libretro core is now merged into the main branch
Assets 4

@LIJI32 LIJI32 released this Jul 12, 2017 · 750 commits to master since this release

This version is a minor bug-fixing version

Bug Fixes

  • Fixed a bug where SameBoy froze for various amounts of time after using turbo mode.
Assets 4
You can’t perform that action at this time.