Urgent.News

What's breaking now, across thousands of outlets.

Tech

Decompiling a Nintendo 64 game in 84 days

It is with great pleasure that the creators announce the completion of the full decompilation of Snowboard Kids within a mere 84 days. This monumental achievement represents the collaborative efforts of remarkable individuals, namely inspectredc, Bl00D4NGEL, and queueRAM, whose contributions played a pivotal role in the project. Additionally, the team extends their gratitude to iFuzzle, JamesBLewis, and douglasjv for their invaluable support.

The primary objective of this endeavor is to provide a comprehensive understanding of Snowboard Kids to the dedicated Snowboard Kids community, particularly to avid speedrunners who have historically focused on the game. By obtaining a complete decompiled version of the game, developers and enthusiasts can delve into aspects such as CPU pathing and the specific factors that contribute to exceptional player speed.

Moreover, having access to the complete source code will pave the way for future static recompilation and ambitious modding endeavours.

What sets this decompilation apart from its predecessor, Snowboard Kids 2, is the remarkable speed at which it was accomplished. While Snowboard Kids took only 84 days to decompile, its sequel required an astonishing 596 days, marking a significant difference of about one-seventh of the time. Several factors contribute to this achievement.

Firstly, the advent of artificial intelligence (AI) has undoubtedly expedited the process. However, attributing the entirety of the swift progress solely to AI would be a gross oversimplification. The team already had extensive experience from a prior project, which significantly elevated their efficiency. This advantage was somewhat counterbalanced by new challenges, such as working with a different compiler.

IDO, the proprietary compiler used for Snowboard Kids, presented unique difficulties compared to the widely used open-source compiler, GCC. IDO's source code was unavailable, and its development environment was tied to obsolete SGI hardware and software. Consequently, the decompilation community had to reverse-engineer and decompile parts of the compiler toolchain, as well as statically recompile the IDO 5.3 and 7.1 suites to ensure compatibility with modern hardware.

This closed history adds an additional layer of complexity to understanding IDO, making it more of an art than a science.

Despite the intricacies of IDO, the team made substantial strides in comprehending its peculiarities. By figuring out the purpose of each function and writing C code that approximated its intended behavior, the team was able to make small adjustments using a permuter to catch any remaining differences. However, when the underlying structure was incorrect, permutation alone was not sufficient to achieve a match.

The collaborative expertise and intuition of the human team proved instrumental in matching or even exceeding the pace of the Snowboard Kids decompilation.

Written by urgent.news from Hacker News's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at blog.chrislewis.au →

More in Tech

More from Thursday 27 August →