logo Thom
L'émulateur Thomson TO7-70
version 1.5.5 (Linux/X11)
Copyright © 1996 Sylvain Huet, 1999-2003 Eric Botcazou

Sommaire

  1. Introduction
  2. Installation
  3. Lancement
  4. Modes graphiques
  5. Clavier
  6. Manettes
  7. Crayon optique
  8. Générateur sonore
  9. Supports amovibles de lecture/écriture
  10. Panneau de contrôle
  11. Accès direct aux disquettes
  12. Commandes diverses
  13. Limitations et bugs
  14. Remerciements

1. Introduction

Thom est un émulateur TO7-70 pour PC, i.e il reproduit aussi fidèlement que possible le fonctionnement d'un autre micro-ordinateur: le Thomson TO7-70.
Il est basé sur la version 1.5 du FunzyTO7-70 de Sylvain Huet, dont les modules d'entrées/sorties ont été réécrits et l'interface utilisateur totalement refondue.
Thom ne réalise lui-même que l'émulation matérielle du TO7-70, à savoir celle du microprocesseur Motorola MC6809E, de la carte mémoire, de la carte vidéo et des périphériques suivants: crayon optique, manettes de jeux et lecteur de cassettes; le système d'exploitation qui coordonne le tout n'est pas inclus et il faut donc utiliser une copie de la ROM d'un TO7-70 original pour faire tourner Thom.

2. Installation

La configuration nécessaire pour faire tourner l'émulateur est la configuration standard des distributions récentes; seule la présence obligatoire de la version 1.2 du toolkit GTK+ peut nécessiter une mise à jour du système (RedHat 5.x, SuSE 5.x), disponible ici.
Pour installer l'émulateur, il suffit de désarchiver thom-1.5.5-i586.tar.gz et thom-rom.tar.gz dans un même répertoire. Le programme éxécutable se nomme thom .

3. Lancement

Le lancement du programme éxécutable provoque l'affichage de l'entête et des messages d'initialisation, puis le démarrage de l'émulation.
Thom accepte les paramètres suivants sur la ligne de commande:

[-help] affiche l'aide en ligne
[-m file.m7] place la cartouche file.m7 dans le lecteur
[-nodisk] désactive le contrôleur de disquettes
[-fast] active la pleine vitesse de l'émulateur
[-nosound] supprime le son de l'émulateur
[-geometry wxh+x+y] spécifie la géométrie de la fenêtre
[-noshm] désactive l'utilisation de l'extension MIT-SHM
[-display displayname] spécifie le nom du serveur X à utiliser

4. Modes graphiques

Thom peut fonctionner dans les quatres modes graphiques X11 les plus courants sur PC, à savoir 8,16,24 et 32 bits.
Il se lance par défaut dans une fenêtre 640x400 (sans compter le pourtour de l'écran). L'option -geometry autorise une unique autre taille de fenêtre: 320x200; l'affichage est alors plus rapide.

5. Clavier

Le clavier du TO7-70 est émulé dans sa totalité, y compris les combinaisons de touches à base de CNT et de ACC.
L'émulation est (pratiquement) fidèle au clavier du PC (AZERTY), c'est à dire que le caractère affiché sur l'écran est (pratiquement) toujours celui inscrit sur la touche PC frappée, pourvu qu'il existe sur le clavier TO7-70. Les deux SHIFT jouent leur rôle naturel, et comme sur le clavier original, les dix chiffres de la première ligne de touches ne sont pas shiftés.
Néanmoins, un caractère fait exception: # est mappé sur é (SHIFT + 2).
La touche STOP est mappée sur le TAB du PC, CNT est mappée sur le CTRL gauche du PC, RAZ sur FIN, ACC sur le ALT, HOME sur HOME, les 4 flèches sur les 4 flèches, INS sur INSER, EFF sur SUPPR.

6. Manettes

Le pavé numérique du PC émule les huit directions de la manette 0. Le bouton Fire est mappé sur le CTRL droite.
Dans le même temps, le bloc gauche clavier (A-E, Q-D, W-C) émule la manette 1, tout en continuant à renvoyer les lettres au TO7-70. Le bouton Fire est mappé sur le CTRL gauche.
Comme sur une manette réelle, seule une direction est prise en compte et c'est celle de la dernière touche appuyée.

7. Crayon optique

La souris permet d'émuler le bon vieux crayon optique du TO7-70. Le bouton gauche de la souris figure le bouton du crayon. Si le pointeur est gênant, le bouton droit de la souris permet de le faire disparaître et réapparaître alternativement.

8. Générateur sonore

Le son du TO7-70 est émulé par le biais de la carte son du PC. Les deux générateurs sonores 1-bit interne et 6-bit externe (interface Musique et Jeux) sont émulés.
Thom utilise le périphérique sonore par défaut du système (via Open Sound System).

9. Supports amovibles de lecture/écriture

Thom peut manipuler trois types de support amovible de lecture et/ou écriture: les cartouches ROM, les cassettes analogiques et les disquettes 5"25 Thomson. Chaque support est virtualisé par le biais de fichiers au format Mémo7 (extension .m7), K7 (extension .k7) et SAP (extension .sap) respectivement.
Voir le panneau de contrôle pour le mode d'emploi relatif à leur manipulation avec l'émulateur.

10. Panneau de contrôle

L'appui sur la touche ESC du clavier du PC suspend l'émulation et ouvre le Panneau de contrôle.

Panneau de contrôle

Ce menu permet de communiquer avec l'émulateur et d'accéder aux périphériques du TO7-70 (lecteur de cartouches et lecteur de cassettes).

Commandes et Réglages

Commandes et Réglages

Les deux premiers boutons sont à utiliser avec précaution:
- Réinitialiser le TO7-70: il correspond à l'appui sur le bouton Reset du TO7-70 (situé à droite). Comme sur le véritable TO7-70, il n'est pas toujours suffisant pour sortir d'un plantage.
- Redémarrer à froid le TO7-70: plus violent, il correspond à éteindre puis rallumer le TO7-70. A priori rien ne lui résiste.
L'option vitesse permet de régler celle de l'émulation:
- Vitesse exacte: émulation du MC6809E à 1Mhz strictement, c'est le choix normal, le seul utilisable pour les jeux et pour l'émulation sonore.
- Vitesse maximale: émulation du MC6809E à la vitesse maximale atteinte par le PC (à titre d'exemple un P200 émule un MC6809E à 10Mhz). C'est utilisable pour les utilitaires, c'est même assez agréable d'avoir un TO7-70 rapide, mais le son est alors désactivé.

Lecteur de cartouches

Lecteur de cartouches

Ce menu permet de sélectionner un fichier au format Mémo7 (extension .m7) et de le charger comme cartouche (bouton "Parcourir..."). L'intitulé de la cartouche apparaît dans la zone de gauche. A noter que Thom effectue alors un redémarrage à froid afin que la cartouche soit effectivement prise en compte et apparaisse sur l'écran de démarrage.
Il est conseillé de mettre tous les fichiers Mémo7 dans un même sous-répertoire memo7 du répertoire de l'émulateur pour une sélection plus aisée.

Lecteur de cassettes

Lecteur de cassettes

Vous pouvez ici non seulement sélectionner le fichier au format K7 (extension .k7) qui joue le rôle de cassette (bouton "...") mais aussi choisir de protéger son accès en écriture (case "prot.") ou encore modifier la position de la bande (champ numérique "Compteur" et boutons "+" et "-") ou même rembobiner la cassette, i.e revenir au début du fichier (bouton "Rembobiner la cassette"). Attention, tout changement de protection d'accès en écriture provoque automatiquement le rembobinage.
Là encore, il est conseillé de mettre tous les fichiers K7 dans un même sous-répertoire k7 du répertoire de l'émulateur pour une sélection plus aisée.

Lecteurs de disquettes

Lecteurs de disquettes

Ce menu permet de sélectionner les fichiers au format SAP (extension .sap) qui seront utilisés comme disquettes en lecture/écriture par l'émulateur (bouton "..."). Ces fichiers sont des images des disquettes physiques Thomson, réalisées par un utilitaire spécifiques appelé SAP, et doivent être stockés sur le disque dur du PC, de préférence dans un sous-répertoire disks du répertoire de l'émulateur.
Les lecteurs 0: et 1: correspondent aux deux faces du premier lecteur physique de disquettes d'un véritable TO7-70; les lecteur 2: et 3: correspondent quant à eux aux deux faces du second lecteur.
Il est possible d'activer pour chacun des lecteurs, indépendamment des autres, la protection d'accès en écriture de la disquette (case "prot.").
Le bouton "Accès direct" permet au lecteur spécifié d'accéder directement à une disquette physique 5"25 - 360 ko au format TO7-70 introduite dans un lecteur 5"25 du PC.
A noter qu'une led verte s'allume en haut à droite de l'écran lorsqu'un accès disque est en cours.

11. Accès direct aux disquettes

Le mode normal de gestion des disquettes de l'émulateur Thom est, à l'instar des autres périphériques, la virtualisation: les disquettes sont représentées par des fichiers au format SAP (extension .sap) et toutes les manipulations, en lecture ou en écriture, sont réalisées sur ces fichiers. Les deux bénéfices en sont une grande souplesse d'utilisation et une protection des données originales des disquettes TO7-70.
Néanmoins, puisque le format 5"25 standard de disquette est resté le même depuis le premier TO7-70 jusqu'à aujourd'hui, il est possible matériellement de faire accéder directement tout PC aux disquettes 5"25 du TO7-70, à la fois en lecture et en écriture. Le menu disquettes du Panneau de contrôle de Thom permet de sélectionner cet accès direct pour les lecteurs 5"25 disponibles sur le système, mais uniquement pour la face 0.
Sans commande explicite de l'utilisateur, dans le même souci de protection des données originales des disquettes Thomson, seule la lecture directe est autorisée: la case de protection en écriture d'un lecteur en accès direct reste bloquée en position active. Il est toutefois possible d'autoriser l'écriture directe (et donc également le formatage direct de disquettes 5"25 - 360 ko au format Thomson) en lançant Thom avec l'option --enable-direct-write (cette option n'est volontairement pas affichée par l'aide en ligne). Mais il est très fortement recommandé de ne pas utiliser l'écriture directe sur des disquettes originales Thomson: le format TO n'est pas le format natif des PC et des incompatibilités résiduelles pourraient avoir de graves conséquences sur l'intégrité des données; n'utiliser l'écriture directe que sur des copies, éventuellement réalisées par Thom lui-même.

12. Commandes diverses

Aucune pour le moment.

13. Limitations et bugs

Merci d'utiliser le mail pour toute remarque, suggestion et pour signaler les inévitables bugs.

14. Remerciements

- Sylvain Huet qui a bâti l'architecture et le coeur de l'émulateur,
- The GTK+ Team pour leur toolkit souple et performant,
- François Mouret (alias Préhis-To) pour sa documentation très complète sur les contrôleurs de disquettes Thomson,
- et tous ceux qui m'ont signalé un problème ou suggéré une amélioration à apporter à Thom.


Copyright © 1999-2003 Eric Botcazou (ebotcazou at libertysurf dot fr)
Dernière modification: mardi 30 décembre 2003
Thom Home Page Thom Home Page