sexta-feira, 20 de maio de 2011

Grandes controles, grandes nostalgias

O que somos capazes de fazer em nome daquilo que marcou época? Muitas pessoas gostam de mostrar para todos, coisas que marcaram suas vidas. Normalmente alguém cria uma camiseta, ou um boné... Tem alguns que colecionam bonecos de seus super-heróis. Outros possuem posters... A forma varia bastante.
Mas parece que os fãs do velho Nintendinho 8 bits encontraram uma forma muito curiosa de relembrar os velhos tempos. A moda agora é representar sempre que possível, o controle do Nintendo. Neste ponto, vale de tudo. Por exemplo, há um site que vende sapatos com a imagem do controle do NES.


Mas o mais comum mesmo é construir mesas com o formato do controle. Entre estas, podemos muito bem destacar esta que foi construida por alguns franceses, e anunciada no seu blog:


O legal da mesa é que ela realmente pode ser conectada a seu NES, para se jogar... Uma idéia muito legal, que alguns estudantes da Holanda resolveram adotar... Sua réplica do controle é tão grande, mas tão grande, que você tem que usá-lo subindo nele, e pisando nos botões (imagens do portal G1):



Muito bem feito o controle, por sinal...

Para dizer a verdade, o próprio esquemático do controle do NES não é algo muito complicado de se fazer. Procurando mais sobre o esquema elétrico deste controle, me deparei novamente com o site Zero-Soft, que me ajudou na procura do esquemático da pistola Zapper. Ele tem um projeto interessante para se usar o controle do NES no seu computador (quem sabe agora os holandeses podem jogar no computador também), e como parte do projeto, ele apresenta o esquemático do controle:


Não é um esquema complicado de fato. O CI CD4021 é um conversor paralelo-serial, e é usado para converter o estado dos botões em um sinal serial que será lido pelo console. Pelo esquemático podemos perceber que os botões são ativo-baixo, e a ordem dos dados é do MSB para o LSB, ou seja: A, B, Start, Select, Para cima, Para Baixo, Esquerda, Direita. O escaneamento dos estados do controle é feito 60 vezes por segundo (período de 16,6ms), e os dados são enviados para um registrador mapeado em memória. Os endereços dos registradores para o NES são 4016h para o primeiro controle e 4017h para o segundo.
Como a leitura é feita? Bem, pelo que parece, cada registrador deste é de 8 bits. O bit 0 do registrador é o bit que mantém o dado lido. Toda vez que o jogo ler este registrador, ele obterá um novo dado. Abaixo está uma lista dos valores obtidos no bit 0 em cada vez que o registrador é lido:
1: A
2: B
3: Start
4: Select
5: Para cima
6: Para baixo
7: Esquerda
8: Direita
9: Ignorado
10: Ignorado
11: Ignorado
12: Ignorado
13: Ignorado
14: Ignorado
15: Ignorado
16: Ignorado
17: Assinatura
18: Assinatura
19: Assinatura
20: Assinatura
21: 0
22: 0
23: 0
24: 0
As leituras de 9 a 16 são ignoradas, a menos que o jogo suporte o uso de 4 controles. Neste caso, as leituras de 9 a 16 do registrador 4016h são relativas ao controle 3, enquanto que as mesmas leituras no registrador 4017h são relativas ao controle 4.
A Assinatura ajuda identificar o status do controle. Valores possíveis/conhecidos são:
0000 = Desconectado
0001 = Joypad (só 4016h)
0010 = Joypad (só 4017h)
Além do bit 0 nestes registradores, o bit 3 e 4 também são usados. São eles que monitoram o status da pistola Zapper, que comentamos em outro post. O bit 3, portanto, indica se um sprite foi detectado (ou seja, é a saída do nosso fotodiodo), nível lógico 1 para um sprite detectado. O bit 4 indica se o gatilho foi pressionado, quando este bit estiver em nível lógico 0.
Se observarmos este esquemático acima, e compararmos com o esquemático da pistola Zapper, perceberemos que a pistola usa justamente as vias no conector que são deixadas desconectadas para o controle.
Toda a lógica do controle do NES é bem simples, como vocês podem ver. Há controles mais sofisticados, como o do Playstation, que tentarei abordar em um futuro próximo.

Informações sobre o controle do NES foram obtidas do site Zophar.net.

Nenhum comentário:

Postar um comentário

Você também poderá gostar de