MSX


Desde que iniciei com o MSX (lá nos idos de 1991/92 - tarde né?!) eu sempre achei que o padrão errou em não agregar uma porta RS-232C "nativa" na máquina. Penso que isso não foi feito devido aos custos tanto de hardware como software necessários para tal. É preciso lembrar que na década de 1980 os CI's eram bem caros, a fabricação das PCI's mais ainda (ah, você acha que não?! Então tenta explicar porque a maioria das placas eram feitas em uma só face e ainda por cima em fenolite e não fibra! Tempos complicados aqueles! Eu estava lá e já trabalhava na área - eletrônica). Enfim, os motivos devem ter sido muitos e eu não vou ficar aqui discutindo os porques.

Mas sempre pensei na quantidade de periféricos que poderiam ter sido criados para o MSX, todos baseados em sua "porta serial nativa". De cara a conexão com um modem externo teria sido facilitada ao extremo e creio que o uso desses pequenos computadores pessoais podereria ter tomado proporções bastante interessantes no mercado coorporativo.

Os que estavam lá devem estar pensando: mas havia uma solução! Era só comprar um cartucho de comunicação RS-232 e pronto! Só que não! Esse acessório custava quase o mesmo valor de um MSX!!! E não eram assim tão fáceis de se operar isso porque na sua maioria estes já traziam algum programa interno em sua ROM dedicado à alguma tarefa um tanto quanto "exclusiva" e essa nunca era exatamente aquela que você precisava. Alguns fabricantes até disponibilizaram uma ou outra informação a respeito do seu produto que acabou por ajudar, um ou outro, aqui e ali, na criação de um programa que lhe daria a resposta que precisava. Mas como sabemos os tempos eram outros e sem Internet obter uma simples informação era sempre muito complicado e demorado.

Seja como for, o tempo passou e eu não consegui comprar um cartucho RS-232 naquela época. E como em seguida passei a usar os "PC's padrão IBM" e estes já traziam uma ou as vezes até duas portas nativas RS232, me dei por satisfeito (o meu PC chegou a ter 4 portas RS232C :P ).

Quando resolvi "voltar" ao mundo MSX, uma das primeiras coisas que pensei foi em adquirir um daqueles velhos cartuchos RS-232 para fazer as minhas experiências. Porém hoje, em pleno "tempo dos colecionáveis", um cartucho desses ficou meio complicado de se encontrar e também um pouco caro. Mas os tempos são outros, as informações estão todas ai para quem quiser. E foi o que eu fiz. Corri atrás e desenvolvi meu próprio cartucho RS-232 para o MSX.

Então, sem enrolar mais, abaixo apresento um breve histórico da experiência que foi desenvolver essa placa/cartucho RS-232.


PRIMEIRA VERSÃO

Essa (abaixo) foi a minha primeira versão (ou tentativa) no desenvolvimento de uma placa/cartucho RS-232.



Clique na imagem para aumentá-la

Eu usei nessa versão uma USART Intel 16C550, primeiro com cristal 18.432MHz depois com um cristal de 1.8432MHz.

Uma coisa que fiz e que não considerei
posteriormente como certo foi usar CI's drivers para a RS232 um tanto quanto antigos, o famoso par 1488/1489. Mas espera, o que nesse projeto pode ser considerado "novo" se a própria plataforma tem mais de 30 anos?! ;P. O grande problema desse "par" é que ele precisa de 3 tensões distintas na sua alimentação: 5VDC, +12VDC e -12VDC.

Nos testes com a minha antiga placa
de estudos Z80 (abaixo) tudo foi bem, mas eu achava que poderia ficar melhor e foi ai que parti para uma segunda versão.


Clique para ampliar

Obs.: A placa acima foi criada entre 1994/95 e eu a usava em conjunto, primeiro com um gravador de EPROM Megatel EPP-01 (porta paralela) e depois com um Emulador de EPROM Hi-Lo 512k, em ambiente DOS com um IBM PC 386. Em tempo atualizarei umas imagens aqui, pois ainda tenho esses equipamentos.


SEGUNDA VERSÃO

Essa segunda versão (foto abaixo) foi a que deslanchou efetivamente. Resolvi passar tudo para um pront-o-board (nossa alguém ainda chama assim uma "matriz de contatos"?!). Fiz isso porque encontrei em meu gaveteiro de componentes "3" peças do 8250 UART Intel DIP40 (uma versão anterior ao 16C550, mas totalmente compatível).


Clique para ampliar

Achei muito mais interessante testar dessa forma e antes até mesmo de ligar o circuito ao MSX, resolvi testar a coisa toda com um Arduino UNO. Sim, usei um Arduino simulando o MSX inclusive com linhas de endereço(A0,A1,A2 e A7), dados (D0 a D7), /IORQ, /RD, /WR e /INT! As imagens disso estão mais abaixo.

Nessa versão eu também troquei o par 1488/1489 por um MAX232. Isso faciliou muito, já que este último não precisa de +12VDC/-12VDC para fazer o drive entre o padrão RS232 e TTL. Ele recebe apenas 5VDC e faz o resto sozinho! A placa que você vê junto ao pront-o-board na imagem acima é um outro projeto meu, o Conversor RS-232/TTL duplo (disponível neste site).

Claro que usando aquele "velho" par que já citei eu tinha simplesmente todas as linhas necessárias devidamente conectadas. Com um MAX232 passei a ter apenas TX/RX e RTS/CTS, o que para os meus propósitos seriam mais que suficientes.



Clique para ampliar

Acredito que um detalhe interessante a respeito do trabalho com essa versão foi um cartucho de "extensão" que eu preparei a partir de uma placa/cartucho de desenvolvimento comprado com o Daniel Ravazzi (Fractal). Nesse cartucho além do barramento de extensão eu também inseri uma barra de pinos (50 no total) seguindo exatamente a mesma pinagem do barramento/conector. Assim ficou mais fácil trabalhar com o MSX, tanto que eu usei esse mesmo cartucho em outros projetos que descrevi nesse site (sim, a placa RS-232 veio primeiro em relação a todos os outros!!!).


Clique para ampliar


PROTÓTIPO FINAL

Após finalizar os testes da 2ª versão me convenci que a mesma era estável e bastante tranquila de lidar. Sendo assim, havia chegado a hora de transformar isso em um cartucho de verdade e para isso eu tinha algumas opções:

  1. Desenhar a placa e prepará-la em casa?
  2. Desenhar a placa e solicitar a uma empresa nacional a sua confecção?
  3. Mandar o desenho para a China para a sua confecção?
  4. Preparar o primeiro protótipo usando uma placa padrão de desenvolvimento?

Analisando cada uma das situações a resposta para cada uma delas ajudou na escolha final:
  1. Preparar uma placa dupla face em casa não é nada fácil e comodo, além de um tanto chato. As dificuldades são muitas e o resultado final pode não ficar muito bom.
  2. Cotei a confecção da mesma em empresas aqui no Brasil e como já era esperedo, "sem chance!!!" Fica caro demais e demoraria uns 20 dias!!!!
  3. Cotei na China e o valor, apesar do dolar a expressivos "cinco paus e lá vai pedrada" e  um despacho via DHL que ficou mais caro que as 10 placas, ainda me custaria metade do que foi orçado aqui no Brasil o que achei "meio" caro e ainda demorado.
  4. Fazer a mesma usando uma placa de desenvolvimento by Fractal (disponível nas "tralhas") e neste caso com custo zero e com prazo contabilizado em algumas horas! Yeah!!!.
Abaixo algumas imagens do protótipo tanto na bancada durante a sua montagem como também já pronta!!!





Clique na imagem para aumentá-la

Bom, muito legal, mas você deve estar se perguntando: "e o software de controle?" Calma, eu não esqueci disso! Desenvolvi, primeiro, uma versão usando Assembly Z80 com o compilador Pasmo e em seguida uma outra usando Linguagem C e Assembly Z80 com o compilador SDCC. Mas ao invés de mostrar apenas algumas imagens sobre, convido você a ver dois vídeos bem curtos mas que monstram a operação da placa 2ª versão (tanto no pront-o-board como também a placa protótipo).





CONCLUSÃO

O projeto não está 100% concluído e eu preciso agora partir para o desenvolvimento do programa que vai permitir a transferência de arquivos, como numa rede, entre dois MSX e um PC (chamo isso de "a rede do pobretão!"). Por enquanto posso dizer apenas que essa foi uma experiência muito legal. Aprendi muitas coisas sobre o MSX. Além disso acabei desenvolvendo ferramentas que me auxiliaram no desenvolvimento de outras projetos para o MSX e creio que me ajudarão em muitos outros que estão por vir. Vamos em frente!!!



Copyright deste conteúdo reservado para Márcio José Soares e protegido pela Lei de Direitos Autorais LEI N° 9.610, de 19 de Fevereiro de 1998. É estritamente proibida a reprodução total ou parcial do conteúdo desta página em outros pontos da internet, livros ou outros tipos de publicações comerciais ou não, sem a prévia autorização por escrito do autor.