Star Fox 64 ships can be spawned into Zelda: Ocarina of Time without mods


TS Maniac
Staff member

Who would have thought that all these years later, players would still be crawling the code behind Star Fox 64 and Ocarina of Time.

Turns out that one of the most interesting things about the pair of games is that they share some of the same code. When programming the Fire Temple boss, the dragon Volvagia, Nintendo reused the movement patterns of an Arwing. But they didn’t just copy over the bits they needed; they included the entire Arwing file within Ocarina of Time.

This file sits in Ocarina of Time’s garbage bin, basically, but players have known how to activate it for almost a decade using cheats like the GameShark. But now, infamous speed runner ZFG1 has discovered how to activate the Arwing code using an unaltered Ocarina of Time ROM and standard Nintendo 64 hardware.

Last October, the dedicated Zelda community discovered a new method of stale-reference manipulation that can allow for arbitrary code execution. When a player unloads an item Link is holding as he crosses a loading threshold (like a new room) the object is deleted, but it retains a stale-reference pointer that includes the object’s position and rotation.

In specific circumstances, the stale-reference pointer can be used to corrupt the files of other objects within the new environment. If the corruption progresses the gameplay in a certain way, it triggers a jump code that seeks out the next instructions. The jump code looks at the current filename, which the player can set in advance.

If the file name is written in Nintendo 64 machine code, the game will act upon it. Until now players haven’t been able to overcome the eight-character filename limit, but by doing the whole process above three times, ZFG1 was able to eliminate the character limit. This gives him the ability to control the game completely.

Naturally, he turned all the doors in Kakariko Village into Arwings. They’re fully functional and swarm and attack Link with abandon.

Permalink to story.