ROMSearcher
Introduction, Info & Download

MORE INFORMATION

History, Limitations & Bugs

ROMSearcher was made as a result of my wishes to find the text hidden in Bionic Commando for the NES. I know the game is cool as it is, but I did want to change the context of the game back to a war against Hitler and the Nazis, just like the original Japanese version of the game.

I knew already that NES games don't always have their text data written for an ASCII alphabet, so I knew that I needed a program which shifts data files back and forth... And, hey! How about a search function? I began to play about with this program in C++ on Saturday, Dec. 26, 1998, and by the following Monday, had this, version 1.0 of ROMSearcher. Sadly, Bionic Commando seems to have all its text in an unreadable compressed format, which it shoves directly into its pattern table on-the-fly. So, no luck this time around.

The good news is that most games on several systems do have text which can be found and modified with this program. The bad news is, you really ought to own legally the game which you are modifying. (Why are you guys laughing?)


Although this program is pretty much reliable, I must say that I have coded it in my patented obfuscated inline spaghetti-code way. So, it is not 100% perfect. Within normal ranges of operation, and if you act like a really nice user, ROMSearcher should work fine. If you, however, ask it to search for a text string 256,000 characters long in a file that's 2K big, well, it might crap out on you.

Tips

One limitation with which you should take note is that this program searches CASE-DEPENDENTLY! That is to say that you should search for a string exactly as you see it on your videogame's screen. If you see it as "Zelda", a search for "ZELDA" will probably not come up with anything. However, you can search for "Zelda" or "ELDA" or "elda" and ROMSearcher will probably find it.

Hey, don't just limit your search to game text, either! Using this program, you can find hidden sound tests, or stage select screens. Try searching for words like "SOUND" or "TEST" or "MENU" or "OPTION".
(And who knows what can happen if you try using this program recursively...)


Downloads for ROMSearcher

This program was written in C++, and the good news is that it is freely distributable. Since I only have made an executable for Amiga computers, I invite anybody else to compile and distribute versions for their own platforms. The only proviso is that my name and e-mail should be given as the programmer of the original source. Otherwise, here is the source:


Special Thanks to:

Nintendo, for making some of the greatest games ever, and then bullying everybody involved in the videogame industry.
Commodore, for making the best computer ever, the Amiga, and then deciding to rest on your laurels while the rest of the computer industry caught up.
Apple, for proving that your name doesn't have to begin with "M" and end with "icrosoft" in order to have a commercially-viable OS. Too bad you bit off your clone licensees to spite your face.
Microsoft, for... Hey! How did you weasel your way in here??!? Fuck off, Microsoft!
Marat Fayzullin, because I used a teensy bit of your code in my program. Thanks, Marat!

Go to Chris' Homepage