# NoSTalgia : Emulateur ST pour MAC

Cet article va traiter d'un nouvel émulateur Atari, appelé NoSTalgia. Ce dernier fonctionne sur Power Macintosh et est développé par le très sympathique Philippe GUERIN. (Décidément, ils sont sympas, ces coders d'émulateurs dixit Frédéric Gidouin de PaCifiST).

Vous pouvez le télécharger sur Internet à l'adresse suivante:

http://users.skynet.be/sky39147/

Nombre d'entre vous vont se demander ce que fait un tel article dans le Toxic Mag. Eh bien je pense que tous ceux qui se laissent tenter par une machine autre que le ST et autres modèles Atari, veulent souvent utiliser leurs vieux jeux et programmes. Les deux plates formes du moment sont (même si des rumeurs persistent !) le monde Wintel avec le PC et le monde Apple avec le Power Macintosh [NdTB : pas pour longtemps, avec l'arrivée des stations DEC Alpha].

J'ai récemment basculé du PC vers ce dernier. Il existait dès lors un émulteur ST appelé Magic Mac. Mais celui-ci, bien que rapide se limite à l'émulation du GEM. NoStalgia va beaucoup plus loin en offrant une compatibilitθ matérielle très souple qui permet de faire tourner des jeux, démos et autres programmes et ceci sans carte additionnelle.

La présentation se fait à la manière de tous les programmes Mac: une fenêtre qui affiche l'écran du ST, une barre de menu pour les diverses options. La fenêtre d'écran affiche sur sa partie inférieure les infos suivantes : activation des lecteurs de disques, nombre de vbls obtenues par l'émulateur sur votre machine : la vitesse normale est de 50 vbls en basse et 70 vbls en haute.

La barre de menus propose les options suivantes :

- Le menu fichier qui permet de relancer la machine, de changer de TOS, de tracer votre programme (fonction pas encore implémentée).
- Le menu édition qui permet de faire des copies d'écran.
- Le menu disks qui offre la possibilité de protéger les images disquettes en écriture, et de paramétrer la lecture des informations des boots secteurs de disquettes (pratique pour les démos et autres jeux !) et d'"insérer" une image disque dans les lecteurs.
- Le menu option qui permet de fixer plusieurs paramètres de la fenêtre d'émulation :
  - l'intervale de vbl pour l'affichage : en effet si votre Mac n'est pas assez puissant, il est conseillé de reduire le nombre de vbl.
  - le mode line ou screen qui permet de d'émuler les razters ou non. Cette fonction peut considérablement ralentir la vitesse d'émulation. Mais contrairement à ce que prétend l'auteur de NoSTalgia, c'est archi BEAU et ça marche mieux que sous PACIFIST.
  - Le mode plein écran ou fenêtré.
  - Le passage en haute résolution.
  - Le mode Zoom: les pixels seront affiché en double. Cool pour ceux qui ont un 17 pouces et travaillent en 1027 *768 ou plus.
  - Le masquage du pointeur de souris du Macintosh. Comme l'écran du ST est affiché en fenêtre, on se retrouve avec 2 pointeurs de souris ! C'est un peu déroutant des fois.
  - le son, mais là comme l'émulateur ne va pas des fois à la vitesse du ST sur mon Mac, j'ai droit à des versions scratch des tubes de MAD MAX ! En effet si les sons ne sont pas reproduits à 50 Hz, aïe aïe aïe !

Côté performances, donc, il ne faut pas s'attendre à une merveille! Personnellement je suis à 43 Vbls avec un 603e à 200 Mhz ! Ceux qui connaissent le rapport entre les Intel et Motorola vont se dire : "Putain ca rame !" (en effet un 603e est legèrement plus rapide qu'un Pentium, Motorola rulez! :-) Oui et non! Le programme est entièrement codé en C et n'a pas encore été optimisé. Cela permet un meilleure qualité d'émulation et surtout une facilité de débugage du code. L'auteur m'a confirmé vouloir optimiser son programme, mais a mon avis il sera obligé de coder certaines parties du programme en assembleur Power PC. Il va s'amuser le pauvre ! =) Côté émulation, par contre, il y a moins de bugs agaçants que l'on retrouve sur Pacifist. L'émulation clavier est vraiment géniale et ne bugge pas : en effet la disposition des touches clavier ST est celle du Mac (eh oui ! Comme quoi le ST n'était pas si original que ca !). Du coup on a moins de problèmes à chercher où se trouve telle ou telle touche. En commutant en mode majuscule, certaines touches sont utilisables comme joystick. Un paramétrage personnalisé aurait été plus judicieux, mais comme c'est une version beta, faut pas trop en demander ! Le moteur d'émulation, basé sur UAE (l'émulateur Amiga) ne plante presque pas. En effet, Pacifist pour des raisons évidentes de programmation en assembleur sur PC, tourne en mode protégé. Du coup, lors d'un plantage dur du programme, le PC et le système entier s'effondre! On doit rebooter la machine si elle ne l'a pas fait d'elle-même ! Sur le Mac, aucun problème à ce niveau : en cas de plantage du programme (bien que je n'en ai pas encore vu ! bravo Philippe !) l'application se ferme et hop... Certains vont me dire que je relance la querelle PC <-> Mac mais j'y peux rien ;-) C'est plus stable sur Mac !

La machine émulée est du type 1040 STF : 1Mo de RAM avec version de TOS allant du 1.0 au 1.04. Inutile d'essayer la version 2.06 ! L'auteur m'a confié qu'il teste chez lui une version acceptant cette version de TOS. J'espère qu'il la diffusera bientot. Les timers sont émulés mais les priorités ne sont pas toujours respectées. Il est très difficile de faire mieux qu'un gestionnaire d'interruptions tel que le 68901 du ST. Sa précision est diabolique (normal pour ce chip !) et je pense que cela sera très difficile de faire aussi bien! Les samples ne sont pas encore emulés... Mais ce n'est que partie remise. Toutes les résolutions ST sont supportées. Par contre, du fait de l'imcompatibilité des résolutions Mac et ST (contrairement au PC, le Mac n'a jamais eu de résolution en dessous du 512*384!), le mode 320*200 est affichable en simple pixel ou double. La moyenne résolution est, elle, uniquement affichage en 640*400 avec doublage des pixels en hauteur. De ce fait, les fenêtres vont grossir et rétrécir au gré de vos changements de résolution ! Petite anecdote: dans certaines demos comme la BRACE, des parties de l'écran commutent en moyenne résolution. Du coup on a droit à un effet supplémentaire dans la demo! Puisqu'on vous dit que le ST, c'est génial : il interagit sur le MAC :-)

Les prochaines améliorations prévues:

- vitesse d'exécution ;-)
- possibilité d'utiliser le disque dur du mac.
- extension mémoire à plus d'un mega.
- spécificités STE (d'ailleurs plus faciles à émuler !) : blitter, son DMA, etc.

Je vous ferais part des nouvelles améliorations dans un futur numéro de Tocsik ! [NdTB : j'espère bien ! Quant aux émulateurs ST sur PC, je vous renvoie à l'article de Senser dans ce numéro]

Jace /ST Knights
jace.stk@runnet.com

PS : J'ai recu la dernière version de test de l'émulateur et ça carbure à mort ! L'exécution est presque 2 fois plus rapide, beaucoup de paramètres hard comme la désactivation du timer b, ou le forçage des interruptions VBL on été rajoutées ! Beaucoup de démos supplémentaires fonctionnent maintenant et cela sans patch!

[Retour au sommaire]