Construindo um controlador de terminal 3270

Notícias

LarLar / Notícias / Construindo um controlador de terminal 3270

May 18, 2023

Construindo um controlador de terminal 3270

Gostamos de falar sobre como a maioria dos nossos computadores hoje seriam mainframes

Gostamos de falar sobre como a maioria dos nossos computadores hoje teria sido mainframes apenas 40 ou 50 anos atrás. Por causa disso, muitas pessoas que desejam executar mainframes IBM, como o IBM 360 ou 370, usam o emulador Hercules para executar o big iron em seus PCs. No entanto, os computadores mainframe IBM usavam um estilo estranho de terminal e emulá-lo em um PC nem sempre é tão satisfatório. Pelo menos, foi o que [lowobservable] pensou, então ele decidiu fazer um terminal 3270 funcionar com o Hercules.

Nos velhos tempos da computação, havia dois estilos principais de terminais. Algumas empresas, por exemplo a DEC, usavam essencialmente terminais como um "teletipo de vidro". Ou seja, a tela era um análogo de um rolo de papel — mais ou menos — e o teclado imediatamente mandava as coisas para o sistema remoto. No entanto, empresas como IBM e HP favoreceram uma abordagem diferente. Seus terminais lidavam com telas cheias de dados. O terminal era inteligente o suficiente para permitir que você preenchesse formulários, editasse o texto na tela e depois enviasse a tela inteira de uma só vez. Ambos os sistemas tinham prós e contras, mas - como você poderia esperar - os terminais orientados à tela eram mais complexos.

O projeto acabou sendo muito trabalho de detetive. Muitos desses protocolos antigos eram mal documentados ou mesmo secretos. No entanto, algumas fichas técnicas de chips de interface antigos tinham alguns detalhes e o eBay tinha até os chips em questão. Tínhamos esquecido que o 3270 usava coaxial de 93 ohm, mas nunca soubemos por que eles escolheram esse valor específico.

Acontece que havia dois estilos diferentes de terminais. Um exigia um controlador muito sofisticado que fazia a maior parte do trabalho. O outro fez a maior parte do trabalho localmente. De qualquer forma, o mainframe lidava apenas com os dados processados. Felizmente, [lowobservable] está documentando o que aprendeu no GitHub.

No início do projeto, [lowobservable] pegou uma unidade terminal excedente. No entanto, ele tinha uma imagem de disco corrompida para não funcionar. Ele tinha, no entanto, um disco de diagnóstico utilizável que podia se comunicar com o terminal. Isso permitiu algumas análises do tráfego que ajudaram a responder algumas perguntas.

O resultado final é um controlador que não está completo (ainda), mas é funcional. Existem planos para uma versão FPGA que não dependa de chips obsoletos também.

Claro, gostaríamos de ter um IBM 360 real. Você poderia se contentar com um AS400, no entanto.