25/03/2021

Le TO7/70


Revenons sur les bancs de l'école

 Je ne me souviens plus bien si le tout premier ordinateur que j'ai vu était le TO7 (et son alter égo le MO5) ou bien le Tavernier 6809 (un ordinateur en kit décrit dans la revue le Haut-Parleur). Le premier c'était à l'école (primaire), et le deuxième c'était à la maison. 
 
A cette époque (le milieu des années 80), on commence à trouver des ordinateurs dans les écoles, c'est le plan "Informatique pour tous" ou "100000 micros". La préface du livre présentant ce plan indique qu'en 1985 il y avait 20000 écoles équipées :
 
Si c'est le ministre qui le dit ...


 En pratique cela prenait la forme d'une salle avec une douzaine d'ordinateurs (des MO5 et des TO7), avec au centre un PC, l'ensemble relié en réseau avec un protocole propriétaire le "nanoréseau" (connexion en RS-485 et protocole HDLC). 
Cela permettait principalement d'échanger des fichiers entre les postes (maximum 31) des élèves et le poste principal. Si cela parait standard aujourd'hui ça ne l'était pas du tout à cette époque, en tout cas pas dans le monde de la micro-informatique grand public !

Et que faisait-on avec tout cela ? Eh bien dans mon école on a appris à programmer en LOGO, langage de programmation connu pour sa "tortue", sorte de petit curseur graphique permettant de réaliser des dessins à l'écran

J'ai dessiné un carré !

En réalité LOGO est un langage de programmation généraliste, bien plus évolué que le BASIC qui était le langage "standard" de l'époque.

Je me souviens d'un projet que nous avions fait sur plusieurs séances : nous avions créé tout un alphabet en dessin (chaque binôme créant quelques lettres), les programmes créés étaient envoyés sur le serveur, et à la fin tout le monde a pu récupérer sur son poste l'intégralité de l'alphabet et dessiner des mots juste en appelant les fonctions ( les programmes étant nommés tout simplement par la lettre qu'ils représentaient, il suffisait de taper par exemple B O N J O U R )
Encore une fois, on est dans les années 80, ce genre de choses était très nouveau pour l'époque !
 
Il faut parler aussi de la tortue Jeulin, qui était un petit robot (une sorte de demi-sphère transparente avec 2 roues et un crayon en son centre) pilotable depuis le langage LOGO. Je me souviens nettement l'avoir aperçu quelques fois à l'époque, mais par contre je ne pense pas l'avoir vu en fonctionnement.

Et forcément ce qui devait arriver arriva, j'ai fini par trouver un TO7/70 à un bon prix sur Ebay, et je l'ai commandé avant même de m'en rendre compte 😅

Voilà, voilà ...

Cet exemplaire est complet et en bon état, je n'ai eu qu'à nettoyer les plastiques. Le lecteur de cassette a nécessité un peu plus d'attention (un condensateur en court-circuit, un transistor HS et les courroies à changer).

C'est quoi un TO7/70 ?

Le "Télé Ordinateur 7/70" est dans la moyenne de l'époque, mais avec quelques éléments qui sortent un peu du lot :

  • Un processeur 6809 à 1Mhz
  • 48Ko de RAM + 16Ko de RAM vidéo
  • Graphisme 320x200 16 couleurs par blocs de 8x8
  • Un crayon optique intégré
  • 3 ports d'extension (bus système)
  • 1 port d'extension mémoire
  • lecteur de cartouche ROM
  • interface cassettes

 

L'extension série / parallèle

 

Le 6809 possède deux pointeurs de pile _ ce qui en fait un processeur de choix pour implémenter le langage Forth, il permet également de faire du code relogeable, et le langage machine est très orthogonal (pour une opération donnée elle va globalement s'appliquer de la même façon sur tous les registres et avec les mêmes modes d'adressage _ oui, tu peux te cacher Z80 !).
 
Pour la petite histoire il y a eu 2 système d'exploitation notables pour le 6809 : Flex et OS9. Le premier ressemble à MS-DOS et le deuxième à UNIX. Pas mal pour un petit CPU 8 bits ! Son seul tord est d'être arrivé un peu tard, au même moment où les processeurs 16 bits commençaient à être disponibles.
 
L'intérieur de la bête ...

 

Le crayon optique peut sembler aujourd'hui être une curiosité mais c'était le standard de l'époque, avant l'avènement de la souris. L'avantage ici est qu'il est directement intégré à l'ordinateur.
Pour les plus curieux cela fonctionne en regardant la valeur des registres du balayage vidéo au moment où le canon à électron du tube TV passe devant le capteur optique intégré au crayon. Cela permet d'en déduire la position X/Y. Et du coup il faut absolument un écran cathodique pour que cela fonctionne, car il n'y a pas de balayage sur un écran plat !
 
Le crayon optique

 

La partie graphique est à mon sens un peu le point faible de cette machine, principalement à cause de la contrainte de couleur identique sur 8x1 pixels. Conceptuellement c'est un affichage monochrome (320x200) avec par dessus un attribut de 2 couleurs possibles sur 8 pixels de large (sur une matrice de 40x200, donc). C'est similaire au ZX Spectrum (un peu mieux car on a 1 pixel de haut contre 8 sur le Spectrum) et produit le même genre de graphisme (où cela pêche au niveau des couleurs !).
 
Pour arriver à cela il y a 2 pages RAM de 8Ko (la première pour les 320x200 pixels monochromes, la deuxième pour les 40x200 attributs de couleur), commutables via un bit du PIA 6846. D'où les 16Ko annoncés de mémoire vidéo.
 
Ce point a été amélioré sur les modèles suivants, avec l'introduction de modes graphiques avec des couleurs attribuables au niveau de chaque pixel.

Ah ! Et il faut parler du clavier aussi ! Sur mon TO7 c'est un clavier avec des touches en gomme, avec des contacts à bulle (en gros comme les touches d'une télécommande de télévision). Un bip sonore vient confirmer l'appui sur une touche. Dit comme cela cela paraît très mauvais mais pourtant c'est tout à fait utilisable (à condition de ne pas vouloir écrire un roman avec !). A noter qu'il existe aussi une version avec un clavier plus classique (mais je voulais absolument en trouver un avec les touches comme ceux qu'il y avait à l'école !)

 

Charger et sauver des programmes

Au niveau stockage cet ordinateur a pas mal de possibilités, que ce soit avec les périphériques intégrés à l'ordinateur ou via les cartouches d'extension.

 

Le lecteur de cassettes

C'est le stockage classique des micros "8 bits", ici l'originalité est que le signal entre le lecteur de cassette et l'ordinateur est numérique, alors qu'habituellement c'est un signal audio. 
 
 

 
Classiquement les "1" et les "0" sont représentés par 2 fréquences audio (ici 6.3Khz et 4.5Khz),  et Thomson a intégré la démodulation dans le lecteur de cassette (ce qui a pour conséquence qu'on ne peut pas utiliser un magnétophone "normal" !)

 
Sur le synoptique on voit en haut un réglage de rapport cyclique (discriminant entre un "1" et un "0"), c'est le seul réglage et il est assez critique. Pour la sauvegarde c'est plus simple c'est directement un signal carré généré par le TO7 qui est envoyé sur la tête magnétique.
 
Il y a 2 façons de le régler : soit avec un oscilloscope et une cassette de test alternant les 2 fréquences de façon régulière, soit avec la cartouche Memo7 "Autotest 1". J'ai fait les deux, et j'ai eu plus de succès avec la cartouche de test.

Ah, et comment générer cette fameuse cassette de test ? Facile, il y a un petit programme en BASIC dans la documentation technique pour générer le bon motif : 


En alternative il existe un montage avec un Arduino pour simuler le lecteur de cassette ici : http://dcmoto.free.fr/bricolage/sdlep-tft/index.html
 
 

Les cartouches Memo 7

Ce sont des cartouches ROM généralement de 16Ko, avec quelques exceptions comme le BASIC 128 qui lui fait 32Ko, avec une commutation de banque (vu qu'il n'y a pas autant d'espace mémoire réservé pour les cartouches !). Il y a d'ailleurs une description très complète d'une cartouche 32Ko sur le forum System CFG ici : https://forum.system-cfg.com/viewtopic.php?f=18&t=2851
 
J'ai pour ma part fait la version "simple" de 16Ko (description prochainement !)
 


Le lecteur de disquettes

Ou plutôt les lecteurs de disquettes, il y a eu en effet plusieurs modèles qui prenaient tous la forme d'extension à brancher à l'arrière de l'ordinateur, connectée au lecteur dans un boitier séparé, avec son alimentation propre. Il y a eu des version en 5 pouces 1/4 et en 3 pouces 1/2.

Différents contrôleurs ont été utilisés selon les versions, mais le principe est toujours le même : l'extension contient, en plus du contrôleur disque, une EPROM avec des points d'entrées standardisés et le code qui va bien pour le piloter (aujourd'hui on appellerait ça un driver !).
 
Sur ce sujet l'adaptateur CD90-640 me semble intéressant  car il utilise un contrôleur disque WD1770 , assez facile à trouver et il devrait être possible de le reproduire. Un thread sur le sujet ici : https://forum.system-cfg.com/viewtopic.php?t=2741 (mais personne ne s'est lancé pour refaire cette extension !)

Enfin, une version "moderne" avec une carte SD est décrite partiellement sur le site DC MOTO : http://dcmoto.free.fr/bricolage/sddrive/index.html
 

Le nanoréseau

Des micro-ordinateurs 8 bits en réseau !  C'est ce qu'on avait à l'école, vu de l'ordinateur c'est comme un lecteur de disquettes. Chaque poste a une adresse (32 adresses en tout), et l'ordinateur maître (un PC/XT) possède une interface sous la forme d'une carte ISA. 
 
Ce serait très intéressant à reproduire, on trouve à peu près facilement l'interface côté TO7, par contre celle côté PC c'est un autre histoire.


Des idées de choses à faire avec un TO7/70

Que peut-on faire avec un ordinateur rétro comme celui-ci ? Quelques idées en vrac :
  • Faire fonctionner le BASIC  (fait !), taper des programmes (fait !)
  • Faire fonctionner le LOGO (fait !)
  • Numériser les cassettes qui ne seraient pas déjà disponibles sur Internet
  • Faire le lecteur de cassette "Arduino" SD2LEP
  • Trouver une interface série/parallèle (fait !), tester (série OK, parallèle à faire !)
  • Brancher une imprimante matricielle sur le port parallèle
  • Trouver une tortue Jeulin (difficile) ou refaire une tortue (oh le joli projet), tester avec le LOGO
  • Faire le lecteur des disquettes SD
  • Refaire un contrôleur de disquettes avec un WD

Pour en savoir plus