ElSemi

Adaptación de volante óptico de recreativa para su uso con MAME

Desde 2012 disponemos en la Asociación RetroAcción de una máquina recreativa genérica Video Líder con volante, a la que tenemos conectada una placa con el juego original «World Rally Championship» (Gaelco 1993). Curiosamente, pusimos en RetroLLeida 2008 nuestro granito de arena para que se pudiera preservar dicho juego y poder disfrutarlo en MAME.

Nuestro objetivo era poder usar esta máquina recreativa no sólo para jugar al World Rally sino también a cualquier otro juego de recreativa que necesite de volante, emulado con MAME. Y nos pusimos manos a la obra entre noviembre de 2017 y junio de 2018.

Este volante óptico, a diferencia de los basados en resistencias y con una libertad de movimiento de 270º, puede girar sin fin hacia derecha o izquierda, sin ofrecer resistencia ni volver a su posición inicial, lo que lo hace imprescindible en juegos como «Super Sprint» (Atari 1986), donde las curvas tan cerradas casi obligan a girar, soltar y volver a coger el volante.

El funcionamiento del volante óptico de la recreativa Video Líder es basicamente el mismo que un raton de bola de los antiguos: al girar el volante, una rueda perforada gira delante de dos fototransistores. La posicion de éstos es tal que nunca ocurre que ambos vean hueco o solido exactamente a la vez, sino que uno lo ve antes que otro (o mas tarde, segun el sentido del giro).

En la recreativa Video Líder, estas dos señales estan conectadas a dos contadores de 4 bits conectados en cascada para formar un número de 8 bits. Uno de los fototransistores está conectado a la señal de reloj, que cuenta 1 cada vez que se pulsa, y el otro a la señal Suma/Resta, de forma que según si está en alto o en bajo en el pulso de reloj, incrementa o decrementa el contador, respectivamente.

Supongamos que cuando se gira hacia la derecha, la señal de reloj sube antes que la señal de dirección; como siempre ocurrirá que el reloj llegará cuando la señal esté a 0, cada pulso de reloj restará 1 al contador. Sin embargo, en el caso contrario, como la señal de dirección llega antes, cuando le llega el pulso de reloj, ésta ya está a 1, y sumará 1. El juego World Rally periódicamente mira este contador y con el valor anterior que tenia guardado sabe en qué sentido se ha movido el volante y a qué velocidad.

Aprovechando que MAME soporta controles de tipo Dial, simulados mediante ratón, decidimos implementar esto en un microcontrolador que soportase USB HID, y simular un ratón. El microcontrolador hace la decodificación de los pulsos, los acumula, y periodicamente (cada 20ms) envía por usb el desplazamiento positivo o negativo aplicado sobre el eje X del ratón. 

Pulsos del volante

Hackeando el volante

Para leer los pulsos

Un cable por fototransistor

El microcontrolador STM32CubeMX

Tras las primeras pruebas satisfactorias para contar el giro del volante en ambas direcciones, lo fijamos con una goma en el poco hueco existente bajo el panel de mandos, con un commutador que permite deshabilitar su uso por USB, y llegó el momento de probarlo en serio. Y qué mejor prueba que jugando al World Rally en MAME en un portátil conectado por USB al microcontrolador. En una de estas partidas, se consiguió llegar al checkpoint tras varias vueltas de campana ya que las ruedas del coche volcado cruzaron la meta en el último segundo, pero estaba claro que el control era suficientemente preciso, pendiente de ajustes.

Contando los giros del volante

El invento bajo el panel

Inicialmente todo lo anterior lo hicimos en el bucle principal del microcontrolador, pero debido a que periodicamente el USB tenia que enviar datos, al girar el volante muy rápido se perdian pulsos: al hacer un giro con el volante y luego al contrario, no volvía a la misma posicion. Asi que lo cambiamos para hacerlo por interrupción. Uno de los pines de los fototransistores está conectado a un pin del microcontrolador que tiene programado que lance una interrupción en el flanco de bajada (las señales son activas en bajo), este seria el reloj, y en el manejador de la interrupción, se mira el estado del otro pin, y se suma o se resta un valor (ajustado a mano para que el volante se comporte con la misma sensibilidad que en el juego original).

Tras esta optimización, la prueba definitiva fue cuando se nos ocurrió usar el volante para jugar simultáneamente a la versión recreativa del World Rally (conectando el volante por JAMMA a la placa del juego) y a la versión emulada con MAME (conectando un portátil por USB al microcontrolador del volante). El resultado fue... en fin, es mejor verlo:

En el making of del video no fue fácil... mantener la seriedad :-)

Gracias a todo lo anterior ya podemos usar la recreativa Video Líder para disfrutar de juegos de volante usando MAME, como «Pole Position», que hizo las delicias de los asistentes de RetroMañía 2022, donde lo "estrenamos".

Equipo de RetroAcción implicado en la actividad

  • Miguel Ángel "ElSemi" Horna, Eduardo Mena

Mesa redonda «Recreando sueños: El yin y el yang de las máquinas arcade»

Descripción de la mesa redonda

Lugar:
Stand RetroLleida

Horario:
Sábado 26 de abril de 2008, 16:00

El objetivo de esta mesa redonda era abrir un debate sobre el mundo de las recreativas, desde muy distintos enfoques: creación, explotación y emulación. Todo ello presentado desde un punto de vista a la vez histórico y actual. Contamos para ello con la presencia de Javier Valero, fundador de Gaelco, Miguel Ángel Horna "ElSemi", programador de emuladores y colaborador con el proyecto MAME, y, a través videoconferencia desde Tokio, David Guaita, director del programa "Jugones" (Canal +).

Video completo de la mesa redonda

El equipo de RetroAcción desplegó toda su capacidad técnica para este evento, grabando la actividad desde tres cámaras distintas, una de ellas emitiendo por videoconferencia con Japón como contrapartida a la imagen que recibiamos de David Guaita desde Tokio, que se convirtió en nuestro ponente virtual a través de una pantalla. Gracias a ello se recogieron todos los detalles de un encuentro irrepetible: desarrolladores de videojuegos y aquellos que los desprotegen con el ánimo de preservarlos, juntos ¡¡el ying y el yang de las máquinas arcade!!

El moderador presentó uno a uno a los tres ponentes que fueron interviniendo en orden.

El primero en someterse a las preguntas del moderador fue Javier Valero, fundador de Gaelco, reconocida empresa española dedicada al desarrollo de recreativas. Su dilatada experiencia en este campo también incluye el desempeño de múltiples puestos relacionados con el desarrollo y comercialización de hardware y software de videojuegos. Nos brindó varios momentos memorables, por ejemplo, comentando cómo fue el desarrollo del posiblemente primer videojuego de recreativa desarrollado en España y en Europa (aunque nunca se comercializó), y dando una lección magistral sobre cómo debe ser el ritmo de un videojuego para ser un éxito y "obligar" (psicológicamente) al jugador de la máquina recreativa a echar otra moneda para volver a jugar una vez más.

Posteriormente también intervinieron Miguel Ángel Horna "ElSemi", comentando varios aspectos de la emulación de distintas arquitecturas de recreativas, y David Guaita, que describió sobre todo las diferencias culturales en Japón respecto a los videojuegos.

Pero el momento más especial del evento vino tras comentar Javier Valero los grandes esfuerzos que puso Gaelco en proteger el juego World Rally Championship (1993); ElSemi aprovechó para felicitarles por dicho trabajo puesto que todos los esfuerzos de la comunidad MAME para saltarse dicha protección y preservar el juego habían sido infructuosos, con el consabido bloqueo de numerosas placas de dicho videojuegos (¡un precio muy alto por cada intento!). Javier Valero comentó entonces que después de hablar sobre dicho problema con ElSemi, buscó pero no pudo encontrar los códigos originales del juego. Pero entonces todos nos quedamos con la boca abierta cuando echó mano al bolsillo y ¡PAAF! con un sonoro porrazo puso encima de la mesa un pendrive que contenía los códigos del chip Dallas protector de las placas del World Rally. La audiencia, entendiendo el momento tan especial del que era testigo, rompió a aplaudir de forma espontánea; y con razón, pues esos códigos permitieron a la comunidad MAME en cuestión de días poder emular el chip Dallas para unas semanas después conseguir una emulación perfecta del World Rally Championship, 15 años después de su lanzamiento; e incluso unos años después ha permitido desbloquear las placas del juego que con las pruebas habían quedado bloqueadas... ¿que más podemos pedir? 

Finalmente, hubo un turno de preguntas por parte del público presente y remoto, pues dejamos en la web un formulario a través del cual algunas personas formularon sus preguntas a los ponentes de la mesa redonda, que fueron leidas por el moderador.

Desde aqui queremos agradecer de corazón a los tres ponentes por su buena disposición para la realización de esta mesa redonda, a David Guaita por lidiar con la videoconferencia a pesar de las horas tan intempestivas en Japón, y a ElSemi y Javier Valero por hacernos partícipes de su conocimiento y experiencia y por demostrarnos cómo colaborar cuando el fin es noble. Enhorabuena y muchísimas gracias en nombre de los miles de futuros jugadores del World Rally Championship a través de MAME; sin duda los miembros de RetroAcción siempre recordaremos esta mesa redonda en cada partida que juguemos...


Sobre los ponentes:

Javier Valero, quien con 39 años de experiencia en el sector de los videojuegos puede presumir de conocer de primera mano las entrañas y anécdotas de este sector. Da sus primeros pasos profesionales como mecanico de pinballs a los 14 años en la empresa Exclusivas Carrasco de Lleida, y con los primeros videojuegos a los 17 (El Pong de Atari). Estudia Ingenieria en Telecomunicaciones (el único sitio donde se estudiaba electrónica) sin perder el contacto con el mercado. Quien comenzó como técnico de reparación de Pongs seguramente no sospechaba que en el futuro iba a fundar una de las empresas con más renombre en el sector de las recreativas (Gaelco, creadora entre otros de los videojuegos Big Karnak, World Rally Championship, Biomechanical Toys, y Radikal bikers), no sin antes ocupar variados puestos relacionados con el desarrollo y comercialización de hardware y software de videojuegos. Esta dilatada experiencia le permite ofrecer un punto de vista único sobre la evolución que este medio de ocio electrónico ha experimentado desde su introducción en España.
Miguel Ángel "Elsemi" Horna

Miguel Ángel Horna  "ElSemi", Ingeniero en Informática de Zaragoza que ha alcanzado notable popularidad a través de la red como el autor de varios emuladores de recreativas capaces de romper con barreras que fueron consideradas otrora infranqueables, como la emulación de los sistemas Sega Model 2 y CPS3 de Capcom. ElSemi es también autor de otros populares emuladores, tales como Nebula, Dreamer o Crystal System Emulator.
Siendo español, su labor ha sido mundialmente reconocida y ha colaborado activamente con el equipo de MAME en numerosas ocasiones.

David Guaita, nacido en Zaragoza, empezó su carrera como programador de videojuegos en 1988 (Silent Shadow, Soviet, Olympic Games 92) y hoy en día es un respetado profesional de la infografía con numerosas obras entre las que se encuentran videoclips, spots y efectos digitales para la publicidad y el cine, en titulos tan variados como "Los Otros", "800 balas" o "No somos nadie", asi como diseñando titulos de credito ("Torrente 2", "Mar adentro", o "La Caja Kovak").

Profundo conocedor de la cultura nipona (como acredita su papel de realizador del popular documental "Explosión Anime" y la serie "Otaku" (Cuatro), entre otros, así como su sección en el programa "Cuatrosfera"), David reside actualmente en Tokio (Japón) y desde allí dirige, realiza, y presenta el programa sobre videojuegos "Jugones" (Canal+).

Charla «Mundos emulados, mundos preservados»

Descripción de la charla

Lugar:
Stand RetroLleida

Horario:
Sábado 26 de abril de 2008, 19:00

El objetivo de esta charla era dar un repaso al desarrollo y proceso que lleva a la realización de emuladores de recreativas en proyectos enfocados a su preservación, como el caso del proyecto MAME. El encargado de darnos una perspectiva cercana sobre el tema fue Miguel Ángel Horna, autor reconocido mundialmente por sus emuladores Nebula, Model2 emulator y CPS3 Emulator, firmados bajo el seudónimo “ElSemi”; además es un activo participante del proyecto MAME, el famoso emulador de máquinas recreativas.

Dispositivas de la charla

Miguel Ángel "ElSemi" comenzó describiendo el objetivo principal de un emulador para enseguida pasar a detallar qué es exactamente una recreativa, más concretamente una placa de recreativa (la que contiene y ejecuta el videojuego correspondiente). Así, repasó los principales modelos de arquitecturas que se han ido desarrollando a lo largo de los años y los distintos componentes que contienen, para finalmente ir detallando cómo hay que afrontar la replicación por software de cada uno de dichos componentes y los principales problemas y posibles soluciones en todo ese complicadísimo proceso al que pocas personas se han enfrentado tantas veces como ElSemi.

Todo un lujo escuchar a una persona con tantos conocimientos y experiencia sobre ese tema. A pesar de que probablemente sólo entendimos un 10% de lo que nos explicó (¿cómo comprender en una hora todos los problemas y soluciones de tantos años?), le agradecemos enormemente su charla y que gracias a su trabajo en el desarrollo de emuladores infinidad de gente podrá seguir disfrutando de los videojuegos de las recreativas del pasado, cuya funcionalidad, gracias a él y otros como él, ha quedado preservada en formato digital para siempre, ¡una labor muy loable, sin duda!


Sobre el ponente:

Miguel Ángel "Elsemi" Horna Miguel Ángel Horna  "ElSemi", Ingeniero en Informática de Zaragoza que ha alcanzado notable popularidad a través de la red como el autor de varios emuladores de recreativas capaces de romper con barreras que fueron consideradas otrora infranqueables, como la emulación de los sistemas Sega Model 2 y CPS3 de Capcom. ElSemi es también autor de otros populares emuladores, tales como Nebula, Dreamer o Crystal System Emulator.
Siendo español, su labor ha sido mundialmente reconocida y ha colaborado activamente con el equipo de MAME en numerosas ocasiones.

Distribuir contenido