* The debugger now includes a backtrace command to show the stacktrace
* Cocoa port now includes a Hex Editor/Viewer
* The debugger help command was improved
* General improvements to debugger usability
* The SDL port now compiles on Windows (Binaries included)
* Mouse hiding in Cocoa is now only enabled during full screen
* The Cocoa port now remembers the mute setting
* SameBoy now issues a warning when loading a game that uses an unsupported cartridge
* Cocoa port now remembers previous breakpoints/watchpoints after reset
* Cocoa port now automatically shows the open if needed
### Accuracy Improvements/Fixes
As of this version, SameBoy is regularly tested against 1405 DMG ROMs to make sure no accuracy regressions are made. [The latest results are available here](http://htmlpreview.github.io/?https://github.com/LIJI32/SameBoy/blob/automation_results/results.html).
* OBP0/1 are now initialized to the correct value (Fixes Mooneye's DMG hardware registers test).
* A disconnected serial cable is now emulated. Fixes:
* Baseball
* Faceball 2000
* Fighting Simulator
* Godzilla
* Hiryuu Gaiden
* In Your Face
* Lunar Lander
* Pinball Party
* Sneaky Snakes
* Super R.C. Pro-Am
* WWF Stars
* Yoshi's Egg
* Correctly emulating unused OAM RAM in DMG mode
* DMG boot ROM now finishes with the original register values (Fixes Mooneye's DMG boot registers test)
* RTC clock latching is now emulated.
* Fixed APU issues where simultaneously running games could affect eachother
* Fixed APU issue that could break some games. Fixes:
* Chiki Chiki Tengoku
* Moguranya/Mole Mania
* Fixed MBC RAM not being properly reset. Old save data must be deleted for this fix to apply. Fixes:
* Purikura Pocket 3
* Probably affects many other games
### Bug Fixes
* Boot ROMs were not trimmed correctly
* Fixes several bugs that caused the Cocoa port to freeze when using the reset command during debugging
### Misc Internal Changes
* SameBoy can now be compiled with precompiled (non-SameBoy) boot ROMs
* Redefined the debugger input and output syntax, being more consistent with RGBDS
* Debugger now reads .sym files (Tested with 3 popular formats). It shows symbols when possible, and allows using them in expressions
* Debugger data types can now be either 16-bit values, or 25-bit full addresses that include a bank identifier
* Debugger commands and expressions support full addresses as parameters. This allows, for example, breaking on an address on a specific ROM bank, or reading a value from a specific MBC RAM bank.
* Some debugger commands may now run without breaking the debugger. (Similar to LLDB or GDB's async mode)
* SDL port now supports save states
* Improved performance by about 6% by enabling link-time optimizations
* Reduced file size by stripping executables
* Several Cocoa-only UX improvements:
* Prevented being paused "twice" (Both by the pause option and the debugger)
* Optional proportional resizing
* Proper fullscreen support
* Mouse cursor is now hidden while running
### Accuracy Improvements/Fixes
This version includes major accuracy improvements, which allow it to pass 54 tests out of [mooneye-gb](https://github.com/Gekkio/mooneye-gb)'s 58 acceptance tests (2 of which fail due to not including the original boot ROM); more than any other emulator.
* Rewritten MBC support, with MBC1M support (Fixing some N-in-1 cartridges)
* Major accuracy improvements to OAM DMA.
* Corrected a lot of instruction memory-access timings
* Corrected some IO register masks
* Major accuracy improvements to timers (TIMA/DIV)
### Bug Fixes
* Corrected operator priorities in the debugger
* Fixed a bug where a breakpoint might have been ignored
* Reduced CPU usage when running games with a real time clock
* Handling ^C and ^D more sanely in SDL port
* Fixed memory leak in Cocoa
### Misc Internal Changes
* Added infrared API, but it is not actually used by any of the GUIs
* Fixed build system bugs that caused needless dep file generation, and made the Cocoa build fail sometimes if SDL is not installed
* New debugger command: cartridge (alias: mbc) shows information about the cartridge and the current status of the MBC
* Experimental debugger command: sld (Short for Stack Leak Detection) behaves similarly to finish, but stops if a stack leak or stack overflow is detected
* The Cocoa port now allows configuring controls
### Accuracy Improvements/Fixes
* ROM banks now wrap (Fixes game: Pocket Monster Adventures (Bootleg))
* Fixed incorrect DMA behavior, DMA might fail for specific source addresses (Fixes game: The Smurfs 3)
* Timer registers were counting too slow in CGB double speed mode
* Corrected read behavior of the HDMA5 register (Fixes game: A Bug's Life in CGB mode)
* Fixed a bug with the CGB boot ROM that prevented initialization of the wave RAM
* The CGB boot ROM now loads the DMG tilemap for specific games, just like the original ROM (Fixes game: X (intro animation))
* Fixed a bug where audio channel 3 was playing silently while it should have been muted.
### Bug Fixes
* Debugger's finish command now behaves correctly when interrupts are involved
* Corrected the description for the breakpoint command