Em 2 de Junho de 2011
O
Robson M. Braz hoje nos conta como foi o reparo do seu Commodore 128.
As fotos e o texto são do Robson e estão reproduzidas aqui com autorização dele.
Reparo Commodore C128
Há um tempo atrás encontrei um Commodore C128 que estava à venda no Mercado Livre, super conservado, com drive 1571, manuais, alguns programas e caixa original.
Como eu sempre quis ter um C64 que estivesse em boas condições resolvi comprar este C128 que também funciona como um C64 e CP/M, então era um 3 em 1!
Programas e manuais, repare que não veio nenhum "joguinho". :(
Detalhes da caixa.
Após receber e testar, estava funcionando perfeitamente, guardei na caixa novamente pois ainda teria de achar um jeito de transferir arquivos do PC para ele.
Passado algum tempo, após a substituição dos capacitores do meu amiga A1200 que fiz seguindo o tutorial do Victor, resolvi dar uma olhada no C128, liguei e... nada, meu C128 morreu! Apenas apresentava uma tela com lixo que mudava cada vez que eu resetava, conforme abaixo:
Tentei rodar no modo C64 e funcionou perfeitamente. Para entrar neste modo basta ligar o micro com a tecla C= (Commodore key) pressionada.
O defeito era apenas no modo C128, então vamos desmontar pra ver o que está ocorrendo.
Retirei os parafusos e cuidadosamente removi o cabo do led "power" e o cabo do teclado.
Teclado removido, agora é só retirar a blindagem de metal que também funciona como dissipador de calor.
Blindagem removida.
Comecei por testar as tensões e encontrei 4,4V onde deveria ser 5V e constatei que o problema era na chave liga-desliga, pois antes da chave tinha os 5V, só que como o micro funcionava perfeitamente no modo C64 não me preocupei, o raciocínio era simples (e brilhante! :) ) se 4,4V estava bom para o C64 deveria estar ok para o C128 também! (terrível engano como veremos mais pra frente :) ).
O esquema abaixo mostra os pontos de teste com as respectivas tensões a serem medidas, note que a chave liga-desliga controla as entrada de 9VCA e 5VCC.
Então era hora de pesquisar na internet e ver se alguém já tinha resolvido algum problema deste tipo e encontrei um site com
dicas do guru Ray Carlsens.
Ele descreve que um dos sintomas de lixo na tela poderia estar relacionado à rom "U34 - 318019-02 C128 BASIC HI ROM".
Então com um gravador/leitor Willen comecei a testar todas a roms e encontrei apenas uma em que a leitura era diferente das imagens que baixei na net, era a rom U35, que é responsável pelo
Kernel do C128, a diferença era apenas em alguns bytes.
Note que o meu C128 veio com o programa JiffyDos instalado na rom, que melhora o desempenho do acesso ao drive.
O "mod" foi feito alterando-se as roms U32 e U35 originais 27C128 de 16KB x 8 bits por uma 27C256 de 32KB x 8 bits e adicionando-se uma chave para selecionar modo JiffyDos ou
Kernel original.
Detalhe da ligação das roms U32 (C64+JiffyDos) e U35 (C128+JiffyDos).
Ok, com a rom U35 nova e gravada, é hora de testar, liguei e... NADA, continuava do mesmo jeito com lixo na tela.
Testei novamente as roms e tudo perfeito, era hora de começar a testar as RAMs, que no caso do C128 são dois bancos de 64KB usando-se memórias do modelo M3764.
Como não possuo nenhum instrumento para testar as RAMs e mesmo neste caso nenhuma era soquetada, o jeito foi testar usando o próprio micro. No modo C64 fui executando alguns pokes e peeks para ver se os valores eram devidamente gravados e lidos na memória. Existe também um comando que mostra a quantidade de memória livre para o basic, basta digitar:
PRINT FRE(0)–65536* (FRE(0)<0)
Assim o primeiro banco de memória que é usado pelo C64 foi testado sem problemas, restando testar o segundo banco.
Seguindo o manual "C128 Diagnostic Instruction and Troubleshooting Manual (314060-01-02)" encontrei uma dica para se inverter os sinais CAS0 e CAS1, invertendo assim os dois bancos de 64Kb.
Veja detalhe dos sinais CAS0 e CAS1 no CI U9 pinos 8 e 11 conforme esquema abaixo:
Ok, agora já posso testar o segundo banco e constatei que tudo estava perfeito, então é chegada a hora do desespero :) , pois agora eu não tinha como testar os outros CI's customizados que poderiam ser os responsáveis por este tipo de falha.
Então um tempo depois lembrei da chave liga-desliga e resolvi desmontá-la. Uma limpeza nos contatos internos e ela estava nova outra vez.
Chave no lugar.
Hora do último teste e então liguei o micro e para minha surpresa... FUNCIONA !!!
Maravilha!
E só pra ter certeza coloquei novamente a eprom U35 antiga e confirmei que ela realmente estava com defeito.
Então é isso, perdi um bom tempo ignorando a chave liga-desliga que no final das contas não foi tão perdido assim pois aprendi muitas coisas à respeito do hardware do C128!
Agradeço ao Robson por compartilhar a experiência conosco e aproveito para parabeniza-lo por ter salvo mais um micro!
Alguma dúvida, sugestão ou comentário? Use o espaço abaixo.
Em 20/12/2011 15:59:00 por Rogério Kauer
Agora só falta mostrar o hack pra duplicar a VRAM do C128! Dois chips de RAM saem, dois (com a mesma pinagem) entram.
Excelente para os (poucos) felizardos que tem disqueteira no C128!