La série Atari 8-bits : le véritable ancêtre de l’Amiga ?

Je voudrais vous présenter un ordinateur 8 bits bien trop sous-estimé et pourtant tout à fait étonnant dont j’ai fait récemment l’acquisition : l’Atari 800 XL. Dans cette article nous résumerons ces spécifications en comparant de temps en temps avec le C-64 (Le 8 bit que je connais le mieux) tout en soulignant les similitudes avec l’Amiga.

En effet, l’architecture fait beaucoup pensé au légendaire 16 bit de Commodore et rien d’étonnant lorsque l’on sait que l’un des concepteurs de l’Atari 800 n’est autre que Jay Miner, le père de l’Amiga.

Atari 800 (1979)

En réalité les premiers Atari 8-bit avec la série 400/800 sont sorties fin 1979. L’Atari 800 xl, sortie en 1983, est un Atari 800 équipé de 64 KO de Ram (au lieu 48KO) et mis à part quelques modifications et améliorations mineures (mais significatives), l’architecture est quasi identique.

SONY DSC
Atari 800xl (1983)

https://en.wikipedia.org/wiki/Atari_8-bit_family

Tout d’abord ce qui frappe d’abord c’est le design et la qualité de l’ensemble. La machine est belle, petite et légère. Le clavier est excellent, et la machine contient plein de petit plus comme ce le self-test ou la possibilité de rebooter à chaud avec un seul bouton. En revanche il souffre également de quelque tares comme ce BASIC, certes plus puissant que celui du C-64, mais aussi lent. De plus chaque appuie de touche provoque un bip sonore qui, même si au début fait sourire, nous oblige à couper le son à la longue (mais je suppose que les nostalgiques de la bête doivent adorer un peu comme moi qui adore le bruit du lecteur de disquette de l’Amiga 500). Par contre, la puissance du BASIC (comparé à celui du C-64) en fait un bien meilleur 8-bit à montrer à ses enfants. (Vous avez déjà essayé de leur expliquer comment poker plusieurs registres du SID pour enfin sortir un son ??? lol)

Mais l’aspect le plus étonnant de cette machine est son architecture.
Articulé autour d’un MOS6502 (de la même famille que le MOS6510 du C-64) légèrement modifié appelé SALLY, celui-ci est cadencé à 1,77 MHz (contre 1 MHz pour le C-64 mais les vols de cycles sont moins nombreux). Nous avons évidemment un MMU (en réalité un petit bordel qui sera intégré en un seul chip nommé FREEDIE que plus tard pour les dernières versions du XL et pour les XE) qui contrôle les slot-mémoires et un PIA qui s’occupe de la lecture des Joystick, d’une partie contrôleur de clavier et du port utilisateur.
Venons maintenant à la caractéristique qui rapproche les Atari 8-bit à l’Amiga : la présence de 3 puces spécialisées : POKEY, GTIA et ANTIC.

La lecture du clavier, l’interface série et le son est à la décharge de POKEY. Celui-ci dispose de 4 canaux générant que des signaux carré. Pas de générateur d’enveloppe mais un contrôle de volume de 4 bits pour chaque voix. Pas de réglage des crêtes mais la possibilité de produire des distorsions en supprimant des crêtes. Concrètement on a 6 variétés de son (4 type de bruit et 2 son pure) à notre disposition que l’on peut faire varier dynamiquement. Enfin un contrôle de fréquence de 8bit sur 3,5 octaves (contre 12 bit pour le SID) ce manque de précision faut qu’il est légèrement faux musicalement mais on peut combiner 2 voix pour augmenter la précision à 16 bit. En combinant deux voix, on a également la possibilité d’appliquer des filtres passe-haut.
Un point sympathique est qu’on peut forcer le signal à n’être que dépendant du volume cela permet de jouer des échantillons relativement facilement.
https://en.wikipedia.org/wiki/POKEY

GTIA (CTIA pour l’Atari 800/400) s’occupe des graphismes et la génération du signal vidéo. Il contrôle les Lutins c’est-à-dire 4 players (24*8) et 4 missiles (24*2), définit les playfields, les registres de couleurs. Notez bien que les registres de couleur contiennent 4 bits pour la sélection de 16 couleurs fixe de la palette mais dispose également de 4 bits pour la luminosité autorisant au total un choix de 256 couleurs (128 couleur pour l’Atari 800 d’origine) ! L’organisation des bitmaps n’est pas tordue (comme sur le C-64 ou les CPC) c’est presque (la différence est qu’un pixel peut-être définit sur un ou deux bits adjacents) comme sur l’Amiga et c’est plus pratique pour dessiner des polygones. Noter egalement le même terme de « playfield » que sur Amiga. Au niveau des modes graphique nous avons un mode Text et mode Graphique avec des choix de résolution à la pelle allant du 40×24 à 160×192 en 4 couleurs sans contrainte ou bien du 80×24 a 320*192 en 2 couleurs sans contrainte.
https://en.wikipedia.org/wiki/CTIA_and_GTIA

ANTIC : c’est le custom chip le plus étonnant. C’est en réalité un coprocesseur possédant son propre jeu d’instructions. Un peu déroutant au début, l’utilisation est en fait très simple ; ANTIC, par l’intermédiaire d’une liste d’instructions est capable, en synchronisation avec la position vertical du canon à électron de contrôler en partie  le GTIA en définissant l’adresse des playfields, de la mémoire écran et les modes graphiques… De plus, il peut,  à chaque instruction, déclencher une interruption.

En ce qui concerne les modes graphiques on parle des mode Antic qui sont définit par un code de haut-niveau qui indique comment configurer le GTIA. Mais il est egalement possible de désactiver les display list d’ANTIC pour configurer le GTIA manuellement (mais dans ce cas seul les players/missiles seront disponibles) .

Pour vous donner une idée voici une liste d’instruction ANTIC:

Adresse   Instructions      Commentaire

$2200       $70,$70,$70      ; 8 lignes d’overscan 3 fois

$2203       $42,$00,$23     ; Mode 2 (40 x 8) et définit l’adresse mémoire en $2300 

$2206       $02                     ; Mode 2 sans redéfinition d’adresse mémoire.

$2207       $70,$70,$70       ; 8 lignes d’overscan 4 fois

$2203       $07                      ; Mode 7 (20 x 16) sans redéfinition d’adresse mémoire

$2209       $41,$00,$22      ; Overscan et attends le prochain vbl pour sauter en $2200

; Texte en memoire
org $2300
byt  » ATARI XL MODE 2  »
byt  » ATARI XL MODE 2 (1) »
byt  » ATARI XL MODE 2  »
byt  » ATARI XL MODE 2 (2) »
byt  » ATARI XL MODE 7 « 

Ce qui nous donne:

AtariArticleAnticExample01

Extrêmement pratique, ces « Display List » permettent des divisions d’écran les plus tordues et en tout simplicité. Et surtout cela ressemble furieusement aux listes COOPER !
https://en.wikipedia.org/wiki/ANTIC

Après avoir testé un peu la machine à l’ancienne (n’ayant rien du tout à part le BASIC) en pokant les opcodes machine je suis resté abasourdi devant ses quelques facilitées graphique: en quelques dizaines d’octets je suis arrivé à faire des effets de raster impossible (du moins pour moi) avec le C-64.
Par exemple, les connaisseurs du C-64 savent que la synchronisation horizontale est diablement difficile dans la mesure où tout doit être fait manuellement. Sur l’Atari la synchronisation horizontal est d’une simplicité enfantine : ANTIC possède le registre VSYNC ($D40b) où une écriture quelconque force un arrêt du processeur jusqu’au prochain retour horizontal.

Bien qu’ayant connu un succès honorable, le C-64 lui fit énormément d’ombre. De nos jour, il m’arrive très souvent de lire que le C-64 fut plus puissant que l’Atari 800xl ; c’est vraiment n’importe quoi. A part le chip son et le generateur de Sprites (et puis peut-être l’absence de bugs hardware qui rend le C-64 si génial), les Atari 800 XL/XE n’ont vraiment rien à envier au C-64. En France il semble très peu connu (du moins pour ma génération). Heureusement pour lui, sa fin de carrière dans les pays de l’Est (Pologne, RDA, Tchéquie Slovaquie, Hongrie etc) fut un très beau succès et de nombreux programmeurs de ces pays ont commencé par faire leur classe sur cette machine.

Pour vous donner une idée des capacités de la série Atari 8-bit, voici une petite vidéo d’une démo faite par Atari en 1984 :

Au niveau de la scène, bien que son activité ait baissé ces dernier temps, on trouve beaucoup de démos très impressionnantes par exemple :

Mais attention, au moins 128Ko de mémoire presque obligatoire pour la plupart des démos. Ma préférée est « The shrine » par un groupe Polonais nommé « La Resistance »:

Au niveau de la ludothèque la machine est très fournie (et une qualité très hétérogène….), et représente vraiment la premier partie de l’histoire du jeu vidéo sur micro familiale.

Enfin il existe un excellent émulateur de la série Atari-8bit: Altirra. qui permettra au lecteur plus curieux de découvrir cet étonnant 8-bit par lui-même.
http://www.virtualdub.org/altirra.html

Laisser un commentaire