What is a breakpoint?
Hmmm. The best way to explain that is this,
every code is modified by another code. Example, some code tells
the Armor code in Twisted Metal 2 that the Armor is now less than what
it was before. If you can disable the code that told the Armor to
change, the armor would not ever change. Let's look at the example.
We are looking for the code that tells the Armor code to change.
Enter the address of the Armor code into Breakpoint
address. This is address we are trying to find the breakpoint on.
Then use the Address Mask of 0FFFFFFE to tell
the system we are looking for a 16-bit code.
The Event in this case is a write because some
other code is changing the code we are looking for. There are other
Events you can choose from too.
The Break Count is to tell the system how many
times it should let the address be wrote to before stopping the search.
Now Wait for breakpoint. When the armor
code is changed it will show you what code wrote to the file.
From this you can see that the code $800E5AFC
is the code that wrote to the Armor code. Now press the F6 key, this
is to set the NOP Block. Then Press F12 to toggle the NOP function.
Now play the game and your armor will not decrease. Cool.
Return to the Disassembler by pressing ESC.
The following screen is displayed.
You can see that the breakpoint address is highlighted. Now look at the memory with the breakpoint turned off.
You can see that not only did the address of $800E5AFC changed from
0000 to 00A4 but $800E5AFE also changed from 0000 to AE42. This is
because breakpoint codes are always in twos'. Therefor to make this
a code you can use you would use $800E5AFC 0000 $800E5AFE 0000 to give
you Infinite Armor in Twisted Metal 2.