quarta-feira, 22 de novembro de 2006

Paddle Revisitado

Há um bom tempo atrás eu construí um paddle baseado nas informações do "Livro Vermelho do MSX", que chegou a ser publicado em 1994, na Revista Antenna.

Eu reformulei o layout da placa do projeto, para um "design" mais atual.

Diagrama do circuito:


"Lay-out" da placa na resolução de 300dpi:


Disposição dos componentes, e identificação dos pinos:


Foto da placa, depois de montada e corroída (e com o "lay-out" adaptado com o logotipo do HotBit).



Foto da placa montada, vista por baixo. Detalhe: O "push button" é montado no lado do cobre.


Foto da placa montada, vista por cima.


No conector DB-9 fêmea que vai ao MSX, a ligação é a seguinte:

Pino 1 do DB9 ao sinal UP da placa
Pino 5 do DB9 ao sinal VCC da placa
Pino 6 do DB9 ao sinal TRGA da placa
Pino 8 do DB9 ao sinal PULSO da placa
Pino 9 do DB9 ao sinal GND da placa

O push-button deve ser montado do lado da solda, ou seja por baixo da placa, e o eixo do potenciômetro atravessa a placa.

O potenciômetro deve ser do tipo linear, e o capacitor 'Cx' é apenas uma reserva de espaço, caso seja desejado um ajuste fino da faixa de atuação do potenciômetro.

Eis ainda um link para os arquivos em formato Eagle.

6 comentários:

frs disse...

Excelente artigo! Curiosidade: Seria possível construir o pad com dois botões?

Obs: Infelizmente o link para os arquivos em formato Eagle não está funcionando...

Danjovic disse...

Dá pra colocar um segundo botão sim. Basta ligar o botão no pino 7 (trigger 2).

Eu vou procurar nas minhas coisas e fazer upload novamente para restaurar os links. Eu tenho até uma versão da placa para caixa CR096 da patola, com dois botões.

frs disse...

Creio que este loader seja seu. Estou publicando-o aqui para que fique junto com o respectivo hardware.

Descrição: Este loader faz um patch no jogo Galaga que permite que ele seja jogado com o paddle e opcionalmente com vidas infinitas. (Para habilitar as vidas infinitas, descomente a linha 20)

1 '
2 ' ADAPTADO POR DANIEL J. VIANA
3 ' COPYRIGHT 1989 BY RIGHTSOFT
4 '
10 BLOAD"CAS:" : DEFUSR = &HD010
20 ' POKE &HB160,0 'VIDAS INFINITAS
30 INPUT "PADDLE (1-12)";P
40 IF P<1 OR P>12 THEN 180
50 FOR A=0 TO 26: READ B$: POKE &HA37B+A,VAL("&H"+B$): NEXT A
60 POKE &HA37D,P
70 DATA D9,3E,01,CD,DE,00,D9,FE
80 DATA 08,38,08,FE,B8,30,08,77
90 DATA C3,4B,53,3E,08,18,F8,3E
100 DATA B8,18,F4
110 FOR A=0 TO 33: READ B$: POKE &HA3B4+A,VAL("&H"+B$):NEXT A
120 POKE &HA3B6,P
130 DATA D9,3E,01,CD,DE,00,D9,FE
140 DATA 08,38,0F,FE,AA,30,0F,77
150 DATA 2D,2D,2D,2D,C6,0D,77,C3
160 DATA 4B,53,3E,08,18,F1,3E,AA
170 DATA 18,ED
180 A=USR(0)

frs disse...

Curiosidade: Seria possível juntar estes dois padrões de paddle em uma placa só, com uma chave para selecionar o protocolo a ser usado?

http://hotbit.blogspot.com/2007/10/paddle-do-nes-no-arkanoid-do-msx.html


Assim daria pra jogar tanto Galaga (ou MSX PAD(x) do BASIC) quanto os Arkanoids 1 e 2 no mesmo controle.

Some à isso os dois botoes (trigger) e temos o paddle perfeito para o MSX. :)

Danjovic disse...

É possível sim unir os dois projetos utilizando um microcontrolador para ler o paddle e, dependendo da configuração de um microswitch funcionar em um ou outro modo. Basta ler a posição do potenciômetro com um conversor A/D e os dois botões como sinais discretos. Se for o paddle de MSX, você pode gerar uma temporização de 12us x valor (de 8 bits) do potencometro. Se for paddle do arkanoid, basta carregar o valor de 8 bits na porta SPI do microcontrolador e usar o modo SPI Slave.

SD Snatcher Alpha disse...

Oi Danovic! Tudo bem? É o FRS novamente.

Você encontrou os arquivos do Paddle de 2 botões?