Jump to content

SF64 if all assembly glory (large image warning)


DZComposer

Recommended Posts

I've been looking at the raw MIPS assembly of SF64. It's pretty interesting,

actually. I don't know MIPS assembly (yet, this will help me learn), but I already see things of interest.

I hope to eventually dump all of the voice samples from the ROM!

N64 ROMs are not divided into files like gamecube ones are. They are just a

big chunk of binary code, so extracting sound involves going in there and

monkeying around until you get what you want. Don't expect a dump anytime

soon.

Here is a screenshot of the disassembler with the SF64 code visible. Note the

character names in the "strings" window. I believe these are the actual

strings that form the yellow text containing the character names on the comm

overlay.

Technically, this isn't a ROM. It is a PJ64 savestate, but it's a RAM dump,

whic is the actualy game code loaded into the N64's (or emulator's) RAM.

Link to comment
Share on other sites

You do know that if you own the actual game, ROMs are actually legal.

Link to comment
Share on other sites

That's...interesting. Never tried a disassembler before. How's it different from a decompiler? I'd imagine it is, but...

Anyway, I'd imagine those're the strings, yes. The sound files'll definitely be difficult to extract, unless they're seperated uniquely.

Hm...looks like you got some OS stuff with it. :?:

-Inuyasha

Link to comment
Share on other sites

Sorry Dzcomposer about the rom thing earlier on General StarFox, I didn't kown they were illeagl. Reading them on this site was the first time I had really ever heard about them.

Link to comment
Share on other sites

Now you see why modding an N64 game is inreadibly difficult when you have to deal with stuff like:

800C8516: 0C 01 9D F7 AD 98 A7 0A-74 C7 8A 05 00 98 5A 50 (assembly)

Instead of stuff like this:


int accept_file(FILE *fp, char fileformatname[MAX_FILE_FORMAT_NAME], int n)

{

  ulong fl;

  pj64_hdr header;



  if(n) return(0);



  if(qfread(fp, &header, sizeof(header)) != sizeof(header) ||

     header.signature != PJ64_SIGNATURE) return(0);

  fl = efilelength(fp);

  if (fl != 0x75c+header.ramsize+0x2000) return(0);



  strncpy(fileformatname, "Project 64 v1.4 Save State", MAX_FILE_FORMAT_NAME);

  return(1);

}

(C++)

The assemply I made up,the C++ is part of PJ64.

A disassembler and a decompiler are different. Both can start with raw machine language (0s and 1s).

A disassembler takes the 0s and 1s and gives you the assembly for the processor for which the code was written (In the case of the N64, the NEC VR4300, which is a modified MIPS R4300i [64 bit RISC]. Therefore, N64 is in MIPS assembly).

A decompiler takes either raw machine code or assembly and gives you a high-level language, such as C or C++ to name just a couple.

When you use a Game Shark, you are entering assembly code to be forced into the game. This code gives you the lives, bombs, health, etc.

Link to comment
Share on other sites

Thanks for understanding, I just got Maya 7 on my computer so now I'll just do all my stuff on it.

Link to comment
Share on other sites

The 3D models are only part of it. You need a whole lot of programming.

I suggest maybe modding something like Freespace 2 or something that has pre defined program engines and such.

Link to comment
Share on other sites

I'll that out check it out as soon as I finish reading this size of my Gamecube, Maya instruction book.

Link to comment
Share on other sites

I hope to eventually dump all of the voice samples from the ROM!

You could do that... or you could ask me for em... I'm not sure if I have ALL of em, but I have the vast majority of the voice samples in mp3 format.

Only bad thing is that when I went to ZIP them it's still an enormous zip filesize. Unless RARing it can compress it more?

Link to comment
Share on other sites

If they're already MP3s, Zipping or Raring them won't really effect the filesizes, as MP3s are already compressed.

How did you get them, btw?

Link to comment
Share on other sites

Thoose voice-files I found on a link you shew for long time ago.. sounds not so good in quality for some reason..

Link to comment
Share on other sites

If they're already MP3s, Zipping or Raring them won't really effect the filesizes, as MP3s are already compressed.

How did you get them, btw?

*tries to remember*

I -think- it was from some old StarFox website, I read somewhere on another forum that it was going down at one point and that everyone should download these if they wanted them off of it, and so I got em all for the heck of it, not really knowing what I was gonna do with them. Can't remember the site name though.

Link to comment
Share on other sites

I think you're thinking of lylat.net/voices. Sadly, it is now gone. It is far from a complete set.

Link to comment
Share on other sites

That might have been it. Yeah, I wasn't sure if it was all of them, but there is a lot, actually.

Link to comment
Share on other sites

  • 1 month later...

Sorry for getting in the middle of something i dont know anything about but if you download the game you can record the voices in wav.

Heres a little help: If you go to any level without a partner many voices change. like in the last level in which someone yells: Fox!!! but if they are gone fox says: Its all coming down to this. this happen on Venom hard way. Hope this helps.

Link to comment
Share on other sites

  • 6 months later...

they make audio extractors for ROM's, and geometry for that matter.....i'll have to look around...........

Link to comment
Share on other sites

1. SF64 had a weird audio structure that no current tool can read.

2. This thread is ancient.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...