Memory Editor

The Memory Editor is the most difficult to explain so there will be a great amount of information here.

If you are here from the Game Trainer Example then you will notice the code highlighted is the code $80187D00 00E5 we found for the Infinite Armor in Twisted Metal 2.

I know, your looking at this and thinking 'I can handle the Game Trainer but this, this is over my head'.  Don't be intimidated by it.  It is not as bas as it looks.  First lets break down the individual parts.

    The column on the left that has the $80187C70 through $80187EA0 are the addresses in memory stepping by 16 or the HEX value of F.  These are the beginning parts of the codes you input into the Xploder.  The middle column is the address values broken down into it's individual codes starting with 0 through F in HEX.  So the code $30187C70 has the value of 14.  The code $30187C71 has the value of 00.  The code $30187C72 has the value of 00.  So on and so on.
    Why did I reference the codes as '3' codes and not '8' codes?  A '8' code is the 16-bit code, meaning $80187C70 0014 will active both $30187C70 and $30187C71 with one code.  The '3' code is the 8-bit exact code.  So when you use $30187C70 0014 it will only effect that code and not the $30187C71 code too.  This can be useful if a 16-bit code controls two different things in the game.  An example would be $80012344 FFEE.  Lets say the codes was for infinite ammo for a M16 and a Rocket Launcher.  If you wanted to split the code apart so that you have infinite M16  ammo but not Rocket Launcher.  So you would make a code $30012345 00FF in stead.  This would only effect the FF part of the original code only giving infinite M16 ammo.
    Why do I keep switching to place of the values in the codes?  Ok, lets look at $80187C70 0014 again.  In the memory editor the values are listed in the 14 00 order.  I keep reversing the values when I put them in a 16-bit code though.  The way the xploder looks at a code is this: $80187C70 is the base address, it sees that it is a 16-bit code because it is a '8' code.  It then looks at the values 00 and 14 from the right to the left.  That is why I reversed the values.  The right value is the first value, the left one is the second. So the system would see $30187C70 as 0014 and $30187C71 as 0000.  On the '3' code the left set of values is always 00, remember the system reads right to left and the '3' code is only a 8-bit code.
    Phew!!!  That was a mouthful.  Next, the column on the right is the ASCII value of each of the codes.  This is helpful to see if you are looking for a string code.  A string code will appear as regular text in the ASCII column.

F1 - The Disassembler - This is the best place to do breakpoint codes from.  Pressing the F1 key will put you into the Dissasembler.
F2 - Load Memory - You can use this to load Memory Files you have saved on the PC.
F3 - ASCII Filter - Use this to change the setting on the ASCII Filter.
F4 - Save Memory - You can save what is in the current memory of the PSX by using this feature.  Then can be retrieved later.
F5 - Search - Hmmm... this one is easy.  Search for a value in memory.
F6 - Resume Search - Continues the search through memory.
F7 - Breakpoint Editor - Helps to locate breakpoint codes.
F9 - Jump to Address - Does just that, jump to a specific memory location.
F10 - Refresh - If you have been in the editor for a while but the game continues to play you may need to refresh on occasion.
F11 - Show Codes - Shows all active codes and NOP's.
F12 - Monitor - Allows you to watch the codes change in real-time on the PC while you play the PSX.  Helps to find max and min values of a code.  Game my slow down a bit during this though.
TAB - HEX/ASCII Edit - Toggles between HEX editing in the center column to ASCII editing in the right column.  This is useful for trying string codes.  You can edit the string right in memory.  Cool.
CTL +/- - You can incriment/decriment a value in the memory editor by using this key combination(s).
INS - This will toggle on/off codes in memory.
ENTER - This will allow you to enter codes directly in memory.  Enter the code and value when asked.
DEL - Disable all active codes.

One more thing you can do that is not shown on the screen is you can type the value directly into the memory location.  Just type the value when you have the code selected you want to change.
 

 Back to X-link TOC