quarta-feira, 13 de maio de 2015

Ressuscitando um TK85 (2)

Continuando com a pesquisa de defeitos do artigo de ontem...

O oscilador a cristal estava funcionando de forma aleatória e somente quando a ponta de prova estava em cima do cristal (eu monitorava ao mesmo tempo os sinais dos pinos 11 e 12).

Como o cristal é 'filho único' eu precisava verificar se ele estava bom. Então repliquei o oscilador do TK85 num proto-board e o circuito oscilou a 6,5MHz como esperado provando que o cristal estava em ordem.

Oscilador do TK85 replicado no proto-board e funcionandoa 6.5MHz

Oscilador do TK85
Restava testar as conexões da placa, coisa que fiz com o multímetro na escala de continuidade. Depois de constatar que estava tudo em ordem o jeito foi remover IC20 (LS86) e testar ele no oscilador do proto-board.

IC20 (LS86) removido. O cristal e o capacitor C1 estão fora da placa, montados no proto-board
Quando coloquei no proto-board o LS86 que estava na placa o oscilador não funcionou, comprovando que o CI estava com problemas. Reinstalei então o cristal e o capacitor C1 na placa e instalei um soquete para o LS86.

Soquete, cristal e capacitor reinstalados em seus devidos lugares.
 Após instalado o CI em seu soquete o oscilador passou a funcionar, e deu para partir para os testes seguintes.
Oscilador funcionando novamente.
A primeira coisa que fiz foi checar se os sinais de sincronismo e de vídeo para ver se o TK estava vivo. Havia um sinal instável no vídeo mas não havia sincronismo.

O primeiro lugar para checar é o gerador de base de tempo, composto por IC11, IC12 IC21 e IC23. Este gerador recebe o sinal de 3,25MHz e divide até chegar num tempo de aproximadamente uma linha (64us). Os pulsos podem ser vistos no pino 11 de IC23. Mas este circuito estava em ordem

Gerador de base de tempo horizontal.

Olhando um pouco à frente vi que os pulsos de sincronismo estavam ficando parados na porta D de IC24, uma vez que o sinal de /IOWR estava constantemente em nível zero (pino 13 de IC24) .
Gerador de base de tempo, sincronismo e sinais de escrita no cassete.
As linhas /IORQ e /WR estavam fixas em nível alto, e o flip flop formado pelas portas C e D de IC16 permanecia em sempre travado. em nível zero.

Agora que estou escrevendo este artigo começo a desconfiar que o diodo D22 está invertido no diagrama. Amanhã eu confirmo isso.


Pinos 13 de IC24 ficava fixo em nível zero, mantendo o pino 11 travado em nível alto.
Prosseguindo, como no padrão do ZX81 o vídeo é gerado parte por hardware parte por software nas interrupções não mascaráveis, desconfiei que o comportamento estranho talvez fosse devido a um problema com o Z80, ou a ROM ou a RAM, e deixei de lado por algum tempo os sinais de sincronismo.

Medindo as linhas de dados e de endereços no Z80 vi que algumas delas ficavam variando, outras não. Isso poderia ser um problema do Z80. Para verificar se era isso coloquei a ponta de prova numa linha das linhas que estava parada (no caso o A13) e observei o comportamento durante o RESET. A linha tinha sinal por um tempo depois sumia.  O mesmo padrão se repetia para outras linhas com sinal fixo, como IORQ e /WR. Esse comportamento indica que o Z80 está OK.

O próximo passo então foi checar se todas as linhas das SRAMs estavam recebendo alimentação e sinais corretamente, uma vez que os soquetes das SRAMs estavam meio oxidados. Comecei checando as alimentações de +5, -5 e -9 e estavam todas OK.

Daí fui checando as vias de dados se estavam coerentes com as linhas de dados do Z80. Para fazer esse check uma das pontas de prova do osciloscópio vai no pino do Z80 e a outra vai na memória. Os traços devem ser iguais. Se houver diferença de um pro outro alguma coisa pode estar errada.

Eu tive um pouco de sorte, pois ao chegar na linha DD4 vi que ela estava em nível alto o tempo inteiro nos pinos 2,14 de IC34 (4116) porém no Z80 esta linha ficava um 'sujinho' em nível baixo.

Checando no diagrama os outros pontos onde essa linha é conectada vi que o sinal estava OK nos pinos das EPROMs porém no pino 24 da furação destinada ao PSG o sinal não chegava.

Peguei então o multímetro para conferir mas nem precisava. Uma inspeção visual já deu para achar o problema ali dentro do soquete da ROM auxiliar. Uma trilha estava partida muito provavelmente pela ferramenta usada para remover a EPROM quendo a placa foi canibalizada.
Trilha do sinal DD4 interrompida por dano causado por ferramenta.

Reparo efetuado com fio esmaltado.

Remendada a placa, os sinais de /IOWR começaram a ser gerados e já era possível ver atividade em todas as linhas do Z80, porém ainda não tinha sincronismo presente no pino 2 de IC20 (LS86).

Seguindo a trilha do sinal de sincronismo cheguei ao pino 12 de IC22 (LS32) que estava fixo em 2,0Volts. Este pino é ligado ao pino 8 de IC24 (LS00) que tinha sinal.

Checando com o multímetro vi que não havia continuidade entre estes pinos. Porém dependendo de como eu pressionasse o pino 8 de IC24 o multímetro acusava continuidade.

O sinal não passava do pino 8 de IC24 para o pino 12 de IC22.

Olhando a placa por baixo deu para ver a razão. O pino estava sem solda!

O pino 8 do IC24 (LS32) estava sem solda.

Refeita a solda, o sinal de sincronismo passou a aparecer normal no pino 2 (e 3) de IC20 (LS86). Uma maneira bacana de ver ambos o sinais é sincronizar pelo sinal vertical presente no pino 4 de IC24 e colocar a outra ponta de prova no sinal de sincronismo (pino 8 de IC24 ou pino 11 de IC22).

Apesar do sincronismo estar normal, o vídeo está uma bagunça. Ainda não liguei a um monitor mas com a ponta de prova do osciloscópio já deu para ver a encrenca. Amanhã vou ligar o circuito do Kolour neste TK para dar uma olhada no aspecto da tela para ver se tenho alguma pista.










3 comentários:

DVM - Delphi Virtual Machine disse...

Bom dia Danjovic.
Tenho um TK85 comprado "no estado" e gostaria de "ressuscita-lo" tambem.
Gostaria de estar em contato contigo pra gente "trocar figurinhas", é possível?
Por favor, envie uma mensagem para mim em: euclas@gmail.com
Obrigado.

ale500 disse...

This brings so many memories.... This was my first computer, the year was 1985 !
Tantos recuerdos, esta fué mi primera computadora, allá en el año 85.

Unknown disse...

Gostaria de saber como instalar rom Basic no tk85