Stella is a multi-platform Atari 2600 VCS emulator released under the GNU General Public License (GPL).
The Atari 2600 Video Computer System (VCS), introduced in 1977, was the most popular home video game system of the early 1980’s. Now you can enjoy all of your favorite Atari 2600 games on your PC thanks to Stella!
Stella is a multi-platform Atari 2600 VCS emulator released under the GNU General Public License (GPL). Stella was originally developed for Linux by Bradford W. Mott, and is currently maintained by Stephen Anthony. Since its original release several people have joined the development team to port Stella to other operating systems such as AcornOS, AmigaOS, DOS, FreeBSD, IRIX, Linux, OS/2, MacOS, Unix, and Windows. The development team is working hard to perfect the emulator and we hope you enjoy our effort.
On this site you’ll find information about downloading, installing, using, and enhancing Stella. You’ll also find useful information about the Atari 2600, emulation and homebrew development.
- 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.