17 años en Internet

03 febrero 2020

Modern Vintage Gamer: "Compilar Super Mario 64 sin el tag de optimización no fue un olvido" [ENG]

    El youtuber de Olathe, “Modern Vintage Gamer”, ha dado su particular punto de vista respecto al descubrimiento hecho por la scene de que la ROM americana de Super Mario 64 fue compilado sin hacer uso de ningún flag de optimización, algo que no pasa, por ejemplo, con la ROM europea (donde apartemente se le aplicó el flag de “-O2”).

    A través de un vídeo de unos 13 minutos de duración, hace un análisis exhaustivo explicando cómo la “scene” ha dado con semejante hallazgo, compara rendimientos de la versión sin “optimizar” con una “parcheada” con flag “-O2” y hace uso de su experiencia como programador en C para encontrarle una explicación lógica a este “olvido”.

    De hecho, acaba llegando a la conclusión de que las librerías terceras (que ocupan gran parte del código máquina final generado) sí que estaban compiladas con dicho flag y que la razón de compilar el código principal sin optimizar se debía probablemente a diversos bugs que podrían haber surgido en las primeras versiones del compilador del SDK oficial de Nintendo. Para apoyar dicha teoría, presenta como ejemplo la documentación de desarrollo oficial de Nintendo y un comentario en twitter de Dylan Cuthbert (desarrollador en la época de SNES y N64).

    No lo menciona en su vídeo, pero teniendo en cuenta que el lanzamiento de N64 se retrasó en Europa casi medio año, tendría sentido que Nintendo finalmente diera con la tecla “del problema” (ya fuera un problema del compilador o de las fuentes) antes de la producción del cartucho PAL.

    Si os interesa el tema y tenéis buen nivel de inglés, os recomiendo encarnizadamente ver el video de a continuación:

No hay comentarios:

Publicar un comentario

Si te ha gustado la entrada o consideras que algún dato es erróneo o símplemente deseas dar algún consejo, no dudes en dejar un comentario. Todo feedback es bienvenido siempre que sea respetuoso. También puedes contactarme vía Twitter @Hamster_ruso si lo consideras necesario.