Atari800
Atari800 est un émulateur open-source dédié aux ordinateurs Atari 8 bits (800, 800XL, 130XE) et à la console Atari 5200. Développé initialement en 1995 par David Firth sous licence GPL, il repose sur des sources C conçues pour une portabilité maximale, permettant son adaptation sur de nombreuses plateformes (Linux, Windows, Amiga, etc.). Bien que les dernières versions officielles pour macOS s’appuient sur des builds antérieurs, l’émulateur reste fonctionnel sous macOS moderne, notamment via des compilations communautaires utilisant SDL2.
Son fonctionnement repose sur une architecture modulaire, offrant des interfaces graphiques (X11, Motif) ou textuelles (curses), ainsi qu’un mode portable sans dépendances lourdes. Les sources restent disponibles, permettant aux utilisateurs avancés de compiler ou modifier l’émulateur selon leurs besoins. Une version simplifiée, basée sur la bibliothèque standard C, est également proposée pour les environnements limités.
Dernière mise à jour :
Plateformes
Architecture
Mac OS X - macOS
64 bits
Téléchargement et liens
- Site officiel
- Code source
-
brew install atari800
Historique des versions
v7.2.1
-
Nouveautés majeures :
- Ajout d’un clavier virtuel intégré (activé par défaut, réaffectable via la touche F11 ou un contrôleur SDL2, avec support des touches de console).
- Améliorations du joystick :
- Détection automatique des axes/manettes (hat ou axes) depuis le périphérique, suppression des options
-joy0hat..-joy3hat. - Mémorisation des configurations de ports joystick (y compris les défauts auto-détectés) entre les sessions, même en cas de déconnexion.
- Compatibilité étendue avec les manettes petites (diagonales larges par défaut) et intégration sans port spécifique pour le menu F1 ou le clavier virtuel.
- Renommage des paramètres de ports (
JOY_%d_*→JOY_PORT_%d_*).
- Détection automatique des axes/manettes (hat ou axes) depuis le périphérique, suppression des options
-
Corrections importantes :
- Précision de l’émulation :
- Correction des IRQ du timer POKEY (cycle-précis) et du timing VSCROL/DLI (fixe le démo "Rewind 2").
- Latence sonore réduite sur Falcon/FireBee (via POKEY IRQ précis et support de l’API uSound v2).
- Bugs critiques :
- Sauvegarde de la configuration fonctionnelle à nouveau (problème lié aux builds sans capture d’écran).
- Correction du build SDL1 et réintroduction du support
mintelfpour Falcon.
- Précision de l’émulation :
-
Spécifique macOS :
- Builds : Correction du fichier
.dmguniversel (arm64 + x86_64) pour macOS, incluant les cibles Falcon/FireBee et 32 bits dans les tests CI.
- Builds : Correction du fichier
Changelog complet
v7.2.0
-
Améliorations majeures de l'émulation :
- Précision accrue pour les IRQ du timer POKEY (cycle-precise) et le timing des DLI VSCROL, corrigeant des problèmes comme le demo "Rewind 2" (#274).
- Intégration de Altirra OS 3.49 et Altirra BASIC 1.59 pour une compatibilité étendue.
-
Nouveautés utilisateur :
- Clavier virtuel intégré activé par défaut, avec rebindable sur F11 et support des contrôles SDL2 (joysticks) et clavier console.
- Réaffectation personnalisable des touches F1–F12 (menu, OPTION, SELECT, etc.) via l’interface utilisateur.
-
Gestion des joysticks (SDL) :
- Détection automatique des axes/hat (pas besoin de config manuelle), suppression des options
-joy0hat..-joy3hat. - Renommage des paramètres de port (
JOY_%d_*→JOY_PORT_%d_*) et persistance des configurations (même après déconnexion). - Fonctionnement du menu F1 et du clavier virtuel avec tout type de joystick (sans liaison de port).
- Détection automatique des axes/hat (pas besoin de config manuelle), suppression des options
-
Corrections critiques :
- Sauvegarde de la configuration fonctionnelle (problème lié aux builds sans capture d’écran).
- Correction du build SDL1 (précédemment brisé).
- Latence audio et IRQ POKEY corrigés sur Falcon/FireBee, avec support de l’API uSound v2.
-
macOS / Apple Silicon :
- Build universel (.dmg) pour ARM64 (M1/M2/M3) + x86_64 corrigé et intégré aux tests CI.
- Pas de changement fonctionnel majeur pour macOS (pas de mention de version minimale ou de correctifs spécifiques).
Changelog complet
v7.1.2
- Correction majeure : Résolution d’un bug critique dans le dialogue de configuration du joystick clavier, qui bloquait en boucle infinie et empêchait toute utilisation.
(Aucune mention spécifique à macOS ou Apple Silicon dans ce changelog.)
Changelog complet
v7.1.1
-
Correction majeure : résolution du dysfonctionnement des touches de manette clavier (joystick) dans SDL2, où seules les touches du pavé numérique fonctionnaient auparavant.
-
Correction majeure : stabilisation du mode "none" pour les ports de manette, qui ne persistait plus après un redémarrage.
(Aucune modification spécifique à macOS ou Apple Silicon dans ce changelog.)
Changelog complet
v7.1.0
-
Amélioration majeure : implémentation des interruptions POKEY précises au cycle (cycle-precise), permettant un fonctionnement correct de Project-M et d'autres jeux/exécutions sensibles aux timings.
-
Correction critique : prise en charge corrigée des images de disque compressées avec
.gz(.atr.gz,.xfd.gz) sur Android. -
Nouveautés Android :
- Ajout d’un écran de console toujours actif en mode paysage, avec une surcouche de touches dédiées.
- Affichage des icônes de la barre de menu ajustées pour éviter les bordures arrondies de l’écran.
- Boutons de montage de disquettes (D1-D4) avec indicateurs d’état visuels.
-
Améliorations CI :
- Optimisations des builds AppImage (stabilité et automatisation).
- Correction des problèmes de compatibilité bash et des certificats HTTPS dans les pipelines de build.
Changelog complet
v7.0.0
-
Intégration du téléchargement automatique de ROMs et d'images de disques :
- Téléchargement direct depuis Internet des ROMs manquantes (OS/BASIC) et des images de disques compressées (format
.zip), sans intervention manuelle préalable.
- Téléchargement direct depuis Internet des ROMs manquantes (OS/BASIC) et des images de disques compressées (format
-
Mode portable amélioré :
- Configuration et stockage des données (fichiers, sauvegardes) placés directement dans le répertoire de l’exécutable, sans dépendance aux chemins utilisateur classiques.
-
Support macOS officiel :
- Distribution sous forme de
.dmgprêt à l’emploi, incluant un package complet pour une installation simplifiée sur macOS.
- Distribution sous forme de
-
Réorganisation de la hiérarchie des fichiers de configuration :
- Privilégie le chemin fourni en ligne de commande (
--config), puis le répertoire exécutable (si portable), avant les chemins utilisateur traditionnels (~/.atari800.cfg), avec des chutes de secours systématiques (fichier système ou création automatique).
- Privilégie le chemin fourni en ligne de commande (
Changelog complet
v6.1.0
-
Nouveauté majeure :
- Ajout d’un raccourci clavier Alt+J pour ouvrir directement la configuration des manettes/joysticks, améliorant l’accessibilité des paramètres matériels.
-
Amélioration de l’ergonomie :
- L’option Enregistrer la configuration a été déplacée dans le menu principal (F1), pour une meilleure cohérence avec les autres fonctionnalités.
- Les entrées de capture d’écran ont été regroupées, avec un rappel visuel (Shift+F10) pour faciliter leur utilisation.
-
Correction fonctionnelle :
- Restauration du raccourci Alt+J pour les utilisateurs utilisant SDL (sous-entendu : compatibilité rétablie après une suppression accidentelle).
Changelog complet
v6.0.0
-
Support natif de macOS et Apple Silicon (M1/M2/M3) :
- Builds
.dmgofficiels pour macOS (sans mention explicite de la version minimale requise, mais compatible avec les workflows CI incluant macOS 14 arm64). - Pas de correctif ou d’optimisation Mac spécifique signalé dans ce changelog.
- Builds
-
Améliorations majeures pour l’émulation :
- SDL2 comme cible principale (automatique si disponible), avec :
- Prise en charge des shaders OpenGL et rendu amélioré.
- Configuration avancée des manettes (SDL2) : réorganisation par port Atari (0–3), support des paddles, et gestion des périphériques host (joysticks, claviers, ports parallèles).
- Correction des problèmes de clavier (CAPS LOCK, combinaisons de touches, HELP).
- NetSIO/FujiNet : émulation du réseau SIO sur UDP (port configurable via
-netsio_port), avec support des diviseurs de vitesse, du signal PROCEED, et du partage de port (SO_REUSEADDR).
- SDL2 comme cible principale (automatique si disponible), avec :
-
Cartouches et compatibilité matériel :
- Ajout du support des types J(atar)Carts et DCart.
- Turbo speed et sauvegarde/charge rapide d’état.
- Extensions de l’API libatari800 (montage/démontage de disquettes, callbacks d’activité, contrôle des patches SIO).
-
Corrections critiques :
- ATX (commande ligne) corrigé (bug depuis 2009).
- XF551 Get Status (SuperDOS 5.1) et chargement des fichiers BIN (Corina).
- Refactorisation du système sonore (suppression de code obsolète) et de l’émulation CPU.
-
Aucun changement spécifique aux builds Windows ou Linux n’impacte macOS.
Changelog complet
v5.2.0
-
Nouveauté majeure : possibilité de renommer la lettre du périphérique hôte (par défaut
H:) en toute lettre saufC:(cassette),E:,K:etS:, pour contourner les limitations des programmes utilisant des chemins durcis (ex.D:pour un disquette). Configurable via les paramètres d'émulation ou en ligne de commande avec-Hdevicename. -
Amélioration utilisateur : ajout d’un tooltip dans les paramètres rappelant l’existence des périphériques virtuels hôte avec conversion automatique ATASCII ↔ ASCII (notamment pour les fichiers texte, comme les sources BASIC listés via
LIST "H6:PROGRAM.LST").
(Aucune modification spécifique à macOS ou Apple Silicon dans ce changelog.)
Changelog complet
v5.1.0
-
Nouveautés majeures :
- Cartouches RAM : implémentation complète (support de multiples cartouches RAMCART/SiDiCar, écriture, commande
CARTdans le moniteur, option UI pour cartouche vide et réservation d’IDs pour futurs types). - Gestion avancée des périphériques d’entrée : nouveaux flags en ligne de commande (
-playbacknoexit,-joy-distinct) pour :- Empêcher la fermeture automatique après lecture.
- Désactiver la fusion des joysticks physiques (clavier, joysticks SDL/LPT) pour étendre le nombre de contrôleurs utilisables simultanément (ex. : clavier + joysticks physiques).
- Précédence systématique des joysticks LPT sur les joysticks SDL (même sans flag), rendant certains périphériques auparavant inutilisables fonctionnels.
- Cartouches RAM : implémentation complète (support de multiples cartouches RAMCART/SiDiCar, écriture, commande
-
Améliorations fonctionnelles :
- Enregistrement de jeu : affichage compact des événements d’entrée (tous sur une ligne) pour faciliter l’analyse (ex. : suppression des lignes "inutiles" avec
grepet agrégation des frames identiques). - Renommage du périphérique H: (disque) et sauvegarde automatique dans le fichier de configuration.
- Lecture de fichiers XEX dans le moniteur (utile pour les patches).
- Enregistrement de jeu : affichage compact des événements d’entrée (tous sur une ligne) pour faciliter l’analyse (ex. : suppression des lignes "inutiles" avec
-
Corrections critiques :
- Problèmes d’entrée/sortie :
- Correction des touches Ctrl et Caps Lock sous SDL12-compat (compatibilité rétroactive).
- Réinitialisation automatique de BRKKEY par le SIO (corrige le démo Arsantica 3).
- Stabilité technique :
- Correction d’une surlecture de buffer dans le calcul des collisions PMMC (#165).
- Optimisations pour les machines Atari ST/TT/Falcon.
- Fonctionnalités de saisie/insertion de texte (suppression/ajout de caractères/lignes) (#179).
- Correction du warp dans BBSB (#199).
- Problèmes d’entrée/sortie :
-
Mises à jour logicielles intégrées :
- OS et BASIC Altirra mis à jour respectivement
Changelog complet
v5.0.0
-
Nouveautés majeures :
- Ajout du recording vidéo en AVI (raccourci
Alt+V) avec sélection de codec vidéo via-vcodec, et personnalisation des noms de fichiers via-anameet-vname. - Support des cartouches Atari 5200 banc-switchables (71 à 75) incluant les Super Cart (64K à 512K) et l’Atarimax 1 MB Flash, avec optimisation des copies mémoire inutiles.
- Remappage des touches fonctionnelles (START, SELECT, OPTION, etc.) et commentaires dans le fichier de configuration.
- Enregistrement audio en MP3 et autres codecs (raccourci
Alt+W) avec sélection via-acodec.
- Ajout du recording vidéo en AVI (raccourci
-
Corrections critiques :
- Correction d’un plantage (segfault) lors du retrait d’une cartouche Super Cart 5200 ou de la fermeture du moniteur.
- Sauvegarde corrigée du fichier de configuration et gestion du répertoire courant (
getcwd()). - Optimisation des performances pour les cartouches Bounty Bob et Super Cart (évitement des copies mémoire redondantes).
-
Améliorations macOS :
- Activation par défaut du mode "R" (réglage de rétrocompatibilité) dans les builds pour macOS.
- Compatibilité accrue avec les configurations audio/vidéo SDL et les outils de build (ex.
dash).
Changelog complet
v4.2.0
-
Nouveauté majeure : intégration de libatari800, permettant d'utiliser l'émulateur comme bibliothèque pour des projets tiers (développement modulaire ou intégration dans d'autres logiciels).
-
Nouveauté majeure : prise en charge de la plateforme FireBee (console rétro basée sur un FPGA), élargissant les supports matériels officiels.
-
Nouveauté fonctionnelle :
- Enregistrement des registres Pokey bruts (pour des sauvegardes précises du son).
- Activation par défaut du périphérique R: (RAM disk), une fonctionnalité ancienne mais utile pour les utilisateurs avancés.
-
Correction critique : résolution d’un gel de l’interface utilisateur sur Falcon (bug récurrent corrigé après des années).
-
Améliorations mineures :
- Meilleure gestion des chemins des ROMs OS et des réinitialisations automatiques si nécessaire lors de la recherche d’images.
- Options de ligne de commande dédiées pour :
- L’enregistrement Pokey (
-pokeyrec), - Le filtrage des fichiers cachés (
-atari_files,-saved_files), - La configuration des joysticks clavier (
-kbdjoy0/1,-nokbdjoy0/1).
- L’enregistrement Pokey (
(Aucune mention spécifique à macOS ou Apple Silicon dans ce changelog.)
Changelog complet
v0.8.7
Aucun détail pour cette version.
v0.8.8
Aucun détail pour cette version.
v0.8.9
Aucun détail pour cette version.
v0.9.0
Aucun détail pour cette version.
v0.9.1
Aucun détail pour cette version.
v0.9.2
Aucun détail pour cette version.
v0.9.3
Aucun détail pour cette version.
v0.9.4
Aucun détail pour cette version.