SkillAgentSearch skills...

EMinEx

Minitel (Videotex CEPT-2) MSX1 emulator for BadCat WiFi (or other UART 16550 - ESP32) modem

Install / Use

/learn @ludosevilla/EMinEx
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

| 🇬🇧 English version | 🇪🇸 Versión en español | Changelog | |----------------------------|-----------------------------|------------------|

EMinEx : Quand le MSX joue au Minitel

EMinEx est un émulateur Minitel (norme Vidéotex CEPT2) conçu pour fonctionner sur les ordinateurs MSX1 (64Ko min). Oui, vous avez bien lu : votre MSX peut désormais se prendre pour un Minitel !

Il ne nécessite aucun driver particulier.

Minitel, commercialement exploité en France entre 1980 et 2012, a été le premier service au monde à donner accès à des services variés préfigurant ceux du futur Internet grand public, et le plus développé en 1990, avec près de 7 millions de foyers équipés. Il utilisait la norme Videotex, profile CEPT-2 (au contraire de Prestel au Royaume-Uni qui utilisait le Videotex profile CEPT-3 ou Ibertex en Espagne qui utilisait le profile CEPT-1)

Grâce à une cartouche BadCat Modem WiFi (disponible ici) ou tout autre Modem WiFi (équipé d'une UART type 16C550) utilisant les ports standard RS232 du MSX (0x80...) équipé du firmware Zimodem, il est possible d’accéder aux services Vidéotex via le point d’accès MiniPavi (voir ici), lequel offre aujourd'hui un panel de différents services actifs (et qui vous permet également de créer le vôtre !).

Une vidéo Youtube de démonstration est disponible ici.

Le programme est disponible en deux versions :

  • Cassette (chargement via BLOAD "CAS:",R pour les amateurs de nostalgie et de patience).
  • Disquette (MSX-DOS 1) (chargement plus rapide pour les plus pressés).

Menu

🎛️ Options disponibles au lancement

  • F1 : Connexion à MiniPavi pour accéder aux services Minitel.
  • F2 : Mode local pour saisir directement du Vidéotex (ex. : ESC + A pour du texte rouge).
  • F3 : Mode terminal permettant d’envoyer des commandes au modem (ATA, ATI…) reconnues par le firmware Zimodem. Ici, pas d’interprétation Vidéotex, c’est brut de décoffrage.
  • F5 : Quitter le programme avec grâce et élégance.

En version disquette, EMinEx permet également d’afficher des fichiers Vidéotex (.VDT) stockés sur le disque.

📌 Astuce : À tout moment, la touche SELECT permet de revenir au menu principal (pratique en cas de panique).


🔗 Connexion à MiniPavi

Le logiciel établit automatiquement une connexion vers go.minipavi.fr:516. Une fois en ligne, il ne vous reste plus qu’à suivre les indications et explorer les services disponibles.

MiniPavi

⌨️ Correspondance des touches MSX ⮕ Minitel

| MSX | Minitel | |---------|------------| | Return | Envoi | | Flèche bas | Suite | | Flèche haut | Retour | | Flèche gauche | Sommaire | | Flèche droite | Répétition | | Backspace | Correction | | Suppr | Annulation | | Ins | Guide | | Esc | Connexion/Fin |


⚠️ Limitations (parce que rien n’est parfait)

  • L’affichage du MSX1 (mode SCR2) ne permet pas une fidélité absolue : attendez-vous à quelques imperfections visuelles.
  • L’émulation atteint environ 90 % de fidélité : certains artefacts peuvent (vont) apparaître.
  • La saisie de caractères accentués n'est pas pris en charge (leur affichage, si)
  • Fonctionnalités non prises en charge : clignotement, séquences CSI, certaines commandes du protocole (blocage majuscules/minuscules, etc.), DRCS, masquage, mode 80 colonnes...
  • L’affichage est limité à 40 colonnes × 24 lignes, alors que le Minitel utilise 40 × 25. Résultat : la première ligne du Minitel (ligne 00) s’affiche brièvement sur la ligne 1 avant d’être remplacée.
  • Enfin, si vous tombez sur un bug, dites-vous que c’est une fonctionnalité imprévue… et soyez indulgents !

🛠️ Aspect technique

L’objectif initial était de fournir un émulateur Minitel fonctionnel sur MSX1, avec une compatibilité cassette pour une accessibilité maximale.

Le développement s’est appuyé sur la MSXgl (disponible ici).
Un immense merci à Aoineko pour sa patience face à mes nombreuses questions sur le développement MSX !

Affichage Vidéotex sur MSX : Un défi digne des plus grands !

Affichage Vidéotex et MSX 1… Deux mondes bien différents qui n’étaient pas vraiment faits pour s’entendre.
D’un côté, un écran de 25 lignes de 40 caractères en 10x8 pixels, soit une résolution de 250x320, avec une palette de 8 couleurs et une contrainte : seulement 2 couleurs par caractère.
De l’autre, le vénérable MSX 1, affichant 24 lignes de 32 caractères en 8x8 pixels, pour une résolution de 192x256, avec une limitation bien connue : pas plus de 2 couleurs par ligne de 8 pixels en mode Screen 2.

Ajoutez à cela le support du scrolling vertical (haut et bas, s’il vous plaît), des caractères en double hauteur, double largeur et double taille pour le Minitel, spécificités inconnues du MSX 1 ! Bref, un défi technique passionnant !

Deux approches étaient possibles

  1. Afficher uniquement 32 caractères par ligne et permettre un scrolling horizontal pour découvrir les 8 caractères cachés.
  2. Redéfinir l’écran pour afficher 40 caractères de 6 pixels de large, une solution plus élégante… mais aussi bien plus corsée.

J’ai choisi la deuxième option. Parce que pourquoi faire simple quand on peut faire compliqué ? 😃

Une gymnastique de pixels et de couleurs

Chaque caractère fait donc 6 pixels de large x 8 pixels de haut et s’étale à cheval sur deux tuiles adjacentes, avec un décalage cyclique variable.

Une gymnastique qui ne concerne pas seulement les pixels : les couleurs doivent suivre, et ce n'est pas une mince affaire !

En effet, avec ce décalage, on peut se retrouver avec jusqu’à 4 couleurs par ligne de 8 pixels, alors que le mode Screen 2 du MSX impose 2 couleurs par ligne de 8 pixels.

Un vrai casse-tête de palette !

Résultat final

L’écran affiche bien 40 caractères sur 24 lignes.
Pourquoi 24 et non 25 comme sur un Minitel ?
Parce que le décalage au niveau des colonnes était déjà assez compliqué, et je n'allais pas y ajouter un décalage au niveau des lignes ! Ainsi, la ligne 00 (celle du haut) est affichée en ligne 1, mais reste traitée en interne comme une ligne 0.

Un petit tour de passe-passe qui permet d’aligner les étoiles… ou plutôt les pixels ! ✨

Meteo

Si vous avez toujours rêvé d’un Minitel sur MSX, EMinEx est là pour exaucer votre souhait.
Profitez bien du voyage temporel ! 🚀


<a id="eng"></a>

EMinEx: When the MSX Becomes a Minitel

EMinEx is a Minitel emulator (Vidéotex CEPT2 standard) designed to run on MSX1 computers. Yes, you read that right: your MSX can now impersonate a Minitel!

It does not require any specific driver.

Minitel, commercially operated in France between 1980 and 2012, was the world's first service to provide access to a variety of services foreshadowing those of the future public Internet. It was also the most developed in 1990, with nearly 7 million households equipped. It used the Videotex standard, CEPT-2 profile (unlike Prestel in the United Kingdom, which used the CEPT-3 Videotex profile, or Ibertex in Spain, which used the CEPT-1 profile).

With a BadCat WiFi Modem cartridge (available here) or any other WiFi modem (with UART type 16C550) using the standard RS232 I/O ports of the MSX (0x80...) equipped with the Zimodem firmware, you can access Vidéotex services via the MiniPavi gateway (see here) which currently offers a range of active services (and also allows you to create your own!).

A demo Youtube video is available here.

The program is available in two versions:

  • Cassette (loaded via BLOAD "CAS:",R for those who enjoy nostalgia and patience).
  • Floppy Disk (MSX-DOS 1) (faster loading for the more impatient users).

Menu

🎛️ Available Options at Startup

  • F1: Connect to MiniPavi to access Minitel services.
  • F2: Local mode to directly enter Vidéotex commands (e.g., ESC + A for red text).
  • F3: Terminal mode allowing direct modem command input (ATA, ATI...). In this mode, text is displayed as raw data, without Vidéotex interpretation.
  • F5: Exit the program with style and grace.

In floppy disk mode, EMinEx also allows viewing Vidéotex files (.VDT) stored on the disk.

📌 Tip: At any time, press SELECT to return to the main menu (a lifesaver in moments of panic).


🔗 Connecting to MiniPavi

The software automatically establishes a connection to go.minipavi.fr:516. Once online, simply follow the instructions and explore the available services.

MiniPavi

⌨️ MSX ⮕ Minitel Key Mapping

| MSX Key | Minitel Equivalent | |------------|-----------------------| | Return | Send (Envoi) | | Down Arrow | Next (Retour) | | Up Arrow | Back (Correction) | | Left Arrow | Home (Sommaire) | | Right Arrow | Repeat (Répétition) | | Backspace | Correction (Correction) | | Delete | Cancel (Annulation) | | Insert | Guide (Guide) | | Esc | Connect/Exit (Connexion/Fin) |


⚠️ Limitations (Because Nothing is Perfect)

  • The MSX1 display mode (SCR2) does not allow for 100% accurate Vidéotex rendering, so expect some visual artifacts.
  • The emulation achieves around 90% fidelity, meaning some display glitches may (will) occur.
  • Several Vidéotex features are not supported: blinking text, CSI sequences, certain protocol commands (e.g., uppercase/lowe
View on GitHub
GitHub Stars5
CategoryContent
Updated8d ago
Forks1

Security Score

90/100

Audited on Mar 25, 2026

No findings