Construction d'un contrôleur de terminal 3270

Nouvelles

MaisonMaison / Nouvelles / Construction d'un contrôleur de terminal 3270

May 18, 2023

Construction d'un contrôleur de terminal 3270

Nous aimons parler de la façon dont la plupart de nos ordinateurs aujourd'hui auraient été des mainframes

Nous aimons parler du fait que la plupart de nos ordinateurs d'aujourd'hui auraient été des ordinateurs centraux il y a à peine 40 ou 50 ans. Pour cette raison, de nombreuses personnes qui souhaitent exécuter des mainframes IBM tels que IBM 360 ou 370 utilisent l'émulateur Hercules pour exécuter le gros fer sur leur PC. Cependant, les ordinateurs centraux IBM utilisaient un style de terminal étrange et l'émuler sur un PC n'est pas toujours aussi satisfaisant. Du moins, c'est ce que pensait [lowobservable], alors il a décidé de faire fonctionner un terminal 3270 avec Hercules.

Au mauvais vieux temps de l'informatique, il existait deux styles principaux de terminaux. Certaines entreprises, par exemple DEC, utilisaient essentiellement des terminaux comme "télétype en verre". Autrement dit, l'écran était un analogue d'un rouleau de papier - plus ou moins - et le clavier envoyait immédiatement les choses au système distant. Cependant, des entreprises comme IBM et HP ont privilégié une approche différente. Leurs terminaux traitaient des écrans remplis de données. Le terminal était assez intelligent pour vous permettre de remplir des formulaires, de modifier du texte à l'écran, puis vous enverriez l'intégralité de l'écran en une seule gorgée. Les deux systèmes avaient des avantages et des inconvénients, mais, comme on pouvait s'y attendre, les terminaux orientés écran étaient plus complexes.

Le projet s'est avéré être beaucoup de travail de détective. Beaucoup de ces anciens protocoles étaient mal documentés ou même secrets. Cependant, certaines fiches techniques d'anciennes puces d'interface contenaient quelques détails et eBay avait même les puces en question. Nous avions oublié que le 3270 utilisait un câble coaxial de 93 ohms, mais nous n'avons jamais su pourquoi ils avaient choisi cette valeur particulière.

Il s'avère qu'il y avait deux styles différents de terminaux. L'un d'eux nécessitait un contrôleur très sophistiqué qui effectuait la majeure partie du travail. L'autre a fait la plupart des travaux localement. Dans tous les cas, le mainframe ne s'occupait que des données traitées. Heureusement, [lowobservable] documente ce qu'il a appris sur GitHub.

Au début du projet, [lowobservable] a récupéré une unité terminale excédentaire. Cependant, il avait une image disque corrompue, donc cela ne fonctionnerait pas. Il avait cependant un disque de diagnostic utilisable qui pouvait parler au terminal. Cela a permis une analyse du trafic qui a aidé à répondre à certaines questions.

Le résultat final est un contrôleur qui n'est pas (encore) complet mais qui fonctionne. Il existe également des plans pour une version FPGA qui ne repose pas sur des puces obsolètes.

Bien sûr, nous aimerions avoir un vrai IBM 360. Vous pouvez cependant vous contenter d'un AS400.