Stupid Raspi Tricks: acesso serial para micros clássicos

Raspberry Pi. Internet. Cabos seriais. Micros clássicos. Parece bacana isso tudo junto. E é.

Porque um Raspberry Pi?

Porque é possível fazer ocupando menos espaço e gastando menos energia do que um PC comum. Sai mais barato transformar um Raspi numa “estação serial” do que um PC, mesmo daqueles bem velhos.

Porque acesso serial?

Concordo que a melhor solução seria um adaptador/cartucho/etc Ethernet. Mas não tem para o Tandy 102 (micro clássico usado neste post) e para vários outros micros, especialmente os portáteis.

Hardware necessário

Um conversor USB-Serial (poderia usar um GPIO-Serial, mas é mais difícil encontrá-lo pronto no Brasil, e fazer um demanda mais tempo), um cabo null-modem e um DB9-DB25.

Software necessário

Baixei o emulador de VT100 disponível na seção de Telecom/BBS da biblioteca de programas do Club100 e instalei no 102, usando a própria conexão serial. (Vale a pena ler a documentação aqui e aqui)

No Raspberry Pi, adicionei no /etc/inittab:

T0:2345:respawn:/sbin/getty -L ttyUSB0 9600 vt100

e fiz o sistema reler o inittab com telinit q.

Testando

Depois de rodar o emulador de VT100 e mudar a configuração de 38NE1 (300bps) para 88NE1 (9600bps) via STAT (F4) e entrar em modo VT100 (F6)…

TRS-80 Model 102 ligado via serial a um Raspberry Pi

Funcionou.

TRS-80 Model 102 ligado via serial a um Raspberry Pi

E essa foi a parte mais fácil.

As dificuldades

A tela do 102 é de 40×8 linhas, enquanto um terminal VT100 é, por padrão, 80×24; é possível usar as teclas de função para navegar entre as partes da tela, mas tem sempre a dificuldade e a chatice de ver apenas uma “janela” – o que torna quase um martírio o uso de aplicativos mais sofisticados como o nano.

Além disso, quanto mais evitar comandos acentuados e cores, melhor; export LANG=C e export TERM=vt100 são seus amigos.

4 pensou em “Stupid Raspi Tricks: acesso serial para micros clássicos

  1. Uma coisa boa no NC100 da Amstrad é ele ter um emulador de terminal e a coisa ruim é que o treco é só ASCII (no caso em Linux tem de usar: export TERM=dumb) mas que resulta numa experiência muito ruim de “retro terminal serial portátil” :-/ Pior que eu até comecei a fazer um emulador furreca de terminal, em BBC BASIC a princípio, que suportasse alguns dos códigos do VT-100/ANSI só pra poder rodar o “Midnight Commander” em 80×8…

    1. A ideia a princípio era fazer com o NC100, mas eu só consegui que rodasse tráfego Raspi->NC100 e, depois de quebrar um tanto a cabeça, parti pro Tandy 102.

      Com relação ao tamanho da tela, uma pena que não tem micro portátil de 8 bits 80×24 🙁

  2. Cesar,

    Pode-se alterar as configurações do terminal usando o comando stty cols 40 line 8, será que usando o TERM=vt100 vai ‘surtir efeito’ ?!? Abraços.

    1. Só testando, alguns programas poderão até se dar muito bem se você soltar um “LINES=8 ; COLUMNS=40 ; export LINES COLUMNS ; reset” no terminal. (mas a outra ponta, o emulador de terminal tem de saber lidar com alguns parâmetros…

Os comentários estão fechados.