quinta-feira, 1 de outubro de 2015

Projeto O2Mini #1

     Sempre achei o odyssey da philips muito grande, e agora que vou revender alguns multicarts dele, e consequentemente ter que estar em constante utilização do console para testes, resolvi colocar essa ideia em prática.

     Assim como o colecovision, praticamente metade do seu espaço interno é vazio, um desperdício, mas acho que é a moda americana, vide os carrões da época, umas naves enormes, acho que fazia parte do marketing mostrar um produto robusto, enfim ... sempre que abro um odyssey, não penso em outra coisa, matar aquele espaço vazio, mas agora comecei a mexer no meu console, está oficialmente iniciado o projeto O2Mini.

     Veja os primeiros passos, pretendo documentar toda evolução por aqui, por isso esse é o post #1.


Veja o suporte para segurar a força para inserir o cartucho, não ta bonito mas funciona





Como o console será de frente, entrada do cartucho deitada, semelhante ao intellivision que é deitado mas de lado





Aqui a comparação da carcaça com a placa de dentro, da pra notar quanto espaço perdido tem dentro



     Da para notar a placa de transcodificação presa por cima da placa principal, também deitei o capacitor laranja que é enorme e cortei um pedaço do dissipador do regulador 7805 ali no canto superior direito, na frente vamos ter a entrada do cartucho, o botão de power original do console, 2 entradas DB9 que vai permitir usar controles de atari, master system, mega drive ou controles originais adaptados com o conector e ainda um sistema que estou pensando em fazer, pois existem jogos que funcionam no controle 2 ou no controle 1, vc tem que ficar trocando, estou pensando em montar alguma coisa que una os 2 controles com ativação de uma chave, estou pensando se faço isso. Já na traseira, teremos a entrada da fonte (vou pensar na possibilidade de colocar uma fonte embutida), saída do cabo AV embutido e se eu instalar o sistema de junção dos controles, uma chave para ativar/desativar essa função.

     Pretendo usar o adesivo da entrada de controle original na frente do console, mas ela é irregular na direita, não sei como vai ficar se eu cortar para endireitar a bichinha, ou se faço a arte no photoshop e imprimo uma nova, vou pensar ainda .. e na parte de cima, vamos ter exclusivamente o teclado.

     A parte eletrônica está praticamente pronta, se eu não inventar moda com a junção dos controles, então agora resta a parte mais complicada, do case, cortar, martelar, quebrar, colar, lixar, etc. vou aproveitar todas as partes do case original para montar o novo, principalmente o contorno do teclado.

     Bom, é isso pessoal, vamos ver o que consigo montar, muito bonito não ficará, mas a idéia é diminuir o console para ficar pratico e utilizável, principalmente por conta dos controles, visto que nenhum dos que tenho funcionam e ninguém descobriu uma maneira fácil/barata de arruma-los. 

domingo, 20 de setembro de 2015

VCSMC, o XBMC do Atari 2600

     Um cara ganhou um console Atari 2600 personalizado com o logo do yotube, porque ele travalhava no google, gostando muito do aparelho, resolveu fazer, nas suas horas vagas e fora da empresa, um player do youtube para o Atari 2600, veja que lindo o console ficou personalizado e mais abaixo como ficará a imagem com a pouca resolução que o atari oferece.




Link do blog do cara:

Abraço do DABLIO.


segunda-feira, 7 de setembro de 2015

CartMOD Snes

     Novidade no mercado, adaptador para maskrom do SNES (maskrom é a memoria usada no cartucho) para quem faz cartmodding (pega um cart original, retira a maskrom e coloca uma outra memória com outro jogo gravado).

     Porque isso é novidade se você já viu isso de monte por ai ?? Poque o meu modelo é o único que faz a conversão da placa, existem varios tipos de placas de cartuchos do SNES, eliminando as especiais, sobram cartuchos LoROM e HiROM .. normalmente carts Lo são usados para jogos pequenos e HiROM para jogos grandes ... e existem no mercado diversos adaptadores para conversão da memória usada, para você poder usar outras DIP, TSOP, SSOP ou ainda PLCC ... o meu é somente para a DIP42 especificamente a 27c322 que é de 4Mb (32mbit) pois a maioria dos jogos nunca passada desse limite.

     Mas o meu adaptador permite gravar um jogo grande do sistema HiROM em uma placa para jogos menores do tipo LoROM ... e porque isso seria alguma vantagem ?? Porque placas HiROM não são abundantes, ao contrário das placas LoROM que se tem aos montes por ai, isso vai impulsionar a cena cartmodding com certeza !

     Falando do adaptador em si, consistem em uma placa não muito maior que a maskrom do cartucho, onde temos o encaixe para a memória 27c322, 2 chips que transformam a saida da memória de 16bits para 8bits e ainda alguns PADs na placa bem posicionados para vc soldar diretamente alguns terminais do chip MAD-1 da placa, afim de ajudar na conversão sem ter que usar um monte de fios. Infelizmente um dos sinais morre debaixo do MAD-1 e este não tem jeito, tem que se ligar um fio até o adaptador, mas é somente 1 fio, pelo que a placa oferece de benefício, é quase nada !

     Bom, é isso, vejam um vídeo do adaptador proto em ação, montado em uma placa 1A3M-20 que é LoROM e tem aos montes por ai, com um jogo HiROM Donkey Kong 3 .. no video você vai observar um erro de pirataria, que alguns cartuchos novos apresentam, mas isso é um erro de bateria, quando ela ja está para morrer o cartucho começa a fazer isso, basta trocar a bateria.




Por enquanto é isso !!!

Abraço do DABLIO.

quinta-feira, 5 de março de 2015

Inédito: atari com controle de 3 botões ou mais controles

     Imagine o Atari 2600 com mais de 1 botão, como o nes, o master system e vários jogos de arcade ?
 
     Pois é, a idéia é tão simples que não me conformo como alguém ainda não tinha pensado nisso.
 
     Basta transformar as 2 entradas analógicas do controle (cada entrada tem 2), usada para os paddles para entradas digitais para ter mais 2 bits para trabalhar, basicamente é isso.
 
     Não é modificado NADA no console, apenas no controle, e obviamente a ROM preparada para isso.
 


domingo, 22 de fevereiro de 2015

Novos projetinhos ...

     Só passando para falar sobre meus projetos para o futuro em relação ao atari 2600: multicarts com cartão SD, projeto de adaptador para 4 players, adaptador para permitir controles com mais de um botão (provavelmente 3 por controle), que somente jogos novos utilizarão por motivos óbvios e pinturas personalizadas, sei que esse ultimo não agrada a muitos, mas agrada a alguns e é para eles que farei, eu incluso hehehe ... Além de 3 jogos que quero portar para o atari, são 3 jogos ja existentes, um é o primeiro jogo que vi na vida, um game & watch nintendo modelo turtles bridge, quero portar o antartic adventure (nes/msx), e por fim, o banco imobiliário, mas esse de uma forma diferente, o jogo vai se passar tanto na tela do game quanto em um tabuleiro que vai se encaixar em cima do console com leds indicando posição dos jogadores, casa/hotéis e etc. Vamos ver se sobra tempo para isso hehehe

sábado, 10 de janeiro de 2015

Como confecciono placas caseiras

     Post só para matar a curiosidade de alguns de como eu faço minhas placas de circuito caseira, aproveitando que eu estou montando um adaptador para produzir uns cartmod (repro) para o SNES, tirei fotos de como fiz, dou algumas dicas também durante o processo. Legendas nas fotos.

Impressão dos layouts:
exporte do programa de desenho em monocromático e
na impressora, ajuste para papel glossy e melhor qualidade
isso para sair bastante toner, e ajuste para saida mono também
(precisa dizer que só tem toner em impressora laser ?)

Papel glossy que eu usei
(o papel é para inkjet, mas funfa beleza na laser)

Placa e layout já cortados para facilitar a transferência
DICA: eu passo bombril na placa até a mesma ficar brilhando,
não meta o dedo depois disso, fica a digital facilmente nela.
Também tiro as rebarbas da placa para não estragar a plastificadora

Equipamento que uso para transferência: plastificadora Menno 2401
(foi-se o tempo do ferro de passar roupas)

Temperatura no talo, 150° são ideais.
Passei a placa por 12 vezes, não espere entre uma passada e outra,
a ideia é ficar cada vez mais quente para melhor transferência.
O botão frente / reverso nesse modelo ajuda muito nessas horas

Direto para debaixo da torneira

Facilmente se retira o papel

Veja que com apenas uma das mãos eu retiro sem dificuldade

Quase lá ...

Mais um tiquinho ...

e pronto, totalmente retirada de uma só vez

100% do toner transferido

Placa já seca pronto para química

Meu kit de corrosão caseira (sim, era um aquaplay)

Inicio da corrosão, a placa vai ficando rosa

Veja um pedaço ja corroido na borda

Processo de corrosão já pela metade

Depois de totalmente corroida, é meter o bombril na sujeita
para tirar o toner que foi aplicado

Toner totalmente retirado da placa
Serviço de corrosão pronto, agora é furar, cortar e montar =-)

     É isso ai pessoal, parece fácil e é mesmo, rapidinho você produz sua placa caseira, eu documentei essa porque a placa é face simples, as face dupla da para fazer, mas metade do trabalho todo é posicionar o desenho do outro lado da placa no lugar exato, é um saco, mas da para fazer sim, só ter paciência.

     Apesar de eu sempre fazer placas em casa para os protótipos, eu não faço placas finais aqui, eu mando fazer em empresas do ramo, é mais facil, menos dor de cabeça, fica mais caro, mas vem tudo prontinho, testado, com garantia, cortadinho, furado, furos metalizados, layout de componentes impresso, etc .. não tem comparação. Fazer uma placa em casa é só para você testar se fez o desenho certo, mesmo que não fique muito bonita, mas fique funcional, ja está valendo, ai é só mandar o desenho para fazer fora sem medo de não saber se desenhou certo ou se faltou algum ajuste fino depois =-)

Abraço, DABLIO.

quinta-feira, 18 de dezembro de 2014

CD4040 com multicarts

     Vou começar agora a estudar como montar multicarts para o SNES e o MegaDrive, tenho aqui cartuchos onde você troca de jogo apertando RESET no console, sem menu, mas bem melhor que no Atari onde você tem que desligar e religar o game para o jogo trocar, isso para cartuchos usando um contador binário, o mais comum é o CD4040, então resolvi dar uma esclarecida em como ele funciona e em como setar o mesmo para contar somente até o numero que queremos.

     Vejamos o pinout do chip:

     Explicando a legenda: VDD = +5V, VSS é o terra, CLK é o sinal do clock, que faz ele incrementar 1 na contagem, RST é o sinal do RESET, que faz a contagem voltar a ZERO, e os pinos com Qn (Q0, Q1 ... Q12) são os pinos de saida da contagem.

     Bom, contagem em binário, se você não sabe ou não lembra .. em binário só temos 0s e 1s .. não da para fazer uma contagem em decimal como 1, 2 ,3 ... não diretamente, em binário, para contar até 10 por exemplo ficaria assim:

0000 = 0
0001 = 1
0010 = 2
0011 = 3
0100 = 4
0101 = 5
0110 = 6
0111 = 7
1000 = 8
1001 = 9
1010 = 10

     Note que com 4 bits (numero de algarismos que usamos para fazer a contagem) ainda faltam combinações para se realizar, com uma combinação de 4bits entre 0s e 1s temos exatos 16 combinações, então com 4bits podemos contar até 16 (em decimal) ou 16 combinações diferentes.

     Cada algarismo tem um valor, contando da direita para esquerda, no exemplo de 4bits, ficariam assim: o primeiro 0 da direita vale 1, o segundo vale 2, o terceiro vale 4 e o ultimo, mais a esquerda vale 8 ... se vc tem um numero em binário e quer saber quanto ele vale em decimal, da para fazer de cabeça lembrando de quanto cada algarismo vale, veja que começa com 1 e cada proximo algarismo a esquerda dobra seu valor, então para saber quanto vale 1010 em binario é só somar o valor que vale em cada algarismo que estiver com 1. Neste caso o algarismo mais a esquerda que vale 8 e o segundo da direita para esquerda que vale 2, somando 8 + 2 temos como resultado 10, agora volte na tabelinha da contagem acima, veja que 1010 realmente vale 10 em decimal, e fizemos isso sem ter que contar desde o inicio, isso vale para qualquer numero, de que tamanho for, lembrando que o próximo algarismo a esquerda vai valer o dobro do anterior.

     Bom, tudo é muito lindo, mas como implementamos isso nos nossos multicarts ? Vamos la, vou dar um exemplo de cartucho do atari, porque a ROM é pequena e fica um pouco mais facil ... o atari tem jogos comuns com 4kb, 1kb = 1024bits, se vc contar isso em binario, vai ter 12 algarismos, na eprom, os pinos de ADDRESS começam a contar de 0, então para ter uma ROM gravada em uma eprom que a suporte, a mesma tem que ter pinos de address de A0 a A11 (se começamos contar do 0, o décimo segundo é o 11), muito bom, mas se temos uma eprom que tem disponivel o A12, ou ainda o A13 ... cada pinos adicional de address que temos em uma eprom do tipo paralela, ela dobra sua capacidade, ou seja, se uma eprom que vai até o A11 tem 4kb de espaço, uma outra que tem até o A12 tem 8kb e a que tem o A13 suporta 16kb.

     Voltando a rom de 4kb, se a eprom tem 16kb e temos jogos de 4kb, isso quer dizer que é possivel colocar 4 roms de 4kb em uma eprom de 16kb, mas para selecionar qual das roms vai estar ativa ? Justamente nos pinos de address que sobram da rom, ou seja A12 e A13 nesse exemplo, porque se você mudar qualquer valor de address que seja menor que o A12 vc vai cair dentro da rom de 4kb o que vai impedir do jogo funcionar corretamente. Imagine que ja que a rom dos jogos tem 4kb, ele seria um bloco, você quer montar 4 blocos na eprom, ou podemos chamar de páginas para ficar mais claro, paginas de 1 a 4 são os 4 jogos, como a rom vai até o A11, A12 e A13 trocam as paginas, são 2bits que temos ai e em binário a combinação de 2bits nos dá 4 combinações diferentes, ou o numero 3 em binário (mas pera, não era 4 ?? lembre-se que a contagem sempre começa em 0 então de 0 a 3 temos 4 posições diferentes). Então vamos recapitular, cada jogo de 4kb são os blocos, e a combinação dos endereços mais altos, nos permite selecionar entre os blocos, ou seja, paginar.

    Você ja viu por ai, no caso do atari, cartuchos com chaves certo ?? é muito comum ver cartuchos da marca dactar com 2 chaves na frente, com 4 jogos, bom, é exatamente nosso exemplo, cada chave é um bit, 2 chaves são 2bits que são igual a 4 combinações, ou seja, 4 jogos, esse é o sistema de paginação que esses cartuchos usam, mas não é tão elegante, imagine vc ter 32 jogos, são 5 chaves, você vai lembrar a combinação dos jogos será ? e no caso do meu multicart de 240 jogos ? seriam 8 chaves, pior ainda não ? Não tão elegante igual um menu, o CD4040 vai contando até chegar na ultima pagina e depois volta para a primeira, pode ser chato em caso de muitos jogos no cartucho, mas pelo menos você não tem que lembrar a combinação de um monte de chave, basta o chip contar até chegar no jogo que você deseja.

     Bom, 2 chaves, ligando o pino do meio da chave no A12 ou A13 do nosso exemplo e GND e VCC de cada lado, dependendo do lado da chave vamos alimentar o A12 e A13 com GND ou VCC .. imagine que o GND é o nosso 0 em binário e o VCC é o nosso 1, é assim que informamos a combinação à eprom para ela selecionar a pagina do jogo que queremos, o CD4040 funciona da mesma forma, em suas saidas Qn da foto acima, conforme ele vai contando, vamos ter 0s ou 1s nos pinos, ou seja, ou VCC ou GND neles.

     Veja agora essa imagem: 

     Veja que é mostrado a quantidade de combinações que cada pino proporciona, se usarmos somente o Q1, ele vai proporcionar 2 combinações diferentes, que seria 0 e 1 .. se usarmos os 2 primeiros, Q1 e Q2 ja temos 4 combinações, que seriam 00, 01, 10 e 11, justamente o que precisamos para trocar nossas paginas do exemplo dado, mas e o restante dos pinos ? o que faremos ?? bom, vamos deixar eles sem ligação, pois não nos interessam, somente o próximo pino nos interessa, pois ele vai nos dar o sinal do RESET para a eprom voltar a ZERO, repare na contagem binária que mostrei acima, nós não precisamos que seja usado o RESET nesse caso, mas eu uso assim mesmo, na pratica o Q1 é nosso bit mais a direita, o Q2 é o segundo bit mais a direita e assim por diante, na tabela, quando a contagem vai para 5 ou seja, é um numero que ja não nos interessa pois queremos contar até 4, os nossos 2 primeiros bits são realmente zerados, mas os outros continuam contando, você pode deixar assim, apenas ignorar os demais bits do CD4040 ou usar o proximo para o reset, eu faço assim, não custa nada é apenas uma ligação. O pino Q3, quando a contagem chega a 4 (quinta combinação) é setado em 1 pela primeira vez na contagem, ligamos ele diretamente ao pino RST do chip. se quero uma contagem até 8 vamos usar então Q1, Q2 e Q3 para a contagem e vamos usar o bit Q4 para liga-lo diretamente ao RST, pois quando a contagem atingir 8 (nona combinação) ele será setado pela primeira vez.

     Bom, isso tudo funciona bem se sempre tivermos uma contagem binaria perfeita, digo, sempre utilizando a contagem maxima dos bits que temos, mas e se queremos justamente parar a contagem em um numero que não é sempre o dobro do anterior ? Vamos usar novamente nossa contagem acima que foi de 0 a 10, vamos supor que por algum motivo queremos somente 10 jogos na eprom, usando todos os bits, teriamos 16 combinações, tirando o bit mais a esquerda ficamos com somente 8 combinações, nenhuma das 2 opções nos atende, ainda é possivel parar a contagem onde queremos, porem temos que utilizar um artificio que vai identificar o numero que queremos, nesse caso vou utilizar portas NAND, de um chip muito baratinho que é muito conhecido o LS00 (74LS00, 74HC00 entre tantos outros) .. nesse chip temos 4 dessas portas, cada porta com 2 entradas, se ambas entradas forem 1, o chip na saida é setado em 0 qualquer outra combinação o chip seta a saida em 1.

     Veja na nossa contagem binária novamente, se queremos uma contagem até 10, então temos que zerar o contador quando ele chegar no 10, pois o 10 é a décima primeira combinação, e ela não nos interessa, lembrem que a contagem começa em 0 , todos os bits em 0000 ja são uma combinação válida. Bem 10 em binário é 1010 como não temos mais bits na frente podemos analisar somente os bits que estão 1, se fossem 5bits e queremos exatamente o numero 10 teríamos que analisar o bit mais a esquerda visto que se ele for 0 o numero realmente é 10 mas se ele for 1 a nossa contagem estaria em 26 e não em 10, isso seria um erro de lógica, teriamos que analisar se o primeiro bit é zero nesse caso e os demais basta analisar os que são 1, como não temos, vamos analisar todos que são um, 1010 .. onde temos zero podemos desprezar. temos 2 bits para analisar, cada porta NAND tem 2 entradas, então de cara ja vemos que serão usadas pelo menos 2 portas ... a ligação ficaria +/- assim:



     Tudo isso para exemplificar como seria parar a contagem em um numero que não seja o maximo da contagem dos bits que escolhemos.

     Aplicando o CD4040 na eprom finalmente, se temos 2bits na eprom para escolher nossos 4 jogos, vamos também usar 2bits do CD4040 .. sempre respeitando a ordem, vamos ligar o Q1 ao A12 e o Q2 ao A13 .. o pino do reset no contador vai ser ligado ao Q3 ou simplismente deixar sem ligação alguma, visto que as demais combinações até chegar em 4096, o maximo da contagem desse chip, sempre passam por todas combinações que queremos, o pino CLK é o pino do clock, como no atari não temos sinal de clock no barramento, utilizamos o artificio de alimentar o chip com um capacitor, não ligado diretamente ao VCC do slot e o clock será justamente o VCC do barramento, porque ao desligar o console o VCC vai a zero, quando religamos vai a 1 .. uma pequena gambiarra, mas que funciona, o capacitor serve justamente para manter o chip ligado por um breve instante até vc religar o game, mantendo sua contagem. Ja no caso do SNES é muito mais facil, existe o pino /RESET no conector, basta ligar diretamente esse pino do slot ao CLK do contador, mais facil impossivel, ao apertar RESET no console, o sinal passa nesse pino alimentando o clock e incrementando a contagem no chip instalado no cartucho. No mega drive penso ser semelhante, como sei que tem cartuchos com varios jogos que incrementam as paginas ao apertar o RESET do console, a solução vai ser semelhante eu acredito.

     Veja agora um multicart do SNES que fiz com uma eprom 27c160 e um CD4040:


     Neste cartucho, os jogos tem 512kb de tamanho então nesse caso são meus blocos, tenho 4 blocos de 512kb somando então 2mb que é o tamanho maximo da eprom, um bloco de 512kb utiliza os pinos de address de A0 até A18, então até o A18 não mexemos pois cai no bloco de 512kb que faz parte da rom do jogo, acima disso podemos paginar, então essa eprom, configurada em 8bits de saida (ela tb trabalha em 16bits de saida e nesse caso a capacidade cai para 1mb, mas no SNES o barramento é 8bits), temos que além do A18 ela conta com o A19 e A20, ou seja, 2bits sobrando, 2bits = 4 combinações, ou seja, 4 blocos de 512kb, então podemos colocar nessa eprom 4 jogos de 512kb ou 2 jogos de 1mb cada (neste caso o A19 iria fazer parte da ROM e para paginar usariamos somente o A20), eu fiz com 4 jogos pois era para testar, Sendo assim, seguindo a ordem eu liguei o Q1 ao A19 e o Q2 ao A20. Veja como ficou o cartucho teste:




     Bom é isso meninada, é bem facil de utilizar, e aprender binário sempre é legal, adoro.

     "Uma mente que se expande, nunca volta ao tamanho original" - Albert Einstein.

     Abraços, DABLIO.