Uma coisa interessante é que a placa utiliza um microprocessador Parallax Propeller. Trata-se de um chip um tanto exótico, mas com recursos que facilitam a conexão do teclado USB e a geração dos sinais de vídeo. O firmware é carregado de uma EEProm 24LC256. A placa obtém a alimentação e os sinais seriais do barramento do RC2014, mas não seria difícil usar a placa em outros projetos, já que ela utiliza só estes sinais.
O firmware implementa um terminal serial que suporta uma boa quantidade de comandos ANSI / VT-100, inclusive os de seleção de cores para os caracteres. No lado USB é suportado somente teclado (portanto nada de ligar um hub, o teclado tem que ser ligado direto).
A montagem foi tranquila e a placa funcionou de primeira. O monitor foi o display LCD que já vimos antes. Eu usei um mini-teclado brasileiro, o que exigiu algumas mudanças no firmware. Por preguiça, decidi mudar diretamente os bytes na EEProm ao invés de alterar os fontes e recompilar. Eu usei um programador TL866 para ler, alterar e regravar o firmware, mas não seria difícil fazer uma gambiarra com um Arduino e algumas linhas de código.
A única tecla complicada foi a "/ ?". Consultando a documentação oficial de códigos das teclas dos teclados USB (que você pode baixar daqui), descobri que o código é 0x87 ("international1"). Entretanto, a tabela no firmware suporta somente códigos de 0 a 0x7F. Para simplificar, coloquei os código de / ? na tecla Ç.
Para testes escrevi um pequeno programa em BASIC:
10 ESC$=CHR$(27) 20 PRINT ESC$+"[2J"; 30 FOR I=1 TO 7 40 FOR J=0 TO 7 50 C$=STR$(3*J+1) 60 C$=RIGHT$(C$,LEN(C$)-1) 70 PRINT ESC$+"["+RIGHT$(STR$(I),1)+";"+C$+"H"; 80 PRINT ESC$+"["+RIGHT$(STR$(29+I),2)+";"+RIGHT$(STR$(40+J),2)+"m"; 90 PRINT " X "; 100 NEXT J 110 NEXT I 120 PRINT ESC$+"[37;40m";
O resultado foi totalmente satisfatório, estou pensando seriamente em adotar esta placa na versão CP/M-80 do RC2014 que vou montar.
Nenhum comentário:
Postar um comentário