sábado, 26 de setembro de 2015

Controle Arcade para SNES (2)

Meu amigo terminou de montar o controle Arcade. Seguem as fotos. A caixa de madeira que ele usou é bem legal, pois é cortada na CNC e as peças plásticas de fixação são impressas em plástico.




domingo, 20 de setembro de 2015

Teste de memória para o Master System (4)

A placa para o cartucho foi confeccionada utilizando-se uma placa dupla face, onde foram feitos sulcos utilizando o riscador de placa de forma a criar as ilhas. A ligação entre as ilhas e os terminais da EPROM foram feitas com fio esmaltado.
Placa improvisada

Cartucho de testes. Foi deixada provisão para alguns CIs extras

Uma 27256 foi gravada com o arquivo 'output.sms' e o cartucho foi inserido no Master System. Os primeiros resultados foram promissores. O teste da RAM sempre dá certo e o teste da VRAM sempre falha, e a cada vez que o Master System é ligado com o cartucho, os caracteres 'bagunçados' mudam um pouco, como pode ser visto no vídeo abaixo:


Tudo indicava um problema na RAM de vídeo mesmo. Daí comecei a fazer os testes de continuidade entre o VDP e as 2 RAMs pseudo-estáticas mas todas as ligações estavam em ordem.

Em determinado momento mexi um pouco o trimmer e ao religar o vídeo-game uma surpresa: As cores apareceram perfeitas!
Cores corretas.
Nesse momento as coisas ficaram estranhas, uma vez que com o cartucho de teste as cores ficam em ordem, porém os erros continuarm.
Cores em ordem, porém erro na VRAM
Mexendo um pouco mais descobri que a TV LCD tenta se adaptar à subportadora de cor, uma vez que se o trimmer for ajustado lentamente, as cores continuarão as mesmas. Porém uma mudança mais brusca, como a provocada pelo contato (ou retirada) de uma chave de fenda no eixo do trimmer fazem com que muitas vezes a TV deixe de exibir a imagem.

Bom, já descobri que não devo fazer ajuste na frequência da subportadora utilizando uma TV muito moderna, mas se não tiver outra TV, a cada pequeno ajuste, o vídeo game deve ser desligado e depois religado.
Quanto ao cartucho de testes, achei estranho os erros que ele está acusando na VRAM, bem como os caracteres 'intermitentes' uma vez que a tela inicial de seleção de jogos é desenhada sem problemas.

Infelizmente descobri outro defeito no vídeo game, relacionado ao chip que lê os joysticks, senão teria jogado um pouco para ver se apareceriam artefatos na tela.


Controle Arcade para SNES

Estou ajudando um amigo meu a montar um controle arcade para o SNES. A caixa de madeira e o conjunto de botões podem ser encontrados com facilidade hoje em dia no mercado livre e o preço não está ruim. Já para a eletrônica, uma das opções é canibalizar um controle, e a outra é construir um.
O circuito foi montado com base nos diagramas disponíveis na Internet, e usa apenas 2 CI's CMOS 4021 e alguns resistores.

Diagrama do controlador. Fonte: gamesx.com
 A montagem foi feita sobre uma placa padrão com ilhas.

Montagem em placa padrão

Fiação com fio esmaltado

O conector foi reaproveitado de sucata, e recebeu um cabo 'manga' com 2,40 metros.

Fios soldados aos pinos do conector

Circuito pronto para ser montado na caixa.
Os pontos de ligação dos fios dos botões e manete foram feitos com uma volta (anel) de fio utilizando os próprios terminais dos resistores de pullup. Com sobras dos terminais foram feitos os anéis para ligação do cabo 'manga'.

"anéis" para soldagem.

quarta-feira, 9 de setembro de 2015

Teste de memória para o Master System (3)

Investi um pouquinho mais de tempo no testador de memória e adicionei barras de cor ao fundo da tela.

Tela do programa, com barras de cor ao fundo
Um detalhe que esqueci de comentar é que como o programa tem que prever a possibilidade da RAM estar com defeito, ou seja, nada de usar CALL/RET, pilha, etc. Tudo que precisa ser armazenado fica nos registadores da CPU e vários trechos de código têm que ser repetidos.


A versão mais atual encontra-se neste link do dropbox.

Teste de memória para o Master System (2)

Dando prosseguimento ao programa do testador de memória para o Master System, terminei de incorporar o teste da VRAM.

O que deu um pouco de trabalho, por falta de experiência no assunto, foi que na hora de escrever na VRAM o bit 13 do endereço deve estar em nível 1. Depois de corrigido esse problema o programa passou a funcionar.

Boot da BIOS do vídeo game

Início dos testes da RAM

Teste da RAM OK, início dos testes da VRAM

Testes da VRAM ok, fim dos testes
O código fonte e a imagem da rom estão disponíveis no meu Dropbox (link)

terça-feira, 8 de setembro de 2015

Teste de memória para o Master System

Na falta de uma rom que faça testes no master system, resolvi estudar um pouco e fazer o meu próprio. O objetivo é só testar a RAM e a VRAM mesmo, através da escrita de padrões de bits.

A partir dos primeiros exemplos do tutorial do Maxim já foi possível fazer um programa que teste a RAM. Agora preciso estudar um programa que teste a VRAM e gravar isso num cartucho.









Conserto de um Master System

Adquiri recentemente (via OLX) um Master System modelo I da Tectoy. Segundo o anúncio o vídeo game estava funcionando porém não exibia cor. Depois de consultar alguns artigos sobre reparação, vi que nesses casos o reparo era simples, normalmente um reajuste num potenciômetro.

Quando o equipamento chegou, veio sem fonte. Como no anúncio tinha foto do vídeo game funcionando eu nem lembrei de perguntar se vinha com fonte ou não. Se tivesse perguntado, talvez eu tivesse procurado outro anúncio, de um Master System em melhor estado, considerando o preço médio da fonte vendida separadamente. Mas aí já era tarde demais. Pelo menos ficou a lição:


lição 1: Sempre que comprar algum produto online, seja novo ou usado pergunte o que vem junto.

Assim que consegui um tempo para mexer no video-game,  improvisei uma fonte e abri o aparelho para fazer o tal ajuste. Daí aprendi outra lição:

lição 2: Sempre que for adquirir um equipamento usado, pergunte sobre o estado geral do mesmo, se tem arranhões, trincas no gabinete e sinais de oxidação e se tem todos os parafusos (ou se falta algum)

O gabinete estava bem surrado, com um arranhão grande (mas que não dava para ver direito na foto do anúncio) e a blindagem eletromagnética (lata) que envolve a placa do vídeo game estava muito enferrujada. Até os conectores de saída apresentavam vestígios de ferrugem. Internamente uma das torres de fixação estava quebradas e faltava um parafuso.

Ao retirar as chapas da blindagem fiz uma inspeção visual e vi que as imediações do codificador de cor (MC1377) estava com sinal de ressoldagem em vários componentes. Até o regulador de tensão de +12V, usado somente para esta parte do circuito estava mexido.

Placa fuçada

Mau sinal. Tentei ajustar o trimpot, conforme artigos que eu houvera visto sobre este defeito e nenhum sinal de cor, ou de variação alguma em todo o curso do trimpot. Mais uma lição aprendida:

lição 3:  Quando o reparo de algum equipamento é simples, as pessoas vão tentar consertar antes de vender, portanto, sempre que for comprar um equipamento com defeito pergunte se o equipamento já sofreu manutenção, ou se a pessoa já tentou consertá-lo.O importante nesta pergunta vai ser a forma como a pessoa responde, pois a resposta em si pode não ser confiável.

Analisando o esquemático com cuidado, desconfiei logo de cara de algo que não havia sido mexido e que estava relacionado com o processamento de cor, que era um transformador que tem função de filtro, casador de impedância e defasador de sinal de crominância. Testando com o multímetro vi que este transformador estava aberto tanto no primário quanto no secundário.
Codificador de cor do Master System (MC1377)


Fio solto no transformador
Uma olhada mais próxima já foi suficiente para notar que o transformador estava com fios soltos, provavelmente devido à corrosão, uma vez que usa fio muito fino.

Depois de remover o transformador (e para ter acesso a ele foi necessário remover o dissipador de calor do regulador) confirmei que o problema de ambos os enrolamentos era realmente causado por oxidação.

Fios soltos no transformador

Usando um pedaço de fio fino reaproveitado de um eletroímã de relógio despertador xing-ling consegui emendar os enrolamentos do transformador e ressoldei ele no circuito.

Emenda com fio esmaltado

Transformador reparado

Desta vez foi possível obter alguma cor na tela ajustando-se o potenciômetro, porém ainda havia alguma coisa errada, pois as cores apresentavam um padrão de persiana. ao longo de toda a tela.

Problema na cor

Problema na cor, detalhe.

Munido de um osciloscópio e do datasheet do MC1377 ajustei o trimpot do cristal de forma que a portadora de cor ficasse exatamente em 3.575611 MHz e ajustei o trimpot de forma que a salva (burst) da portadora de cor ficasse exatamente enre 5,8 e 8,5us a partir da descida do sinal de sincronismo. Apesar do esforço, tudo estava em ordem, mas continuava sem cor. Cheguei a conferir várias formas de onda nos pinos do MC1377 mas aparentemente tudo está em ordem, batendo com o datasheet.

Parei por aí, mas o próximo passo vai ser conferir se todos os componentes em torno do MC1377 estão com os valores corretos, uma vez que o circuito foi visivelmente mexido.

Outra possibilidade é um defeito na memória RAM ou VRAM. Para isso vou precisar de alguma ferramenta capaz de fazer o teste, talvez um cartucho de teste no estilo dos micros Atari. Será que isso existe para SMS ?