Developer(s) | Bradford W. Mott, Stephen Anthony Stella Team |
---|---|
Initial release | 1995[1] |
Stable release | 7.0
/ 5 October 2024 |
Repository | github |
Written in | C++20 |
Operating system | Current: Linux, MacOS, Windows No longer supported: AmigaOS, Dreamcast, GP2X, Nintendo DS, Wii, Windows CE/Mobile |
Type | Console emulator |
License | GNU GPLv2, open-source |
Website | stella-emu |
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.