* Introduced more accurate timing for NTSC vs. PAL modes, where the
framerate is based on the number of scanlines per frame. This should
eliminate 'clicking' sounds when emulating ROMs that don't follow
the exact NTSC or PAL scanline specs.
* Added ability to see the current number of scanlines and corresponding
framerate to the TIA emulation. This can be set with the '-stats'
commandline argument, or dynamically turned on and off with the
'Alt-l' key combo.
* Modified '-framerate' commandline argument, where a non-zero value
overrides the automatic framerate calculation (based on number of
scanlines). Setting 'framerate' to zero re-enables auto-frame
calculation. Also, re-enabled changing the framerate from within the
* Added '-timing' commandline argument, which sets the type of waiting
between processing frames. Setting it to 'sleep' emulates the
previous behaviour in Stella; setting it to 'busy' emulates z26,
and can in some cases eliminate screen tearing (at the expense of
using all available CPU time).
* Fixed issue with debugger disassembly and mirrored $40 TIA write
addresses. They were actually defined at $30, and generating incorrect
* Fixed issue in AtariVox and SaveKey controllers where accessing the
EEPROM sometimes failed after the first write.
* Changed AtariVox and SaveKey EEPROM emulation to default to $FF for
a blank EEPROM.
* Fixed regression in cart auto-detection logic; some F6 ROMs were being
misdetected as E7.
* Fixed issue with M6532/RIOT timer initialization; it was causing some
ROMs to hang (most notably Summer Games). Related to this, reworked
the built-in random number generator to generate 'more' random numbers.
* Fixed bug in CommandMenu where console buttons (Select, Reset, etc)
weren't doing anything.
Get it here: