Skip to content

Releases: LIJI32/SameBoy

SameBoy v0.16.6

14 Jun 10:05
Compare
Choose a tag to compare

This version is backwards compatible with save states from SameBoy 0.14.3 and newer, as well as save states from any BESS compliant emulator.

New/Improved Features

  • You can now browse Homebrew Hub and download submitted games and demos directly in the iOS frontend.
    • Currently, only open-source submissions can be viewed in-app. The ability to allow other submissions to appear in SameBoy will be added to Homebrew Hub soon.
  • The option to open SameBoy's Library in the Files app has been added to the iOS frontend's Library screen.
  • Screen dimming is now disabled while emulation is running in the iOS frontend.
  • Improved D-pad controls in the iOS frontend – the center point of the D-pad is now a safe "rest" zone; dragging a touch outside of the D-pad no longer releases the button.
  • User-provided boot ROMs can now be selected in the iOS frontend.

Accuracy Improvements

  • Accuracy improvements to the square "zombie stepping" glitch in CGB-D and CGB-E, fixed Telefang title audio that was broken for these revisions.
  • Writing to NRx3 and NRx4 in the same cycle these registers are read by the APU is now emulated correctly.
  • SameBoy will now select cgbE_boot.bin, if available, when emulating CGB-E.

Bug Fixes

  • Fixed a bug that triggered occasional audio distortions on some Macs and iOS devices.
  • Fixed a bug that made the iOS version sometimes incorrectly prefer SGB over CGB emulation for some newly imported ROMs.
  • Fixed a bug that could crash SameBoy upon pausing in the iOS and Cocoa frontends.
  • Fixed a bug that made the Cocoa frontend's Debug Console windows always on top.
  • Fixed a 0.16.5 regression that broke the Cocoa frontend's Memory window on macOS Sonoma.
  • Fixed stability issues when emulating the Game Boy Camera in the iOS frontend.
  • Fixed a bug that caused haptics and rumble to temporarily stop working in the iOS frontend.

Misc Internal Changes

  • Internal support for AGB-0's boot ROM was added to the core's API (AGB-0 remains unsupported as an emulated revision for now)

SameBoy v0.16.5

25 May 18:42
Compare
Choose a tag to compare

This version is backwards compatible with save states from SameBoy 0.14.3 and newer, as well as save states from any BESS compliant emulator. This version's change set includes the changes from version 0.16.4, which was exclusive to the iOS App Store.

New/Improved Features

  • The iOS frontend is now available on the App Store
    • The App Store version requires iOS 13 or higher, while the version targeting side-loading and jailbroken devices still supports iOS 11 and 12.
  • The following new features has been added to the iOS frontend:
    • Support for MFi, PlayStation, Switch and Xbox controllers. Support includes rumble functionality, motion controls, analog controls, and button remapping.
    • A launch screen was added.
    • A new "Import ROM File" button was added to the Library screen.
    • Multiple interface themes were added.
      • The App Store version has additional themes that can be unlocked by supporting SameBoy's development.
    • The iOS frontend now shows tips and facts in the pause menu.
    • Tapping SameBoy's logo now opens the pause menu.
    • The button haptics strength can now be changed.
    • After importing a new ROM, a suitable model is automatically selected
  • The default rewind duration in the Cocoa and iOS frontends was change to 2 minutes to match the SDL frontend.
  • Debugger windows no longer hide when the Cocoa frontend is out of focus.
  • Each debugger window now includes the ROM name in its titlebar in the Cocoa version.

Bug Fixes

  • The Cocoa and iOS frontends no longer incorrectly include the word "Version" in their version strings.
  • Fixed a bug that caused filtered screenshots to be saved as 32-bit per channel on the Cocoa frontend.
  • Fixed a bug affecting iPads that left the game paused under some conditions after exiting certain screens.
  • Fixed incorrect handling of loading save states of an incompatible MBC RAM size.
  • Fixed a visual glitch with the Monochrome LCD scaling filter, which also caused filter screenshots to be semi-transparent.
  • Fixed a bug that allowed rewinding auto-loaded states back to the boot ROM in the iOS frontend, potentially losing data.
  • Fixed a bug that caused the camera-change button to be positioned incorrectly on notched iPhones running the iOS frontend.

Misc Internal Changes

  • Fixed build issues when using the current master branch of RGBDS to build SameBoot.
  • Fixed a false positive warning when using certain GCC versions.
  • The iOS frontend's license has been updated.

SameBoy v0.16.3

12 Apr 17:12
Compare
Choose a tag to compare

This version is backwards compatible with save states from SameBoy 0.14.3 and newer, as well as save states from any BESS compliant emulator

New/Improved Features

  • The β€œHot Swap Cartridge” functionality now allows hot swapping a file with a newer version of itself in the Cocoa version
    • This can also be done with the new β€œReload ROM” menu item, available while holding Shift in the Emulation menu
  • The SDL frontend now uses the modern folder selection dialog when selecting a boot ROMs folder on Windows
  • Add an option to allow pressing A+B by touching the space between the two buttons in the iOS frontend
  • The iOS frontend can now choose between 3 audio modes; Enabled, Disabled, and Controlled by Silent Mode
  • The iOS IPA release is now ad-hoc signed to prevent TrollStore from signing it with the wrong entitlements
  • The iOS Deb release is now compatible with both rootful and rootless jailbreaks

Accuracy Improvements/Fixes

  • Updated the built-in SGB boot ROMs so they're closer in timing to the original boot ROMs

Bug Fixes

  • The Cocoa and iOS versions now display the correct license for SameBoy
  • Improved compatibility with certain ISX files
  • Fixed the States screen displaying incorrectly in iOS 16 and newer
  • Fixed several spelling mistakes in the debugger
  • Fixed visual artifacts that may appear in certain scaling filters when scaling with a multiple of 3 factor
  • Prevent filtered screenshots from using 64-bit color depth on the Cocoa frontend, which improves compatibility with certain apps
  • The ticks debugger command no longer outputs β€œTick count reset” if the keep flag was used
  • Fixed a bug that prevented Turbo Mode from working on iOS if dynamic speed controls were not enabled

Misc Internal Changes

  • Improved integration with libretro's build infrastructure, which should greatly improve the release schedule of the libretro version of SameBoy

SameBoy v0.16.2

13 Jan 20:47
Compare
Choose a tag to compare

Accuracy Improvements/Fixes

  • Improvements to the "Accurate" frame blending option; SameBoy now correctly tracks the "parity" of each frame, and uses a more realistic blending ratio
  • Support for bootleg ROMs that claim to have no RAM in the MBC field, but also declare a non-zero RAM size

Bug Fixes

  • Removed XAudio 2.7 support and replaced it with the redistributable version of XAudio 2.9, fixing various crashes on Windows 7
  • Fixed an issue with the menu graphics being glitched in the SDL frontend if SameBoy is set to display a border
  • Fixed the update dialog in the Cocoa frontend displaying the changelog in the wrong font on versions of macOS
  • Fixed Quick Look support being broken on macOS Sonoma
  • Fixed a bug where the Cocoa and iOS frontend would sometimes flicker when using the Metal renderer

SameBoy v0.16.1

23 Dec 19:04
Compare
Choose a tag to compare

This version is backwards compatible with save states from SameBoy 0.14.3 and newer, as well as save states from any BESS compliant emulator

New/Improved Features

  • SameBoy on iOS will now warn the user if it hasn't been correctly signed, which could prevent "Open With" from working with SameBoy

Accuracy Improvements/Fixes

  • Fixed a bug that made SameBoy think a WorkBoy was connected in some cases where a Game Boy Printer was connected

Bug Fixes

  • Fixed a bug that made SameBoy incompatible with macOS versions 10.9 to 10.15
  • Fixed several UI issues with the Printer Feed on macOS Big Sur and newer
  • Prevent some Cocoa toolbar items from overflowing into a menu item that would crash on click
  • Fixed a bug that prevented SameBoy from opening ROM files if VisualBoyAdvance was also installed on macOS
  • VSync is now automatically disabled in the SDL frontend if the screen refresh rate is under 60Hz, which could cause garbled audio on some machines
  • Fixed a bug where the SDL frontend would indefinitely hang if the current audio device became unavailable while using the XAudio 2.7 driver

Misc Internal Changes

  • The iOS Deb releases no longer contain local file ownership information
  • The SDL version used in the Windows release has been updated to 2.28.5

SameBoy v0.16

16 Dec 21:28
Compare
Choose a tag to compare

This version is backwards compatible with save states from SameBoy 0.14.3 and newer, as well as save states from any BESS compliant emulator

New/Improved Features

  • A new, fully-featured iOS frontend:
    • Supports every iPhone, iPad and iPod Touch model running iOS 11 or newer (iOS 13 or newer is recommended)
    • Can be installed by side-loading (using AltStore or TrollStore) or using a jailbreak
    • Innovative and customizable touch controls, including support for analog rewind, fast-forward and slow motion
    • Save states
    • Scaling filters
    • In-game rumble support
    • Game Boy Camera support
    • Motion controls for supported games
    • Notifications for alarm-clock-enabled games
    • Advanced emulation settings
    • A lot more!
  • Reopening a ROM from Finder or other means now reloads the ROM in the Cocoa frontend
  • The SDL frontend received a small facelift
  • Cheats support in the SDL frontend
  • The SDL frontend can now pick a specific revision from CLI
  • A new reset command in the debugger, supporting 3 types of resets
  • Several new changes that improved performance:
    • Disabled inlining of several slow-path functions
    • Enabled the compiler's fast-math flag
    • Prevention of loop unrolling for large, non-speed-critical loops, to improve utilization of instruction caches
    • Optimize the GUI code for size rather than speed to improve utilization of instruction caches
    • Work around Clang and GCC generating slow code for inline compile-time constants
  • Support for ranged breakpoints and watchpoints
  • Breakpoints and watchpoints are now identified by a unique ID rather than an address, deletion is now done by ID
  • The IO_ prefix for hardware registers in the debugger has been removed in favor of the more standard r prefix
  • The Cocoa memory viewer's "Go to" field can now switch banks and address spaces
  • The Cocoa memory viewer now symbolicates its selection in the status bar
  • The debugger now supports backwards single stepping, if rewinding is enabled (experimental)
  • Sending SIGUSR1 to the SDL frontend now triggers a reset command
  • Improved controller assignment in the Cocoa frontend, especially when playing multiplayer SGB games or when emulating the link cable
  • Menu and keyboard shortcuts to scale windows up and down to the next integer factor in the Cocoa frontend
  • The Windows builds are now 64-bit, greatly improving performance on Windows

Accuracy Improvements/Fixes

  • Emulation of open bus behavior when reading disabled cartridge RAM
  • More accurate emulation of volume envelope locking on the pre-Color models, as well as CGB revisions older than D
  • Improved Printer timings, allowing the mini game in Hello Kitty Pocket Camera to be played
  • First-party Nintendo games will now have correct initial register values when using the built-in CGB and AGB boot ROMs
  • Improved accuracy of JOYP switching delay
  • Fixed a timing issue when aborting an object fetch using an LCDC write
  • Improvements to object fetching address calculation timings
  • Accurate emulation of PPU registers write conflicts in CGB double speed mode
  • Correct emulation of reading SVBK, fixes Flyeyes (unlicensed game)
  • Wired Switch Controllers now get automatic button mappings in the Cocoa frontend
  • Fixed a bug where GBS files were starting with a wrong value in the IE register, fixes several GBS files
  • Emulation of the OAM corruption glitch triggered by the jr instruction, as well as halt and stop modes
  • Correct read emulation of the BANK register while still in the boot ROM
  • Fixed a bug where accurate RTC emulation halted while SameBoy wasn't running
  • Accurate emulation of many sweep-related glitches, including revision differences
  • Fixed a bug where HDMA5 was not correctly updated when disabling HBlank HDMA
  • Correct, revision-accurate emulation of reading from VRAM in the last cycle of Mode 3
  • Channel 3 is now correctly mixed when emulating a GBA

Bug Fixes

  • The "Step" icon in the Cocoa debugger was broken on non-Retina displays
  • Fixed a bug where certain temperature tint settings would tint too much
  • Banked breakpoints no longer trigger while executing the boot ROM
  • Fixed camera emulation using the wrong aspect ratio on some Macs
  • Fixed a bug that caused artifacts on the right and bottom edges of the Game Boy Camera
  • Fixed a bug that allowed rewinding across ROM switches in the SDL frontend
  • Fixed a bug that made rewinding try to rewind across model changes
  • Fixed a bug that made save states created on Windows incompatible with other operating systems, and vice versa
  • Several settings in both the SDL and Cocoa frontends had some unexpected defaults, which have been adjusted
  • GameShark cheats were not imported correctly
  • Fixed imported cheats not appearing in the Cocoa frontend
  • Fixed the built-in MGB boot ROM being unexpectedly larger than it should be
  • Prevented cases where the Cocoa debug console would remain open after closing a ROM
  • Fixed a bug that caused the Libretro core to crash in link mode
  • Fixed support for Xbox Wireless Controllers in the Cocoa frontend
  • Some constants in the LCD and CRT filters were not updated when the shaders switched to linear RGB
  • Fixed a bug where jump-to breakpoints disassembled the wrong address under certain scenarios
  • Fixed an edge case where jump-to breakpoints did not work as expected, or took a slow code path
  • Fixes a bug where certain macOS versions would fail to restore the previously opened windows due to a regression in Apple's code
  • Fixed a bug that caused the VRAM viewer's toolbar to not appear on macOS Sonoma
  • Fixed a bug where controllers did not always automatically connect or reconnect in the SDL frontend

Misc Internal Changes

  • New APIs to explicitly reset the rewind buffer
  • When building SameBoy in debug mode, assertions will now make sure functions are always called from a safe thread context
  • Fixed an issue that caused the Cocoa preferences window to not open when building on some Macs
  • Certain false positive warnings when building with GCC 9 are now avoided
  • SameBoy can now be built as a library, allowing to disable certain features as required
  • New APU APIs to allow detailed querying of its state
  • SameBoy now correctly refers to its license as the Expat License
  • Fixed an issue that prevented SameBoy to be built if the repository's path included a space

SameBoy v0.15.8

06 Nov 12:12
Compare
Choose a tag to compare

This version is backwards compatible with save states from SameBoy 0.14.3 and newer, as well as save states from any BESS compliant emulator

New/Improved Features

  • The button mapped to B, on both the keyboard and controllers, can now be used to return from menus in the SDL frontend

Bug Fixes

  • Fixed a bug that caused the new Cocoa debugger interface display glitched buttons on newer versions of macOS

SameBoy v0.15.7

31 Oct 22:01
Compare
Choose a tag to compare

This version is backwards compatible with save states from SameBoy 0.14.3 and newer, as well as save states from any BESS compliant emulator

New/Improved Features

  • Debugger inputs in the Cocoa frontend now work if the emulator is paused rather than in debugger-stopped
  • The Cocoa debugger was given an improved interface with better contrast, and traditional Continue/Step Over/Step In/Step Out buttons
  • The debugger now has an interrupt command, in addition to the previously-available ^C key sequence
  • SameBoy is now properly categorized as a Game app in macOS's Launchpad
  • The lcd command now displays the background shifter and fetcher states
  • The Cocoa frontend can now perform a "quick reset", which is essentially equivalent to a reset via the cartridge reset pin, and retains RAM values, and other otherwise-uninitialized values
  • The Cocoa cheats window is now less strict about forcing a user to type $ when typing an address
  • The tick debugger command now has an optional keep argument, which prevents resetting the tick count
  • Joy-Cons are now fully supported in the Cocoa frontend:
    • This includes the usual pack of zero-configuration key-mappings, rumble support, player LEDs, and motion controls
    • Additionally, a dedicated Joy-Con arrangement sheet lets you combine and separate Joy-Cons and switch their orientation from horizontal to vertical

Accuracy Improvements/Fixes

  • Fixed a regression that made DMA restart timing inaccurate
  • Fixed a regression that caused ROMs that trigger one of the pixel insertion glitches to display incorrectly (Release builds) or trigger an assertion (Debug builds)
  • Fixed a different regression in a different pixel insertion glitch

Bug Fixes

  • Fixed a bug where the debugger finish command did not behave as expected in certain cases where the ROM manipulated the stack
  • Fixed a bug that caused the Cocoa cheat window to send debugger commands
  • Fixed a regression that caused the Cocoa cheat window to crash when attempting to add an invalid GameShark or GameGenie code
  • Fixed a bug that caused the Cocoa cheat window to crash while typing a cheat address on newer versions of macOS

Misc Internal Changes

  • SameBoy (and SameBoot) can now be built with RGBDS 0.6.x; support for RGBDS 0.4.x has been dropped
  • Fixed potential compilation warnings for incoming versions of Clang and GCC
  • Added the GB_quick_reset API

SameBoy v0.15.6

18 Sep 10:41
Compare
Choose a tag to compare

This version is backwards compatible with save states from SameBoy 0.14.3 and newer, as well as save states from any BESS compliant emulator

New/Improved Features

  • All CGB revisions, as well as MGB, are now available in the libretro core
  • The debugger now guides users to use the help command
  • Both frontends can now selectively mute and unmute each of the 4 audio channels
  • Both frontends now support cartridge hot swapping

Accuracy Improvements/Fixes

  • Fixed a bug where the libretro core sometimes ran at an incorrect speed after switching models
  • Fixed a minor DMA regression

Bug Fixes

  • Fixed a bug where the Cocoa Memory Viewer "Go To" field did not work correctly and occasionally crashed

SameBoy v0.15.5

24 Aug 20:30
Compare
Choose a tag to compare

This version is backwards compatible with save states from SameBoy 0.14.3 and newer, as well as save states from any BESS compliant emulator

New/Improved Features

  • Both frontends now include links to the debugger documentation and to the GitHub Sponsors page

Accuracy Improvements/Fixes

  • Fixed a bug where certain color correction modes were desaturating colors in an unbalanced manner
  • Accurate emulation of the first-frame-behavior while emulating the Game Boy Color and Game Boy Advance; fixes white flashes while playing games developed by THQ
  • More accurate emulation of the square channels sample repeat glitch, fixing certain audio pops in LSDj and various games while using a vibrato effect

Bug Fixes

  • Fixed a bug introduced in the previous release that introduced several issues in the Cocoa version, including:
    • The memory viewer crashing under some conditions
    • Attempting to save state returned an error, despite saving being completed successfully
  • Fixed a bug where MBC state was not properly reset, fixing bugs resulting in some games not booting correctly if they were loaded after certain other games in the SDL frontend, libretro, and other 3rd-party frontends

Misc Internal Changes

  • New memory management APIs for better integration of SameBoy as a library