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.