Files
libretro/emulators/stella.yml
T
Abdessamad Derraz e7aa9e870b fix: state libretro core versions from their code
Each libretro profile records version_basis and core_version is read
there at its pin. snes9x states 1.63 in snes9x.h, nestopia 2.0.0, mgba
0.11.0, vice 3.10, atari800's libretro tree 7.0.0. Cores whose build
takes its version from git carry the nearest tag in describe form
(flycast v2.7-90-ge88b0ce, ppsspp, duckstation, gearcoleco), placeholders
copied from .info files (Git, SVN) are replaced by the code's statement,
and a code that states none is null with kind none.
2026-10-27 19:21:27 +01:00

122 lines
5.1 KiB
YAML

emulator: Stella
type: standalone + libretro
core_classification: official_port
source: "https://github.com/stella-emu/stella"
profiled_date: "2026-10-21"
source_commit: "289a40f1b63022b8bbe5b722061c660009d5de2c"
core_version: "8.0_pre"
version_basis:
kind: file
path: "src/common/Version.hxx"
pattern: 'STELLA_VERSION\s*=\s*"([^"]+)"'
display_name: "Atari - 2600 (Stella)"
library_name: "Stella"
cores:
- stella
- "STELLASA"
systems:
- atari-2600
data_root:
windows:
path: "%APPDATA%/Stella"
source_ref: "src/os/windows/OSystemWINDOWS.cxx:28-36, 42-57, src/os/windows/HomeFinder.hxx:46-51"
note: "The -baseinappdir option makes the folder of the executable the root, -basedir a chosen folder"
macos:
path: "~/Library/Application Support/Stella"
source_ref: "src/os/macos/OSystemMACOS.cxx:30-33, 38-59, src/os/macos/MacOSUtils.mm:26-38"
note: "The -baseinappdir option makes the folder of the executable the root, -basedir a chosen folder"
linux:
path: "$XDG_CONFIG_HOME/stella, else ~/.config/stella"
source_ref: "src/os/unix/OSystemUNIX.cxx:78-79, 83-96, src/os/unix/XDGPaths.hxx:36-38, 49-58"
note: "The -baseinappdir option makes the folder of the executable the root, -basedir a chosen folder"
notes: |
The libretro core is built from stella-emu/stella, the tree of the
standalone emulator, with its wrapper in src/os/libretro. The binary
reports library_name "Stella" (src/os/libretro/StellaLIBRETRO.hxx:59)
and the version of src/common/Version.hxx:35. The stella_libretro.info
lists display_version "6.6".
The Atari 2600 has no BIOS ROM: TIA, RIOT and 6507 CPU are emulated in
software. The SuperCharger (Starpath) BIOS is replaced by built-in code
(ourDummyROMCode in src/emucore/CartAR.cxx:635).
The libretro core reads the system directory (src/os/libretro/libretro.cxx:1716-1724)
but nothing reads the path it stores. Its base directory is a stella
folder under the save directory, or ./ without one
(src/os/libretro/OSystemLIBRETRO.hxx:71-79). The standalone base
directory is the configuration directory, $XDG_CONFIG_HOME/stella on
Linux and the application data folder on Windows
(src/os/unix/OSystemUNIX.cxx:79, src/os/windows/OSystemWINDOWS.cxx:32).
KidVid Voice Module tapes: the tape the game selects and KVSHARED.WAV are
looked up in KidVidAudio.zip in the base directory, then loose in the
base directory, and both must be present (src/emucore/KidVid.cxx:255-268).
The archive holds the same seven files listed below.
The libretro build compiles with SOUND_SUPPORT and ZIP_SUPPORT
(src/os/libretro/Makefile:599) and plays them (src/os/libretro/SoundLIBRETRO.hxx:127-133).
Without them the game runs on a timing-based fallback with a beep
(src/emucore/KidVid.cxx:343-348).
EEPROM save data for AtariVox and SaveKey peripherals is managed as
NVRAM, not user-supplied.
files:
- name: KVS1.WAV
path: stella/KVS1.WAV
standalone_path: KVS1.WAV
description: "KidVid Voice Module audio tape 1 (Smurfs Save the Day)"
required: false
load_from: {libretro: save_dir, standalone: config_dir}
category: game_data
source_ref: "src/emucore/KidVid.cxx:246-248, src/emucore/KidVid.cxx:255-268"
- name: KVS2.WAV
path: stella/KVS2.WAV
standalone_path: KVS2.WAV
description: "KidVid Voice Module audio tape 2 (Smurfs Save the Day)"
required: false
load_from: {libretro: save_dir, standalone: config_dir}
category: game_data
source_ref: "src/emucore/KidVid.cxx:246-248, src/emucore/KidVid.cxx:255-268"
- name: KVS3.WAV
path: stella/KVS3.WAV
standalone_path: KVS3.WAV
description: "KidVid Voice Module audio tape 3 (Smurfs Save the Day)"
required: false
load_from: {libretro: save_dir, standalone: config_dir}
category: game_data
source_ref: "src/emucore/KidVid.cxx:246-248, src/emucore/KidVid.cxx:255-268"
- name: KVB1.WAV
path: stella/KVB1.WAV
standalone_path: KVB1.WAV
description: "KidVid Voice Module audio tape 1 (Berenstain Bears)"
required: false
load_from: {libretro: save_dir, standalone: config_dir}
category: game_data
source_ref: "src/emucore/KidVid.cxx:246-248, src/emucore/KidVid.cxx:255-268"
- name: KVB2.WAV
path: stella/KVB2.WAV
standalone_path: KVB2.WAV
description: "KidVid Voice Module audio tape 2 (Berenstain Bears)"
required: false
load_from: {libretro: save_dir, standalone: config_dir}
category: game_data
source_ref: "src/emucore/KidVid.cxx:246-248, src/emucore/KidVid.cxx:255-268"
- name: KVB3.WAV
path: stella/KVB3.WAV
standalone_path: KVB3.WAV
description: "KidVid Voice Module audio tape 3 (Berenstain Bears)"
required: false
load_from: {libretro: save_dir, standalone: config_dir}
category: game_data
source_ref: "src/emucore/KidVid.cxx:246-248, src/emucore/KidVid.cxx:255-268"
- name: KVSHARED.WAV
path: stella/KVSHARED.WAV
standalone_path: KVSHARED.WAV
description: "KidVid Voice Module shared audio samples"
required: false
load_from: {libretro: save_dir, standalone: config_dir}
category: game_data
source_ref: "src/emucore/KidVid.cxx:255-268, src/emucore/KidVid.cxx:329-331"