SameBoy/CHANGES.md

3.9 KiB

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