Prologica CP-500/M80C - Restauração (Parte 2 - Bugs, curiosidades, etc.)

Após todo o (enorme) trabalho de restauração do CP-500/M80C (documentado na parte 1), ainda restaram alguns bugs e curiosidades que resolví documentar aqui numa postagem à parte, além de agradecer os principais envolvidos na saga desta restauração.


Bug número 1: Caracteres trocados


Certos programas apareciam com alguns caracteres trocados sem motivo aparente, mas nada que pudesse ser ligado a problemas com a memória de vídeo ou com o circuito gerador de caracteres (que tinha uma gambiarra bizarra de fábrica em cima da memória de vídeo que ligava um dos dois chips customizados da Prologica na motherboard e que "puxava" dois fios de um 74LS04 do outro lado da placa que tinha mais uns fios ligando outros pontos numa "teia de aranha" horrorosa, mas que na época, era o tipo da correção de falha de projeto percebida depois que as placas entravam em produção.
Porém, esse bug parecia ter uma lógica baseada na sequência em que certos códigos eram enviados à memória de vídeo e que pareciam evocar esses caracteres bizarros.



Exemplo de caracter trocado.


Foi então que lembrei que a motherboard do meu CP-500/M80C tinha uma misteriosa daughter board "espetada" no soquete que deveria ter apenas uma EPROM de caracteres. que não tinha nas placas dos outros CP-500/M80C que eu já tinha visto pessoalmente ou procurado fotos na Internet.

Não havia documentação alguma em lugar algum sobre essa plaquinha misteriosa contendo 4 CIs (alguns raspados) e uma EPROM.
Mas por quê uma placa inteira para substituir uma EPROM?
Seria outra modificação da própria Prologica?

O mistério começou a fazer sentido quando comprei um Craft II Plus que tinha uma daughter board "espetada" no soquete da EPROM de caracteres... Configuração muito parecida essa, não?

Só que essa outra placa (a do Craft II Plus) tinha alguma documentação. Se chamava "Ivanita" e servia para habilitar caracteres da Língua Portuguesa em certos editores de texto que podíam acessar software drivers específicos para ela e que vinham num disquete que até o presente momento, é considerado "material perdido" porque ninguém da comunidade de colecionadores parece ter encontrado o conteúdo deste disquete em seus acervos ou algum disquete "perdido" em algum lugar.

Foi então que apelidei a plaquinha misteriosa encontrada no meu CP-500/M80C de "Ivonete", pois estava claro que ela tinha uma função semelhante.



A misteriosa daughter board que apelidei de "Ivonete".

Com o passar do tempo, até conseguí elaborar uma tabela de combinações de teclas de como obter os acentos com ela.



O fato é que tive de conviver com esse "bug" por muito tempo até o dia em que conseguí pôr minhas mãos num gravador de EPROM e substituí-la inteira apenas pela EPROM (2732) com uma ROM original do banco de caracteres do CP-500/M80C (que achei na Internet) gravada nela. Mas até esse dia, eu acabei levantando o máximo de dados que pude sobre essa placa (inclusive elaborando um "manual" improvisado) e disponibilizei tudo no Datasette para a posteridade e ajudar quem quiser se disponibilizar a estuda-la melhor.

A minha, eu doei ao Alexandre "Tabajara" Souza, caso ele queira completar a Engenharia Reversa e a documentação desta misteriosa plaquinha.


Bug número 2: Vídeo com caracteres aleatórios

O pior tipo de bug é aquele que aparece "do nada" aleatoriamente sem motivo aparente e que desaparece do mesmo jeito sem deixar vestígio nem nenhuma pista de como acha-lo.
Geralmente eu puxava a placa do computador para fora do gabinete, fechava de volta, ligava e... o bug simplesmente sumia misteriosamente por vários dias ou justamente quando eu estava demonstrando o computador para alguma visita ilustre.
E às vezes passava o dia todo com o computador ligado e nada do bug e aí... no dia seguinte... Ele insistia em ligar com a tela toda embaralhada, o que significava pouca coisa uma vez que nos TRS80, praticamente todo defeito de lógica joga um monte de caracteres aleatórios na tela.

Defeitos de lógica esses geralmente ligados à memória ou processador ou do circuito de vídeo mas também poderia ser algum capacitor velho com defeito. mas como todos os capacitores eletrolíticos da placa eu já tinha trocado por novos, eu já me preparava para o árduo trabalho de ter de trocar todos os capacitores de cerâmica... que não são poucos.

Passei meses encucado com esse bug, procurando com uma lupa, estudando a placa... e o mistério permanecia.

Deixo aqui um mapa da motherboard com as respectivas legendas...


Mapa da motherboard

01 - Conector serial ("CP-532C" - Que raios de "padrão" é esse?)
02 - "Expansion - I/O" (Bus Expansion)
03 - "Paralela" (Porta paralela, mas com conector "edge" ou "borda de placa")
04 - Circuito de Áudio e cassette. (Que circuito de cassette? Será que em outros CP-500/M80 esse circuito vem instalado de fábrica?)
05 - Circuito da controladora de disco
06 - Conector de alimentalimentação
07 - Conector de teclado
08 - Conector de ví­deo
09 - Misteriosa placa de acentuação espetada no soquete da ROM de caracteres.
10 - 8 chips 4164A-15, totalizando 64KB de memória RAM (48KB reconhecí­veis pelo BASIC).
11 - CPU (O glorioso e lendário microprocessador Zilog Z-80)
12 - CN-6, jumpers misteriosos
13 - CN-8, mais jumpers misteriosos
14 - EPROM (Level 1 ROM+leval 2 ROM)
15 - CI-17 - Custom chip misterioso - (Controladora da porta paralela ?)
16 - CI-59 - Custom chip misterioso - (Gerador de caracteres do Sistema 600?)
17 - Hitachi HM6116P-3 (2K static RAM...VRAM!)


O bug só foi solucionado quando num belo dia inventei de soquetar a EPROM e resolví verificar o soquete da CPU que tinha uma rachadura microscópica justo no terminal VCC dele.
Troquei o soquete por um novo... Bug resolvido.


Bug número 3: Conector de teclado falhando

Essa foi fácil de resolver.
Bastou trocar o conector da placa para flat cable do teclado por um melhor, moderno, boxed de 90 graus com pinos dourados.



Conector novo, muito mais confiável.


Aproveitei e troquei o conector do flat cable dos floppy drives. por um moderno conector boxed também com pinos dourados, de modo que isso impeça a conexão acidental invertida ou descentralizada do flat cable, o que poderia eventualmente até causar algum dano no (hoje raríssimo) circuito da controladora da placa, ou dos floppy drives que hoje estão cada dia mais raros.



Os floppy drives agora serão sempre conectados do jeito certo.



Bug número 4: Monitor falhando


Esse bug já era esperado pela idade do circuito.
O monitor começa a piscar e um dia ele não liga mais.
Basta trocar os capacitores eletrolíticos, claro!

AVISO IMPORTANTE:
Se você não souber descarregar um tubo de CRT (tubo de imagem), ou não está acostumado com circuitos de alta tensão, NÃO MEXA!
As tensões envolvendo cinescópios podem ser MORTAIS mesmo com os aparelhos desligados.
Confie esse serviço para quem sabe como faze-lo com segurança.


Existem tutoriais no YouTube de como descarregar esses cinescópios.
Além deles, é boa prática descarregar o maior dos capacitores do circuito do monitor com auxílio de um resistor de fio também, por questão de segurança.
Novamente, deixo o aviso: CUIDADO! CIRCUITOS DE ALTA TENSÃO PODEM SER MORTAIS.

Além da troca de capacitores, aproveitei para limpar todo o circuito bem como o flyback e a blindagem do mesmo.



Cinescópio na bancada, sendo limpo cuidadosamente.



Flyback já limpinho.


Aproveitando que eu já teria de reajustar todos os ajustes do monitor, resolví documentar esses ajustes aqui nessa foto da placa do monitor, ainda com os capacitores originais:



Placa do circuito do monitor

L1  = Linearidade horizontal
L2  = Bobina não ajustável também responsável pela linearidade horizontal.
TP1 = Frequência horizontal
TP2 = Linearidade do sinal de saída vertical
TP3 = Amplitude da rampa (altura do vídeo)
TP4 = Foco (última grade do tubo)
TP5 = Frequência vertical
TP6 = Sub-Contraste (grade do tubo)
TP7 = Nível de entrada (sub-brilho)


Com o auxílio de um software chamado "Diag", fiz todos os ajustes, menos os do yoke das bobinas defletoras, porque estavam colados e eu não queria correr o risco de quebra-los de modo que do lado direito do vídeo, não teve como deixar a imagem tão retinha, paralela ao lado esquerdo.
Seria um ajuste pequeno. Mas arriscado demais para um detalhe... quase imperceptível com o uso.


Monitor ajustado... Até onde deu.


Bug número 5: A porta para gravador cassette

Não sei se devo chamar isso de bug uma vez que me parece mais é uma omissão por parte do fabricante.

Não há como negar que o primeiro dispositivo de "armazenamento de massa" (é assim que chamavam antigamente, os dispositivos de armazenamento de dados não voláteis), dos primeiros usuários de TRS-80, era a fita cassette, de modo que todo computador compatível com TRS-80 que se preze, tem uma porta de cassette, onde se espetava um cabo com um conector DIN-5 numa ponta e na outra você tinha 2 conectores "Jack P2" para os sinais "Ear" e "Mic" de um gravador cassette (respectivamente "Out" e "In" em alguns gravadores) e um terceito conector Jack P1 para controle de motor do gravador.


Esquema de como montar um cabo para cassette para TRS-80.


Nos CP-500 assim como nos CP-300, nunca foi diferente.
Bom... Exceto por certos CP-500/M80C (inclusive o meu) e CP-500/M80 Turbo, que tinham um furo no painel de conectores traseiros para a motherboard, mas simplesmente não tinha nada ali e ainda não sei com certeza se todos eram assim ou só alguns vinham sem a porta do cassette.

No "Manual Técnico" (o "Manual de Serviço") do CP-500 (o antigão, "primeiro" modelo), tinha até a pinagem da porta de cassette.


A  porta de cassette dos antigos CP-500: A mesma do TRS-80, mas com números diferentes.

Até hoje não sei se haviam de fato alguns CP-500/M80C que vinham de fábrica com a porta do cassette. O meu não veio. MAS... Quando eu ainda frequentava os grupos de retrocomputação no Facebook, um colega lá publicou esta foto (abaixo), aparentemente com componentes originais, da parte da placa do CP-500/M80C com os componentes que não existem na minha:


Componentes que faltam no meu CP-500/M80C, montados de fábrica num outro CP-500/M80C?


E o colega (que infelizmente não me lembro quem era), também publicou uma lista de componentes para isso.

CN-4 - DIN5 femea (com suporte para 90 graus)
RL1 - AZ 693-90 / 6 VCC
DIODOS (8) - 1N4148
T1 - BC547A
CI19 - LM741CN
CI20 - MC1458CP1
--
C23 - 22nF (223)
C26 - 10nF (103) - valor não confirmado ainda
C27 - 1nF (102)
C28 - 1nF (102)
C29 - 4,7nF (472)
C30 - 100nF (104)
--
R18 - 2,2K (VM, VM, VM)
R24 - 4,7K (AM, VI, VM)
R25 - 1K (MR, PR, VM)
R26 - 56K (VD, AZ, LR)
R27 - 1,5M (MR, VD, VD)
R28 - 15K (MR, VD, LR)
R29 - 56K (VD, AZ, LR)
R30 - 6,8K (AZ, CZ, VM)
R31 - 620K (AZ, VM, AM)
R32 - 10K (MR, PR, LR)
--
R35 - 8,2K (CZ, VM, VM)
R36 - 100K (MR, PR, AM)
R37 - 100K (MR, PR, AM)
R38 - 100K (MR, PR, AM)
--
R46 - 75K (VI, VD, LR)
R47 - 220R (VM, VM, MR)
R48 - 100K (MR, PR, AM)
R49 - 82K (CZ, VM, LR)
R50 - 39K (LR, BR, LR)
R51 - 100K (MR, PR, AM)
R52 - 100K (MR, PR, AM)
R53 - 51K (VD, MR, LR)
R54 - 10K (MR, PR, LR)

Até hoje não sei se devo ou não montar esses componentes no meu para ver se funciona.
Existe o risco de não funcionar e pior ainda, o risco de não funcionar pifando um raro chip customizado do CP-500/M80C... Aí, seria fim da linha para ele, com certeza, pois esses chips customizados hoje não existem mais.

Alguém aí já soldou esses componentes numa placa de CP-500/M80C para ver se funciona?
Se sim, por favor me fala nos comentários aí se deu certo ou se a lista está errada!
Obrigado.


Floppy...

Um dos floppy drives originais (Microperiféricos D-505-2), infelizmente não resistiu ao tempo. Um filamento de uma das cabeças se partiu por oxidação e acabou sendo substituído por um Epson SD-621-L, que considero um dos melhores  floppy drives para a linha TRS-80.

Eu substituiria o outro floppy drive original por um desses fácil, se eu encontrasse um.

O teclado desgastado... apesar de eu ter vetorizado o desenho de todas as teclas, não encontrei ainda uma solução permanente. Apenas paliativos como colar adesivos sobre as teclas.

Infelizmente não tenho um laser engraver aqui para fazer tecla por tecla certinho nem confio enviar as teclas pelo Correio e correr o risco de extraviar peças hoje raríssimas deste computador cada da mais raro. 


Serial...

Tenho MUITA vontade de "espetar" uma interface serial CP-532C no meu CP-500/M80C para usa-lo como terminal de telecomunicações serial através do software Telcom II ou algum outro que rode em CP/M, como o clássico (e "eterno") Kermit 80, mas infelizmente não encontrei nenhuma interface dessas à venda em lugar nenhum.
Se eu achar... provavelmente estaria muito cara e eu não estou a fim de gastar muita $$$ não. (Quem sabe fazer algum "rolo"? rsss)



A incrivelmente rara interface serial CP-532C (imagem de Internet)

 

Não ainda sei se através dessa pinagem documentada no Manual do Usuário da CP-532C, seria possível desenvolver alguma interface serial "equivalente moderna" para ele, talvez baseada no chip MAX232E... Talvez fosse o caso de pesquisar.

http://
Pinagem da porta CP-532C proprietária da Prologica.


Aparentemente existe alguma similaridade com a pinagem da placa RS-232C dos TRS-80 Model III.


Pinagem da conexão entre a motherboard e a placa RS-232C dos TRS-80 model III.


Porta para impressora paralela...

Conectar uma impressora paralela ao CP-500/M80C é simples. Mas requer um certo cuidado.
Basta conhecer os pinos da porta paralela dele e fazer o cabo.
Aí, na impressora, é recomendável desligar o auto LF/CR, ou para cada linha de texto que o CP-500/M80C imprimir, ele pulará uma linha.

http://
A pinagem da saída paralela do CP-500/M80C: Marquei em vermelho, os pinos "supérfluos".

 

Joystick no CP-500?

Os teclados dos TRS-80 originalmente tinham as setas seguindo um layout comum, bastante óbvio e intuitivo, de modo que parecia bem lógico que os jogos feitos para a plataforma, as utilizassem ao invés de outras teclas do teclado.


O primeiro TRS-90 Model I. Reparem nas posições da teclas das setas.


Esse mesmo layout foi seguido por outros fabricantes nacionais que fizeram seus clones de TRS-80, como a Sysdata.

 
JR Sysdata, um clone de TRS-80 Model I brasileiro da época (e o primeiro computador em que programei na vida).


No entanto, nos "TRS-80" da Prologica (todos os modelos, clones ou híbridos compatíveis), seguiam um layout de intuitividade bastante questionável.


Um CP-300 da Prologica (modelo com teclado chiclete "grande", porque existe a versão com teclas menores).


Por quê diabos a Prologica inventou de mudar justo essas teclas nos teclados deles assim, eu não sei.
Não faz o menor sentido.
Minha intuição me leva a pensar que parece proposital, para que as pessoas não se sentissem tentadas a levar joguinhos para usar nos computadores das empresas em que trabalhavam.
Um dia desses, vou perguntar ao
Everaldo R Lima (que projetou o teclado do CP-500/M80C) para ver se existe alguma explicação para isso.

Após pesquisar um bocado, conseguí encontrar um artigo na revista Micro Sistemas número 37, de outubro de 1984, de autoria de Manuel C. Chaves, sobre como adaptar um joystick de Atari 2600 para funcionar com o CP-500.

Porém, o artigo exibe um conector DIN ao invés de DB9 típico dos Atari 2600.
Acho que o autor do artigo deve ter deixado de mencionar que o joystick dele estava modificado com conector DIN e que talvez ele tenha aproveitado o espaço para conector DIN da porta do cassette para essa finalidade. (Tinha de ser o Chaves... 😁)


Artigo da revista Micro Sistemas.


Como não gosto de fazer as coisas sem saber o que estou fazendo, resolví ir mais à fundo, procurando no "Manual Técnico" do CP-500 (infelizmente não encontrei o do CP-500/M80C, mas aposto que o mapa de teclado e a pinagem dele são as mesmas). E aqui, essas conexões parecem fazer mais sentido.


Mapa da matriz de teclado do CP-500 original.


Assim, podemos traçar uma correspondência sobre que pino corresponde a qual sinal.

Pino do CP-500     Sinal                        Pino do DB9
7                  "Comum" para o Joystick      8
12                 Seta para cima               1
13                 Seta para baixo              2
14                 Seta para esquerda           3
15                 Seta para direita            4
16                 Barra de espaços             6

Eu ainda não testei este mod, até porque não quero modificar o gabinete do meu raro CP-500/M80C e ainda não estudei um jeito de passar um conector DB9 para fora dele de modo discreto.


Para finalizar o documentário dessa saga (mas nem tanto)...


Uma foto de como está a motherboard do meu CP-500/M80C hoje, limpa, com capacitores novos, desbugada e com as ROMs certas, devidamente etiquetadas.


A motherboard do CP-500/M80C 100% restaurada



Agradecimentos:

Henrique Ulbrich - pela doação do computador para restauro.
Alexandre Souza, Lisias Toledo, Everaldo R Lima - pelo apoio técnico;
Louis Lipp e Pedro Prado - transporte e apoio logístico e psicológico;
Luís "Minduim" Saran - pela doação de disquetes originais de CP-500/M80C;
Rodrigo Raposo - por encontrar disquetes com o sistema operacional SO08 tido até então como "material perdido", gerado imagens deles com o ImageDisk e compartilhado no Datasette.

Agradeço também os diversos membros do antigo grupo "Retrocomputaria" no Facebook, que de alguma forma, acompanharam e ajudaram nesse projeto, embora eu não consiga lembrar de todos aqui no momento.

Obrigado.


Última revisão deste artigo: 13 de abril de 2024.

Comentários

  1. Os Chips 15 - CI-17 - Custom chip misterioso e
    16 - CI-59 - Custom chip misterioso, fazem são chips desenvolvidos pela engenharia da prológica e tem meu dedo nisso, e integravam parte de lógica original. Não são achados para a venda no mercado.

    ResponderExcluir
    Respostas
    1. Já era de se imaginar, grande Mestre Everaldo!
      É uma honra te-lo por aqui.
      Lá no exterior, é comum encontrar quem faça "versões de reposição" de certos chips de computadores clássicos como fazem com a ULA do ZX-Spectrum ou o SID do Commodore 64.
      Seria possível substituir esses chips por algum "gate array" da vida?

      Excluir
    2. Creio que sim, mas primeiro seria necessário "refazer" o esquema da Placa Prológica-8 com AX-23, que é a primeira placa do CP500-M80, e também da Prológica-22, que é a placa já com chip e o circuito da AX-23 dentro. De posse dos esquemas destas duas placas, comparar os dois e descobrir quais partes do circuito da P-8 ficam dentro dos chips. Um trabalho meticuloso e árduo.

      Excluir
  2. Bacana seu trabalho e bem documentado parabéns. Uma pergunta: meu CP500 igual ao seu estão com memorias 6294046, que memória é essa? Não encontrei documentação na net.

    ResponderExcluir
    Respostas
    1. Oi Domingos!
      Obrigado.
      Seu comentário rendeu até uma atualização naquela parte do 'Estudo da Motherboard".
      Meu CP-500/M80C veio com 8 chips Samsung KM4164A-15, totalizando 64KB de memória RAM (48KB reconhecí­veis pelo BASIC) e 1 chip Hitachi HM6116P-3 (para memória de vídeo).
      Posso estar enganado, mas ACHO que 6294046 era o partnumber da Hitachi para os chips 6116 dela. Mas aí, seu CP-500/M80C teria 128KB de RAM, o que não me parece fazer muito sentido uma vez que desconheço essa configuração nos CP-500/M80C.

      Excluir

Postar um comentário

Postagens mais visitadas: