Sunday, December 21, 2008

Create your own codes

Codes are actually quite simple in that they simply write a certain value to a variable (such as lives, health, etc) and even the activators (to peform an action when a certain button is pressed) just check for the value of a variable.

These codes modify the RAM (memory) where temporary information such as varibles are stored but with millions of possibilities making certain codes can be difficult but not impossible. At the very least you need to be able to view the memory such as that provided by some cheat cartridges, such as the Equalizer which also allows you to edit the memory.

I'm going to show you how to create codes using Nemu64, a N64 emulator that wasn't that well made but has great code making plugins. It has helped me make codes faster as well as more advanced cheats although sometimes I still have to use my N64 and Equalizer.

First thing to do is to load a SM64 ROM and start the game so that you are outside the castle. Codes that do the same thing (infinite health, and so on) will be different for different regions of the same game due to extra features, bugs removed, etc. To check what version of the ROM you have, go to the Plugins menu and choose Show Rom Info...So here, the values will be specific to the USA (NTSC) version of SM64, but the step-by-step of how to make the codes can be used for all regions.

We are going to find the Mario object which is the collection of variables that relate to what Mario does, how he looks, his size, etc. Every object in a level has these variables, and with 240 objects (not normally all used) in a course, how can we find Mario? One way is to search for Mario's graphics value which will be in memory in several places, including his object.

Let me take you back, say, 5 years ago when I had only started to hack Super Mario 64 using my Equalizer. I don't remember exactly how, but I had stumbled upon the castle tower object and I noted a certain value (the graphics pointer). I then looked at the next object which was a tree and compared the value, changing it to that of the tower: the tree now looked like the tower. That was only the start...

I have graphic pointer values listed on this page, since they are for the PAL game, for common objects (such as Mario) to convert to the USA (NTSC) version add 0xA940 (in hex, see the 0x). Right, that's 0x800E5F20 (PAL)+0xA940=0x800F0860 (NTSC). You'll need a calculator with hex support such as the Windows calculator and some pocket calculators. by yoshielectron

No comments:

Post a Comment