It should be also noted that the inner working of Super Mario 64 is already extremely well known due to numerous TAS attempts, so I found this manual decompilation hardly surprising. A recent video [1] detailing the "one-key" TAS [2] is mind-blowing.<p>[1] <a href="https://www.youtube.com/watch?v=wjge1bVobN0" rel="nofollow">https://www.youtube.com/watch?v=wjge1bVobN0</a><p>[2] <a href="http://tasvideos.org/3264M.html" rel="nofollow">http://tasvideos.org/3264M.html</a>
Interestingly, there exists other projects that aim to rebuild exact original ROM's. For example, Pokémon Ruby and Pokémon Emerald have been disassembled[1][2] and then slowly converted to C making sure that the hash of the ROM always stays the same.<p>[1] <a href="https://github.com/pret/pokeruby" rel="nofollow">https://github.com/pret/pokeruby</a><p>[2] <a href="https://github.com/pret/pokeemerald" rel="nofollow">https://github.com/pret/pokeemerald</a>
Anyone know how much manual work was needed to do this? Did they just use a tool to generate the C code? The functions unhelpfully have names like func_802507AC.
This is cool but seems to be "just" the output from IDA with the functions renamed in the output? If that's the case I'm wondering why we don't see this sort of thing more often (other than the effort required of course)
its cool and all, but i've seen this before with other games and what happens is the people that want to do game development and people that want muck around with old decompiled source code are two different camps of people so I wouldn't expect much