¡¡La comunidad marciana al servicio de la afición!!
Marcianitos declina cualquier responsabilidad derivada del uso que se haga de la información que la web contiene.
Marcianitos no distribuye roms, no atenta contra la propiedad intelectual y no tiene ánimo de lucro.
© Prohibida la reproducción total o parcial sin permiso expreso del titular de los derechos ni aun citando la procedencia.


MiniBox

¿No quieres pagar por un ipac? ¿No te fías de realizar tus compras por internet y sabes de electrónica? Este es tu tutorial definitivo sobre conectividad de mandos arcade.

Lista de componentes:

Cantidad
Descripción
1 IC1 Microprocesador ATMEL AT90S2313.
1 Zócalo de 20 pines.
1 IC2 74HC4066, cuádruple interruptor bilateral.
1 Zócalo de 14 pines.
1 Q1 Cristal de cuarzo de 4.0 MHz.
2 Conector minidin de 6 pines para circuito impreso.
2 C1 y C2 Condensador de 10 pF cerámico.
2 C3 y C4 Condensador 10µF electrolítico.
1 R1 Resistencia 1kOhm ¼ de vatio.
4 R2 a R4 Resistencia 10kOhm ¼ de vatio.
32 D1 a D32 Diodo 1N4148, 1N4007.
36 Regleta de conexión para circuito impreso.

¿Qué es minibox?

¡Buena pregunta! Intentaré contestarla.

El MINIBOX es una cosa en la que yo y un amigo mío hemos estado trabajando durante algún tiempo. La razón por la que nosotros lo construimos era que yo estaba pensando en montar una máquina arcade para usar junto con el MAME. Entonces, necesitaría alguna interfaz entre el teclado y las palancas de mando y botones. Puesto que me gusta programar los microprocesadores, yo pensé que estaría bien construirme una interfaz. Pero, esta interfaz no solo debía limitarse a MAME. Vamos con una pequeña explicación de lo que es:

¿Has deseado alguna vez poder jugar a todos tus juegos de PC con las palancas de mando y botones de estilo arcade en lugar del teclado del PC? ¡Esto es para lo que puede usarse el MiniBox! El MiniBox es un circuito que se conecta entre el teclado y el PC, al que, a su vez, se conectan los botones y las palancas de mando. Cuando se aprietan estos botones y se usan las palancas, el MiniBox hace lo que el teclado normalmente haría, envía al PC la información de un tecla pulsada. Así que el PC piensa que se apretó alguna tecla en el teclado aunque, en realidad, se apretase un botón conectado al MiniBox. ¡Esto significa que cada juego que use un teclado, también puede controlarse vía MiniBox! Y puede usarse independientemente del sistema operativo utilizado.

Características del MINIBOX


-Pueden conectarse 32 botones (matriz 8 x 4)
-Ningún problema de teclas fantasma.
-La pulsación de un botón que se envía al PC es configurable mediante un programa.
-No necesita alimentación externa, se alimenta a través del puerto del teclado.
-El microprocesador puede programarse vía el puerto paralelo del PC.

Éstas eran las noticias buenas, pero también hay algunas noticias malas: la única manera de tener un MiniBox es construírselo uno mismo. Yo no he empezado a fabricar este dispositivo y, por el momento, no tengo ningún plan para construirlo. Espero que la descripción del MiniBox en estas páginas contenga bastante información para que los lectores puedan construirse uno ellos mismos. Si decides construir uno, has de saber que puedes usar libremente todo el software que he escrito para el dispositivo de la página del software. Yo no puedo garantizar que funcione correctamente en su sistema, pero si encuentras cualquier problema con él, yo intentaré ayudarte a resolverlo.

El hardware

Realmente el MiniBox es una miniversión del ButtonBox2, es decir una pequeña PCB que contiene un microprocesador y un par de componentes extras para conectarlo entre el PC y el Teclado.

El MiniBox puede construirse como una única unidad, o también como dos unidades separadas, una tarjeta-CPU y una tarjeta de conexiones. Estas dos tarjetas se conectan usando un cable plano de 14 hilos. Esto permite, de una manera sencilla, cambiar entre diferentes paneles de control sin necesidad de reiniciar el PC. La estructura es sencilla, mediante una tarjeta CPU que se conecta al PC puedes tener, a su vez, varias tarjetas de conexión con diferentes paneles de control. El MiniBox no permite la conexión de botones en modo directo, sólo en modo matriz. Esto es debido a que el AT90S2313 sólo permite la conexión de 12 botones en el modo Directo, por lo que decidí no incluir apoyo del modo directo en el software (en todo caso, tampoco hay suficiente memoria en el microprocesador).

La PCB

La PCB del MiniBox consiste en un microprocesador de Atmel, un AT90S2313 corriendo a 4 MHz. El procesador incluye 2kB memoria de programa, 128 bytes de EEPROM para los datos de configuración y 128 bytes de RAM.

A este microprocesador se le conecta un 74HC4066 que se usa para desconectar el teclado ordinario del PC cuando el MiniBox envía los datos al PC.

Minibox modificado y montado por Raiser666

Los usuarios de Eagle pueden descargar el esquema eléctrico del Minibox pinchando aquí.

EL CIRCUITO IMPRESO

El circuito impreso está diseñado a doble cara, pero puede fabricarse a una única cara, sustituyendo las pistas del lado de componentes por puentes, mediante hilo rígido o cablecillos.

Circuito impreso, lado de soldaduras, imagen invertida.

Circuito impreso, lado de componentes.

Descarga los impresos en formato pdf para imprimirlos a tamaño real: impreso 1 (PDF), impreso 2 (PDF), impreso 3 (PDF).
Para usuarios de EAGLE los tenéis en minibox.brd y minibox.sch.

La tarjeta de conexiones

La tarjeta de conexiones para el MiniBox está integrada en la misma PCB, originalmente estaba diseñada para montarla en una placa separada, para poder usar varios paneles de control diferentes con el mismo MiniBox. Esta tarjeta de conexiones es muy parecida a la del ButtonBox2, la única diferencia es que tiene sólo 32 entradas. Esta limitación viene porque el AT90S2313 tiene un número limitado de entradas disponibles, por lo que 32 eran el número máximo de botones que podríamos apretar.

El MiniBox usa una matriz de 8 x 4 conexiones. En este diseño consta de cinco grupos de ocho regletas o pines de conexión, cuatro grupos nombrados B1 a B32, donde se conectará uno de los terminales de cada pulsador y un grupo numerado del 1 al 8 donde se conectará el otro terminal de cada pulsador, según el siguiente esquema eléctrico (PDF):

El software

El software para el MiniBox se ha desarrollado usando el Atmel AVR Estudio 3.10, este software puede descargarse de www.atmel.com

Hemos diseñado el MiniBox para que sea posible transmitir el código al procesador sin la necesidad de un programador especial. Esto se hace mediante un software vía el puerto paralelo del PC y usando un cable especial. Este software, junto con las instrucciones sobre cómo construir el cable están en: atmel101.zip.

El código para el Atmel está en mbox103.zip, y es el archivo llamado mbox103.hex , que se transmite al minibox mediante el programa atmel.exe que está en atmel101.zip según la siguiente orden: Atmel /wf:mbox103.hex desde la carpeta donde esten todos estos archivos. Más
información en readme.txt en mbox 103.zip

Los botones predefinidos para el MiniBox se han perfeccionado para usarlos con MAME:

Botón nº

Tecla

Código*

Función MAME

1

Up

83 (53)

Player 1, Up

2

Down

84 (54)

Player 1, Down

3

Left

79 (4F)

Player 1, Left

4

Right

89 (59)

Player 1, Right

5

Left Control

58 (3A)

Player 1, Button 1

6

Left Alt

60 (3C)

Player 1, Button 2

7

Space

61 (3D)

Player 1, Button 3

8

Left Shift

44 (2C)

Player 1, Button 4

9

R

20 (14)

Player 2, Up

10

F

34 (22)

Player 2, Down

11

D

33 (21)

Player 2, Left

12

G

35 (23)

Player 2, Right

13

A

31 (1F)

Player 2, Button 1

14

S

32 (20)

Player 2, Button 2

15

Q

17 (11)

Player 2, Button 3

16

W

18 (12)

Player 2, Button 4

17

1

2 (02)

1 Player Start

18

2

3 (03)

2 Players Start

19

5

6 (06)

Coin 1

20

6

7 (07)

Coin 2

21

Escape

110 (6E)

Exit Emulator

22

Enter

43 (2B)

23

Tab

16 (10)

Toggle Configuration Menu

24

P

26 (1A)

Pause

25

T

21 (15)

Tilt

26

Z

46 (2E)

Player 1, Button 5

27

X

47 (2F)

Player 1, Button 6

28

Right Ctrl

64 (40)

Player 3, Button 1

29

3

4 (04)

3 Players Start

30

4

5 (05)

4 Players Start

31

7

8 (08)

Coin 3

32

8

9 (09)

Coin 4

Botones predefinidos en el MiniBox. *Los valores entre paréntesis son en hexadecimal.

Los botones 28 a 32 se pueden reconfigurar para usarlos en mandos con 6 botones por jugador, configurando el MAME o configurando el MiniBox. Botón Nº 28 Player 2, Botón 5, Nº 29 Player 2, Botón 6, por ejemplo.

Todos estos botones se pueden redefinir a cualquiera de las necesidades del usuario.

Hay unas teclas que no funcionan en el MiniBox, por el momento. Estas son:
La Pantalla de la impresión (código 125)
La pausa (código 127)
La tecla de Windows izquierda
La tecla de Windows derecha
La tecla del Menú derecha

El software del pc

La versión gráfica del programa para configurar los botones (Bbxgui.exe) no funciona con el MiniBox (ésta se escribió para configurar 64 botones), cuando se quiera configurar el MiniBox, se ha de usar la ButtonBox Scripting tool (Bbxscr.exe).

Puedes descargar este software junto con las instrucciones de funcionamiento pinchando aquí.

Dudas y comentarios en el foro de marcianitos, sección Panel de control.

raiser666-
Fotos: petar2

Artículo publicado con licencia expresa de Leif Engman.
Todo el material está basado en los diseños y la construcción de ButtonBox y MiniBox

¡¡La comunidad marciana al servicio de la afición!!
Marcianitos declina cualquier responsabilidad derivada del uso que se haga de la información que la web contiene.
Marcianitos no distribuye roms, no atenta contra la propiedad intelectual y no tiene ánimo de lucro.
© 2002-2007 Prohibida la reproducción total o parcial sin permiso expreso del titular de los derechos ni aun citando la procedencia.