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. |
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 |
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:
Daniel, fantástico cara!!!!
Qdo entra em produção???? rs
Marcelo Martins
www.tk90x.com.br
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 !
Muito bom ! Parabéns !
Se puder disponibilizar desenho da plaqunha , Agradeço !
Se rolar produção da placa me interesso !
Abração
Danjovic! Maravilhoso o resultado!
Tambem quero.
Euclides.
euclas@gmail.com
Caramba, Daniel, mandou muito bem! Ficou perfeito. Tenho um TK85 nas minhas coisas e ainda não tive tempo para dedicar a ele.
Postar um comentário