AfterDawn | News | Guides | Software downloads | Tech Support | Forums | HIGH.FI
AfterDawn

Version history for Stella - Atari 2600 Emulator (32-bit)

<<Back to software description

Changes for v6.0.2 - v6.1

  • OK, it's finally time for another major release. This is a big one, with changes all across the board:
  • IMPORTANT NOTES:
  • Because of major event remapping changes, all remappings will be reset to defaults; if you had custom mappings, they will need to be re-entered again.
  • Because of major internal changes, all state files are now invalid.
  • Support for Windows XP has been discontinued as of this version. WinXP is now completely out of support from Microsoft, so we are doing the same.
  • Major improvements to display mode handling in NTSC vs. PAL. The window is now the same size for both modes, and scaling is applied to simulate the height of scanlines (in PAL mode, there are more scanlines and hence each is narrower). This more properly emulates how the display would look on a real TV.
  • Removed the 'Display_Height' property, changing it to 'Display_VCenter'. This new feature, along with the display mode changes above, almost completely eliminate having to manually tweak each ROM so that it will not have part of the image cut off.
  • Removed the 'Display_YStart' property and all automatic detection of ystart. It caused problems on some ROMs, and was not the way a real console would work anyway. Related to this, ROMs now load much faster.
  • Major improvements to event remapping:
  • Allow mapping of modifier-key and button-direction combinations
  • Physical controllers can map the same action to different events on different virtual controllers
  • Many more events can be remapped
  • Events can be filtered by type in UI
  • Paths have been simplified:
  • The following file/directory locations are no longer configurable
  • (statedir, nvramdir, cheatfile, palettefile, propsfile); they are now all under the base directory
  • Removed cfgdir; Distella config files are now placed with their associated ROMs
  • Added 'basedir' commandline argument, which allows to change the base directory where almost all config-related items are stored; related to this, discontinued the 'basedir.txt' functionality
  • Added 'baseinappdir' commandline argument, which sets the base directory to the application folder (Windows only for now); this replaces the functionality of 'basedir.txt'
  • Added automatic controller detection.
  • Controllers can be changed during emulation (no ROM reload required anymore).
  • Added support for Light Gun controller.
  • Added limited KidVid support (8, 9 and 0 start the games).
  • Removed superfluous controller option 'PADDLES_IDIR'.
  • Added configurable paddle dejittering.
  • Key-repeat mode improved; entering Time Machine by holding down a key combo continues to send events (previously, you had to release and then press the combo again).
  • Certain buttons in the UI can now be activated repeatedly by holding down the mouse button (Time Machine, debugger step/trace/frame advance, etc.)
  • Added option to configure mouse double click speed.
  • Added option to configure controller input repeat speed.
  • Added high quality scaling.
  • Made scanlines better aligned to scaling.
  • Added 'HiDPI' mode, which scales the UI by 2x when enabled. This is meant for 4k and above monitors, but can actually be used at any lower resolution that is large enough to display the scaled UI.
  • Fixed TIA 'Center' option, Stella now remembers the last windowed position.
  • Added fractional (25% increments) TIA zooms.
  • Removed 'tia.fsfill' option, replacing it with 'tia.fs_stretch'. This new option allows to preserve TIA image aspect ratio in fullscreen mode, or stretch to fill the entire screen.
  • Added configurable 'Overscan' option for fullscreen modes.
  • Fullscreen TIA modes no longer assume that desktop taskbars, etc are present, hence they are scaled to the proper fullscreen size.
  • Added option to display dialogs in screen corners.
  • Added hotkey for sound on/off.
  • Enhanced 'Command' menu to display current state and more commands.
  • Added option to save and load all TimeMachine states at once.
  • Added option to automatically load/save states when entering/exiting emulation.
  • Added option to change pitch of Pitfall II music.
  • ROM Info Viewer size is not limited to fixed zoom steps anymore.
  • ROM Info Viewer can now display multiple lines per property and the bank switching type.
  • In file listings, you can now select directories by holding 'Shift' on the first character entered. Entering characters in lowercase still selects files, as before.
  • Fixed bug when starting ROMs via MacOS finder.
  • Added various developer options for oddball TIAs:
  • stuffed player, missiles and ball move
  • delayed playfield bits and color
  • delayed players and ball VDEL swap
  • Disabled some developer options for 'Player settings'.
  • Writes to RAM read ports are ignored now.
  • Added Developer setting, which breaks on writes to read ports.
  • Improved breakpoints to now consider the banks.
  • Improved debugger's TIA display and zoom windows.
  • Improved hotkeys, now many emulation keys work in debugger too.
  • Fixed display of negative values in debugger; sometimes they were shown as positive.
  • Reworked ROM properties database, making it load faster in certain cases.
  • Updated internal ROM properties database to ROM-Hunter version 16 (thanks go to RomHunter for his tireless research in this area). Related to this, updated the snapshot collection.
  • Fixed 'Dancing Plate (Unknown) (PAL)' to use joystick.
  • Fixed cheatcode handling in 2K and 4K ROMs.
  • Fixed bug where ROMs smaller than 64 bytes were not recognized.
  • Fixed bug where frying one ROM was continued with the next ROM.
  • Fixed not working 7800 pause key.
  • Enhanced UA bankswitching to support certain Brazilian carts.
  • Fixed WD bankswitching.
  • Added FC bankswitching for Amiga's Power Play Arcade Video Game Album.
  • Added auto-detection of display format based on filename.
  • Auto-detection of bankswitch scheme by file extension now includes more human-readable formats (not restricted to DOS 3-char length). See the documentation for the new names.
  • Fixed bug in DPC+ scheme; 'fast fetch mode' was enabled at startup, when it should be disabled by default.
  • Some more work on DPC+ playfield 'jitter' effect for certain older DPC+ driver versions; more ROMs are now detected properly. Special thanks to SpiceWare for his research in this area.
  • Added proper Retron77 port.
  • Added proper libretro port, and fixed display for OpenGLES renderers.
  • PNG/ZIP image support is now conditionally compiled into Stella. All major ports (Linux/macOS/Windows) have it enabled by default.
  • SDL/GUI support is now conditionally compiled into Stella. All major ports (Linux/macOS/Windows) have it enabled by default. This is currently needed by the libretro port.
  • Updated included PNG library to latest stable version.
  • Updated UNIX configure script to work with the gcc version 10 and above.



Changes for v6.0.1 - v6.0.2

  • Updated properties database for Pink Panther ROM.



Changes for v6.0 - v6.0.1

  • Added support for CDFJ bankswitching type (Galaga, Wizard of War, etc).
  • Allow the DPC+ scheme to not enable playfield 'jitter' effect for certain older DPC+ driver versions; this allows 'Epic Adventure' ROM to finally work in Stella.



Changes for v5.1.3 - v6.0

  • Note: because of major TIA sound changes, the state file format has changed, and old state files will not work with this release.
  • New cycle exact audio core based on work by Chris Brenner (crispy); greatly improved audio emulation accuracy (i.e. E.T., Ms. Pacman).
  • Full rewrite of the audio subsystem; resample TIA output to target sample rate directly in Stella.
  • Added option to force stereo sound for all ROMs, or to use the setting on a per-ROM basis.
  • Threading: decouple emulation from frame rendering.
  • Main loop rewritten; emulating speed and timing is now much more faithful (i.e. speed in Pick'n'Pile).
  • Added preliminary support for 'CTY' bankswitching scheme and recently released 'Chetiry' ROMs. Special thanks to SpiceWare for adding music support to this scheme.
  • UI modernization (new widget look, dialog titles added, dialogs refactored).
  • The bankswitch scheme can now be forced by naming the ROM with a specific extension (ie: .f8s for F8SC, .fe for FE, etc). The supported extensions are the same as the ones from HarmonyCart and UnoCart.
  • Audio settings replaced with new 'audio.xxx' settings.
  • FPS setting replaced with speed setting for adjusting emulation speed.
  • Extra functionality for Time Machine dialog (start/stop recording; minor fixes).
  • When logging messages to the System Logger, condense similar messages that arrive in batches into fewer messages (including timestamps).
  • Fixes for collision corner cases (during HBlank).
  • Fixed excessive CPU usage while in UI modes (ROM launcher, debugger, etc).
  • The 'launcherexts' option has been replaced by a true/false option named 'launcherroms', which specifies to show only ROMs or all files in the ROM launcher.
  • Changes in 'Game Properties' dialog
  • 'Default' button now affects only current tab like in all other dialogs.
  • 'Display' and 'Console' tab changes are now immediate.
  • Fixed bug when selecting 'Auto-detect' format for 50Hz ROMs
  • Fixed bug in autodetecting Genesis controllers.
  • Fixed bug with 'thumb.trapfatal' commandline argument; sometimes Stella would lock up when encountering a fatal error instead of entering the debugger and displaying a message.
  • Fixed bug in reading from settings file with entries that were empty; the parsing was failing. This affected the 'cpurandom' argument; when all options in it were turned off, they were all turned on again during the next program run.
  • Fixed bug with 'hold' events; they are now released a short time after starting a ROM.
  • When starting Stella for the first time, the first ROM selected will determine which path to use by default for subsequent runs.
  • Fixed emulator crash when starting SaveKey ROMs from commandline with SaveKey messages enabled.
  • Fixed missing TV format update in frame stats dialog when switching display type.
  • Fixed missing debug color update when switching display type.
  • 'Fill to scanline' now works for scanlines above current scanline too.
  • The debugger 'uhex' command is now honoured in CDF and BUS schemes.
  • When switching screenmodes, the sound is now paused and later resumed. This fixes popping and cracking sounds apparent on some systems, notably macOS when toggling windowed/fullscreen mode.
  • State file format has been optimized to be smaller, and faster loading and saving. This affects both the files saved to your computer as well as Time Machine functionality.
  • The ROM name saved in a PNG tEXt chunk now honours the 'snapname' setting.
  • Improved snapshots when phosphor is enabled.
  • Updated PAL palette.
  • Added 'Cartridge.StartBank' ROM property, to force a ROM to use a specific bank for its reset vector.
  • Added Developer setting, which breaks on reads from write ports. It now detects such conditions in many more cases. This new way of detecting RWP errors obsoletes the old '_rwport' debugger command, which has now been removed.
  • Added recently released 'Arkyology' prototype ROM to the database.
  • Fixed 'Street Racer' and 'Video Olympics' ROMs to use paddles in both ports.
  • For UNIX systems: in the ROM launcher, when using symlinks use the symlink pathname instead of the underlying filesystem pathname.
  • The UNIX builds now use the system-installed PNG and ZLIB libraries by default.
  • The Macintosh builds are now named 'macOS' throughout the codebase to reflect the new naming from Apple.
  • For better compatibility, the Windows 32-bit version does not require SSE2 anymore.
  • Updated included PNG library to latest stable version.



Changes for v4.6 - v4.6.1

  • Fixed bug whereby text input could not be entered in certain widgets in the debugger.
  • Updated UNIX configure script to work with GCC 5.x compilers.



<<Back to software description