[NOSTALGIE] Le ZX-81

Publié par cpb
Avr 05 2012

Voilà, c’est sûr, mon vieux ZX-81 ne fonctionne plus…

ZX-81

ZX-81, imprimante et extension 16ko

J’ai voulu en avoir le cœur net, et j’ai tenté de le remettre en marche pour fêter le trentième anniversaire de son acquisition. En vain, il n’y a aucun signe de fonctionnement – bien que l’alimentation soit toujours correcte. En outre le câble plat qui reliait le clavier à la carte à microprocesseur à mal supporté l’usure du temps et s’est cassé net en plusieurs endroits ce qui me paraît difficilement réparable.

Tant pis, il ne se rallumera pas, mais cela ne m’empêchera aucunement de le conserver sur une étagère avec un certain nombre d’autres rescapés de la même époque. J’éprouve une affection particulière pour ce petit ordinateur sur lequel j’ai découvert la programmation en basic et en assembleur.

Pour ceux qui n’ont pas connu le ZX-81 (TS-1000 dans sa version américaine), il faut savoir que c’était le premier ordinateur vraiment grand public, et que les choix économiques rigoureux faits par son concepteur (Sir Clive Sinclair) en rendait l’utilisation assez… particulière. Tout d’abord le gros défaut de cet ordinateur était le manque de fiabilité des connexions sur le bus d’extension (où l’on branchait entre autre le bloc d’extension mémoire) ce qui provoquait des coupures inopinées d’alimentation en cas de mouvement de l’unité centrale, avec toutes les pertes de données que l’on peut imaginer.

Le système reposait sur un processeur huit bits, le Zilog Z-80-A, cadencé  à 3.5 MHz, et sur une mémoire RAM de 1 kilo-octet extensible à 16ko, voire 64ko pour les plus fortunés. Et aussi étonnant que cela puisse paraître, nous disposions de nombreux programmes (jeux, utilitaires, programmation, etc.) qui tenaient dans ces dimensions réduites de mémoire. La sauvegarde de la mémoire se faisait sur des cassettes audios par l’intermédiaire d’un magnétophone externe, le chargement d’un programme de quelques kilo-octets pouvant durer plusieurs longues minutes avec une fiabilité plutôt aléatoire.

Dès la mise sous tension, l’utilisateur disposait d’un prompt permettant de saisir des lignes de codes dans une version simplifiée du langage BASIC. Deux instructions, PEEK et POKE, permettaient de lire ou d’écrire des octets directement dans la mémoire et la fonction USR autorisait l’exécution d’un code à une adresse quelconque, généralement après y avoir inséré du code assembleur personnel.

Capture 3D Monster Maze

3D Monster Maze

Les capacités vidéo étaient très limitées : 32 x 24 caractères monochromes. 16 caractères spéciaux étaitent constitués d’une matrice de quatre petits carrés, qui pouvaient se combiner pour offrir des graphiques avec la résolution de 64×48 pixels ! L’ingéniosité des programmeurs permettait de disposer quand même de jeux graphiques, comme le fameux « 3D Monster Maze » dans lequel le joueur se trouvait plongé dans un labyrinthe chassé par un tyrannosaure. J’ai pu en prendre la copie d’écran ci-contre sur un émulateur en-ligne. Mes jeux favoris étaient également « Space Invaders » et « Flight Simulation » (copie d’écran ci-dessous) ainsi que tous les programmes que l’on trouvait sous forme de listing dans les revues de l’époque.

Flight Simulation

Flight Simulation

J’ai appris sur cet ordinateur la programmation en BASIC, en écrivant notamment quelques outils de calculs pour l’astronomie (à usage personnel), et la programmation assembleur pour des jeux – inspirés de Pac-man ou Centipède – qui n’ont à ma connaissance jamais été diffusés en dehors d’un cercle très restreint d’amis possesseurs de la même machine.

 Il faut souligner la pédagogie du manuel (en français) du ZX-81 qui permettait de découvrir progressivement les principes de la programmation, et la bonne qualité des livres – disponibles en français également – pour approfondir l’étude de l’assembleur par exemple.

Même s’il ne redémarre pas, ce petit ordinateur continuera à trôner sur une étagère de mon bureau, attirant les regards surpris, amusés et parfois nostalgiques des visiteurs qui l’aperçoivent.

2 Réponses

  1. yann dit :

    Une bien belle époque ou, comme précisé, la vertu de ces machines était vraiment éducative. J’ai personnellement eu une machine de la même époque (Alice=Tandy MC10) avec un clavier un poil meilleur et 4kB de ram…

    Je ne l’ai par contre plus… je l’avait donné à un copain en passant chez Amstrad qq temps plus tard.

    Mais c’est sur cette machine que j’ai commencé à programmer… Pas moyen de faire autrement, ceci dit: On bootait directement sur l’interpréteur du BASIC!

    Le manuel était donc là aussi clairement orienté programmation. De même que la presse de l’époque (Hebdogiciel…).

    Il n’y avait de toutes manières pas autre chose à faire de ces machines, sauf à acheter qq K7 de jeux.

    Actuellement, les machines simples à appréhender (quand pas délibérément fermées) pour les jeunes et propices à mettre le doigt dans l’engrenage de la programmation ne sont pas si fréquentes. Sans parler des langages.

    Sous Linux, on peut néanmoins encore intéresser de jeunes enfants avec le Logo: C’est un langage fonctionnel et simple… et la petite tortue dessinant des figures géométriques aide à capter l’attention!

  2. Benoît dit :

    comme vous, j’ai débuté avec cette machine. J’avais sacrifier toutes mes économies, 1000 FF, pour me l’offrir avec l’extention 16K. Las des problèmes de déconnexions, je les avais severement scotché sur l’UC.

    Je me souvient aussi des négociations avec mon père afin de pouvoir monopoliser la télé familialle.

    A noter aussi dans les inconvénients: elle ne supporte pas la moindre decharge electro-statique: le simple contact avec la mains d’une personne enervée, ou stréssée (par les jeux d’action) suffisait à faire reseter l’UC.

    En conclusion, toi qui à eu la sagesse de ne pas t’en débarraser…. oui, conserve la précieusement ;o)
    Au pire, elle fera hurler de rire tes petits enfants !

URL de trackback pour cette page