Stella (emulator)

Stella
Developer(s)Bradford W. Mott, Stephen Anthony
Stella Team
Initial release1995; 29 years ago (1995)[1]
Stable release
7.0 / 5 October 2024; 46 days ago (2024-10-05)
Repositorygithub.com/stella-emu/stella
Written inC++20
Operating systemCurrent:
Linux, MacOS, Windows

No longer supported:
AmigaOS, Dreamcast, GP2X, Nintendo DS, Wii, Windows CE/Mobile
TypeConsole emulator
LicenseGNU GPLv2, open-source
Websitestella-emu.github.io

Stella is an emulator of the Atari 2600 game console, and takes its name from the console's codename.[2] It is open-source, and runs on most major modern platforms including Windows, Mac OS X, and Linux. Stella was originally written in 1996 (and known as Stella 96[3]) by Bradford W. Mott, and is now maintained by Stephen Anthony.

Stella is written in the C++ programming language and thus is highly portable.[4] The emulator supports all Atari 2600 cartridge bank switching schemes and has support for nearly all Atari 2600 titles. Support is included for NTSC, PAL and SECAM in 60 Hz/50 Hz varieties, including autodetection of those formats (based on the number of scanlines generated in each frame). It has cycle-exact emulation for the TIA chip (graphics and sound); the Stella Team estimates that current TIA emulation is nearing 100% completion.

Stella emulates most Atari 2600 peripheral devices, including standard joysticks, paddle controllers, the Atari Video Touch Pad, the Atari Keyboard Controller, Atari Indy 500 Driving Controllers, the CBS Booster-Grip controller, the Atari TrakBall/AtariMouse/AmigaMouse trackball controllers, the Sega Genesis controller, and the AtariVox and SaveKey controllers. Stelladaptor and 2600-daptor support allows real joysticks, paddles, and driving controllers to be used, and support is also included to access a real AtariVox device plugged into a serial port (and actually generate sound from the AtariVox device). Stella does not yet support the cassette-based titles designed to work with the Coleco KidVid cassette player but does have support for titles designed to work with the Starpath Supercharger and Spectravideo Compumate.[5]

Stella includes many facilities for homebrew developers, including an extensive built-in interactive debugger and disassembler supporting breakpoints, read/write traps, etc. Other major features include Blargg TV effects, a cheatcode system, support for user-defined palette files, state loading/saving (including a TimeMachine-like unwind/rewind capability), hardware-accelerated rendering and effects, event remapping, and an extensive built-in, cross-platform user interface (including a ROM launcher frontend).

Stella uses the TIA emulation core from 6502.ts, a collection of emulators for MOS 6502 based systems written in TypeScript and runnable from a web page.

  1. ^ Bradford Wayne Mott (n.d.). "Bradford Mott - The InelliMedia Group". Retrieved March 7, 2024.
  2. ^ Kohler, Chris (2006). Retro Gaming Hacks. Sebastopol: O'Reilly. p. 143. ISBN 0-596-00917-8.
  3. ^ Mott, Bradford Wayne. "Stella 96 - An Atari 2600 Emulator". Google Groups. Bradford Wayne Mott. Archived from the original on 7 March 2024. Retrieved 7 March 2024.
  4. ^ "Stella - A multi-platform Atari 2600 VCS emulator". Retrieved 2012-06-01.
  5. ^ "Stella - A multi-platform Atari 2600 VCS emulator (User's Guide - Release 4.7.3)". Retrieved 2016-12-31.