SameBoy/CHANGES.md

88 lines
3.9 KiB
Markdown

# Change Log
## Version 0.5
This version is not compatible with save states of older versions.
### New/Improved Features
* Updated save state format, should now be much more future compatible
* Save state compatibility between 32 and 64 bit versions of SameBoy
* Cocoa version is now using OpenGL 3
* HQ2x filter added (Cocoa only)
* A new, redesigned OmniScale filter; old filter is renamed to OmniScale Legacy (Cocoa only)
* Cocoa port now "remembers" the last window size
* Added boolean operators to the debugger
* Added conditional breakpoints
### Accuracy Improvements/Fixes
* Better emulation of certain behaviors of the SCX register
* Fixed emulation of the STOP instruction
* Minor fix to the accuracy of the JOYPAD register
* Minor improvements to HDMA accuracy
### Bug Fixes
* Improved concurrency in the Cocoa port
* Fixed a bug where an emulator window in the Cocoa port will freeze until resized
* Fixed incorrect disassembler outputs
* Fixed a potential crash when deleting a breakpoint
### Misc Internal Changes
* Large code refactoring, getting ready to stabilize API
## Version 0.4
This version is not compatible with save states of older versions.
### New/Improved Features
* Cocoa port now includes several scaling algorithms, including a beta of the exclusive OmniScale algorithm
* SDL port now includes sound support
* SDL port now includes battery save support
### Accuracy Improvements/Fixes
* APU emulation now includes stereo support
* Improved PCM registers emulation
* More accurate STAT interrupt emulation. This fixes Altered Space.
### Bug Fixes
* The Cocoa port ignored some key presses if the user keyboard layout included non-ASCII characters
* Fixed a bug that could cause a crash when adding or removing a breakpoint
## Version 0.3
### New/Improved Features
* 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
* SameBoy will not create save files for ROMs without cartridge RAM or RTC, even if they report having a battery, preventing 0-bytes save files
## Version 0.2
### New/Improved Features
* Support for multiple breakpoints
* Better debugger command style and error reporting; includes help command
* In the SDL port, ^C in the terminal will break the debugger instead of quitting SameBoy
* Cocoa port now saves preferences (Model and frame blending)
* It is not possible to toggle console output and debugging in the Cocoa port
### Accuracy Improvements/Fixes
* Read/write masks corrected for several registers
* Corrected 144th OAM interrupt behavior
* LCD operation moved to advance_cycles, fixing some obscure timing issues (Fixes game: X / Ekkusu)
* More accurate emulation of the registers controlling DMG emulation on CGB
* Emulation of PCM_12 and PCM_34 in the SDL port
### Bug Fixes
* Debugger's next command can now exit a function
## Version 0.1
* Initial public release