Passons en revue les éléments qui composent le micro-ordinateur EXL100, ils sont pour le moins originaux:
Le Microprocesseur TMS7020
Ce microprocesseur, conçu par Texas Instruments en 1981, fait partie de la famille des microcontrôleurs TMS7000. Il traite des mots de 8 bits, il est cadencé à la fréquence de 4.91 Mhz (cette fréquence est ensuite divisée par deux en interne) et permet d'adresser jusqu'à 64Ko de RAM. Sa structure est de type «monochip»: il réunis en un seul boîtier un CPU, une RAM de 128 octets, une ROM de 2Ko contenant le moniteur du système, ainsi que des circuits d'Entrées/Sorties (notons que cette ROM, programmée par masque, est datée de 1984). Les composants «monochip» peuvent fonctionner dans differents modes:
- Mode «Single Chip»: dans cette configuration, les programmes et données sont stockées dans la RAM et ROM embarqués. Toutes les broches du microcontrôleur sont affectées aux Entrées/Sorties.
- Mode «Peripheral Expansion Mode»: Comme son nom l'indique, ce mode s'ouvre aux périphériques externes. Son bus d'adressage et de données est toutefois limité.
- Mode «Full Expansion Mode»: Il s'agit du mode le plus ouvert. Le microcontrôleur peut utiliser ses ressources internes (Entrées/Sorties, la RAM ainsi que la ROM), dispose d'un bus d'adresses et de données maximal permettant d'adresser 64Ko, et peut également adresser de la RAM et ROM externes.
- Mode «Microprocessor»: Reprend la majeur partie des fonctionnalités du mode "Full Expansion", à la différence qu'il ne peut adresser de la ROM interne.
- Mode «Simulator»: Principalement utilisé dans le cadre de développement. La ROM interne, le Timer et contrôleur d'interruptions sont ici absents ou désactivés.
C'est dans le troisième mode que le TMS7020 fonctionne dans l'EXL 100.
L'adressage mémoire diffère de ce fait selon le microcontrolleur et son mode de fonctionnement. Consulter les tableaux de mappage mémoire des TMS70x0 et des TMS70x1
Le contrôleur TMS7041
Piloté exclusivement par le TMS7020, ce composant a la charge du système infrarouge et de la synthèse vocale. Utilisé en mode «Single Chip», quatre ports sont affectés aux Entrées/Sorties. Le TMS7041 gère les périphériques tels que le clavier et le deux manettes de jeux ainsi que que le port d'extension situé à l'arrière de l'ordinateur, il communique avec le TMS 7020 par un principe de boîtes à lettres.
Le TMS7041, comme tous les composants de la famille TMS7000, est un véritable microprocesseur. L'étude de sa désignation nous explique ce qui en fait sa particularité:
Le système de désignation des processeurs de la série 7000:
- Le 1er et 2ème chiffres précisent la famille de composants: «70» ici.
- Si la lettre «P» suit immédiatement le 2ème chiffre: une EPROM de 16Ko, de type Piggy Back est présente.
- Si la lettre «C» suit immédiatement le 2ème chiffre: la Technologie CMOS est utilisée, dans le cas contraire le composant est de type NMOS.
- Le 3ème chiffre indique la quantité de ROM embarquée: «0» pour aucune, «2» pour 2Ko, «4» pour 4Ko et «12» pour 12Ko.
- Le 4ème chiffre indique la présence d'un port série: «0» pou aucun, «1» si présent.
...Le TMS7041 est donc un microprocesseur NMOS de la série 7000 doté de 4Ko de ROM et d'un contôleur série. On pourrait considérer EXL 100 comme un micro-ordinateur familial bi-processeur, certaines publicités commerciales en font d'ailleurs mention, cependant la tâche dédiée au TMS7041, celle de contrôleur I/O change la donne.
Le clavier et les manettes utilisent la technologie infrarouge pour communiquer avec l'unité centrale. Les récepteurs sont entièrement blindés afin d'éviter toute interférence avec d'autres appareils radioélectriques. Le clavier et la manette orange sont calés sur la fréquence de 28,437 KHz. La manette blanche, quant à elle, utilise la fréquence de 20 KHz. Détail pratique, les manettes de jeux comportent des touches numériques permettant de sélectionner les options proposées par certains programmes. Finalement, cette technologie novatrice posera quelques soucis d'utilisation: Bien que l'angle de couverture du signal annoncé par le constructeur soit de 60° sur une distance ce 8 mètres, le clavier et les manettes doivent être parfaitement dirigés vers le boîtier infrarouge intégré à l'ordinateur et rester dans son (faible) rayon d'action. Autre contrainte: une seule commande clavier peut être transmise à la fois, ce qui frène considérablement la frappe: Pour obtenir le caractère «é», il faut presser successivement les touches «SHIFT» et «2». La raison en est simple: manettes et claviers sont en fait des télécommandes, à l'égal des télécommandes pour télévieur, qui ne peuvent envoyer qu'un seul ordre par infrarouges à la fois. Les signaux infrarouges envoyés sont captés par les photodiodes de l'EXL 100, amplifiés par le circuit intégré TEA 1009 de préamplification, envoyé ensuite au circuit 567CP pour le décodage. Ce n'est qu'après ces traitements que les ordres provoquent une interruption IRQ dans le microcontrôleur TMS 7041.
Quand le clavier ou les joysticks ne sont plus utilisés, un dispositif interne coupe leur alimentation, préservant ainsi les indispensables piles 9 volts nécessaires à leur fonctionnement.
La RAM
La RAM périphérique directement accessible par le TMS7020 n'est que de 2Ko. Elle se compose d'une SRAM 2K x 8 TMM 2016AP15. L'ordinateur utilise principalement cette RAM pour le stockage des variables temporaires du moniteur et du Basic.
Le Son
La plus grande particularité d'EXL 100 est celle d'offrir des fonctions de synthèse vocale. En bref, EXL 100 parle! Le composant responsable de cette prouesse est le VSP (Voice Synthesis Processor) TMS5220. Les données de la voix sont compressées en LPC (codage par prédiction linéaire). La fréquence de sortie est de 4 KHz.
Les commandes vocales peuvent être utilisées sous ExelBasic grâce à la commande CALL SPEECH. Si cette commande est fort simple d'utilisation, l'envoi d'une variable contenant une chaîne de caractère (de 128 octets maxi) suffit presque à elle seule à générer un son, il n'en va pas de même pour la génération de cette même chaîne. En effet, dans le mode d'emploi d'ExelBasic, Exelvision donne quelques exemples pour générer des bruits familiers ( laser, explosion, ...) et des mots ( "bonjour", "bravo", ... ) mais elle n'explique pas comment créer ses propres sons. Pour les personnes désireuses d'obtenir leur propre son digitalisé, Exelvision proposait qu'elles fournissent le son enregistré sur une simple K7 audio, elle expédiait ensuite ce son à une cellule de Texas Instruments basée à Dallas qui se chargeait de générer la chaîne de caractères correspondant au son traité en digital. Le travail était accompli sur un mini ordinateur VAX puis transmis sur la K7 qui était ensuite réexpédiée à Exelvision qui la réexpédiait à l'utilisateur final. Autant dire que l'opération était peu réaliste.
La programmation du synthétiseur vocal était donc frustrante et, par conséquent, décevante...
Une astuce de programmation permet à l'EXL 100 du générer du son sans faire usage du synthétiseur de parole: Elle consiste à envoyer une suite binaire prédéfinie au bit 3 de l'interface cassette, tout en utilisant le TIMER du TMS 7000 pour génèrer des interruptions sur cette dernière. Les variations de hauteurs de durées des fréquences formeront une musique.
TAL 004
Appelé aussi TL004, est décrit par Exelvision comme un composant propriétaire, conçu exclusivement pour gérer la logique de décodage des adresses et contrôler le VDP de l'EXL100. Ce composant n'est cependant pas inconnu des ingénieurs de Texas Instruments qui l'utilisèrent pour concevoir leur Basic Computer 99/2 quelques années plus tôt.
Le processeur Vidéo TMS3556 et la RAM dédiée

Le TMS 3556 est une évolution du TMS3536, un processeur vidéo dont le développement a débuté en 1979 dans les locaux de Texas Instruments basés à Nice et dont sa particularités était d'offrir à moindre coût différents modes d'affichage: texte, graphique et vidéotexte.
Le TMS3556 propose également différents modes graphiques:
- Le mode graphique ou bitmap: 320X250 pixels dans une palette de 8 couleurs sans contrainte de proximité. Il utilise 30.500 octets de la VDP RAM.
- Le mode texte: 25 lignes de 40 caractères. Ce mode est aussi appelé "semi graphique" car il permet de redéfinir les 128 caractères prédéfinis disponibles. Il utilise 2000 octets de la VDP RAM.
- Le mode mixte: Il autorise le mixage de lignes de textes (en fait composées de10 lignes graphiques) et de groupes de lignes graphiques.
Exemple d'affichages
La RAM vidéo, de 32Ko, se compose de 8 composants TMS4408. Bien qu'initialement dédiée à la gestion du contrôleur vidéo, elle est également utilisée en partie par le système comme mémoire utilisateur.
Détail interessant: Une évolution à 64Ko de mémoire vidéo en lieu et place de la mémoire vidéo initiale a été prévue sur la carte mère d'EXL 100 mais elle n'a jamais été proposée par Exelvision qui préfèrera souder les 8 composants TMS4408. Dommage. Même si on imagine que quelques utilisateurs/développeurs sont lancés dans le dessoudage et le remplacement des composants mémoire pour vivre le vertige d'une mémoire doublée, la presque totalité des utilisateurs d'EXL100 resteront enfermés dans leurs 32Ko; faisant leur deuil sur les possiblités que pouvaient offrir une extension de mémoire dans la réalisation de programmes plus élaborés...
L'alimentation électrique
L'alimentation de l'EXL100 est classique, elle se compose d'un transformateur relié à la carte mère par un connecteur à 6 points. Ce transformateur, par ses enroulements de cuivre, diminue la tension d'entrée alternative sinusoïdale de 220 volts en 5 et 12 volts.
La carte mère d'EXL100 fonctionne en continu. Pour convertir (redresser) la tension 12 volts alternative en une tension continue, les développeurs ont utilisé un pont de diodes. Ce rôle est joué par les 4 diodes IN1005. Deux diodes redresseur 1N5408 (ou BY251) se chargent de la tension en 5 volts. Des condensateurs viennent stabiliser la régulation. Quatre régulateurs de tensions vont donner à la carte mère toutes les tensions nécessaires à son fonctionnement: LM7805 (+5 volts), LM7812 (+12 volts), LM7905 (-5 volts) et LM7912 (-12 volts). Le LM7805 est muni d'un dissipateur thermique.
