##[ARTICLE] Aminitel : un Amiga dans un Minitel Portable !

Préambule

C'est avec un immense plaisir que nous accueillons Amigars dans notre nouvelle rubrique des "Articles de la rédaction" ! En effet, cette rubrique lancée sur une idée de Tarzin est faite pour ça et nous espérons que vous serez nombreux à suivre son exemple et à nous transmettre vos textes ! Amigars, cet heureux bidouilleur de génie a donc bien voulu partager avec nous son "classeur de montage" qu'il avait mitonné pour son Aminitel. Un vrai travail de fourmi, qu'il avait d'ailleurs présenté à la dernière Alchimie (celle de 2019 donc). Son abnégation lui a permis de transformer un vieux Minitel 5 Portatif de chez Matra en Amiga Portable. Déjà, savoir que le Minitel avait connu une version portable a été une révélation pour moi ! Mais le plus épatant, c'est qu'Amigars est allé jusqu'au bout de son idée et à transformer, de manière totalement réversible et non invasive, ce Minitel en un véritable Aminitel 100% fonctionnel ! Bravo l'artiste !
Bonne lecture/découverte à vous, en espérant que cela vous donne des idées !
BatteMan

MINITEL 5

La rencontre inopinée

J'avais en tête de transformer un minitel en émulateur de console ou d'ordinateur (des années 80-90). Lors d'une visite au Musée des Confluences à Lyon, je découvre qu'il existe le minitel portable.
Initialement incluse dans le "classeur" d'Amigars, vous pouvez consulter les fiches du Musée des Confluences sur ce Minitel 5 Portatif ici, ici et ici.  

Achat du Minitel 5

J'ai cherché sur les sites d'annonces/d'enchères un appareil en bon état esthétique (HS ou pas). Un appareil était en vente (pour 10 EUR) sur LeBonCoin, il m'a fallu environ ½ seconde pour me décider...
Je réceptionne le Minitel 5 quelques jours après. L'appareil est même fonctionnel !!!  

Objectifs

Je veux installer dans ce Minitel une solution d'émulation Amiga à base de Raspberry Pi (3B+). Et si possible, je veux pouvoir l'utiliser aussi pour faire du retrogaming de consoles (avec une seconde carte microSD).

Et contraintes

Je veux récupérer/réutiliser le maximum d'éléments existants (plasturgie, clavier, boutons...). Mais l'idée est de ne pas abîmer les éléments d'origine réutilisés (pour pouvoir reconstruire le Minitel 5 à l'identique). Et aussi ne laisser apparaître aucune modification (en particulier sur les connecteurs arrières).  

On démarre...

Démontage

Le démontage n'a pas été évident car plusieurs vis sont bien cachées. Deux heures de travail pour comprendre comment l'ouvrir sans rien casser.

Le clavier

La connexion avec le RPi passe par un module USB (pris sur un vieux clavier PC, voir ci-contre). Quelques tâtonnements pour trouver les 8+8 lignes compatibles avec le RPi.
Cette approche a un inconvénient majeur : il n'y a AUCUN lien entre les touches sur le Minitel et ce que reçoit le RPi. Il faut reprendre à la base les codes envoyés par le module USB pour ensuite les re-mapper. Pour cela, j'ai utilisé la ligne de commande avec showkey et loadkeys pour générer un fichier .map (voir ci-dessous à gauche) Il a fallu faire des choix sur l?affectation des touches pour conserver les plus importantes. J'ai pu gagner quelques touches supplémentaires avec les touches Alt, Ctrl. Et voilà le résultat (ci-dessous à droite) pour utiliser le clavier dans le shell et autres applis (qui utilisent le mapping clavier dans linux) :

L'écran

L'écran d'origine est un 8,6" 4:3 LCD en noir et blanc. Il n'existe aucune documentation sur son fonctionnement et encore moins comment l?interfacer avec des signaux vidéo (HDMI ou Composite). J'ai donc utilisé un écran 8" 4:3 LCD IPS couleur avec entrée HDMI.
Le nouvel écran étant plus petit, il a fallu créer un bord pour le fixer à la plasturgie (ci-dessous, 1ère ligne), mais aussi modifier la platine HDMI/LVDS pour la fixer derrière l'écran (ci-dessous, 2ème ligne).

L'alimentation

Voici la première ébauche de schéma... (avec tout de même les modifications/corrections ultérieures ajoutées en annotation) :
Il était alors temps de faire les premiers tests avec les modules d'alimentation et la batterie :

Le placement

L'affichage

A la recherche du 50Hz...

Pour une émulation fluide, la fréquence d'affichage de l'Amiga doit être calée sur la fréquence de l'écran. Les modes disponibles sont alors affichés avec tvservice. Il n'y a aucun mode en 50Hz côté DMT (modes VGA en 4:3) donc j'ai choisi le mode 19 CEA (1280x720 - 16:9). Il faudra ajuster quelques bricoles pour compenser ce choix...

L'émulation

Amibian

L'installation de cet émulateur est très simple car il suffit d'utiliser Win32DiskImager pour écrire un fichier image directement sur une carte microSD vierge. Avec une clé USB, il faut ensuite copier (avec Midnight Commander) les ROMs, fichiers ADF et HDF sur la carte mémoire.

Des problèmes et des solutions

Le signal vidéo HDMI est en 16:9 alors que l?écran est 4:3 donc l'image de boot Aminitel a été étirée (pour qu'ensuite l'écran la remette en 4:3, voir ci-dessous).
Le choix de l'émulateur s'est porté sur UAE4ARM dans la version ChipsFR. J'ai fait ce choix à la fois pour l'autoboot (sur fichier ADF ou HDF) mais aussi pour une meilleure vitesse d'émulation (en jouant sur les paramètres présents dans l'onglet "Chipset").
Le clavier du Minitel 5 a été adapté à ChipsFR en modifiant le mapping clavier spécifique (keymap.cpp) puis en recompilant l'exécutable. Le mapping des joystick USB (pandora_input.cpp) a aussi été modifié pour le pad de la PS Classic.
Et enfin, pour que ChipsFR reconnaisse la ROM 3.1.4 de l?A1200, j'ai modifié le fichier rommgr.cpp.  

Résultat final

Quelques photos

Bonus : Création du logo

+ + =
  Amigars. Article initialement écrit en octobre 2019 pour l'Alchimie.