N64Recomp

GoldenEye 007 acaba de alcanzar una decompilación del 100%, y eso cambia lo que la gente puede hacer con el juego: modificaciones que eran imposibles en un emulador, puertos PC nativos con un soporte adecuado de pantalla panorámica y aumentos de velocidad de fotogramas, e implementaciones de referencia para futuros proyectos de ingeniería inversa de N64. Las herramientas que lo hicieron posible son de código abierto, y si alguna vez quisiste ver dentro de un juego de N64, usarías las mismas.

Revisamos 8 aplicaciones de escritorio que hacen posibles los flujos de trabajo de decompilación y portabilidad de N64 hoy. Cada opción es gratuita, de código abierto y se mantiene activamente en GitHub.

Qué buscar en una aplicación de decompilación de N64

La ingeniería inversa de N64 es inusual porque la consola se dirige a MIPS III, y los compiladores de la época (IDO, EGCS) dejaron huellas dactilares específicas. Las herramientas modernas lo tienen en cuenta.

Tabla de comparación rápida

Aplicación Mejor para Plataformas Plan gratuito Precio inicial/mes Calificación
N64Recomp Recompilación estática a binario nativo Windows, Linux, macOS Completamente gratis Gratis Comunidad en rápido crecimiento
splat División binaria y extracción de activos Windows, Linux, macOS Completamente gratis Gratis Estándar en decompilaciones N64 modernas
decomp.me Patio de pruebas de prueba de coincidencia basado en web Web Completamente gratis Gratis Plataforma comunitaria ampliamente utilizada
mips_to_c Conversión de ensamblador a C Windows, Linux, macOS Completamente gratis Gratis Herramienta de decompilación de larga data
IDO recomp Recompilación del compilador IDO original Windows, Linux, macOS Completamente gratis Gratis Habilita flujos de trabajo orientados a la coincidencia primero
ares Emulador N64 preciso en ciclos para pruebas Windows, macOS, Linux Completamente gratis Gratis Emulador de alta precisión
GloverN64 Proyecto de referencia de puerto N64 Windows, macOS, Linux Completamente gratis Gratis Proyecto comunitario
PermuterPy Búsqueda de coincidencia automatizada mediante mutación Windows, Linux, macOS Completamente gratis Gratis Estándar en decompilaciones modernas

Las aplicaciones

1. N64Recomp – Mejor para recompilación estática a binario nativo

N64Recomp toma el código MIPS de una ROM N64 y lo reescribe en LLVM IR, que luego se compila en un binario x86 o ARM nativo. Eso es lo que permite que proyectos como Zelda 64 Recompiled y el puerto reciente de GoldenEye funcionen a cientos de fotogramas por segundo con renderizado de alta resolución, sin emulador necesario.

Donde falla: Requiere un juego completamente decompilado para producir un puerto bien integrado. La recompilación ROM-en-salida recta funciona para muchos juegos pero no para todos.

Precio:

Plataformas: Windows, Linux, macOS

Descargar: GitHub

Conclusión: La herramienta responsable de la actual ola de puertos N64 nativos.

2. splat – Mejor para división binaria y extracción de activos

splat toma una ROM N64 y produce el diseño de proyecto estructurado que usa cada decompilación moderna: archivos de ensamblador divididos por símbolo, activos extraídos (texturas, música, datos de nivel) y un sistema de construcción que vuelve a ensamblar todo en una ROM coincidente. Todo proyecto de decompilación N64 serio comienza aquí.

Donde falla: Requiere configuración por juego; espera pasar la primera semana creando el archivo de división.

Precio:

Plataformas: Windows, Linux, macOS (Python)

Descargar: GitHub

Conclusión: La primera herramienta que instalas cuando comienzas un proyecto de decompilación N64.

3. decomp.me – Mejor para probar una coincidencia de función C candidata

decomp.me es un IDE basado en web para pruebas de coincidencia de decompilación. Pega una función de ensamblador objetivo, escribe C candidato, presiona compilar y ve al instante si el compilador produce una salida idéntica en bytes. Es compatible con objetivos N64, GameCube, PS2 y DS, y el flujo de trabajo de bloc de notas compartido hace que la colaboración sea sin dolor.

Donde falla: Solo web; sin modo sin conexión. Limitado por velocidad bajo carga pesada.

Precio:

Plataformas: Web (basado en navegador)

Descargar: Sitio oficial · GitHub

Conclusión: La herramienta más utilizada por colaboradores activos de decompilación N64.

4. mips_to_c – Mejor para convertir ensamblador MIPS en un borrador C

mips_to_c produce un borrador C legible de una función MIPS. No es un generador de coincidencias; la salida es un punto de partida que luego editas y refinas hasta que decomp.me informa de una coincidencia. Ahorra horas por función en la pasada inicial.

Donde falla: La salida es un borrador. La compilación directa casi nunca coincide sin edición humana.

Precio:

Plataformas: Windows, Linux, macOS (Python)

Descargar: GitHub

Conclusión: Reduce el tiempo de pasada inicial en cualquier función que sea más que trivial.

5. IDO recomp – Mejor para reproducir el compilador N64 original

IDO recomp es una recompilación estática del compilador IDO de SGI, el que Nintendo usó para la mayoría de sus títulos N64 de primera parte. Ejecutar el compilador original en sistemas operativos modernos es lo que hace posible la coincidencia perfecta de bytes; sin él, el decompilador solo produciría aproximaciones del original.

Donde falla: Solo es útil si el juego objetivo fue compilado con IDO. Los juegos GCC/EGCS (salida de Rare, incluido GoldenEye) necesitan diferentes compilaciones de compilador.

Precio:

Plataformas: Windows, Linux, macOS

Descargar: GitHub

Conclusión: No es un decompilador en sí, sino la pieza que hace determinista la decompilación.

6. ares – Mejor para verificación N64 precisa en ciclos

ares es un emulador multisistema con emulación N64 precisa en ciclos. Para el trabajo de decompilación, esa precisión importa: cuando una reconstrucción candidata produce una ROM que se ejecuta en ares idénticamente al original, tienes confianza real en la coincidencia.

Donde falla: Requisitos de CPU más altos que emuladores casuales como Project64. No es la opción para juego puro.

Precio:

Plataformas: Windows, macOS, Linux

Descargar: Sitio oficial · GitHub

Conclusión: El emulador de calidad de verificación para probar reconstrucciones.

7. GloverN64 – Mejor proyecto de ejemplo para aprender

GloverN64 es uno de la creciente biblioteca de proyectos de decompilación N64 impulsados por la comunidad, y su repositorio está lo suficientemente bien organizado como para servir como referencia de cómo splat, mips_to_c e IDO recomp encajan juntos en una compilación real. Leer el archivo de división de otro es la forma más rápida de entender el tuyo.

Donde falla: En proceso; no todas las funciones están decompiladas.

Precio:

Plataformas: Windows, macOS, Linux

Descargar: GitHub

Conclusión: La mejor referencia para un principiante que configura un primer proyecto de decompilación N64.

8. PermuterPy – Mejor para automatizar la búsqueda de coincidencias

PermuterPy muta código C candidato y recompila miles de veces para encontrar variantes que produzcan una salida idéntica en bytes. Cuando decomp.me dice “cercano pero no hay coincidencia”, PermuterPy es lo que encuentra el orden de enunciado exacto o el paréntesis que el compilador quiere.

Donde falla: Computacionalmente caro; una ejecución del permutador puede consumir la CPU de una laptop durante horas.

Precio:

Plataformas: Windows, Linux, macOS (Python)

Descargar: GitHub

Conclusión: La herramienta de último recurso en una función obstinada, y la razón por la cual los porcentajes de finalización continúan aumentando.

Cómo elegir la correcta

Preguntas frecuentes

¿Qué significa que un juego esté “100% decompilado”? Cada función en el binario del juego ha sido reescrita en C de manera que la salida recompilada coincida con la ROM original byte a byte. A partir de ahí, el código base se puede modificar libremente.

¿Es legal decompilador una ROM N64? La ingeniería inversa para interoperabilidad generalmente está protegida en muchas jurisdicciones. Distribuir el binario resultante (que aún contiene los activos del juego original) generalmente no. El trato legal varía según el país; los proyectos de decompilación en sí generalmente envían código solo, esperando que el usuario proporcione su propia ROM.

¿Cuánto tiempo lleva un proyecto de decompilación N64? Esfuerzos de varios años por equipos de voluntarios. Zelda: Ocarina of Time tomó años; el proyecto GoldenEye 007 se ejecutó durante aproximadamente seis años.

¿Qué es decomp.me y por qué es tan central? decomp.me es un IDE web que compila código C candidato e informa si la salida coincide exactamente con una función de ensamblador objetivo. Reemplazó muchos scripts de bash ad-hoc e hizo que la colaboración en pruebas de coincidencia sea fácil.

¿Puedo ejecutar el juego decompilado en mi PC sin emulador? Sí, una vez que se completa una decompilación y se construye un puerto con N64Recomp o un marco similar. Zelda 64 Recompiled y el puerto de GoldenEye son los ejemplos actuales.

¿Necesito saber ensamblador MIPS para contribuir? Ayuda enormemente. mips_to_c y decomp.me bajan la barra, pero incluso una comprensión básica de las convenciones de registro y los patrones de llamada es necesaria para progresar en una función real.