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.

terça-feira, 25 de novembro de 2014

Cartucho do MEGABOY Dynacom

     Lembra daquele console portátil sem fio feito pela Dynacom no final da época do atari ?? Pois bem, para poder alavancar as vendas, desenvolveram um cartucho 'educativo' para mudar o foco do console de apenas brinquedo, para um aparelho que ajudava nos estudos das crianças. 

     Conforme consta na caixa do console, são 4 oitavas musicais, mais de 800 palavras em inglês e mais de um milhão de operações de matemática para resolver.

     Esse cartucho foi lançado com a maior capacidade do mercado, nenhum outro software teve os mesmos 64kb, somente alguns tiveram 32kb, um sistema de bankswitch especialmente desenvolvido para ele foi criado junto. Esse sistema é muito simples, basta acessar o endereço 1FF0 ( e por isso é conhecido como bankswitch F0) que o hardware no cartucho incrementa um banco, são 16 bancos de 4kb no cartucho, para saber qual banco selecionar o cartucho faz a chamada e verifica um byte especifico no banco recém trocado, se for o mesmo que ele espera, executa o código, caso contrário, faz nova chamada para incrementar o contador novamente, até que o banco desejado seja selecionado, muito simples mesmo.

     Bom, tudo muito lindo, se não fosse por ele ser muito raro de achar. Para poder jogar, ou vc pagou os tubos no ML, ou tem o seu desde que ganhou quando criança. Não, os gringos não tem, como eu disse, a Dynacom lançou por aqui, o cartucho tem legendas em português do Brasil ... Então é isso, aliado a baixa produção do console, do cartucho ser distribuído exclusivamente com o console, ser fabricado somente no Brasil, e ser o cartucho de maior capacidade, vc não vai poder jogar no seu console real se não possuir o cartucho fisico.

     Ah tah, vc comprou o cartucho harmony que roda tudo do cartão SD ?? porra, que legal, mas que pena, não vai poder jogar ... não porque não tem a rom disponível, ou porque o sistema de bankswitch não foi implementado (ele utiliza o codigo dos BS do emulador stella e neste tem o esquema), o problema é a capacidade, o cartucho harmony usa um chip que só suporta 32kb, ou seja, metade do que o cartucho do megaboy utiliza.

     Mas não se desespere, com a nova remessa de placas que mandei fazer, ja pensando em montar esses cartuchos, até para mim mesmo, que tenho o console na caixa mas não tenho o cartucho, eu implementei o BS nas 22V10 que utilizo no cartucho, como ja estou meio craque nisso, bastou umas 2h de trabalho para acertar tudo, agora vc pode ter seu cartucho exclusivo do megaboy para jogar em qualquer console atari 2600 ou compatível sem problemas.

     Confira abaixo as fotos da placa, dos labels, e do cartucho já pronto.

Na esquerda: placa original do megaboy
direita: apenas comparativo de placa comum.





Confira um video do cartucho em funcionamento:





      É isso ai, querendo uma cópia é só me procurar, ou procure diretamente no mercadolivre, enquanto eu estiver produzindo as cópias, vou ter um anuncio ativo no mercadolivre para as vendas ok ?

Abraços,

DABLIO.


sábado, 15 de novembro de 2014

Finalmente o novo multicart !

     Já estão disponiveis os novos multicarts para o Atari 2600, recebi na sexta feira um lote de placas que mandei fazer, plaquinhas com ótima qualidade, testadas e tudo funcionando perfeitamente, agora é possivel, dependendo do tamanho das roms obviamente, montar multicarts de até 240 jogos por cartucho, com escolha por menu na tela.
     
     Alguns detalhes que foram acertados, comparando a versão anterior que eu vendia, com essa nova versão que vou vender agora: de 15 jogos, ou 30 com uma chave on-off no cartucho para selecionar apenas 2 paginas para até 240 jogos, tudo controlado pelo menu. Menu com som finalmente. E possivelmente, assim que eu acertar, vamos ter um botão de reset no cartucho, que vai permitir voltar ao menu de escolha sem ter que desligar o console, funciona em varios jogos, mas não em todos, então por enquanto vou vender os cartuchos sem o botão RESET.

     Bom, é isso, agora o cliente vai poder escolher a lista dos jogos, de 4 listas que vou montar (somente 4k, 4k+8k, 4k+16k e 4k+32k), e como muita gente fica boiando com o papo de 4k, 8k etc .. vou apenas disponibilizar as listas e ele escolhe, algo como lista A, lista B etc, sem poder misturar as listas. Agora a quantidade de jogos tambem é escolhida pelo cliente, limitado ao numero maximo de jogos, de acordo com a lista escolhida apenas, se for somente jogos de 4k (lista A) o cartucho vai acomodar até 240 jogos. Qualquer quantidade multiplos de 15 são aceitos agora, ou seja, 15, 30, 45, 60, 75, 90, 105, 120 até 240 se o cartucho for da lista A como disse.

     Sim, os valores serão estipulados em cima da lista escolhida e quantidade de jogos, isso porque um cartucho de 60 jogos da lista A custa o mesmo de 30 jogos da lista B ou 15 jogos da lista C.

    Vejam abaixo algumas fotos da nova placa, virgem e montada, e em comparação com a placa anterior, de cor verde mais forte, mas que só permitia 15 jogos por cartucho.







Fotos em comparação com a placa prototipo que montei para os testes:



E finalizando com um videozinho:



É isso pessoal, ja podem encomendar seu cartuchos personalizados com a DablioGames =-)

Ah, lembrando que é tudo novo ano 2014 modelo 2015 hein, nada de componente remanofaturado, recuperado etc.

Abraços,

DABLIO.








sábado, 18 de outubro de 2014

Multicart 2600 - correção do clock

     Video rápido só para mostrar a correção do sinal de clock que estava pendente, antes ao ligar o console nem sempre o menu aparecia, um jogo aleartorio ela escolhido e em algumas vezes o menu aparecia certinho. Agora é testar jogos com 8k, estando ok, ai é só mandar fazer as placas fora e poder montar os cartuchos para o pessoal, lembrando que agora vai ser possível montar cartuchos de 15 até 120 jogos (ou 240 se forem todos jogos de 4k) com jogos a escolha do cliente.



quinta-feira, 16 de outubro de 2014

Multicart 2600 nova versão

      Nova versão do multicart atari, o povo pediu e vou voltar a vender, mas depois de resolver um probleminha como é mostrado no video.