- Hyper Neo Geo 64 fue un sistema arcade 3D operado por SNK entre 1997 y 1999 durante apenas 2 años; tuvo una vida muy corta con solo 7 juegos lanzados, y fue una plataforma experimental de transición entre el 2D y el 3D
- El trabajo de emulación que el desarrollador de MAME David Haywood llevó a cabo durante 21 años desde 2004 llegó recientemente a su fase final, y ahora funcionan correctamente no solo los gráficos y la entrada, sino también la emulación de sonido
- En el último mes, colaboradores de MAME como R. Belmont lograron mejoras rápidas al resolver el método de síntesis de audio y procesamiento de filtros, y la versión MAME 0.282, prevista para octubre, ofrecerá soporte de audio completo
- Durante el desarrollo de la emulación, avances en tecnologías relacionadas como el volcado del microcontrolador de I/O y mejoras en el núcleo de CPU V53 fueron el punto de quiebre clave, y también ayudó una sinergia inesperada con el trabajo de emulación de sintetizadores
- Este caso muestra bien la naturaleza del desarrollo de emulación: años de trabajo invisible y paciencia, junto con múltiples piezas técnicas que van encajando una por una, resaltan la importancia de este proceso colaborativo
El largo viaje de la emulación de Hyper Neo Geo 64
- Cuando David "MameHaze" Haywood comenzó a trabajar en la emulación de Hyper Neo Geo 64 en 2004, MAME casi no tenía soporte para juegos 3D, el núcleo de CPU MIPS estaba en una etapa inicial y ni siquiera existía un volcado del microcontrolador de I/O
- En ese entonces, la memoria de las PC apenas alcanzaba incluso para cargar y decodificar gráficos 2D
- Era una época anterior a YouTube, así que conseguir material de referencia era extremadamente difícil
- Muchos de los jóvenes adultos que hoy se interesan por la emulación de esta plataforma ni siquiera habían nacido cuando empezó este trabajo
- Hace unas semanas, Haywood ascendió el sistema al estado de "funcional" dentro de MAME, aunque fue una medida algo formal
- Aún faltaba una emulación de sonido adecuada, y Haywood no había trabajado en el núcleo desde 2023
- Consideró que podía ponerle la etiqueta de "funcional" porque la gente ya llevaba mucho tiempo disfrutando los juegos sin sonido
- Eso motivó a otros colaboradores de MAME a involucrarse en la mejora del audio
Resumen del sistema Hyper Neo Geo 64
- Solo estuvo activo en arcades durante 2 años, de 1997 a 1999, y se lanzaron un total de 7 juegos
- Road's Edge
- Samurai Shodown 64
- Xtreme Rally
- Beat Busters: Second Nightmare
- Samurai Shodown 64: Warriors Rage
- Fatal Fury: Wild Ambition
- Buriki One
- Estos juegos, por sí solos, no ofrecían una motivación especialmente fuerte para emularlos, pero la pasión del equipo de MAME por hacer ingeniería inversa y preservar todos los sistemas arcade mantuvo vivo el proyecto
- A diferencia de la placa CPS3 de Capcom, cuyo soporte se añadió rápidamente tras ser descifrada, Hyper Neo Geo 64 necesitó 21 años de trabajo intermitente y arduo
El esfuerzo invisible del desarrollo de emulación
- Haywood señaló que "lo que la gente realmente no entiende sobre la emulación es la cantidad de tiempo que hay que invertir en trabajo que no produce ningún resultado positivo"
- Trabajó varias veces sobre el driver de Hyper Neo Geo 64, dedicando semanas, pero sin ningún avance visible
- La frustración de intentar entenderlo todo y terminar concluyendo únicamente que "no funciona así" se repitió una y otra vez
- Hace algunos años, cuando se hizo el volcado del microcontrolador de I/O y Haywood escribió un núcleo de CPU para emularlo, se logró un progreso real
- La entrada empezó a funcionar en muchos juegos, lo que permitió seguir avanzando con las mejoras de video
- El soporte para CPU V53 desarrollado para otros sistemas después resultó decisivo para ejecutar el DSP de sonido
El rápido avance en la emulación de sonido
- Cuando Haywood marcó la plataforma como "funcional", atrajo la atención de colaboradores de MAME como R. Belmont
- Belmont, Happy y O. Galibert, entre otros, trabajaron durante el último mes para lograr que los juegos sonaran correctamente
- Fue especialmente útil el desensamblado detallado del programa de la CPU de sonido escrito por Happy
- Belmont y Galibert estaban trabajando en el soporte para sintetizadores dentro de MAME, y como el chip de sonido de Hyper Neo Geo 64 también se usaba en sintetizadores, se produjo una útil superposición de especialidades
- La versión actual MAME 0.281 incluye una serie de mejoras rápidas documentadas por Belmont en videos de YouTube
- Se corrigió el funcionamiento adecuado del inicio y la detención de muestras básicas
- Se añadió soporte preliminar para envolventes de volumen, lo que mejoró el balance de audio
- Se añadió un filtro low-pass por voz, lo que limpió el ruido de alta frecuencia y mejoró la claridad del sonido
Mejoras principales en MAME 0.282
- En MAME 0.282, cuyo lanzamiento está previsto para octubre, se resolverán los problemas de audio de Xtreme Rally y mejorará la calidad general
- Olivier Galibert descubrió cómo comprimir el rango dinámico de 12 bits a 8 bits y lo reemplazó por un filtro Chamberlin más adecuado, logrando un sonido mucho más claro y de mayor fidelidad
- Se entendió cómo funcionan realmente las muestras en bucle, se corrigió la distorsión en la mezcla final, y se ajustó la envolvente del filtro, lo que produjo una mejora dramática en la intro de Beast Busters Second Nightmare
- Resolución de un problema específico de código en Xtreme Rally
- Este juego tiene un código inusual que intenta enviar comandos de sonido a la CPU de audio lo más rápido posible, lo que provocaba que se perdieran 2/3 de los comandos
- Se corrigió el problema para que todos los comandos se entreguen, y Xtreme Rally ahora suena excelente
- Cuando salga MAME 0.282, Hyper Neo Geo 64 quedará en un estado que realmente estará a la altura de la etiqueta "funcional"
Un ejemplo perfecto de proyecto colaborativo
- Galibert comentó en Reddit que su contribución surgió de su interés por la emulación de sintetizadores, pero que, "curiosamente, el propio sintetizador (MPC3000) todavía no funciona en absoluto"
- Aunque algunas partes del sintetizador aún no han sido volcadas ni documentadas, a veces una de las piezas disponibles termina encajando en un rompecabezas completamente distinto
- Haywood recordó: "simplemente fue un proceso largo y lento"; "mejoró poco a poco a lo largo de los años, y a medida que el código circundante de MAME se volvió mejor y más capaz, fue posible lograr más avances paso a paso"
3 comentarios
Es realmente genial dedicar tanto esfuerzo a una consola que solo es compatible con apenas siete juegos.
Un veterano puliendo emuladores... qué nivel.
Opinión de Hacker News
Es un esfuerzo realmente impresionante, pero me hace extrañar los textos de Byuu o los devlogs recientes de Dolphin. También quisiera recomendar mucho el blog de desarrollo de Shonumi. Este blog trata sobre periféricos raros o difíciles de emular de Gameboy y GBA, desde módems infrarrojos hasta sondas de pesca basadas en sonar Shonumi devlog
Byuu fue realmente una persona extraordinaria. Recuerdo cuando apareció y ayudó muchísimo a mejorar la compatibilidad de los emuladores. Sigo pensando en los cambios positivos que Byuu trajo al mundo
En Dolphin también hay textos realmente interesantes sobre cuánto esfuerzo pusieron para hacer funcionar juegos de Factor 5. En entornos de hardware fijo se usan trucos realmente sorprendentes para exprimir al máximo el rendimiento. Uno solo llega a apreciar de verdad esas cosas años después, cuando alguien intenta ejecutar ese software en un emulador
Me pregunto si alguien conoce un emulador de PC que soporte correctamente entrada de micrófono mediante emulación de Soundblaster. Encontré en archive.org mi primera app, publicada por ahí de 1994, y es un visualizador musical que requiere entrada de audio
El artículo del devlog de Shonumi sobre Battle Chip Gate me hizo revivir recuerdos de la infancia. De niño era fan de Battle Network en GBA, y empecé a participar en comunidades en línea en GameWinners.com para poder entrar a foros de Mega Man. Incluso mi primer apodo lo tomé de una función nueva de MMBN2. Fue gracias a Battle Network que me interesé en la preservación de juegos antiguos, y la IA del juego y su mundo cibernético se sienten sorprendentemente proféticos. PCs conectadas directamente a internet, IA personalizadas para cada quien, agentes de IA que ayudan a navegar la complejidad del mundo digital, ciberdelito y hackers, e incluso vulnerabilidades digitales atemporales o hackeos a sistemas de control ambiental: realmente mostraba una visión impresionante del futuro. Gracias a MMBN2 también aprendí inglés y me convertí en programador. Todavía lo recuerdo con mucho cariño
Me sorprende que el proyecto MAME siga en desarrollo activo después de más de 28 años sin que su esencia haya cambiado casi nada. Seguramente se debe a una comunidad de desarrolladores muy comprometida
Si le sumas una base de código en C++, código que genera código C++, procesos de build que generan otros procesos de build, y la obstinación de cierta persona por cambiarle el nombre a todos los archivos cada año, queda una vibra como de monjes en una cueva
No fue exactamente un fork, pero en algún momento existió un proyecto aparte llamado MESS, que intentó ampliar el alcance a sistemas no arcade y luego volvió a integrarse
También hay forks populares como Final Burn Alpha/Neo
Una de las cosas que descubrí por casualidad y me pareció realmente interesante es que también emula SGI/IRIX
En la práctica sí existen varios forks, aunque no sé si cuenten como forks realmente “importantes”. Y también he visto que los desarrolladores dedicados de MAME son muy estrictos al evaluar código externo
Me encantan textos como este. Me hace sentir que la emulación de videojuegos ha cultivado una gran profundidad técnica en muchos autores. Me preocupa que DRM extremadamente difícil y profundamente incrustado en el hardware, como el que se ve en Xbox One X y otros, termine dejando enormes vacíos en futuras exhibiciones patrimoniales. Sin duda el DRM tiene un costo social grande que no reconocemos lo suficiente
La pasión de los desarrolladores de emulación que ponen tanto esfuerzo por menos de diez juegos es realmente admirable
Incluso en plataformas con muy pocos juegos, a veces alguien se obsesiona muchísimo con uno solo y lo analiza a fondo. Yo también soy fan de T-Mek y tengo una máquina problemática guardada en un cobertizo. Es un sistema con apenas dos juegos, pero solo podrá funcionar correctamente en MAME cuando aparezca alguien con el interés, la habilidad y el equipo necesarios para romper sus protecciones
En algún momento hubo personas que encontraron la forma de ejecutar DCRs precompilados de Habbo como apps de escritorio independientes, y gracias a eso Habbo Origins todavía existe. Incluso una empleada de Sulake lo probó por sí misma, y resulta que venía de la escena de Habbo Retro/Emulator. La escena de la ingeniería inversa es una comunidad realmente fascinante
Entre el hardware arcade hay placas totalmente personalizadas hechas para un solo juego, e incluso chips que nunca volvieron a reutilizarse. La misión de MAME es clara, pero HNG64 siempre despertó interés por SNK, Samurai Shodown y Fatal Fury
Documentar y preservar el pasado es una labor muy valiosa
En momentos como este, la palabra más adecuada parece ser
passionateIncluso después de 28 años, en MAME siguen ocurriendo cambios interesantes por todas partes. Ya va mucho más allá de las máquinas arcade y abarca consolas caseras poco conocidas, computadoras vintage y todo tipo de hardware. Últimamente me parece muy interesante el progreso de la emulación de sintetizadores musicales profesionales como la legendaria serie Yamaha MU Wiki de Yamaha MU-series. A finales de los 80, los juegos de PC empezaron a soportar bandas sonoras MIDI, pero la mayoría de los jugadores solo escuchaba versiones muy degradadas en tarjetas de sonido limitadas para PC. Si tenías suficiente dinero, podías oírlas de forma mucho más fiel con módulos MIDI externos como Roland Sound Canvas, pero lo mejor de verdad era el Yamaha MU80 de 64 voces. La primera vez que escuché el sonido del MU80 me di cuenta de todo lo que me había estado perdiendo MU80 Demo Song. Ahora, gracias a MAME, es posible experimentar libremente este costoso hardware profesional solo mediante emulación por software
Recuerdo que la música MIDI incluida con una Packard Bell Pentium 166 sonaba rarísima y bastante mal. No sabía que ya existían dispositivos tan avanzados en esa época. Me puse a buscar en YouTube videos comparando Sound Blaster con el MU80 y de verdad es sorprendente video comparativo
Me pregunto cuándo llegará el día en que podamos pedirle a una IA que recree un juego de fantasía empapado de nostalgia noventera
Me pregunto si esto se parece al extraño método de DRM con batería que CAPCOM usaba en sus viejos sistemas arcade. Había un sistema que, si se apagaba, obligaba a mandarlo a reprogramar con CAPCOM
No creo que sea eso. Probablemente hablas de CPS, en particular de la famosa placa CPS2. Esa placa usaba la batería para alimentar el dispositivo anticopia, y si el voltaje bajaba de cierto nivel, borraba la clave de seguridad de la memoria. Entonces el ROM quedaba ahí, pero cifrado. Encender y apagar la máquina no causaba ningún problema. De hecho, las baterías de CPS2 tendían más bien a arruinar componentes importantes, por eso les decían “baterías suicidas”. Hoy existen varias maneras de desactivar la protección: usar ROMs Phoenix ya descifrados o soldar una PCB Infinikey para resolver la clave del ROM mediante la alimentación de la placa, entre otros métodos. En cambio, HNG64 parece haber sido simplemente menos analizado porque su hardware era más enrevesado
Ese método funcionaba en dos etapas. Había un chip descifrador propietario entre el ROM del programa y la CPU, y ese chip usaba una tabla almacenada en una pequeña SRAM alimentada por batería. Si perdía energía —porque se agotaba la batería o por un intento de hackeo— la clave de descifrado también desaparecía. Por casualidad se descubrió que el pin FC1 estaba conectado al chip descifrador, y que en realidad solo el ROM del programa estaba cifrado. Cuando la CPU 68000 pedía instrucciones, enviaba una señal específica para indicar si el descifrador debía descifrarlas. Pero el modo de direccionamiento relativo al PC emitía la misma señal, y gracias a eso podían extraerse instrucciones cifradas. Por alguna otra protección, el chip además dejaba de funcionar después de un rato. Más tarde, en una consola doméstica basada en la placa CPS y en ports de consola de juegos como SF Zero, se descubrió que había instrucciones mezcladas que leían direcciones extrañas que el chip estaba esperando. Si no se accedía a cierta dirección, el chip dejaba de descifrar. Ese secreto salió a la luz debido a los ports de consola, y desde entonces se pudo combinar con astucia el acceso relativo al PC y esos accesos para volcar correctamente el ROM. Documento de referencia del procesador 68000
Este tipo de método todavía se ve en equipos de apuestas y similares. Las tragamonedas modernas tienen muchas protecciones, baterías y funciones anti-taladro, aunque ahora su objetivo es menos proteger derechos de autor y más impedir evasión fiscal
En el artículo mencionan el LaserActive. La primera vez que lo vi fue de niño en casa de mi tío y ni siquiera sabía que existía Wiki de LaserActive. Casi solo recuerdo haber jugado juegos de Genesis
Me sorprendió ver que Vajra y Vajra 2 son shoot 'em ups exclusivos de LaserActive hechos por una compañía llamada Data West. El nombre se parece a Data East, y ambas son japonesas, pero no parece que Data West haya sido un spin-off de Data East. Me pregunto si habrán querido ponerle un nombre parecido a propósito para confundir a la gente información de la empresa Data West
Terminé ampliando mucho la primera foto del artículo para ver la etiqueta de precios. Battle Toad in Battlemaniac cuesta 53900 yenes, Akumajou Dracula XX cuesta 27500 yenes y The King of Dragons cuesta 39800 yenes
En Galaga y Galaga Fast Shoot sigue habiendo más de 100 ms de latencia entre la pulsación de teclas y la respuesta del juego, y ojalá algún día ese problema se resuelva por completo