quinta-feira, janeiro 28, 2021

Memórias dos Anos 80: Emulação de Terminal e Transferência de Arquivos com o Z

O principal uso do Z era na conexão de micros a minis e mainframes, o que era feito emulando terminais de vídeo. Um recurso adicional era a transferência de arquivos entre os dois sistemas.

Cada fabricante tinha o seu modelo de terminal de vídeo, alguns mais simples outros complexos. A disponibilidade e qualidade de documentação técnica também variava bastante.

A transferência de arquivos exigia um programa rodando no mini ou no mainframe, e cada um tinha as suas linguagens e suas peculiaridades. Para a carga deste programa, com uma exceção, era usado o recurso do Z de simular cegamente uma digitação (podendo aguardar um tempo fixo entre caracteres e outro tempo fico entre linhas). Foi minha a definição de uma espécie de protocolo padrão para os sistemas mais simples.

Some a tudo isso as dificuldades em arranjar um sistema para desenvolvimento e o fato de não termos micro portáteis e temos todos os ingredientes para uma vida bem animada.

Não lembro mais todos os detalhes e, quando foi feita a minha cópia de lembrança do Zapt, alguns destes filtros já tinham sido descontinuados por falta de cliente, portando devem ter muitas mentiras no resto deste post!

Z1111 / Z1121 - Medidata

A Medidata tinha como alvo o mercado hospitalar. O seu "mini" era um "supermicro" baseado no Zilog Z8000. O Z1111 emulava o terminal TVA1111 inicialmente usado pela Medidata. Evoluiu para o Z1121 que emulava o terminal TVM1121 da  própria Medidata. A linguagem usada era MUMPS, que eu já conhecia ligeiramente por ter um amigo fã desta linguagem. Eu fiz o programa de transferência, segue abaixo um trecho:

MENU W *12,?13,*5,"Z1121TFA - Humana Informatica 1986-1989 - Versao 1.00"

W $C(15,16,32+4,32+0)

W "(T)ransmissao para o MINI, (R)ecepcao no Micro ou (F)im?"

W $C(16,32+5,32+0),"Nome da Global no MINI?"

W $C(16,32+6,32+0),"Transfere chaves, S/N ?"

Z830 / Z27 / Burroughs (Unisys)

O Z830 emulava inicialmente o TVA-830 da Scopus, usado com os mainframes da Burroughs (que nesta época mudou de nome para Unisys). Posteriormente a Burroughs mudou de fornecedor de terminal para a TDA (o que foi um baque para a Scopus) e vieram os terminais TD6830, TM9830 e TB27. Foi para emular este terminal que o Z precisou suportar múltiplos vídeos, pois ele era capaz de trabalhar como múltiplos terminais. Foram feitas versões do programa de transferência em DCAlgol (para a linha B6000 e B7000) e em COBOL (para a linha B1000, de menor porte).

Z200 / Cobra

A Cobra tinha uma linha de minis de projeto próprio (Cobra 480, 500, 520), o Z200 emulava o terminal. Eu fiz o programa de transferência, em uma linguagem da própria Cobra, na filial da Cobra que ficava na Angelica. Precisei levar o micro da Monidata (embalado numa caixa imensa) e o monitor colorido de 14" (idem). O desenvolvimento levou dois dias e não deixaram deixar o micro de um dia para outro... O programa compilado era distribuído em disquetes de 8" (duplicados periodicamente na própria Cobra - segue aqui mais um agradecimento pelo paciência deles).

Se a memória não falha, um dos primeiros clientes foi a Droga Raia, que tinha o seu pequeno CPD em uma travessa da Heitor Penteado.

Z211 / Cobra

Eu nem lembrava desse... emula o terminal TE211 usado no Cobra 1000. O programa de transferência é o mesmo do Z200.

Z100 / Z220 DEC (e outros)

A DEC (Digital Equipamnent Corporation) foi uma grande empresa, que chacoalhou a IBM com os seus minicomputadores. Uma das suas heranças são os comandos do terminais VT52 e VT100 (e seus sucessores). O Z "sem filtro" emulava o VT52, que tinha comandos no formato ESC letra.

Algum tempo depois que eu entrei foi escrito (pelo próprio Mário, dono da Humana) o Z100 para emular os terminais da família VT100. O VT100 introduziu os chamados "comandos ANSI" no formato "ESC ] param;param;letra". A base para a emulação foi um xerox de um manual, lembro vagamente de algum dia o Mário ter conseguido acesso a um terminal para testes. Mais para frente o Z100 evoluiu para o Z220, emulando terminais mais modernos.

O programa da Humana para transferência de arquivos foi feito em C e suportava várias versões de Unix.

Outra opção de transferência de arquivos era usar o protocolo Kermit. O Kermit (chamado assim em homenagem ao personagem da Vila Sésamo que conhecemos aqui como Caco), buscava ser universal. O resultado era uma complexidade imensa e lentidão nas transferências. A documentação oficial era um livro, que tinha um dos códigos em C mais ilegíveis que eu já vi.

Z1035 / SID

O mini da SID era um projeto da empresa francesa Logabax. O filtro e o programa de transferência foram feitos em uma parceria com um revendedor,  e envolveu um importante desenvolvedor da Humana, o francês Claude Cremet (que vai ganhar um post nestas memórias). Para variar o programa está escrito em uma linguagem proprietária, segue um trecho:

SEGMENT PROCEDURE ERRIOCS (R14);        & OPERA UM RETRY

BEGIN

DUMMY BASE R12;

     BYTE      ERRCB;

     BYTE      ERRMOD;

     SHORT     ERRNO;

     INTEGER   ERRICW;

     BYTE      ERRSTW SYN ERRICW;

CLOSE BASE;

     STMS(R2, R2);

     R2 := @ZIOCB;

     STPFO(R2) := 0; STPFA(R2) := 0; LGRESI(R2):=0;

     ERRICW, R2 := ERRICW - 2;

     LMS (R2, R2);

END;

Z3000 / Sisco

A Sisco era a intrometida entre os fabricantes iniciais de micro, não estava entre as empresas selecionadas pelo governo. Enquanto os outro fabricantes tinham contratos de transferência de tecnologia com empresas mais tradicionais, a Sisco fabricava um clone de um micro da Data General.

Não fui eu que fiz o programa de transferência e não tenho ele na minha cópia, mas tenho uma vaga lembrança de ser em COBOL.

Z3630 / Edisa

Outro que eu não me lembro... Emulava o terminal ED-3630 da Edisa, cujo mini era resultado de transferência de tecnologia da Fujitsu. 

Z7800 / Honeywell Bull

A Honeywell Bull era um fabricante de mainframe. 

Z8311 / Labo

A Labo fabricava um mini de tecnologia alemã, que rodava BASIC. Este mini era bastante popular em empresas de médio porte e usava dois tipos de terminal: o DAP8311 e o 8331. O 8331 era mais complexo e a sua documentação não estava disponível. A Humana fez uma parceria com a Labo na qual eles desenvolveram um filtro, o Z8331, que comercializavam diretamente. A Humana continuou vendendo o Z8311, que não era um campeão em quantidade mas era extremamente regular na vendas (cerca de 10 cópias mês). O programa de transferência, em BASIC, passou nas minhas mãos.


Nesta lista não temos os terminais IBM, que terão um post dedicado a eles.


Nenhum comentário: