Contexte matériel et protocolaire
En 1993, l’auteur utilisait un ordinateur maison basé sur le Zilog Z280 équipé de 512 KB de RAM, d’une carte VGA, d’un lecteur disquette 3 ½" et de ports série. La connexion au BBS se faisait via un modem Hayes à 2400 bauds, contrôlé par les commandes AT. Le protocole série était le standard RS‑232C, sans gestion de flux (RTS/CTS) car la vitesse du UART correspondait exactement à celle du modem. Les commandes AT typiques, comme ATDT5551234 (tonalité) ou ATDP5551234 (impulsions), étaient saisies manuellement à partir de la documentation papier.
Implémentation du terminal ANSI
Le programme terminal devait interpréter les séquences d’échappement ANSI, composées du caractère Esc (0x1B) suivi d’un crochet [, de paramètres numériques et d’une lettre de commande. Par exemple, Esc[2J efface l’écran, EscC décale le curseur à droite et Esc[0;35m applique la couleur magenta. L’auteur a intégré l’ensemble de ces séquences, mais a constaté des écarts entre la spécification du livre et le comportement réel de certains BBS, ce qui a nécessité des ajustements ponctuels.
Capture mémoire et relecture
Le Z280 offre un accès MMU à une zone de 64 KB. L’auteur a programmé un tampon de capture qui enregistre chaque octet reçu en séquence. Lors d’une session avec La Cueva BBS, le tampon a été saturé, mais le fichier CUEVA.TXT a conservé l’intégralité de l’échange affiché, y compris les messages d’erreur de ligne téléphonique et le dépassement du tampon (le replay débute par le message de déconnexion). La capture ne comprend pas les données transférées (fichiers téléchargés) ni le timing des frappes, ce qui rend les changements d’écran très rapides lors de la relecture.
<Files "ansilove_font_pc_80x25.png">
Header set Access-Control-Allow-Origin "https://nanochess.org"
Header set Access-Control-Allow-Methods: "GET"
Header set Access-Control-Allow-Headers "Content-Type, Authorization"
</Files>Le code ci‑dessus montre la configuration .htaccess nécessaire pour autoriser le rendu du terminal JavaScript (jsTerm) qui reproduit la vitesse de 2400 bauds. Sans ces en‑têtes, le canvas du navigateur était bloqué par la politique de sécurité du serveur.
Analyse des limites et perspectives
La méthode de capture repose exclusivement sur le flux d’affichage ; les fichiers téléchargés ne sont pas enregistrés, ce qui empêche une reconstitution complète du contenu partagé. De plus, l’absence de synchronisation temporelle entre les entrées clavier et les réponses du BBS rend la relecture difficile à suivre pour un observateur humain. Le dépassement du tampon de 64 KB indique que la session a duré plus longtemps que la capacité de stockage prévue, soulignant les contraintes de mémoire des systèmes maison de l’époque. Enfin, la dépendance à un modem 2400 bauds limite la fidélité du replay aux conditions de connexion réelles, mais elle offre une illustration précise des contraintes de bande passante et de latence des BBS pré‑Internet.