05 janeiro 2009

Montando meu primeiro Arcade - Parte 4

Olá amigos, dando continuidade ao projeto de construção de um Arcade chegamos agora a parte dos controles, nessa parte veremos como efetuar a ligação dos diversos botões e controles e a interface LPT-Switch, que foi a interface utilizada em meu projeto.

Gabinete do Arcade em sua forma final.

Antes de começarmos a mostrar como construir um controle é bom que saibamos que existem diversas formas de contruir um controle para um console arcade MAME, mas os mais utilizados são: hack de teclado, hack de controle pad e o LPT-Switch. Não pretendo entrar em detalhes sobre os tipos de interfaceamento mas no final do artigo vou deixar alguns links para aqueles que quiserem dar uma olhada.

A minha escolha por usar a interface LPT-Switch foi baseada no fato de usar componentes muito baratos e também pela quantidade de botões que eu queria utilizar, e também pela facilidade de instalação. Alguns podem achar a montagem usando um hack de controle pad mais fácil, porém as 2 interfaces requerem um mínimo de conhecimento de eletrônica (usar um ferro de solda por exemplo), então no meu ponto de vista comprar 2 joysticks só pra desmontá-los não faz lá muito sentido, claro que essa é uma opinião minha.

Mas oq seria o LPT-Switch, roubando o texto do tutorial do site ArcadeBR é o seguinte: "LPT-switch é uma interface criada por Philippe Vanagt, que originalmente foi usada por ele para criar os contatos que ele precisava para fazer a instrumentação de um cockpit de avião que ele estava criando (tipo um simulador de vôo). Essa interface usa a porta paralela do computador (entrada da impressora). Não demorou muito para que alguém usasse isso como interface de joysticks e gamepads, o circuito foi incluído no driver PPJoy, que já suportava vários tipos de gamepads ligados na porta paralela. O diagrama usado por esse driver foi ligeiramente modificado, ficando ainda mais fácil de executar."

O grande barato dessa interface é a utilização de poucos componetes eletrônicos para a sua construção, no caso precisamos apenas dos seguintes componentes:
  • 01 conector DB25 macho;
  • Diodos 1N4148 (a quantidade depende de quantos botões teremos no controle);
  • 01 ou 02 metros de cabo manga de 10 vias;
  • Barra de Sindal (depende também da quantidade de botões que teremos);

Controle montado no gabinete.

Para entendermos como funciona o LPT-Switch precisamos ter em mente alguns conceitos, o primeiro é saber quais contatos utilizar no conjunto da interface, para isso podemos usar as imagens abaixo.


As imagens acima mostram o conector DB25 de frente assim como sua pinagem e a segunda imagem mostra como poderemos utilizar essa pinagem, devemos ter em mente o seguinte:
  • Os pinos em vermelho (10, 11, 12, 13 e 15), são os responsáveis por enviar os dados, ou seja, só podemos ter 5 "circuitos" para distribuir os botões;
  • Os pinos azuis (1-9, 14, 16 e 17) servem como "terra" para fechar os circuitos;
  • Os pinos verdes não tem utilidade para nosso projeto;
O pulo do gato nesse esquema é fazer a distribuição dos circuitos corretamente e colocar os botões nos circuitos certos, de principio parece bem complicado mas usando a seguinte tabela tudo fica mais claro, basta preenchermos os espaços com os comandos pretendidos e fazermos os circuitos seguindo a tabela.

Por exemplo, em meu controle defini que o mesmo seria para 2 jogadores com 6 botões de ação, mais 2 botões para Start e Créditos para cada jogador, e mais 5 botões de controle para o emulador que serão equivalentes a Esc, Pause, Tab, Enter e Reset. Tendo em mente que cada controle consome o equivalente a 4 botões temos um total de 29 botões de comando no meu controle. Com esse número em mente devemos dividir esse total pelo máximo de circuitos que podemos ter no controle como eu disse anteriormente, ou seja, 29 botões em 5 circuitos.

Tendo isso em mente é só preenchermos a tabela com os dados, em cima temos os pinos usados para os circuitos, e na lateral os pinos usados para fechar os circuitos.


Pin 10 (E) Pin 11 (E) Pin 12 (E) Pin 13 (E) Pin 15 (E)
Pin2(R) 1 - Cima
1 - Baixo
1 - Esquer.
1 - Direi.
1 - Bot 01
Pin3(R) 1 - Bot02
1 - Bot03
1 - Bot04
1 - Bot05
1 - Bot 06
Pin4(R) 1 - Start
1 - Crédito
2 - Cima
2 - Baixo
2 - Esquer.
Pin5(R) 2 - Direi.
2 - Bot01
2 - Bot02
2 - Bot03
2 - Bot04
Pin6(R) 2 - Bot05
2 - Bot06
2 - Start
2 - Crédito
ESC
Pin7(R) TAB
ENTER
PAUSE
RESET

Pin8(R)




Pin9(R)




Pin1(R)




Pin14(R)




Pin16(R)




Pin17(R)





Acredito que tenha ficado bem claro, devemos ligar os circuitos aos pinos do DB25 seguindo essa tabela, sendo que como a cada botão possui seu diodo, como foi dito na lista de componentes, e esses devem ser ligados conforme mostram as figuras abaixo, se vocês repararem na tabela, cada circuito tem 6 diodos, sendo apenas o último com 5 exatamente por termos apenas 29 botões e a divisão não ser inteira.

LPT-Switch ganhando forma.

Como eu disse antes, esse é o grande "pulo do gato" nesse tipo de interface, pois se você errar os circuitos podem acontecer coisas como botões duplicados ou não funcionarem, acreditem, eu bati cabeça nisso até entender o funcionamento da interface.

Usando essa tabela fica bem simples de entender a construção do controle, lembrando que como usamos uma interface LPT e limitados pelos 5 circuitos podemos construir um controle com um máximo de 60 botões, o que é um número bem considerável.


Conecto DB25 com as soldas feitas e a bagunça dos fios.

Uma das maiores dificuldades no meu ponto de vista é manter a fiação arrumada, como podem ver nessa foto acima o meu ficou uma bagunça, mas como minha meta era deixar o Arcade funcional até no máximo o Natal passado não me preocupei muito com isso, e pra frente pretendo arrumar essa "zona".

Após a montagem do controle vem a parte mais fácil, a instalação do driver PPJoy, infelizmente o mesmo só da suporte ao Windows, portanto esse controle não funciona no Linux e nem mesmo no DOS.

  • Baixe o driver PPJoy aqui;
  • Descompacte o arquivo em uma pasta qualquer e execute o Setup.exe;
  • Conclua a instalação ignorando as mensagens de "compatibilidade do windows";
  • Após concluir a instalação clique em "Configure Joystick" no ícone criado;
  • No programa que abrir clique em "Add" como a figura abaixo e depois em "Done";
Agradecimentos ao ArcadeBR.

Após instalar o driver e conectá-lo na porta paralela do micro vá em Painel de Controle -> Controladores de Jogo, clique em "LPT-Switch Joystick 1" e vá em Propriedades, deve aparecer uma tela como a abaixo, clique nos botões para verificar o funcionamento dos mesmos.

Mais uma vez agradecimentos ao ArcadeBR.

Pronto! Seu controle está funcional e agora é partir para a configuração nos emuladores para que os mesmos reconhecam os comandos, no MAME não tem mistérios, é apertar TAB e ir configurando tudo, o próximo post será sobre isso.

Espero ter sido claro nas explicações, sei que não aprofundei muito o assunto mas para isso deixarei alguns links, que inclusive usei umas imagens, que me ajudaram muito no processo e merecem a nota.

Boa sorte para todos na construção do controle, meu Arcade está praticamente finalizado, faltando apenas algums retoques e o acabamento final.

Abraços a todos!

Fontes.:
Tutorial LPT-Switch - ArcadeBR
Interfaz Puerto Paralelo - Marcianitos (Espanhol)
Build Your Own Arcade Control (Inglês)

Nenhum comentário: