Releases: LIJI32/SameBoy
SameBoy v0.14.2
This version is backwards compatible with save states from SameBoy 0.11.x and newer.
New/Improved Features
- FreeDesktop installations now register and associate .ISX files
Accuracy Improvements/Fixes
- Fixed an audio regression where some games would play audio one octave lower when emulating a DMG
Bug Fixes
- Fixed a bug where certain Cocoa windows would incorrectly remain open after closing a ROM
SameBoy v0.14.1
This version is backwards compatible with save states from SameBoy 0.11.x and newer.
New/Improved Features
- Improvements to installation and packaging support on Linux, BSD and other FreeDesktop environments
Accuracy Improvements/Fixes
- Fixed a sweep regression when emulating DMG, SGB or CGB-C
Bug Fixes
- Fixed various potential crashes when using symbol files
- Fixed a bug where certain symbols would never be used with an offset
SameBoy v0.14
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
SameBoy v0.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
SameBoy v0.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
SameBoy v0.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
SameBoy v0.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.
SameBoy v0.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
SameBoy v0.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
SameBoy v0.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
- GameCube adapters (Both official and PC adapters): Full support, including automatic mappings, multiplayer, analog controls, and rumble
- 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