HARDWARE BREAKPOINTS  
======================  
  
  
What Use Are They - Helping You Create Cheat Codes  
--------------------------------------------------------------  
  
New to version 1.5 of the ACTION.EXE program are hardware 
breakpoints (replacing the bodgy software breakpoint). To use the 
breakpoint feature you will need at least versions 1.5 of the 
ACTION.EXE program and version 1.84 of the Pro Action Replay 
PlayStation cartridge.   
  
My main motivation for implementing the hardware breakpoints is to 
help comms kit owners when finding cheat codes. Some games are 
difficult to create cheats for due to the locations of  "lives", "power", 
"items", etc. moving in memory when different levels are entered or 
games are started with different  
configurations.   
  
A prime example of this "moving codes" is the game "Wipeout", each 
level needs it's own "infinite turbo" cheat code. These codes update the 
memory location which is the current weapon item to say it is always a 
turbo. Not only is it a pain to have multiple codes for a game like this 
but it is also a pain  
having to find the same codes time and time again. The new hardware 
breakpoint feature will hopefully make this problem disappear.   
  
The idea behind it is you set a breakpoint on the "turbo's" memory 
location which you have found. This will then tell you where the code 
is in memory which writes to this location (say removing the "tubro" 
value from memory when you use the "turbo"). By removing the code 
which wrote the value you  
should in theory prevent the game from ever updating the value again. 
And as the code will not move on different stages you should find this 
replacement code works for all stages of the game.  
  
  
  
Creating Cheat Codes With Hardware Breakpoints  
-------------------------------------------------------------  
  
1. Find your cheat code as normal using the "cheat code finder".  
2. Write down the code's address and value.  
3. Go into the memory editor.  
4. Press the "SHIFT" and "F8" keys simultaneously to go to the "set 
breakpoint" menu.  
5. Enter the address of your cheat code as the breakpoint address.  
6. Ensure the option "break on write" is ON. The option "break on 
execute" can  
be on or off as we are not using this at present.  
7. Ensure the "data address mask" is set to the hex value FFFFFFFF.   
8. Select the "set breakpoint" option by highlighting it and pressing 
the RETURN key.  
9. Press the "SHIFT" and "F9" keys simultaneously to run the game 
and wait for the breakpoint to occur.  
10. Play the game so the breakpoint occurs.  
11. If this worked then the memory editor will be displaying the 
address of the code which caused the breakpoint. If you are in hex 
mode press "SHIFT" + "F1" to go display the disassembly.   
12. The code will probably be a "SW" (store word), "SH" (store 
halfword) or "SB" (store byte) command. This command is writing a 
value to the memory location of your cheat code.   
13. Try removing the "SW"/ SH"/ SB" command by replacing it with a 
"NOP" command (no operation - value 00000000). To do this simply 
highlight the line which contains the "SW"/ SH"/ SB" command and 
press "SHIFT"+"F7".  
14. Now continue running the program by either exiting the memory 
editor or by pressing the "SHIFT"+"F9" keys.   
15. If the modification has worked then you now have a new code. The 
code consists of the address found by the breakpoint (where the "SW" / 
SH"/ SB" command was) with the cheat code value of  0000.  
  
For example : If the breakpoint found the address 80020E40 then your 
new cheat code is 80020E40 0000.  
  
  
  
Gav  (gavin@datel.co.uk)  
  
13/6/96  
  
......it's so sunny - I wanna go outside!   
  

