Analyse des cartes électroniques du Micral N

Par Philippe Dubois, Président.

Pour ce quatrième article, nous allons sortir les principales cartes électroniques de notre Micral N afin de commencer à les référencer et à en comprendre le fonctionnement, puis nous allons réaliser le dump (la copie) de ses mémoires mortes (ROMs) dans un prochain article. Il y a visiblement dans notre exemplaire plusieurs cartes de mémoire vive, une ou deux cartes de mémoire morte, une carte CPU et plusieurs cartes d'entrées/sorties pour l'instant encore non identifiées.

Tout d'abord nous avons commencé à extraire les cartes une par une, en notant pour chacune l'emplacement. Au moment de l'opération, nous n'avons encore aucune idée du fonctionnement de celles-ci, de la manière dont elles s’enchaînent et communiquent. La rigueur est de mise !

Une carte ROM (mémoire morte) du Micral N de l'association MO5

Une carte ROM (mémoire morte) du Micral N de l'association MO5

Une première carte nous semble intéressante. Elle contient 8 ROMs, ou plutôt EPROMS, reconnaissables à leur petite fenêtre en verre. Une ROM, c'est une mémoire morte, pré-programmée, et la version EPROMs peut-être reprogrammée au besoin après effacement du contenu aux ultra-violets. D'après l'analyse faite par Sylvain Glaize de la documentation d'origine du Micral N, il y a des chances que cette carte contienne le moniteur de la machine. C'est-à-dire un ensemble de fonctions qui permet d'analyser ce que fait ou dans quel état est le Micral N à l'instant t.

Concernant les EPROMs utilisées, des C1702, il s'agit des premières productions disponibles et mises sur le marché en 1971 par Intel.

La page Wikipedia sur le sujet : https://en.wikipedia.org/wiki/EPROM.

Vous pouvez également trouver de la documentation sur ce lien : https://deramp.com/downloads/intel/C1702A.pdf

Mais c'est avec un certain effroi que nous réalisons que leurs fenêtres de protection en verre, qui devraient être obstruées après programmation, ne le sont pas ! Nous reviendrons là-dessus plus tard.

Une carte buffer de 8x256 octets pour une interface externe

Une carte buffer de 8x256 octets pour une interface externe

La seconde carte que nous sortons est déjà plus mystérieuse. Premièrement, celle-ci est dotée de deux peignes de connexion, à droite et à gauche sur la photo, ce qui signifie qu'elle est probablement dédiée à communiquer avec l'extérieur. Ensuite, en s'attardant sur les puces dorées centrales, nous trouvons pour référence des SRAM rapides de 8 octets, des MOSTEK 4007P dont voici les caractéristiques : https://usermanual.wiki.pdf

Il s'agit peut-être d'une carte servant de buffer pour permettre au micro-processeur de gérer des entrées/sorties de données plus rapides qu'il ne peut les traiter. Il s'agit d'un mécanisme bien connu en informatique qui prend aussi la dénomination de file FIFO (First In, First Out) ou de pile LIFO (Last In, First Out).

Une carte avec 2 Ko de RAM et une ROM de boot (le bootloader de la machine) de 256 octets

Une carte avec 2 Ko de RAM et une ROM de boot (le bootloader de la machine) de 256 octets

Cette troisième carte fait partie des plus faciles à comprendre. Nous sommes en face d'une carte comportant 2 Ko de mémoire vive (32 x 128 octets en SRAM 2102) ainsi que le support d'une puce d'EPROM de 256 octets qui doit renfermer d'après notre analyse le code d'amorçage (bootloader) de la machine. C'est-à-dire le bout de code à exécuter par le micro-processeur dès que l'ordinateur démarre. Nous vous donnons rendez-vous dans l'article suivant pour ce qui concerne son dump, c'est-à-dire l'archivage de son contenu, très important pour comprendre comment fonctionne notre Micral N !

La carte CPU de notre Micral N, avec son Intel 8008 en bas, une minuscule puce dorée

La carte CPU de notre Micral N, avec son Intel 8008 en bas, une minuscule puce dorée

Enfin la voici, la carte électronique de notre Micral N comportant le sacro-saint Intel 8008, le premier micro-processeur 8 bits du monde. C'est cette minuscule puce dorée en bas de la carte. Non, vous ne rêvez pas ! Celui-ci fonctionne à environ 500 kHz et les blocs de variateurs jaunes en haut à droite permettent d'ajuster la fréquence de l'oscillateur « RC » (Résistance+Condensateur) : il n'y a pas encore de quartz d'horloge comme sur un ordinateur moderne.

Ce micro-processeur, un lointain ancêtre des processeurs Intel x86 à venir, occupe peu de place car en fait ses sorties sont multiplexées, c'est à dire que les mêmes broches peuvent servir d'entrées et de sortie, soit pour les adresses (sur 14 bits), soit pour les données sur 8 bits.

Vous trouverez beaucoup d'informations sur ce micro-processeur antédiluvien sur ce lien notamment : https://petsd.net/8008.php

Une carte RAM classique de 2 Kilo octets

Une carte RAM classique de 2 Kilo octets

Voici une carte plus simple qui correspond simplement à l'équivalent d'une barrette de mémoire vive, ici 2 Ko de RAM réalisées grâce à 16 puces de SRAM de 128 octets.

2 Ko de ROM sur ces 8 puces de 256 octets contiennent le moniteur du Micral N

2 Ko de ROM sur ces 8 puces de 256 octets contiennent le moniteur du Micral N

Revenons sur la carte avec les multiples EPROMs contenant probablement le moniteur. Le moniteur de notre Micral N est très important, car il renferme certainement des fonctions qui permettront, comme à l'époque, de débugger les programmes que nous injecterons dans la machine une fois celle-ci fonctionnelle.

Ce moniteur s'active via le panel frontal du Micral N, en stoppant l'exécution du programme en cours et en demandant au Micral de "sauter" (instruction JMP « Jump ») à une adresse particulière, celle du moniteur. Le moniteur prend alors la main et attend des instructions de l'opérateur via l'interface série de la machine.

La prochaine étape va consister à vérifier que le contenu de ces ROM est toujours lisible. Ce qui sera le sujet du prochain article.

À très bientôt et n'oubliez pas de participer à la campagne pour soutenir nos travaux ! https://micral.mo5.com