Émulation Atari ST

IL est possible d’utiliser la plupart des applications écrites pour Atari, même sans disposer d’une telle machine, grâce à un émulateur, c’est-à-dire d’une application qui tourne sur PC (Windows ou Linux) ou MacIntosh.

Avec GNU/Linux (Debian), il est possible d’installer d’autres émulateurs :

1. Pré-requis

1.1 ROM : le TOS
1.2 Clavier
1.3 Disquette Atari
1.4 Fichier-image

2. Émulateurs

2.1 Hatari
2.2 ARAnyM
2.3 (X)Steem

Dernières versions des émulateurs ATARI ST au 2022.02.22

Ver.SortieUnixWinMac
Steem SSE4.1.12022.02.05 OuiGPL! Retour libre du projet XSteem
Hatari2.3.12020.12.77OuiOuiOuiGPL! Très bonne gestion de la puce sonore
ARAnyM1.1.02019.04.14 OuiOuiOuiGPL! Également disponible en AppImage
Pour mémoire…
SainT2.402015.12.12 Oui
NoSTalgia1.522015.06.03 Ouila version 1.1 est la dernière compatible avec MacOS9
Steem3.22004.10.22 OuiOuiLa version pour GNU/Linux s’appelle Xsteem
STonX0.6.7.62004.08.15 Ouisources à compiler, erreurs possibles
PaCifST0.492001.10.18 Ouila version 0.49 s’installe sur la 0.48
TosBox1.10a2000.09.26 Ouiun accessoire permet de lire les disquettes ST
WinSTon0.52000.09.22 Ouisources libérées, reprises pour STew 1.0 (2000.10.10)

1. Prérequis

Les exemples considèrent que l’utilisateur UN*X est connecté sous le nom toto.

1.1 Le système d’exploitation

L’émulateur nécessite une version du TOS, le système d’exploitation de l’Atari, qu’on appelle souvent ROM (il s’agit souvent de fichiers avec l’extension .IMG ou .TOS). Une application Atari créée pour STonX permet de récupérer le TOS de toutes les machines (Mega)ST(E) sur une disquette : TOSDUMP.PRG (clic droit pour le télécharger, pomme-clic pour Mac) produit le fichier tos.img sur une disquette. D’autres l’ont fait pour vous : il s’en trouve donc sur Internet (par exemple sur atariworld.org), bien que le TOS ne soit pas dans le domaine public et reste la propriété de la société ayant racheté Atari. Les différentes ROM permettront donc d’émuler différentes machines, selon les programmes à utiliser.

Il existe beaucoup de versions, déclinées selon l’ancienneté de la machine et selon la langue. Certains premiers jeux utilisent des ficelles particulières à une version précise (adressage direct en mémoire), d’où l’intérêt de garder les premières ROM. Un autre exemple est celui utilisant le code auto-modifié (LineF), interdit sur le MC68030, qui disposait d’un cache ne permettant plus cette technique.

Au tableau qui suit, on peut ajouter EmuTOS (1.1.1 - 2021.07.19) qui est la réécriture du système d’exploitation ATARI sous license libre (GPL) en diverses langues : cz, de, es, fi, fr, gr, hu, it, nl, pl, ru, sg (suisse germanique), uk, us ; no (Norvège) et se (Suède) sont en anglais, mais permettent un clavier scandinave. Les fonctionnalités de base s’y retrouvent, voir ici.

TOS  Sortie  Modèle
1.001985.11.20ST - ne semble pas fonctionner avec Linux/Steem
1.021987.04.22MegaST
1.041989.04.06Portable Stacy et STFm : Floppy interne + sortie coaxiale
1.061989.07.29STE, nécessite STE_FIX.PRG
1.621990.01.01STE, correction des bugs du précédent
2.051990.12.05MegaSTE floppy 720Ko
2.061991.11.14MégaSTE floppy 1440Ko
2.081992.03.10Portable ST-Book
3.001990.03.01TT030
3.011990.08.29TT030
3.051990.12.05TT030
3.061991.09.24Medusa System - clone de Fredi Aschwanden
4.041993.03.08Falcon; compatibilité nullement garantie avec les ST
4.051998Milan 040 - clone de Kassian Goukassian
4.071999.05.10MilanTOS
4.081999.07.08MilanTOS
4.921994Multitâche, version beta 5.0, non officielle

Le site freddo.chez.com donne un ensemble de liens sur l’émulation (PC/Win) avec des ROM. Il offre également des patches corrigeant certains bugs (fin de la page).

1.2 Le clavier Atari ST

Le clavier Atari ST n’est pas celui du PC. Le clavier azerty belge affiche les différences, qui concernent les touches de part et d’autre de [Return], à gauche de [Backspace] et les caractères { et } :

Le clavier Atari ST azerty belge

Sur un clavier PC :

[AltGr-ù]
[µ]
[Shft-µ]
[AltGr-µ]
[AltGr-Shft-µ]
[AltGr-Shft-^]
[AltGr-Shft-$]
[²]
£ [Shft-²]

Pour un clavier azerty français, il faut se fier aux indications du clavier PC (par exemple l’inversion !/=…).

1.3 Disquette Atari

Une disquette formatée par un TOS inférieur à 2.06 n’est pas tout à fait compatible DOS et n’est donc pas reconnue par les systèmes actuels. Les émulateurs lisent donc un fichier provenant d’une copie (une «image») de disquette, souvent avec l’extension .st, .msa ou parfois .img, à ne pas confondre avec le format d’image graphique de même extension, ou un fichier contenant le TOS.

Il est possible de générer une image de disque à partir d’une disquette (à condition de disposer d’un lecteur de disquette, supposé ci-après être le premier lecteur de disquette). Avec GNU/Linux et autres Unix :

dd if=/dev/fd0 of=/home/toto/image.st

Sous Windows, on peut récupérer raread («raw read» : lecture brute) qui s’utilise de la façon suivante :

raread a: image.st

Note : TosBox (seulement pour Windows) possédait un accessoire permettant de lire directement une disquette formatée par les TOS inférieurs à 2.06.

1.4 Fichier-image

Les émulateurs peuvent lire les fichiers-images créés au point précédent ou trouvés sur Internet comme s’il s’agissait d’une disquette A: ou B:.

En GNU/Linux et Unix, les fichiers-images peuvent (souvent?) être ouverts avec la commande (lieu est un répertoire qui doit exister et être accessible) :

#En mode super-utilisateur: su - [Enter] mount -o loop -t msdos disquett.st repertoire

2. Émulateurs

Il semble que ne survivent que les projets libres d’émulation du ST, TT et Falcon.

2.1 Hatari

La version 2.0 d’Hatari est présente sur la majorité des distributions basées les systèmes GNU/Linux et est également disponible pour Windows et MacOSX.

Bonnes surprises : le son de la puce sonore YM2149 du ST est très bien émulé, et l’utilisation est assez intuitive. Même après configuration, il faut un certain temps pour que le système soit mis en route (émulation du temps d’un processeur à 8 ou 16MHz !).

Moins maîtrisé, le curseur de la souris du système ne correspond pas toujours à celle de la fenêtre Hatari. Pour ajuster les deux, placer la fenêtre au centre de l’écran, puis dépasser les bords de la fenêtre à gauche, à droite, en haut et en bas.

[F11] commute vers le mode plein écran, ce qui n’est pas toujours heureux (effet d’étirement)

[F12] permet la configuration par l’intermédiaire d’une boîte à outil qui propose trois colonnes d’items. Attention : sans image TOS ou clone, l’émulation ne sera pas possible.

Colonne de gauche

Colonne centrale

Colonne de droite

Note : Ne pas oublier de sauvegarder la configuration. Après l’installation de la version 2.0 (GNU/Linux), il a fallu rechercher la configuration avec Load Config, la ROM était recherchée en /usr/share/… En version 3.0, elle est, pour l’utilisateur toto, en home/toto/.config/hatari

Compilation Unix

Récupérer une éventuelle nouvelle version sous forme de sources .tar.gz à désarchiver, à condition d’avoir installé zlib1g-dev et libsdl1.2-dev et les sources du noyau Linux utilisé :

#En mode super-utilisateur: su - [Enter] apt install zlib1g-dev libsdl1.2-dev

compilation habituelle :

cd hatari-1.8.0
./configure
make
#En mode super-utilisateur: su - [Enter] make install

Le succès dépend de la version GNU/Linux utilisée : certaines librairies sont peut-être trop anciennes. Par exemple, les versions 1.7.0 et 1.8.0 ne sont pas installables en l’état sur Debian/Wheezy.

2.2 ARAnyM : Atari Runs on ANY Machine

L’application aranym est disponible dans la majorité des distributions basées sur les systèmes de paquetage .deb et .rpm, ainsi que sur les systèmes Windows et MacOSX, voir aranym.

2.3 (X)Steem (STE Emulating Engine)

Récupérer steem (version 4.1.1). La dernière version pour Windows (3.2) date de 2004 et est gratuite, mais pas libre.

Il s’agira d’un zip. Le décompresser, le binaire se trouve dans le répertoire ainsi désarchivé. Le mieux est peut-être de l’installer dans le répertoire /home/toto/atari (si l’utilisateur est toto). Dans une console, lancer /home/toto/atari/xsteem64

Répondre aux questions :

Lorsque steem est chargé, on obtient une fenêtre de 640X400 surmontée de deux rangées d’icones. Celles de gauche permettent toute une série d’actions, dont celles de lancer, d’accélerer (fast forward pour les longues introductions de certains jeux) et d’arrêter l’émulation, de prendre une photo de l’écran, de coller du texte vers l’émulateur, de passer en plein écran.

Lorsque l’émulation est lancée, la souris est limitée à l’écran Atari et n’a plus accès à ces icones de contrôle, mais il est toujours possible de quitter momentanément l’émulation par la touche [Pause] (à droite des touches de fonctions pour un clavier PC) et de retourner à ces séries d’icones.

Les icones de la rangée de droite permettent la configuration :