SameBoy

Game Boy and Game Boy Color emulator written in C

OTHER License

Stars
1.6K

Bot releases are visible (Hide)

SameBoy - SameBoy v0.16.6 Latest Release

Published by LIJI32 4 months ago

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 - SameBoy v0.16.5

Published by LIJI32 5 months ago

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 - SameBoy v0.16.3

Published by LIJI32 6 months ago

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 - SameBoy v0.16.2

Published by LIJI32 9 months ago

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 glitches 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 - SameBoy v0.16.1

Published by LIJI32 10 months ago

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 - SameBoy v0.16

Published by LIJI32 10 months ago

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 enrolling 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 where 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 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 was 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 no 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 - SameBoy v0.15.8

Published by LIJI32 almost 2 years ago

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 - SameBoy v0.15.7

Published by LIJI32 almost 2 years ago

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 - SameBoy v0.15.6

Published by LIJI32 about 2 years ago

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 - SameBoy v0.15.5

Published by LIJI32 about 2 years ago

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
SameBoy - SameBoy v0.15.4

Published by LIJI32 about 2 years ago

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 "Emulate Hardware" and "Preserve Brightness" color correction modes are now called "Modern – Balanced" and "Modern – Boost Contrast", respectively, to better represent them in the context other modes that came after their introduction
  • A new "Modern – Accurate" color correction mode was added. This new mode preserves the modern saturation and contrast of "Modern – Balanced" but further improves on color balancing accuracy
  • The Cocoa preferences window now includes help buttons that describe the different Color Correction and High-Pass Filter modes
  • Major improvements to the performance of the Cocoa memory viewer
  • The Anti-aliased Scale4x filter has been revised and improved

Accuracy Improvements/Fixes

  • A color correction rounding error was fixed

Bug Fixes

  • Fixed potential visual artifacts when using certain scaling filters on some combinations of resolutions and devices
  • Fixed a bug that made SameBoy crash on launch on older versions of macOS if an update was available
  • Fixed a bug where the Cocoa memory viewer temporarily showed wrong addresses
  • The SDL will no longer get stuck (unless "Skip" is used) when trying to use certain joypads' D-pad to configure the directional keys
  • Attempt to work around an X11 bug that caused file and directory selection dialogs to ignore mouse keys

Misc Internal Changes

  • The Cocoa memory viewer no longer requires access to internal structures
SameBoy - SameBoy v0.15.3

Published by LIJI32 about 2 years ago

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

Accuracy Improvements/Fixes

  • Improvements to all color correction modes

Bug Fixes

  • Fixed a race condition that could cause the Memory Viewer to crash if used without pausing the ROM first
  • Fixed a bug that caused SameBoy to incorrectly warn about saves being unwritable
  • Fixed a bug that caused SameBoy on Windows to not warn about saves being unwritable
  • Fixed a bug that caused the SDL port to not respect the joypads-in-background setting at startup
SameBoy - SameBoy v0.15.2

Published by LIJI32 about 2 years ago

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 setting to allow joypad input when SameBoy is not in focus was added to both frontends
  • The SDL GUI now follows the user-configured Game Boy palette
  • The SDL frontend now supports Game Boy palettes exported from the Cocoa port, and now includes 7 new palettes to choose from
  • The scrollbar in the SDL frontend is now draggable
  • The SDL GUI now correctly allows using the user-configured buttons in its menu
  • An OpenAL audio driver is now available for Linux and other Unix users in the SDL port
  • Up to two joypad hotkeys may now be configured to perform actions such as pausing and saving states in both frontends
  • The softbreak debugger command was given a better description
  • Both frontends will now warn you if progress cannot be saved when loading a ROM
  • Game Boy Player (using CPU AGB A) is now a selectable Game Boy Advance revision

Accuracy Improvements/Fixes

  • Emulated a glitch where a misconfigured window can insert pixels between tiles on models prior to the Game Boy Color, fixes Star Trek - 25th Anniversary
  • Fixed a window-related regression, affecting edge cases where WX=0
  • Accuracy improvements to emulation of the Game Boy Camera
  • Accurate emulation of JOYP switching delay on the DMG
  • Realistic emulation of button bouncing while keeping lag to a minimum

Bug Fixes

  • Fixed a bug where SameBoy crashed on Windows 7 when using turbo while the XAudio driver was in use

Misc Internal Changes

  • Fixed a potential memory corruption when SameBoy is used as a library in a C++ project
SameBoy - SameBoy v0.15.1

Published by LIJI32 over 2 years ago

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

  • Improvements to the updater mechanism in the Cocoa port, should handle both Gatekeeper and write permissions better
  • The SDL frontend now allows switching between audio drivers, rather than defaulting to the "best" supported driver
  • The Windows XAudio2 drivers now use the system's default sample rate, which prevents audio resampling and improves the audio quality

Bug Fixes

  • Fixed SameBoy crashing on launch on Windows 8 and Windows 8.1 machines

Misc Internal Changes

  • Fix code signing when locally building release builds of SameBoy on ARM-based Macs
SameBoy - SameBoy v0.15

Published by LIJI32 over 2 years ago

New/Improved Features

  • Improved UI for the VRAM Viewer's palette and object views
  • Customizable palettes for monochrome models in the Cocoa frontend
    • Bundled with several new palettes as examples
  • The bundled register names symbol file now correctly names several undocumented registers
  • Improved performance by better utilizing Link-Time Optimizations
  • The Memory Viewer, as well as the debugger examine command, no longer trigger side effects when reading from memory
  • The Develop menu in the Cocoa frontend now lists options to hide or show the background or object "layers"
  • Introducing PPU "fast paths", improving performance by up to 34% with not accuracy losses
  • Removed the use of slow floating point arithmetics in the APU code to improve performance
  • Introducing lazy APU output generation, improving performance by up to 17%
  • Link-Time Optimizations are now enabled for Windows build, significantly improving performance on Windows
  • A new dma debugger command
  • Improved the performance and responsiveness of the Cocoa VRAM Viewer and Memory Viewer
  • New icon, minor visual refresh across both the Cocoa and SDL frontends
  • Cartridge Instances now allow having multiple saves for the same ROM file in the Cocoa frontend
  • The debugger apu commands now display a single channel
  • Audio recording is now available in both the Cocoa and SDL frontends
  • The SDL frontend now uses XAudio2 on Windows, when available
  • The more common rX hardware symbol naming scheme now replaces the IO_X scheme; the latter remains supported
  • General code optimizations for overall performance improvements

Accuracy Improvements/Fixes

  • The Game Boy Pocket/Light is now available for emulation
  • Every CGB revision is now available for emulation, adding CGB revisions 0, A, B and D
    • An option to select the CGB revision is now available in the SDL port
  • Added MBC7 support
    • The mouse, as well as a joystick, can be used for motion controls
    • On the Cocoa frontend, a supported controller's motion controls can be used as well
  • Accurate timing of clearing bits in the IF register
  • Improved accuracy of LY change timings
  • Improved accuracy of the LY=LYC condition in revisions prior to CGB-D
  • Improved emulation of a glitch that makes channel 3 use the CPU's address bus as an index to the wave sample buffer
  • Fixed an incorrectly emulated theorized glitch where writing to VRAM in certain timings would corrupt data
  • Improved emulation of the TILE_SEL glitch
  • Major improvements to DMA, HDMA, and GDMA, including timings, revision differences, interaction with halt/stop, and all sorts of bus conflicts
    • This allows pixel-perfect emulation of certain demos, such as It Came from Planet Zilog
  • Improved IR modelling, fixes Gen 2 Pokémon Mystery Gift
  • Added MMM01 support, including Mani carts
  • Improved emulation of channel 1/2 "zombie stepping"
  • Improved serial accuracy
  • Correct emulation of how SCX prolongs mode 3
    • Including emulation of "SCX banging", which can disrupt the PPU state machine and, on a real device, damage the LCD
  • Improved emulation of object timings where X=0
  • Fixed a regression where MBC5's initial ROM bank was not 1
  • Improved emulation of the Game Boy Camera MBC
  • Improved HuC-1 emulation, fixes a Robopon Japanese Prototype ROM

Bug Fixes

  • Fixed a bug in the Cocoa frontend where screenshots with filters applied would come out blurry on Retina displays
  • Fix several instabilities in the Cocoa audio driver
  • Fixed a bug where certain writes, when emulating CGB-C, would corrupt the emulator state
  • Fixed a bug where the SDL fronted did not correctly load the palette setting
  • Fixed a bug where the debugger undo command was available while not stopped
  • Fixed GDMA being used incorrectly in SameBoot
  • Fixed a bug where the obscured object indicator did not function correctly in the VRAM Viewer's object view
  • Fixed the Preserve Waveforms setting, now it behaves as intended
  • Fixed a bug where closing an instance connected via serial to another instance would not behave correctly in the Cocoa frontend
  • Fixed SDL crashes on certain Linux systems
  • Fixed UI issues on OS X Mavericks
  • Fixed achievement supports in the Libretro frontend
  • Fixed the 16x16 cartridge icon in both Cocoa and FreeDesktop
  • Fixes audio glitches during the SGB jingle
  • Visual fixes for the GBS player on macOS Big Sur and newer

Misc Internal Changes

  • Improvements to the input hints API
  • Added safe memory read API
  • New memory write callback API
  • New API to determine DMG-mode CGB
  • Improved APIs to handle input
  • New execution callback API
  • New LCD line callback API
  • An API for adjusting the RTC speed, for TAS verifications
  • An API for detecting lag frames
  • The direct access API now supports accessing the CPU registers
  • An API for allowing illegal directional inputs
  • General preparation for future support of different AGB revisions
SameBoy - SameBoy v0.14.7

Published by LIJI32 almost 3 years ago

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

New/Improved Features

  • The Cocoa frontend now has a built-in screenshot functionality
  • The Cocoa palette viewer now uses a monospaced font

Accuracy Improvements/Fixes

  • Fixed incorrect emulation of the SVBK register
    • This fixed BESS compatibility issues between SameBoy and other emulators when importing save states of non-Color games on a Game Boy Color and using the original boot ROMs
    • This also fixes RAM not being properly randomized in DMG games running on a Game Boy Color when using the original boot ROMs

Bug Fixes

  • Improvements to stability and security when loading save states
  • The SDL port now detects ANSI-incompatible Windows consoles and reverts to the previous behavior
SameBoy - SameBoy v0.14.6

Published by LIJI32 almost 3 years ago

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

New/Improved Features

  • Scrolling is now smooth when running the SDL port on macOS
  • The SDL port's debugger now has a readline-like interface; featuring history, search, auto-complete, text formatting, and improved asynchronous input
    • This also introduces asynchronous debugging to the Windows version
  • Minor UI improvements on Big Sur

Accuracy Improvements/Fixes

  • Fixed a bug where NR32 was treated as the wrong value after an APU reset
  • Writes to wave RAM are now blocked, as expected, when emulating a Game Boy Advance
  • Fixed the Game Boy Color and Advance boot ROM not properly initializing wave RAM
  • Improved accuracy of mid-line SCX writes, fixes Infinity
  • ld sp, hl now triggers an OAM corruption on affected models
  • Improved emulation of Super Game Boy multiplayer, fixes several games that were not responding to inputs
  • Fixed the Super Game Boy ATTR_SET command not working correctly, fixing several mis-colored SGB games
  • Fixed inaccurate Super Game Boy border fade timing, which caused some games to have corrupt borders
  • Fixed inaccurate Super Game Boy graphic transfers, which caused some games to have corrupt borders
  • Fixed Super Game Boy rendering of unused tiles, which caused some games to obscure the Game Boy viewport entirely
  • Fixed a bug that caused 7-part Super Game Boy commands to lock SGB features, effectively freezing some games on blank screens
  • Several timing improvements to the Super Game Boy
  • Fixed a mistyped condition that caused a timer glitch to be incorrectly emulated
  • Accurate emulation of how the wave channel behaves on restart
  • Mostly complete emulation of an APU glitch where channel 3 could read from wave RAM while inactive using the CPU's main address bus on models prior to the Game Boy Advance
  • The Game Boy Color and Advance boot ROM animation had its timings slightly altered to better match the original boot ROMs

Bug Fixes

  • A typo was fixed in the debugger mbc command
  • Fixed a crash in the SDL port that could happen when swapping ROMs
  • Handling of tiny (Less than 32KB) ROMs is now more consistent
  • Fixed a bug in the SDL port that flipped the controller left and right keys in the menu
  • Resetting a game after loading a save state from a different CPU revision now resets the CPU revision to the user-selected revision on the Cocoa port

Misc Internal Changes

  • Fixed an internal struct issue that could have lead to future compatibility issues
  • The automatic tester now supports Super Game Boy
SameBoy - SameBoy v0.14.5

Published by LIJI32 about 3 years ago

This version is backwards compatible with save states from SameBoy 0.11.x and newer, as well as save states from any BESS compliant emulator. Outside of macOS, this version is identical to 0.14.4 other than the version number.

Bug Fixes

  • Fixed a bug that sometimes prevented opening GBS files
SameBoy - SameBoy v0.14.4

Published by LIJI32 about 3 years ago

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

New/Improved Features

  • GBS support updated to support common non-standard formats, as well as ugetab's GBS extensions
  • ROM and GBS loading errors and handled better in the Cocoa frontend
  • SameBoy is now better categorized on Linux desktops
  • The Cocoa frontend now includes an optional update checker and installer
  • Improved support for running without OpenGL in the SDL frontend, added command-line flag to disable OpenGL
  • SameBoy will now attempt to load .snX save states (used by other emulators such as BGB) if a .sX save state is not found
  • The Cocoa frontend now has volume control
  • The Cocoa and SDL frontends now include an optional speedrun-friendly OSD
  • DualSense controllers now have first-tier support in the Cocoa frontend, with rumble, LED, and analog turbo/slow-motion support, in both wireless and USB modes
  • The SDL frontend now supports the -s/--stop-debugger command line flag, which starts SameBoy with a stopped debugged on the first instruction
  • A new realistic low contrast color correction mode, "Harsh Reality", was added
  • Improved the ticks debugger command with more detailed output
  • Improved warnings when entering PPU or APU odd-modes
  • Major improvements to JoyKit, which should allow previously broken controllers such as Xbox controllers or 8BitDo controllers to work in the Cocoa frontend
  • The libretro frontend has been updated to the newer options API, which majorly improves core option screens in RetroArch and other libretro interfaces

Accuracy Improvements/Fixes

  • Improved accuracy of RTC latching
  • Fixed a bug that prevented STAT interrupt blocking from functioning correctly in the transition to VBlank while the OAM interrupt was disabled
  • Disabled an attempt to improve audio accuracy that resulted in audio regressions in several games
  • Improved T-cycle accuracy of VBlank
  • Major improvements to emulation of the STOP instruction and speed switching
  • MBC5's RAM enable register is now correctly emulated as an 8-bit register
  • Improvements to several edge cases of the OAM corruption bug
  • Fixed an issue where several DMG games would boot with incorrect palettes when using SameBoy's built-in boot ROMs

Bug Fixes

  • Fixed a bug where the 'O' key could not be mapped in the SDL frontend
  • Corrected the default mapping for DualShock 4 and DualSense controllers in the Cocoa frontend
  • Fixed a bug that prevented using the Switch Pro Controller in USB mode in the Cocoa frontend
  • Fixed a bug where Cocoa's VRAM viewer could appear blurry

Misc Internal Changes

  • The GBS APIs now allow loading from a buffer
  • Redundant MBC data removed from BESS save states
SameBoy - SameBoy v0.14.3

Published by LIJI32 over 3 years ago

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

New/Improved Features

  • GBS APIs available in the core
  • Built-in GBS player in the Cocoa frontend
    • Like standard ROMs in SameBoy, it supports debugging and selection of specific models/revisions
  • Support for emulation of the homebrew TPP1 MBC
  • Save states can be dropped into emulator windows to load them in both the Cocoa and SDL frontends
  • SameBoy now uses the BESS (Best Effort Save State) format within its save states, allowing interoperability between big and little endian save states, future versions of SameBoy, as well as other BESS compliant emulators (Such as the incoming releases of BGB and Emulicious)

Accuracy Improvements/Fixes

  • Fixed time syncing issues when turning the LCD off and on, fixes timing issues in Link's Awakening
  • Fixed a bug where an invalid SGB command would be ignored, while the actual SGB firmware would still process it in some manner, fixes Donkey Kong Land

Bug Fixes

  • Better handling of more edge cases in the Linux build system
  • Fixed a memory leak in the SDL and libretro frontends when loading a second ROM
  • Fixed several potential crashes involving cheat codes
  • Fixed a bug where the screen would temporarily freeze in the Cocoa frontend if certain controllers are rumbling in specific strengths