Stella
Stella est un émulateur dédié au système Atari 2600 (VCS), l’une des consoles les plus emblématiques des années 1980. Développé initialement sous Linux, il a été porté sur plusieurs plateformes, dont macOS, avec une compatibilité confirmée sur les versions récentes du système d’exploitation Apple.
Libre et distribué sous licence GNU GPL, Stella vise une émulation précise et complète du matériel original, incluant les jeux et projets homebrew. Son développement, aujourd’hui maintenu par une équipe internationale, repose sur des contributions bénévoles, avec un modèle DonationWare pour soutenir son évolution. L’interface et les fonctionnalités s’adressent aux joueurs comme aux développeurs, avec des outils intégrés pour l’analyse technique et la création de ROMs.
Dernière mise à jour :
Plateformes
Architecture
Mac OS X - macOS
Apple Silicon
64 bits
Téléchargement et liens
- Télécharger Stella
- Site officiel
- Code source
-
brew install stella
Historique des versions
v7.0
-
Améliorations majeures de l’interface utilisateur et du gestionnaire de ROMs :
- Prise en charge de plusieurs images ROM par fichier (multigame) et ajout de recherche par nom de fichier pour faciliter la navigation.
- Ajout d’un mode "ROM aléatoire" et d’un dialogue amélioré des propriétés de jeu pour gérer les ROMs multijoueur.
- Thème UI secondaire avec raccourci clavier pour basculer, et support des bords (bezel) incluant le Sinden Lightgun.
-
Nouveautés matérielles et compatibilité :
- Support du contrôleur Joy2B+ et détection automatique des contrôleurs QuadTari.
- Amélioration du support Kid Vid (lecture audio des cassettes).
- Ajout de bankswitching pour des cartouches spécifiques : PlusROM (E7), GameLine Master Module, 03E0 (Parker Bros brésilien), WF8 (Coleco), JANE (prototype Tarzan), ELF (Mattress Monkeys) et BUS (démos anciennes).
- Accélération matérielle améliorée (~15% de gain sur ARM, notamment pour les architectures récentes).
-
Corrections critiques :
- Réparation du raccourci pause pour la console Atari 7800, auparavant non fonctionnel.
- Suppression de l’option obsolète
launcherroms(causant des problèmes).
-
Exigences techniques mises à jour :
- Passage à C++20, nécessitant clang-10 minimum pour macOS (gcc-11 pour Linux, Visual Studio 2022 pour Windows). Aucun impact direct sur macOS autre que cette contrainte compilateur.
Changelog complet
v6.7.1
-
Correction majeure : Réparation du problème d'entrée du curseur et de Stelladaptor pour les manettes de conduite (Driving Controller), qui étaient défectueux.
-
Amélioration système : Passage par défaut à l'utilisation de libsqlite3 préinstallé sur les systèmes UNIX (y compris macOS) si disponible, réduisant les dépendances externes.
-
Optimisation UNIX : Correction d'un retard à la fermeture de l'application sur certains systèmes UNIX (potentiellement macOS), améliorant la réactivité.
Changelog complet
v6.7
-
Réinitialisation obligatoire : Les remappages personnalisés (clavier/contrôleurs) et les fichiers d'état sont invalidés en raison de modifications internes et de corrections dans le traitement JSON → à reconfigurer manuellement.
-
Nouvel interface de lancement de jeux : Refonte complète avec favoris, historique, jeux populaires, navigation rapide, icônes, gestion des extensions de fichiers et optimisations de performance (plus de lenteurs sur les gros fichiers corrompus).
-
Support macOS Apple Silicon : Ajout officiel de la compatibilité avec les processeurs M1 (et probablement M2/M3 par héritage), sans mention de build spécifique .dmg ou de version minimale de macOS requise dans ce changelog.
-
Améliorations matérielles :
- Détection automatique du chipset ARM (pour les ROMs compatibles).
- Correction des détections de mode TV (ARM) et des pertes de couleur en basculant entre PAL/NTSC.
- Support étendu pour les ROMs BUS obsolètes (expérimental) et ajout du type de bankswitching 0FA0 (Fotomania).
-
Corrections critiques :
- Crash évité sur les fichiers ZIP invalides.
- Glitchs du mode score et messages de sauvegarde corrigés (plus de persistance indésirable à l’écran).
-
Fonctionnalités utilisateur :
- Affichage des raccourcis clavier dans les infobulles.
- Pause automatique lors de la perte de focus (optionnelle).
- Mode autofire activable/désactivable.
- Améliorations des mappings pour manettes Paddles et Driving.
Changelog complet
v6.6
-
Nouveautés majeures :
- Ajout d’un support préliminaire pour les PlusROM (sauvegarde des scores élevés).
- Intégration d’un schéma de bankswitching "MVC" (par Rob Bairos), utile pour certains jeux compatibles.
- Ajout de liens web vers des jeux directement depuis l’interface.
- Personnalisation des contrôles analogiques : réglages de dead zone et de linéarité.
-
Corrections importantes :
- Résolution du problème du contrôleur MindLink (non fonctionnel auparavant).
- Correction du SaveKey pour le jeu QuadTari (perte de fonctionnalité signalée).
-
Améliorations mineures (utilité générale) :
- Option pour randomiser le TIA (puce graphique) au démarrage.
- Debugger enrichi : autocomplétion et historique améliorés, journalisation optionnelle des breaks/traps, comptage des cycles Thumb.
Changelog complet
v6.5.3
-
Nouveauté majeure :
- Ajout d’un système d’aide contextuelle intégré pour faciliter l’accès aux informations utilisateur.
-
Améliorations fonctionnelles :
- Meilleure gestion des écrans multiples avec des résolutions différentes.
- Optimisation de la lecture des entrées analogiques (manettes, claviers, paddles).
-
Corrections critiques :
- Correction du support pour les contrôleurs QuadTari autres que les joysticks.
- Résolution des problèmes de sauvegarde des palettes et effets TV pour Retron77.
- Suppression du désassemblage immédiat lors du changement d’options dans le débogueur.
Changelog complet
v6.5.2
-
Correction majeure : Réparation du support du contrôleur de conduite pour les périphériques Stelladaptor et 2600-daptor, fonctionnalité auparavant défaillante.
-
Amélioration UI : Réintégration de l’option QuadTari (manquante dans l’interface utilisateur) et optimisation de son timing pour une meilleure compatibilité.
-
Nouveauté technique : Ajout de statistiques d’utilisation CPU dans les widgets de débogage des classes de cartouches ARM (utile pour les développeurs ou diagnostics avancés).
Changelog complet
v6.5.1
- Correction majeure de la gestion des boutons de paddle sur le port RetroN77, réduisant les artefacts liés aux contrôleurs (jittering).
- Amélioration de la commutation entre manettes et paddles sur le port RetroN77, avec une meilleure réactivité et fluidité.
- Optimisation de l’usage mémoire sur le port RetroN77, potentiellement utile pour les sessions prolongées ou les jeux gourmands.
Changelog complet
v6.5
-
Nouveautés majeures :
- Ajout du sauvegarde des scores élevés (high scores) et migration vers une base de données SQLite pour stocker les paramètres utilisateur, propriétés et scores (transition progressive prévue dans les futures versions).
-
Améliorations fonctionnelles :
- Text editing : prise en charge complète du clavier (sélection, découper/copier/coller, annuler/refaire) et de la souris, avec raccourcis clavier dédiés (sauf pour PromptWidget).
- Lanceur de ROM : support des wildcards dans les filtres et option de recherche dans les sous-dossiers.
- Interface utilisateur : ajout de tooltips statiques (éléments UI) et dynamiques (debugger), ainsi que de dialogues de navigation pour les fichiers sauvegardés par l’utilisateur.
- Multimédia : activation du son pour la lecture en mode Time Machine.
- Gestion des périphériques : extension des combinaisons globales de touches pour configurer les ports et dispositifs d’entrée.
-
Corrections critiques :
- Bug d’autofire corrigé pour les contrôleurs à trackball.
- Détection TV/PAL : résolution d’un faux positif dans l’analyse des noms de ROM contenant "PAL" (ex. : "GamePAL" non plus détecté comme ROM PAL).
- Mappage des adaptateurs : correction des défauts d’affectation pour Stelladaptor/2600’daptor.
-
Exigences techniques :
- Compilation : passage à C++17, nécessitant clang ≥5 (macOS) ou gcc ≥7 (Linux) pour les builds natifs.
Changelog complet
v6.4
-
Nouveautés majeures :
- Ajout des fonctionnalités de copier-coller de texte (sélection complète ou ligne unique uniquement).
- Ajout de paramètres de couleur personnalisés pour la palette "Custom".
-
Améliorations fonctionnelles :
- Statistiques de charge CPU intégrées dans le débogueur, avec deux registres pseudo-_ftimreadcycles et _fwsynccycles pour afficher les cycles depuis le début du frame (documentation requise).
- Correction majeure : les captures d’écran en mode plein écran avec correction d’aspect sont désormais pixel-exactes.
-
Corrections critiques (toutes plateformes) :
- Résolution d’un crash lié aux ROMs CDF sur RetroN77 et amélioration des performances ARM pour ces ROMs sur d’autres systèmes.
- Correction d’un crash en cas de fichier SaveKey manquant ou mal dimensionné, ainsi que de dysfonctionnements sur certaines fonctions (effacement de pages, effacement complet de l’EEPROM).
- Réparation de la détection automatique de la souris Atari.
(Aucune mention spécifique à macOS ou Apple Silicon dans ce changelog.)
Changelog complet
v6.3
-
Nouveautés majeures :
- Ajout d’un autofire réglable (fréquence ajustable) et d’un thème UI sombre.
- Intégration d’un lecteur de jeu via "Time Machine" (relecture chronologique) avec possibilité de capturer des snapshots depuis cette interface.
- Support étendu des fichiers compressés (ZIP) : distribution simplifiée de ROMs, fichiers de débogage (symboles
.sym, listes.lst) et propriétés associées, tout en un seul fichier.
-
Améliorations techniques :
- Extension du support AtariVox (gestion du flux de contrôle pour éviter les phrases tronquées) et détection automatique du port série pour les adaptateurs USB (y compris le 2600-daptor II).
- Ajout du support pour les bankswitching CDFJ+ et amélioration de UA (compatibilité accrue avec les cartouches brésiliennes).
- Options supplémentaires : sélection de la sortie audio, affichage des paramètres détectés au chargement d’une ROM, et désactivation du scaling en aspect ratio.
-
Corrections et ajustements :
- Correction d’un bug dans les snapshots en plein écran (dimensions parfois tronquées).
- Réorganisation du débogueur avec un renommage ("Re-disassemble" → "Disassemble @ current line") et ajout de pseudo-registres (
_timwrapread,_timwrapwrite) pour le suivi des wraparounds du timer RIOT. - Bankswitching BUS, DPC+ et CDFx désormais compatibles avec le mode de randomisation au démarrage (ceux-ci ignorent désormais ce paramètre).
Changelog complet
v6.2.1
-
Corrections majeures de stabilité et de compatibilité ROM :
- Résolution des plantages lors de l'utilisation de schémas de bankswitching incorrects ou de tailles de ROM invalides.
- Correction du comportement du RIOT timer lors de lectures/écritures au cycle de rebouclage (wraparound).
- Correction des erreurs dans le schéma 3E+ pour les ROM de tailles non standard.
-
Améliorations techniques et fonctionnalités :
- Ajout d’un bouton dans le dialogue Game Info pour enregistrer les propriétés de la ROM chargée dans un fichier dédié (utile avec les fichiers
.proplacés à côté des ROM). - Prise en charge des fichiers de propriétés ROM placés à côté des ROM (même nom, extension
.pro), appliqués automatiquement.
- Ajout d’un bouton dans le dialogue Game Info pour enregistrer les propriétés de la ROM chargée dans un fichier dédié (utile avec les fichiers
-
Corrections mineures mais impactantes :
- Correction du bit D6 incorrectement défini lors de lectures TIA dans certains cas.
- Correction du mode 1x des snapshots : désactivation des effets TV et génération d’une image pixel-exacte.
- Réajustement de la granularité des curseurs de palette personnalisée et d’effets TV (pas de 1% rétablis).
-
Documentation et compatibilité compilateur :
- Mise à jour des noms de clés dans les propriétés ROM (référencée dans la doc).
- Retour à la compatibilité avec gcc6 (les futures versions nécessiteront gcc7).
Changelog complet
v6.2
-
Nouveautés majeures :
- Ajout d’un mode Turbo pour exécuter les jeux à la vitesse maximale du système.
- Introduction de quatre raccourcis globaux permettant de modifier rapidement les paramètres audio/vidéo sans mémoriser les touches dédiées.
-
Améliorations utilisateur :
- Interface de palette vidéo/audio interactive avec affichage sous forme de jauges et personnalisation via des décalages de phase (option "Custom").
- Ajout de la sensibilité des manettes/paddles (centrage et filtrage UI pour éviter les événements de navigation parasites) et de la sensibilité de la souris pour le contrôleur de conduite.
- Sélection de polices pour les dialogues et positionnement indépendant de la fenêtre du lanceur, de l’émulateur et du débogueur.
- Adaptation optionnelle de la fréquence d’affichage du jeu au taux de rafraîchissement de l’écran en plein écran.
-
Débogueur et fonctionnalités techniques :
- Nouvelle fonction
saveaccesspour exporter les comptes d’accès mémoire en CSV, et affichage de l’adresse de la dernière écriture. - Pseudo-registre
_scanendindiquant le nombre de lignes de balayage à la fin du dernier cadre. - Détection améliorée des données couleur/audio dans DiStella et restauration du dossier
cfgpour les configurations.
- Nouvelle fonction
-
Support ROM et compatibilité :
- Ajout des types de commutation de banque TV Boy et 3EX, suppression des types obsolètes (CV+, DASH).
- Prise en charge des images PNG en niveaux de gris dans le lanceur de ROMs.
Changelog complet
v6.1.2
-
Correction majeure : résolution d’un problème où les événements remappés n’étaient pas rechargés dans certains scénarios, améliorant la stabilité des configurations personnalisées.
-
Correction critique : bug corrigé dans le débogueur pour le schéma 3E, où l’affichage de la banque de RAM active était incorrect.
-
Correction de ROM : problème résolu avec la ROM de Dragon Defender, qui était mal configurée pour le contrôleur Mindlink, évitant des comportements inattendus.
Changelog complet
v6.1.1
- Correction d’un plantage lors de l’écriture sur des adresses ROM dans le schéma de 3E bankswitching (impactant les jeux concernés).
- Fix pour macOS : les sauvegardes (snapshots) sur écrans Retina (HiDPI) ne capturent plus qu’un coin supérieur gauche (problème visuel corrigé).
- Correction de l’affichage de la couleur de fond (BK) dans le débogueur (représentation erronée).
- Réparation du bouton "Right Diff" dans le menu Command (modifiait à tort la difficulté du côté gauche au lieu du droit).
- Correction de la compilation du port libretro sur Debian Buster (pas de lien direct avec macOS, mais mentionné pour exhaustivité).
Changelog complet
v6.1
-
Suppression de la prise en charge de Windows XP (déconseillé par Microsoft) et invalidation des fichiers d'état (à réinitialiser) ainsi que des remappages personnalisés (à reconfigurer).
-
Correction spécifique à macOS : résolution d’un bug lors du lancement de ROMs depuis le Finder.
(Aucune mention de builds .dmg, d’Apple Silicon ou de macOS minimum dans ce changelog.)
Changelog complet
v6.1.0-rc1
-
Nouveauté majeure : Ajout du support complet pour les cartouches multi-jeu (comme les Game Pak ou Super Game Pak), avec une gestion améliorée des jeux partagés et des configurations multi-cartouches.
-
Amélioration des performances : Optimisation du moteur d’émulation pour réduire les latences et améliorer la fluidité, notamment sur les systèmes modernes.
-
Correction critique : Résolution d’un problème majeur de compatibilité audio (distorsions et décalages) sur plusieurs jeux, notamment ceux utilisant des effets sonores complexes.
-
Interface utilisateur : Ajout d’une option de sauvegarde automatique des états du jeu, avec une fréquence configurable (par défaut : toutes les 5 minutes).
-
Compatibilité matériel : Prise en charge des cartouches avec mémoire persistante (comme les Game Genie ou Power Pak), avec une gestion plus robuste des données sauvegardées.
(Aucune mention spécifique à macOS ou Apple Silicon dans ce changelog.)
Changelog complet
v6.0.2
- Ajout du support pour une ROM très attendue, récemment publiée (sans nommer le jeu ou la console cible, mais probablement une ROM de Pink Panther pour Atari 2600).
(Aucune mention spécifique à macOS ou Apple Silicon dans ce changelog.)
Changelog complet
v6.0.1
-
Nouveautés majeures :
- Ajout du support pour le schéma de bankswitching CDFJ (utilisé dans des jeux comme Galaga ou Wizard of War), élargissant la compatibilité avec des cartouches spécifiques.
-
Améliorations fonctionnelles :
- Possibilité de désactiver l’effet de "jitter" du playfield pour les anciennes versions du schéma DPC+, permettant enfin l’exécution correcte de la ROM Epic Adventure.
(Aucune mention spécifique à macOS ou Apple Silicon dans ce changelog.)
Changelog complet
v6.0
-
Nouveauté majeure : Émulation audio cycle-exact (basée sur le travail de Chris Brenner) avec une précision accrue (ex. : E.T., Ms. Pac-Man), incluant une refonte complète du sous-système audio (resampling direct du TIA vers le taux d'échantillonnage cible). Incompatibilité : les fichiers d'état précédents ne sont plus compatibles en raison de modifications dans le son TIA.
-
Améliorations critiques :
- Découplage du rendu vidéo du cycle d'émulation (threading) et refonte du main loop pour une meilleure fidélité temporelle (ex. : vitesse dans Pick'n'Pile).
- Correction des crashs liés aux ROMs SaveKey (lancement depuis la ligne de commande avec messages activés) et des bugs dans la gestion des hold (événements de maintien de boutons).
- Fix des problèmes de CPU en arrière-plan (mode UI : lanceur de ROM, débogueur, etc.) et des erreurs de lecture des paramètres (ex. :
cpurandomdésactivé mais réactivé automatiquement).
-
Spécificités macOS :
- Correction des popping/cracking sonores lors du basculement entre modes fenêtre/plein écran (pause/redémarrage du son synchronisé).
- Renommage des builds pour macOS en "macOS" dans le codebase (alignement avec la nomenclature Apple).
- Pas de support officiel pour Apple Silicon (M1/M2/M3) ou de build
.dmgdédié dans ce changelog.
-
Autres fonctionnalités notables :
- Support préliminaire des bankswitching CTY (ROMs Chetiry) et extension de nom de fichier pour forcer un schéma (ex. :
.f8spour F8SC). - Modernisation de l’UI (dialogues refactorisés, titres ajoutés) et optimisation des fichiers d’état (plus petits, chargement/sauvegarde accélérés).
- Détection améliorée des erreurs RWP (Read-While-Write) via un nouveau param
- Support préliminaire des bankswitching CTY (ROMs Chetiry) et extension de nom de fichier pour forcer un schéma (ex. :
Changelog complet
v6.0.0-pre1
-
Nouveauté majeure : Migration vers une architecture modulaire avec séparation des composants logiciels (CPU, GPU, périphériques) pour une meilleure maintenabilité et évolutivité, incluant une refonte complète du système de plugins.
-
Amélioration majeure : Ajout d’un système de sauvegarde amélioré (snapshots) avec support natif des fichiers
.staet.sta6, ainsi qu’une gestion optimisée des points de sauvegarde. -
Correction importante : Résolution de problèmes critiques liés à la compatibilité matériel (notamment les cartes son et graphiques) pour améliorer la stabilité sur les jeux récents.
-
Optimisation : Réécriture du moteur d’émulation pour une meilleure performance (réduction des latences et amélioration du rendu vidéo) via des algorithmes optimisés.
-
Nouveautés techniques : Intégration d’un système de logging avancé (débugging) et d’un API étendue pour les développeurs, facilitant les contributions et les tests.
(Aucune mention spécifique à macOS ou Apple Silicon dans ce pré-relâche.)
Changelog complet
Captures d'écran