The Other Worlds Shrine

Your place for discussion about RPGs, gaming, music, movies, anime, computers, sports, and any other stuff we care to talk about... 

  • Fucking awesome: Metroid source code, disassembled, reconstructed, commented.

  • Because playing them is not enough, we have to bitch about them daily, too. We had a Gameplay forum, but it got replaced by GameFAQs.
Because playing them is not enough, we have to bitch about them daily, too. We had a Gameplay forum, but it got replaced by GameFAQs.

 #37292  by Gentz
 Sun Feb 08, 2004 9:50 pm
<div style='font: 11pt arial; text-align: left; '>I'm sure to many people here that stuff actually makes sense...still, pretty neato. How do you go about doing something like that?</div>

 #37294  by Kupek
 Sun Feb 08, 2004 11:37 pm
<div style='font: 10pt verdana; text-align: left; padding: 0% 10% 0% 10%; '>Well, the assembley code anyway. Or does anyone know if it was originaly written in a higher-level language (most likely C)?</div>

 #37295  by SineSwiper
 Mon Feb 09, 2004 6:44 am
<div style='font: 10pt "EngraversGothic BT", "Copperplate Gothic Light", "Century Gothic"; text-align: left; '>Jesus...how the hell did this guy get the variable names from an already compiled program? Surely the debug symbol table was removed before it was shipped out.</div>

 #37297  by SineSwiper
 Mon Feb 09, 2004 6:45 am
<div style='font: 10pt "EngraversGothic BT", "Copperplate Gothic Light", "Century Gothic"; text-align: left; '>Given some of the tricks listed in the code, probably not.</div>

 #37298  by Andrew, Killer Bee
 Mon Feb 09, 2004 10:01 pm
<div style='font: 10pt georgia; text-align: left; '>I doubt it. I imagine NES programmers (and in-house Nintendo programmers in particular) would like to have written as close to the bone as possible.</div>
 #37299  by Kupek
 Tue Feb 10, 2004 3:23 am
<div style='font: 10pt verdana; text-align: left; padding: 0% 10% 0% 10%; '>Even if they wanted to, could they? That is, was the Nintendo architecture one that even had a C compiler? I have no idea.

Which also brings up, to me, questions about the SNES. By that point, I thought they'd be writing games in C. But again, where would the compilers come from? Or are the architectures common enough that compilers exist for them? I have no idea what internals they had, or what instruction sets they supported.</div>
 #37300  by Agent 57
 Tue Feb 10, 2004 9:27 am
<div style='font: 9pt ; text-align: left; '><b>Link:</b> <a href="http://www.zophar.net/tech/snes.html">h ... es.html</a>

Then again, the code for Metroid looked a lot like what I remember 68000 assembly code looking like when I took it in college, so it's also possible that they just made their custom language close enough to the mainstream that any old compiler would be able to handle it.

Anyway, while looking for information on exactly what processors the S/NES had, I found this page with a whole bunch of SNES technical docs, if you're interested.

<i>-57</i></div>

 #37301  by Kupek
 Tue Feb 10, 2004 11:44 am
<div style='font: 10pt verdana; text-align: left; padding: 0% 10% 0% 10%; '>I imagine Nintendo would want to provide that sort of thing so to encourage third party development. But I don't know if they did. I might try to search for that kind of stuff if I have the chance.</div>

 #37306  by Ishamael
 Wed Feb 11, 2004 11:35 pm
<div style='font: 14pt "Sans Serif"; text-align: justify; padding: 0% 15% 0% 15%; '>Back in the NES/SNES days, it was mostly assembly, though I wouldn't be suprised if there's a C compiler for it around somewhere.</div>

 #37402  by Andrew, Killer Bee
 Sat Feb 21, 2004 10:23 pm
<div style='font: 9pt Arial; text-align: justify; '>This guy is effing insane!!! How do you do something like that?</div>