Scanlines nos monitores LCD

Em 26 de Dezembro de 2011

Uma das grandes reclamações ainda hoje pela galera que curte retro-computação e retro-games é o monitor e TVs de LCD. Dizem que não tem o mesmo feeling que o CRT e muitos ainda mantêm suas velhas TVs de tubo para ligar seus equipamentos.

Certamente existem várias diferenças entre o CRT e o LCD/Plasma, mas uma das mas marcantes é a presença de scanlines, aquele padrão riscado na imagem. Até existem equipamentos que simulam esse efeito, mas os preços são meio salgados, como exemplo o XRGB-3, cerca de 400 dólares e o SGL 3000, cerca de 50 Euros. Somando esse custo ao frete para o Brasil e a possibilidade de ser taxado, realmente a brincadeira não fica barata.

Bem, a proposta deste artigo é conseguir um efeito similar aos desses equipamentos, porém por uma fração do preço.




O funcionamento do circuito proposto acima é bem simples na verdade. O flip-flop 74LS74 recebe os pulsos do sincronismo horizontal e suas portas mudam de estado a cada pulso, sempre no começo de cada linha da imagem. A saída /Q é ativada e desativada, então na prática a cada linha PAR o circuito entra em ação. O reset do CI vai ligado ao pulso de sincronismo vertical, que zera o chip a cada quadro completo da imagem, garantindo que somente as linhas PARES da imagem receberão as scanlines. Se isso não fosse feito, a cada quadro as scanlines trocariam de posição, alternando-se em pares e impares, devido ao número de linhas do padrão PAL-M e NTSC (525). A scanline propriamente dita é gerada pelo 74LS125. As portas de entrada deste CI são aterradas, ficando os pinos de controle ligados à saída do flip-flop. A cada ativação as saídas R, G e B são aterradas através dos resistores R2 a R4 e dos trimpots RV1 a RV3. Esses trimpots regulam o quanto a saída receberá de Terra e na prática o quanto a cor da scanline será escurecida. Já a parte marcada em azul como opcional é o clássico separador de sincronismo usando um LM1881 e esses componentes só serão necessários se o equipamento a ser ligado tiver somente sincronismo composto.

Lista completa de peças
1 74LS74
1 74LS125
3 resistores 75R ou 100R
3 trimpots de 1K (opcional, ver o texto)

(Para o Separador de Sincronismo)
1 LM1881
2 capacitores cerâmicos de 100nF (marcados como 104)
1 resistor de 680K


Pela simplicidade, o circuito poderia ser montado numa placa universal, porém roteei uma neste link, já espelhada e pronta para impressão.


(Veja que não usei os trimpots, vide explicações abaixo)

Vamos analizar então as diversas maneiras de montar e instalar o Gerador de Scanlines:

1 - Equipamentos com somente Sincronismo Composto (CSync)


Nesse caso a parte marcada como "Opcional" no esquema deve ser montada na plaquinha, visto que precisamos dos sinais de VSync e HSync separados. Como exemplos de equipamentos com CSync eu poderia citar, Spectrum, MSX, Mega Drive, Saturn, Super Nintendo, Neo Geo, Game Cube e até mesmo Wii, Xbox e Playstations. Aqui ligamos os sinais R, G, B, Csync, Terra e um ponto de +5V ou uma fonte externa para alimentar a placa.

2 - Equipamentos com somente sinais de sincronismo separados


O Amiga seria um exemplo bom. Não é necessário montar o separador sincronismo, bastando pegar os sinais diretos. Temos que ligar os sinais R, G, B, Hsync, VSync, Terra e o +5V nos seus respectivos pinos do conector do Amiga.

3 - Usando o gerador de Scanlines com Vídeo Composto

Sim, é possivel usar o gerador numa saída A/V normal. Nas fotos abaixo temos o jogo "Smurf" com o gerador ligado na saída de vídeo composto de um Atari 2600 comum da Polyvox.





A "pegadinha" nesse caso é que precisamos de um ponto extra de ligação além da própria saída de video composto. Observe abaixo:


No caso do Atari, esse "ponto extra" seria o pino 2 do TIA que é a saída de sincronismo do chip. Em outros equipamentos também será possível a ligação, bastando identificar um ponto de sincronismo.

Eliminando os controles de intensidade


Os trimpots podem ser eliminados em qualquer das três situações acima trocando todos por jumpers. Com isso temos o efeito máximo equivalente ao que vemos nas fotos abaixo.




































Pena que as fotos não conseguem mostrar toda a beleza e perfeição da imagem que se consegue com esse circuitinho simples, mas tenho certeza que agradará inclusiva aos mais exigentes. ;)

Finalmente agradeço ao amigo Nivardo Cavalcante pelo incentivo e toda a ajuda para a pesquisa sobre a geração de scanlines.

Dúvidas ou sugestões, utilize o espaço abaixo para os comentários.


Voltar - Home


Comente



Nome:

E-Mail: (não será divulgado)

Mensagem:


 Quero ser notificado por e-mail quando houver respostas nesse artigo


Trocar imagem
 
Quais as letras mostradas ao lado?



Em 26/12/2011 12:34:00 por claudio
Sensacional. Tive a honra de ver esse prototipo funcionando pessoalmente e mantive sigilo ate hj! Espero que vc nao deixe de INVENTAR essas coisas maravilhosas, mesmo que nao faca producao e consertos! Nem se ausente das listas! Abraços
Em 26/12/2011 12:57:00 por V8
Excelente projeto, Trucco. Obrigado por compartilhar mais uma grande contribuição. :)
Em 28/12/2011 11:53:00 por Leo
Rapaz, parece que você adivinhou o meu problema... =) Estou batendo cabeça há alguns meses com um circuito com a mesma finalidade para meus consoles com saída componente e RGB, mas montado numa daqueles upscaler chineses GBS 8220, seguindo estes esquemas: http://www.mmmonkey.co.uk/console/other/rgb2vga.htm e http://www.mmmonkey.co.uk/console/other/vga-scanlines.htm . Montei-o e ele funcionou relativamente bem... Em alguns consoles, como o PC Engine, ele ficou perfeito, mas o sincronismo em outros precisou de alguns ajustes no upscaler, apareceram barras verticais, etc. Mas o problema maior foi uma eventual falta de cor, que já ocorreu algumas vezes. A imagem fica simplesmente desbotada, voltando ao normal só quando dá na telha. Tenho certeza de que foi alguma cagada minha na montagem, já que selecionando a outra saída VGA do uspcaler, a que não é afetada pelos circuitos, a imagem aparece normal - mas sem scanlines... Por isso, me interessei em tentar o seu circuito, que difere ligeiramente do que tenho aqui. Tenho algumas dúvidas, entretanto... Onde eu faria a ligação do sinal do CSync (porque no esquema que segui existe a separação do V e do HSync na ligação dos fios) e como eu ligaria o separador de sincronismo, já que na minha placa existem aparentes saída e entrada do mesmo (a parte que o autor do artigo corta um traço no tutorial)? Outra coisa: tenho interesse em ligar também o NES e o Atari (os únicos não-contemplados pelo RGB) nesse gerador de scanlines...Eu teria que fazer um circuito exclusivo para eles e ligá-los via vídeo composto ou existiria a possibilidade de passar o sinal deles pelo GBS 8220 de alguma forma? E sobre o NES, o ponto de sincronismo é o próprio sinal de vídeo (como eu achei descrito num site aqui) ou segue o exemplo do Atari, tendo um pino diferente? Desculpe a cascata de perguntas, mas este seu esquema foi um sopro de entusiasmo nesse meu projeto, cheguei a pensar em largar tudo e voltar para as TVs de CRT, sério =)) Muitíssimo obrigado por compartilhar esse projeto e um excelente 2012 para todos também!
Em 1/1/2012 08:38:00 por Victor Trucco
Leo, note que vc não precisa ligar o Csync e os V e H sync. Vc liga um OU os outros. No caso do upscaler que já tem a separaçao vc ligará sempre o V e o H no conector de saída. Sobre o NES e demais equipamentos somente com video composto vc não pode usar o próprio video como ponto de sincronismo porque este sofrerá o ajuste das scanlines, que, na falta de uma palavra melhor, confundirá o circuito, tipo um cachorro correndo atras do proprio rabo, hehehhe. Bem, não conheço o NES, mas talvez tenha algum ponto de sync que poderá ser usado, fora o proprio sinal de video. Grande abraço e um ótimo 2012 para vc.
Em 1/1/2012 11:33:00 por Leo
Beleza, entendi que só o V e o HSync são ligados à saída do upscaler, mas ainda não consegui visualizar (ser leigo é foda -.- ) a interação do Csync à coisa. Você diz que não precisa ligá-lo, então não é necessário o separador de sincronismo no meu caso, mesmo que eu vá usar somente consoles com csync nele? Caso eu esteja falando besteira, o que é bem provável, como ligo então o separador de sincronismo ao esquema? Ligaria o composite sync que vem do RGB (pino 20, se não me engano) ao pino CSync do seu circuito e os V e H Sync do seu circuito normalmente na saída do upscaler, é isso? E refaria aquele traço cortado no upscaler no tutorial do mmmonkey? Obrigado (novamente) desde já!
Em 3/1/2012 20:50:00 por Guiile3dfX
Oi Victor, mais uma vez excelente trabalho! minha duvida (pq nao manjo nada de eletronica)...euu tenho slg3000, mas o pb q para usar ele, tenhoq ter saida vga nos consoles...queria uma ajuda pra ligar meu sega saturn com ele, pelo q vi, da sua placa daria par usar sim, vi a pinagem do saturn aqui http://members.optusnet.com.au/eviltim/gamescart/gamescart.htm#saturn se pudre me ajudar... se for o caso eu ate pago o serviço, pq aqui nao consigo nada... scanlines e muito show...abraço (vc tinha q comercializar ela rsrrsr)
Em 6/1/2012 01:10:00 por Guiile3dfX
em tempo...gostaria de saber s etem alguem do Rio de janeiro que possa fazer esse serviço!!! ou pelo menos a placa!
Em 6/1/2012 10:45:00 por Guiile3dfX
Uma coisa q nao entendi nessa placa aonde fica o out dela???
Em 15/1/2012 16:45:00 por ROGÉRIO
Hoje estava pesquisando sobre isso, afinal hoje fui almoçar na casa da Sogra que estava limpando o quartinho do fundo e ganhei um ATARI, quero colocar pra funcionar, hojo jogo PS3, mostrei pro meu filho de 4 anos o videogame do Papai, o Atari, kkkkkk, tem alguem pra indicar ou voce faz isso, obrigado
Em 19/1/2012 22:22:00 por Arthur
Olá, Seu circuito é excelente. Tenho um snes e pela pinagem da saída multi out: http://members.optushome.com.au/eviltim/gamescart/snesntsc.png Ele tem +5v no pino 10. Qual a corrente mínima para alimentar o circuito?
Em 25/1/2012 23:15:00 por Tiago
Victor, deixa eu te perguntar uma coisa: Esse gerador de scanlines funciona (pensando de uma maneira simplista) apagando (ou escurecendo) uma determinada linha durante o desenho da tela. Esse circuito poderia ser de alguma forma alterado para criar uma especie de scandoubler onde eu imprimo na tela uma linha que vem do sinal original, e outra em branco de forma que poderiamos trabalhar com sinais de 15,qualquercoisa KHz (que seriam assim convertidos para os 31,qualquercoisa KHz) em todos os monitores padrão VGA do mercado, ou isso é bem mais complicado?
Em 26/1/2012 06:12:00 por Victor Trucco
Guiille, o circuito não tem uma entrada e uma saida como normalmente se pensaria. Ele estra em paralelo na propria conexão entre o mico/video game e a tv.

Arthur, o circuito é bem simples e consome apenas uns poucos mA. Certamente a saida do SNES poderia dar conta.

Tiago, é exatamente assim que o circuito funciona, pulando uma linha e escurecendo a proxima. Sobre o scandoubler eu nunca me aprofundei no estudo, mas lembro que segundo uma explicação simples que li numa lista de discussão deveria no minimo ter memória para salvar o ultimo frame da tela e velocidade suficiente para decompor a imagem e ir duplicando as linhas. Não sei até onde essa descrição é precisa, mas o fato é que nunca vi um circuito realmente simples para faze-lo. Uma dica é pegar no Ebay um GBS8220 por cerca de 40 dolares. Mesmo se for taxado ainda seria mais barato e com mais recurso do que qualquer circuito montado por aqui. Grande abraço
Em 26/1/2012 23:09:00 por Victor
Victor, obrigado por responder minha dúvida. Bem, não sei se o SNES suporta, não encontrei informações sobre a tensão de saída do pino 10 da porta multi out. Sobre seu circuito e o uso dele com vídeo composto: O sinal de saída você pega dos trimpots, correto? Mas no diagrama é um sinal RGB. Como fica isso se minha entrada é vídeo composto?
Em 27/1/2012 06:26:00 por Victor Trucco
Tensão de saida, basta medir com o multimetro. Sobre o video composto, consulte o esquema de montagem especifio no artigo. Um abraço