quarta-feira, 6 de maio de 2015

TK85 num monitor RGB

Recentemente adquiri um par de monitores Syncmaster 510n para utilizar com meus micros antigos. Como esses monitores aceitam vídeo em 15KHz era mais do que natural que eu pensasse em conectar o TK-85 nele.



Analisando as especificações do monitor, ele aceita vídeo em RGB com amplitude de 0,7Vpp e sincronismo positivo ou negativo em nível TTL.

Tomando por base estas especificações a adaptação é muito simples, pois o TK-85 possui internamente os sinais de vídeo e de sincronismo composto. Sendo assim a única adaptação necessária seria baixar a amplitude do sinal de vídeo para 0,7Vpp, coisa que se faz com um par de resistores, e jogar este sinal em uma das cores primárias do monitor, por exemplo o verde, ficando assim a tela verde com caracteres em preto.



Também  é possível ligar o sinal de vídeo em mais de uma componente de cor e ter até 7 cores de fundo diferentes, e caracteres em preto.

A próxima idéia que surgiu foi utilizar o nível do sinal de vídeo para selecionar duas entre 8 cores diferentes para frente e para fundo. Isso pode ser feito através de um multiplexador 74LS157.




Só que.. nem tudo é tão simples como parece....


Pra começar tive que consertar o TK85, que apresentava um defeito intermitente. Depois de horas de osciloscópio em cima do circuito, analisando vários sinais surge uma primeira pista... Um mau contato na conexão da linha A12 no soquete do Z80.

Soquete original e o Z80

Placa vista por baixo, após troca do soquete

Placa vista por cima, após troca do soquete.
Feita a troca, o circuito funcionou corretamente por alguns instantes e depois deu problema de novo. Dessa vez não era nada com o Z80. Daí comecei a desconfiar do soquete das Eproms, uma vez que este soquete também tem a mesma qualidade (e idade) do soquete da CPU.  Removi as Eproms do soquete e inseri novamente, apertando bem dessa vez, daí o circuito funcionava legal (eu ainda estava sem monitor, acompanhando o sinal pelo osciloscópio.

Resolvi então trocar o soquete das Eproms... Pra variar não tinha um soquete de 24 pinos, então tive que improvisar com  um de 28, tirando 2 pinos na parte de cima e dois na parte de baixo e cortando o plástico excedente. Eu não tirei os 4 pinos de um lado só porque senão o soquete ia ficar fragilizado.


Soquete original das Eproms principais removido

Placa após solda do novo soquete

Novo soquete das Eproms. Nem parece ter sido modificado :)

Após a troca o TK parou de apresentar problema, mostrando o vídeo sempre que o micro é ligado.

Pois bem, TK consertado, espero que dessa vez pra valer, soldei alguns fios no IC20 (74LS86), pois neste CI estão conectados tanto o sinal de vídeo quanto o de sincronismo, além é claro da alimentação para o multiplexador.

Sincronismo no pino 3, vídeo no pino 6 de IC20 (74LS86)

 O sinal de vídeo está disponível no pino 6 e o sinal de sincronismo no pino 3 de IC20 (74LS86).

Pontos para pegar os sinais de vídeo e sincronismo no TK85

Circuito ligado, monitor ligado, liga o TK-85 e.... problema... O circuito só funcionava bem se o fundo fosse preto. Caso fosse de qualquer outra cor a imagem ficava muito escurecida e somente dá para ver alguma coisa nas linhas que possuem caracteres.



Pensando um pouco no assunto cheguei à conclusão, que era mais ou menos óbvia, uma vez que esse tipo de imagem já é manjado pra quem tem mod de vídeo composto no TK85. O problema era a Falta de backporch!!!

E eu que já estava na esperança de conseguir enfiar o circuito inteiro do 'colorizador' dentro do espaço da caixa de RF do TK85 comecei a ficar preocupado, pois precisava de  um CI a mais, mas não queria colocar um CI a mais no circuito.



A solução para esse impasse  apontava para utilizar o próprio LS157 ou o TK85 para gerar o backporch. (para quem conhece Triz a solução saiu pela lei da idealidade)

Mas se a solução era conhecida, como implementá-la?

Analisando os recursos disponíveis existem algumas portas lógicas não utilizadas dentro do TK85 que poderiam ser utilizadas, ou talvez desse para implementar o backporch usando o próprio LS86, só que não queria mexer muito no circuito do TK.

Já no Ls157 estavam disponíveis 2 entradas, 1 saída e um sinal de Enable que estava sempre ativo, e foi justo este sinal que me permitiu implementar o backporch, usando uma rede RC e um diodo, de forma bem semelhante ao já utilizado no Mod de vídeo do Victor:

Gerador de Backporch implementado no LS157
Como o monitor pode operar tanto com sincronismo positivo quanto negativo, foi utilizado o sincronismo positivo, pois durante e após alguns microssegundos a partir do final do pulso de sincronismo a imagem tem que estar em seu nível de pedestal para o monitor amostrar a imagem corretamente.

Quando um pulso de sincronismo aparece ele faz com que a tensão sobre o capacitor se torne praticamente 0,6Volts que é basicamente a queda no diodo, ou seja, o início do pulso de sincronismo descarrega o capacitor. Como a tensão nos terminais do capacitor é baixa isso faz com que o sinal /OE vá a nível alto, desativando a saída, que cai instantaneamente ao zero devido ao divisor de tensão nas saídas do LS157.

Assim que o pulso de sincronismo cai a zero, o capacitor começa a se carregar através do resistor, de forma que a tensão no pino /OE começa a cair até o limiar em que o LS157 entende como nível zero, ativando então a saída, trazendo-a ao nível correto. Com os valores utilizados (1nf/10K) e um circuito integrado da família LS, o tempo de backporch foi de 7,2us após o final do sinal de sincronismo.

Amarelo: Sincronismo / Azul: backporch no sinal de vídeo da componente verde G

Após a implementação do backporch a imagem ficou como se esperava:

Imagem com a geração de backporch

Daí deu para brincar com as cores.

Programa de teste.


Ajuste para agradar os usuários de CP200

Ajuste para agradar os usuários de CP300/TRS-80

Ajuste para agradar quem gosta de tomar Coca Cola

Agora para os usuários de HotBit (meu preferido)

Também tem ajuste para os usuários de CP-400

Tem até ajuste para as meninas!

O diagrama do circuito, que foi batizado de Kolour, encontra-se abaixo. O Objetivo agora é colocar tudo dentro de uma placa que possa ser instalada no lugar do modulador de RF.



Aos curiosos uma foto do protótipo:

E uma visão geral do setup de testes sobre a bancada:





6 comentários:

Unknown disse...
Este comentário foi removido pelo autor.
Unknown disse...

Daniel, fantástico cara!!!!

Qdo entra em produção???? rs

Marcelo Martins
www.tk90x.com.br

Angelo Marcelo Alcantara da Silva disse...

Daniel,
Impressionante sua ideia e implementação, mas faço uma pergunta: não seria possível pendurar um buffer numa porta do z80 e então fazer essa configuração via soft com OUT PORTA, VALOR ?
De qualquer forma fantástica sua solução e parabéns !

David Felix disse...


Muito bom ! Parabéns !

Se puder disponibilizar desenho da plaqunha , Agradeço !

Se rolar produção da placa me interesso !

Abração

DVM - Delphi Virtual Machine disse...

Danjovic! Maravilhoso o resultado!
Tambem quero.
Euclides.
euclas@gmail.com

Leonardo Suárez disse...

Caramba, Daniel, mandou muito bem! Ficou perfeito. Tenho um TK85 nas minhas coisas e ainda não tive tempo para dedicar a ele.