PS2 Commands
PS2 Commands
Standard Format (CB/GS/XP/AR2)
8-bit Constant Write | 0aaaaaaa 000000dd |
This command will constantly write the value specified by dd to the address specified by aaaaaaa . |
16-bit Constant Write | 1aaaaaaa 0000dddd | This command will constantly write the value specified by dddd to the address specified by aaaaaaa . |
32-bit Constant Write |
2aaaaaaa dddddddd |
This command will constantly write the value specified by dddddddd to the address specified by aaaaaaa . |
Increment/Decrement Commands | ||
8-bit Increment | 301000nn aaaaaaaa | This command adds the value specified by nn to the value stored at the address aaaaaaaa . |
8-bit Decrement | 302000nn aaaaaaaa |
This command subtracts the value specified by nn to the value stored at the address aaaaaaaa . |
16-bit Increment | 3030nnnn aaaaaaaa |
This command adds the value specified by nnnn to the value stored at the address aaaaaaaa . |
16-bit Decrement | 3040nnnn aaaaaaaa |
This command subtracts the value specified by nnnn to the value stored at the address aaaaaaaa . |
32-bit Increment |
30500000 aaaaaaaa nnnnnnnn 00000000 |
This command adds the value specified by nnnnnnnn to the value stored at the address aaaaaaaa . |
32-bit Decrement | 30600000 aaaaaaaa nnnnnnnn 00000000 |
This command subtracts the value specified by nnnnnnnn to the value stored at the address aaaaaaaa . |
Contents
<a name="TOC-Test-Commands"></a>Test Commands | ||
16-bit Equal | Daaaaaaa 0000dddd |
Only when the value at the address specified by aaaaaaa is equal to the value specified by dddd will the next line of code be executed. |
16-bit Not Equal |
Daaaaaaa 0010dddd |
Only when the value at the address specified by aaaaaaa is not equal to the value specified by dddd will the next line of code be executed. |
16-bit Less Than |
Daaaaaaa 0020dddd |
Only when the value at the address specified by aaaaaaa is less than the value specified by dddd will the next line of code be executed. |
16-bit Greater Than | Daaaaaaa 0030dddd | Only when the value at the address specified by aaaaaaa is greater than the value specified by dddd will the next line of code be executed. |
16-bit Equal : Multiple Skip |
Ennndddd 0aaaaaaa | Only when the value at the address specified by aaaaaaa is equal to the value specified by dddd will the next nnn lines of code be executed. Otherwise, they will be skipped. |
16-bit Not Equal : Multiple Skip | Ennndddd 1aaaaaaa |
Only when the value at the address specified by aaaaaaa is not equal to the value specified by dddd will the next nnn lines of code be executed. Otherwise, they will be skipped. |
16-bit Less Than : Multiple Skip |
Ennndddd 2aaaaaaa |
Only when the value at the address specified by aaaaaaa is less than the value specified by dddd will the next nnn lines of code be executed. Otherwise, they will be skipped. |
16-bit Greater Than : Multiple Skip | Ennndddd 3aaaaaaa | Only when the value at the address specified by aaaaaaa is greater than the value specified by dddd will the next nnn lines of code be executed. Otherwise, they will be skipped. |
<a name="TOC-Miscellaneous-Commands"></a>Miscellaneous Commands | ||
Copy Bytes | 5aaaaaaa nnnnnnnn bbbbbbbb 00000000 |
a = Address to copy from b = Address to copy to n = Number of bytes to copy |
32-bit Multi-Address Write | 4aaaaaaa xxxxyyyy dddddddd 00000000 |
Starting with the address specified by aaaaaaa, this
code will write to xxxx addresses. The next address is determined by incrementing the current address by (yyyy * 4). The value specified by dddddddd is written to each calculated address. Also known as a "Patch Code." |
<a name="TOC-Untested-Commands"></a>Untested Commands | ||
Master-Command | 8aaaaaaa bbbbbbbb cccccccc 00000000 |
|
One Time Activator | Aaaaaaaa 000000xx | |
Time Command | B0000000 nnnnnnnn | v = delay value (32 bit) Delay putting on all following codes for v cycles; effect varies between games. To act on all codes, put it at the top of the code list! B0000000 10000000 Loop is executed 0x10000000 times. |
Code Stopper | Caaaaaaa vvvvvvvv | a = address (25 bit) v = value (32 bit) All following codes will be executed only, if 32-bit value at given address, a, is equal to given value, v. Otherwise, they will be skipped. Can be used to exit the code sequence at any point. To act on all codes (like traditional "Auto Activation"), put it at the top of the code list! Example: C0153880 03E00008 If the 32-bit value 0x03E00008 is at the address 0x00153880, then activate all following codes. Otherwise, do nothing. |
Master-Command | Faaaaaaa bbbbbbbb | |
Master Joker Command | E0aabbbb 00xxxxxx |
CB7+
All above codes also work on CB7+ here are what are
added to it some of below codes may work on other devices and lower
vers of CB but are untested on CB1-6..
Code Type | Format | What it does |
<a name="TOC-Increment-Decrement-Commands1"></a>Increment/Decrement Commands | ||
8-bit Increment | 300000nn aaaaaaaa | This command adds the value specified by nn to the value stored at the address aaaaaaaa . |
8-bit Decrement | 301000nn aaaaaaaa | This command subtracts the value specified by nn to the value stored at the address aaaaaaaa . |
16-bit Increment | 3020nnnn aaaaaaaa | This command adds the value specified by nnnn to the value stored at the address aaaaaaaa . |
16-bit Decrement | 3030nnnn aaaaaaaa | This command subtracts the value specified by nnnn to the value stored at the address aaaaaaaa . |
32-bit Increment | 30400000 aaaaaaaa nnnnnnnn 00000000 |
This command adds the value specified by nnnnnnnn to the value stored at the address aaaaaaaa . |
32-bit Decrement | 30500000 aaaaaaaa nnnnnnnn 00000000 |
This command subtracts the value specified by nnnnnnnn to the value stored at the address aaaaaaaa . |
<a name="TOC-Test-Commands1"></a>Test Commands | ||
16-bit Greater Than : Multiple Skip | Ezyyvvvv taaaaaaa | A = address to check from T = type, 0 = equal to, 1 = not equal to, 2 = Less Than, 3 = Greater Than V = 16 or 8 bit value YY = # of codes to skip if condition is false Z = 0 =16-bit, 1 = 8-bit |
<a name="TOC-Pointer-Commands"></a>Pointer Commands | ||
8-bit write | 6aaaaaaa 000000vv 0000nnnn iiiiiiii |
a = address to load 32-bit base from (25 bit) v = value to store at base + offset (8/16/32 bit) n = number of times to point (16 bit) i = 32-bit offset to add to base (n = 1) |
16-bit write | 6aaaaaaa 0000vvvv 0001nnnn iiiiiiii |
a = address to load 32-bit base from (25 bit) v = value to store at base + offset (8/16/32 bit) n = number of times to point (16 bit) i = 32-bit offset to add to base (n = 1) |
32-bit write | 6aaaaaaa vvvvvvvv 0002nnnn iiiiiiii |
a = address to load 32-bit base from (25 bit) v = value to store at base + offset (8/16/32 bit) n = number of times to point (16 bit) i = 32-bit offset to add to base (n = 1) |
Extra pointer line | 3rd line | Example 2: 602829D8 FFFFFFFF 00020002 0000071C 0000FB20 00000000 - loads base at address 0x002829D8, say base is 0x00290000 - adds offset 0x0000071C to make address 0x0029071C - loads base at address 0x0029071C, say base is 0x002A0000 - adds offset 0x0000FB20 to make address 0x002AFB20 - stores 32-bit value 0xFFFFFFFF to address 0x002AFB20 Note that execution stops, if (base & 0x3FFFFFFC) == 0. |
<a name="TOC-Boolean-Commands-Code-type-7-"></a>Boolean Commands (Code type 7) | ||
8-bit OR | 7aaaaaaa 000000vv | a = address (25 bit) |
8-bit AND | 7aaaaaaa 000200vv | v = value (8/16 bit) |
8-bit XOR | 7aaaaaaa 000400vv | Performs a bitwise logical operation between given value, v, and the value stored at |
16-bit OR | 7aaaaaaa 0001vvvv | given address, a. (Example:) |
16-bit AND | 7aaaaaaa 0003vvvv | 7048D402 005014A9 |
16-bit XOR | 7aaaaaaa 0005vvvv | 0x14A9 is XORed to the 16-bit value at address 0x0048D402. |
<a name="TOC-Miscellaneous-Commands1"></a>Miscellaneous Commands | ||
Copy Bytes | 5aaaaaaa nnnnnnnn bbbbbbbb 00000000 |
a = Address to copy from b = Address to copy to n = Number of bytes to copy |
32-bit Multi-Address Write | 4aaaaaaa xxxxyyyy dddddddd 00000000 |
Starting with the address specified by aaaaaaa, this
code will write to xxxx addresses. The next address is determined by incrementing the current address by (yyyy * 4). The value specified by dddddddd is written to each calculated address. Also known as a "Patch Code." |
32-bit Multi-Address Write/Value increase (GS/CB6+) | 4aaaaaaa xxxxyyyy dddddddd IIIIIIII |
Same As above but the I = size of value step (32 bit) as in how much it will count up on each address.. Example 4099A20C 00060002 00000000 00100000 - writes 0x00000000 to 0x0099A20C - writes 0x00100000 to 0x0099A214 - writes 0x00200000 to 0x0099A21C - writes 0x00300000 to 0x0099A224 - writes 0x00400000 to 0x0099A22C - writes 0x00500000 to 0x0099A234 |
<b>ARMAX Code Types</b>
Top line |
aaaabbbb bcteeeee |
A= Game ID B= Code ID C= Code/Game Region T= Top Line Type E= Expansion Data |
Standard Code format for Armax | abxxxxxx yyyyyyyy | When generally written in this way, it interprets as the fallowing. Address part ab000000 + address It becomes. concrete -- for example [C4]xxxxxx yyyyyyyy Say the address u are trying to make into the code is 00123456. C4000000 + 00123456 = C4 123456 in the case of it being a high end address like this 01234567,. C4000000 + 01234567 = C5 234567 since the address u are using is 7 numbers long u would Add to the B section of the code.. |
Code Type | Format | What it does |
<a name="TOC-Write-Commands"></a>Write Commands | ||
8-bit Constant Write | 00aaaaaa 000000dd | This command will constantly write the value specified by dd to the address specified by aaaaaa |
16-bit Constant Write | 02aaaaaa 0000dddd | This command will constantly write the value specified by dddd to the address specified by aaaaaa |
32-bit Constant Write | 04aaaaaa dddddddd | This command will constantly write the value specified by dddddddd to the address specified by aaaaaaa |
<a name="TOC-Multi-Skip-Increments"></a>Multi Skip/Increments | ||
8bit Multi Skip/Increments | 00000000 80xxxxxx 000000zz iiaacccc |
X = Address Z = Value I = Increment (Value) A = Amount of lines this code affects C = Increment (Address) (amount of data to skip between writes. The skip is based on the width of the data being written, so when writing 8 bits the skip is in 8-bit increments; when writing 16 bits, the skip will be in 16-bit increments and so on. The skip is always at least 1). |
16bit Multi Skip/Increments | 00000000 82xxxxxx 0000zzzz iiaacccc |
Examples: 00000000 80123456 00000001 01020001 = 00123456 00000001 00123457 00000002 |
32bit Multi Skip/Increments | 00000000 84xxxxxx zzzzzzzz iiaacccc |
Note
remember that 8bits 1=1, 16bits 2=1, 32bits 4=1 remember that when making the amount of lines and the Increments (Address) Section |
8-bit Multi Writes | 00aaaaaa iiiiiidd | A= Address I = Increment (Address) (remember 8bit 1=1 16bit 1=2 D = Starter Value Example: |
16-bit Multi Writes | 02aaaaaa iiiidddd | 00123456 00000201 Will do this in game 00123456 00000001 00123457 00000001 00123458 00000001 |
<a name="TOC-Increment-Decrement-Commands2"></a>Increment/Decrement Commands | ||
8-bit Increment | 80aaaaaa 000000nn | This command adds the value specified by nn to the value stored at the address aaaaaaaa . |
8-bit Decrement (Signed) |
80aaaaaa 000000nn | This command subtracts the value specified by nn to the value stored at the address aaaaaaaa . |
16-bit Increment | 82aaaaaa 0000nnnn | This command adds the value specified by nnnn to the value stored at the address aaaaaaaa . |
16-bit Decrement (Signed) |
82aaaaaa 0000nnnn | This command subtracts the value specified by nnnn to the value stored at the address aaaaaaaa . |
32-bit Increment | 84aaaaaa nnnnnnnn | This command adds the value specified by nnnnnnnn to the value stored at the address aaaaaaaa . |
32-bit Decrement (Signed) | 84aaaaaa nnnnnnnn | This command subtracts the value specified by nnnnnnnn to the value stored at the address aaaaaaaa . |
Notes:: | (Decrements Signed) | A signed Decrement means that u will
have to use the FFFFFFFF route to do this u take the windows Calculator put in what u want and press the +/- Button then press = This will give u the signed Decrement value.. Example: 20 +/- = FFFFFFFFFFFFFFE0just chop it down to whatever Decrement u are using 8bit = E0, 16 bit = FFE0 ect |
<a name="TOC-Test-Commands2"></a>Test Commands | ||
8-bit Equal | 08xxxxxx 000000zz | Only when the value at the address specified by xxxxxx is equal to the value specified by zz will the next line of code be executed. |
8-bit Not Equal | 10xxxxxx 000000zz | Only when the value at the address specified by xxxxxx is not equal to the value specified by zz will the next line of code be executed. |
8-bit Less Than | 28xxxxxx 000000zz | Only when the value at the address specified by xxxxxx is less than the value specified by zz will the next line of code be executed. |
8-bit Greater Than | 30xxxxxx 000000zz | Only when the value at the address specified by xxxxxx is greater than the value specified by zz will the next line of code be executed. |
8-bit Equal : Multiple Skip | 48xxxxxx 000000zz | Only when the value at the address specified by xxxxxx is equal to the value specified by zz will the next 2 lines of code be executed. Otherwise, they will be skipped. |
8-bit Not Equal : Multiple Skip | 50xxxxxx 000000zz | Only when the value at the address specified by xxxxxx is not equal to the value specified by zz will the next 2 lines of code be executed. Otherwise, they will be skipped. |
8-bit Less Than : Multiple Skip | 68xxxxxx 000000zz | Only when the value at the address specified by xxxxxx is less than the value specified by zz will the next 2 lines of code be executed. Otherwise, they will be skipped. |
8-bit Greater Than : Multiple Skip | 70xxxxxx 000000zz | Only when the value at the address specified by xxxxxx is greater than the value specified by zz will the next 2 lines of code be executed. Otherwise, they will be skipped. |
16-bit Equal | 0Axxxxxx 0000zzzz | Only when the value at the address specified by xxxxxx is equal to the value specified by zzzz will the next line of code be executed. |
16-bit Not Equal | 12xxxxxx 0000zzzz | Only when the value at the address specified by xxxxxx is not equal to the value specified by zzzz will the next line of code be executed. |
16-bit Less Than | Axxxxxx 0000zzzz | Only when the value at the address specified by xxxxxx is less than the value specified by zzzz will the next line of code be executed. |
16-bit Greater Than | 32xxxxxx 0000zzzz | Only when the value at the address specified by xxxxxx is greater than the value specified by zzzz will the next line of code be executed. |
16-bit Equal : Multiple Skip | 4Axxxxxx 0000zzzz | Only when the value at the address specified by xxxxxx is equal to the value specified by zzzz will the next 2 lines of code be executed. Otherwise, they will be skipped. |
16-bit Not Equal : Multiple Skip | 52xxxxxx 0000zzzz | Only when the value at the address specified by xxxxxx is not equal to the value specified by zzzz will the next 2 lines of code be executed. Otherwise, they will be skipped. |
16-bit Less Than : Multiple Skip | 6Axxxxxx 0000zzzz | Only when the value at the address specified by xxxxxx is less than the value specified by zzzz will the next 2 lines of code be executed. Otherwise, they will be skipped. |
16-bit Greater Than : Multiple Skip | 72xxxxxx 0000zzzz | Only when the value at the address specified by xxxxxx is greater than the value specified by zzzz will the next 2 lines of code be executed. Otherwise, they will be skipped. |
32-bit Equal | 0Cxxxxxx zzzzzzzz | Only when the value at the address specified by xxxxxx is equal to the value specified by zzzzzzzz will the next line of code be executed. |
32-bit Not Equal | 14xxxxxx zzzzzzzz | Only when the value at the address specified by xxxxxx is not equal to the value specified by zzzzzzzz will the next line of code be executed. |
32-bit Less Than | 2Cxxxxxx zzzzzzzz | Only when the value at the address specified by xxxxxx is less than the value specified by zzzzzzzz will the next line of code be executed. |
32-bit Greater Than | 34xxxxxx zzzzzzzz | Only when the value at the address specified by xxxxxx is greater than the value specified by zzzzzzzz will the next line of code be executed. |
32-bit Equal : Multiple Skip | 4Cxxxxxx zzzzzzzz | Only when the value at the address specified by xxxxxx is equal to the value specified by zzzzzzzz will the next 2 lines of code be executed. Otherwise, they will be skipped. |
32-bit Not Equal : Multiple Skip | 54xxxxxx zzzzzzzz | Only when the value at the address specified by xxxxxx is not equal to the value specified by zzzzzzzz will the next 2 lines of code be executed. Otherwise, they will be skipped. |
32-bit Less Than : Multiple Skip | 6Cxxxxxx zzzzzzzz | Only when the value at the address specified by xxxxxx is less than the value specified by zzzzzzzz will the next 2 lines of code be executed. Otherwise, they will be skipped. |
32-bit Greater Than : Multiple Skip | 74xxxxxx zzzzzzzz | Only when the value at the address specified by xxxxxx is greater than the value specified by zzzzzzzz will the next 2 lines of code be executed. Otherwise, they will be skipped. |
<a name="TOC-Test-Commands-Signed-"></a>Test Commands (Signed) | ||
8-bit Less Than | 18xxxxxx 000000zz | Only when the value at the address specified by xxxxxx is less than the value specified by zz will the next line of code be executed. |
8-bit Greater Than | 20xxxxxx 000000zz | Only when the value at the address specified by xxxxxx is greater than the value specified by zz will the next line of code be executed. |
8-bit Less Than : Multiple Skip | 58xxxxxx 000000zz | Only when the value at the address specified by xxxxxx is less than the value specified by zz will the next 2 lines of code be executed. Otherwise, they will be skipped. |
8-bit Greater Than : Multiple Skip | 60xxxxxx 000000zz | Only when the value at the address specified by xxxxxx is greater than the value specified by zz will the next 2 lines of code be executed. Otherwise, they will be skipped. |
16-bit Less Than | 1axxxxxx 0000zzzz | Only when the value at the address specified by xxxxxx is less than the value specified by zzzz will the next line of code be executed. |
16-bit Greater Than | 22xxxxxx 0000zzzz | Only when the value at the address specified by xxxxxx is greater than the value specified by zzzz will the next line of code be executed. |
16-bit Less Than : Multiple Skip | 5Axxxxxx 0000zzzz | Only when the value at the address specified by xxxxxx is less than the value specified by zzzz will the next 2 lines of code be executed. Otherwise, they will be skipped. |
16-bit Greater Than : Multiple Skip | 62xxxxxx 0000zzzz | Only when the value at the address specified by xxxxxx is greater than the value specified by zzzz will the next 2 lines of code be executed. Otherwise, they will be skipped. |
32-bit Less Than | 1Cxxxxxx zzzzzzzz | Only when the value at the address specified by xxxxxx is less than the value specified by zzzzzzzz will the next line of code be executed. |
32-bit Greater Than | 24xxxxxx zzzzzzzz | Only when the value at the address specified by xxxxxx is greater than the value specified by zzzzzzzz will the next line of code be executed. |
32-bit Less Than : Multiple Skip | 5Cxxxxxx zzzzzzzz | Only when the value at the address specified by xxxxxx is less than the value specified by zzzzzzzz will the next 2 lines of code be executed. Otherwise, they will be skipped. |
32-bit Greater Than : Multiple Skip | 64xxxxxx zzzzzzzz | Only when the value at the address specified by xxxxxx is greater than the value specified by zzzzzzzz will the next 2 lines of code be executed. Otherwise, they will be skipped. |
<a name="TOC-Test-Commands-Codes-On-Off-All"></a>Test Commands Codes On/Off All | ||
8-bit Equal On |
88xxxxxx 000000zz | Only when the value at the address specified by xxxxxx is equal to the value specified by zz will the next lines of code be executed. |
8-bit Not Equal On |
90xxxxxx 000000zz | Only when the value at the address specified by xxxxxx is not equal to the value specified by zz will the next lines of code be executed. |
8-bit Less Than On |
A8xxxxxx 000000zz | Only when the value at the address specified by xxxxxx is less than the value specified by zz will the next lines of code be executed. |
8-bit Greater Than On |
B0xxxxxx 000000zz | Only when the value at the address specified by xxxxxx is greater than the value specified by zz will the next lines of code be executed. |
8-bit Equal : Off | C8xxxxxx 000000zz | Only when the value at the address specified by xxxxxx is equal to the value specified by zz will the next Bunch of lines be Deactivated. Otherwise, they will be executed . |
8-bit Not Equal : Off | D0xxxxxx 000000zz | Only when the value at the address specified by xxxxxx is not equal to the value specified by zz will the next Bunch of lines be Deactivated. Otherwise, they will be executed . |
8-bit Less Than : Off | E8xxxxxx 000000zz | Only when the value at the address specified by xxxxxx is less than the value specified by zz will the next Bunch of lines be Deactivated. Otherwise, they will be executed |
8-bit Greater Than : Off | F0xxxxxx 000000zz | Only when the value at the address specified by xxxxxx is greater than the value specified by zz will the next Bunch of lines be Deactivated. Otherwise, they will be executed . |
16-bit Equal On |
8Axxxxxx 0000zzzz | Only when the value at the address specified by xxxxxx is equal to the value specified by zzzz will the next lines of code be executed. |
16-bit Not Equal On |
92xxxxxx 0000zzzz | Only when the value at the address specified by xxxxxx is not equal to the value specified by zzzz will the next lines of code be executed. |
16-bit Less Than On |
AAxxxxxx 0000zzzz | Only when the value at the address specified by xxxxxx is less than the value specified by zzzz will the next lines of code be executed. |
16-bit Greater Than On |
B2xxxxxx 0000zzzz | Only when the value at the address specified by xxxxxx is greater than the value specified by zzzz will the next lines of code be executed. |
16-bit Equal : Off | CAxxxxxx 0000zzzz | Only when the value at the address specified by xxxxxx is equal to the value specified by zzzz will the next Bunch of lines be Deactivated. Otherwise, they will be executed . |
16-bit Not Equal : Off | D2xxxxxx 0000zzzz | Only when the value at the address specified by xxxxxx is not equal to the value specified by zzzz will the next 2 lines of code be executed. Otherwise, they will be executed |
16-bit Less Than : Off | EAxxxxxx 0000zzzz | Only when the value at the address specified by xxxxxx is less than the value specified by zzzz will the next Bunch of lines be Deactivated. Otherwise, they will be executed . |
16-bit Greater Than : Off | F2xxxxxx 0000zzzz | Only when the value at the address specified by xxxxxx is greater than the value specified by zzzz will the next Bunch of lines be Deactivated. Otherwise, they will be executed |
32-bit Equal On |
8Cxxxxxx zzzzzzzz | Only when the value at the address specified by xxxxxx is equal to the value specified by zzzzzzzz will the next lines of code be executed. |
32-bit Not Equal On |
94xxxxxx zzzzzzzz | Only when the value at the address specified by xxxxxx is not equal to the value specified by zzzzzzzz will the next line of code be executed. |
32-bit Less Than On |
ACxxxxxx zzzzzzzz | Only when the value at the address specified by xxxxxx is less than the value specified by zzzzzzzz will the next lines of code be executed. |
32-bit Greater Than On |
B4xxxxxx zzzzzzzz | Only when the value at the address specified by xxxxxx is greater than the value specified by zzzzzzzz will the next lines of code be executed. |
32-bit Equal : Off | CCxxxxxx zzzzzzzz | Only when the value at the address specified by xxxxxx is equal to the value specified by zzzzzzzz will the next Bunch of lines be Deactivated. Otherwise, they will be executed . |
32-bit Not Equal : Off | D4xxxxxx zzzzzzzz | Only when the value at the address specified by xxxxxx is not equal to the value specified by zzzzzzzz will the next Bunch of lines be Deactivated. Otherwise, they will be executed . |
32-bit Less Than : Off | ECxxxxxx zzzzzzzz | Only when the value at the address specified by xxxxxx is less than the value specified by zzzzzzzz will the next Bunch of lines be Deactivated. Otherwise, they will be executed . |
32-bit Greater Than : Off | F4xxxxxx zzzzzzzz | Only when the value at the address specified by xxxxxx is greater than the value specified by zzzzzzzz will the next Bunch of lines be Deactivated. Otherwise, they will be executed |
<a name="TOC-Test-Commands-Codes-On-Off-All-Signed-"></a>Test Commands Codes On/Off All (Signed) | ||
8-bit Less Than On |
98xxxxxx 000000zz | Only when the value at the address specified by xxxxxx is less than the value specified by zz will the next lines of code be executed. |
8-bit Greater Than On |
A0xxxxxx 000000zz | Only when the value at the address specified by xxxxxx is greater than the value specified by zz will the next lines of code be executed. |
8-bit Less Than : Off | D8xxxxxx 000000zz | Only when the value at the address specified by xxxxxx is less than the value specified by zz will the next Bunch of lines be Deactivated. Otherwise, they will be executed |
8-bit Greater Than : Off | E0xxxxxx 000000zz | Only when the value at the address specified by xxxxxx is greater than the value specified by zz will the next Bunch of lines be Deactivated. Otherwise, they will be executed . |
16-bit Less Than On |
9Axxxxxx 0000zzzz | Only when the value at the address specified by xxxxxx is less than the value specified by zzzz will the next lines of code be executed. |
16-bit Greater Than On |
A2xxxxxx 0000zzzz | Only when the value at the address specified by xxxxxx is greater than the value specified by zzzz will the next lines of code be executed. |
16-bit Less Than : Off | DAxxxxxx 0000zzzz | Only when the value at the address specified by xxxxxx is less than the value specified by zzzz will the next Bunch of lines be Deactivated. Otherwise, they will be executed . |
16-bit Greater Than : Off | E2xxxxxx 0000zzzz | Only when the value at the address specified by xxxxxx is greater than the value specified by zzzz will the next Bunch of lines be Deactivated. Otherwise, they will be executed |
32-bit Less Than On |
9Cxxxxxx zzzzzzzz | Only when the value at the address specified by xxxxxx is less than the value specified by zzzzzzzz will the next lines of code be executed. |
32-bit Greater Than On |
A4xxxxxx zzzzzzzz | Only when the value at the address specified by xxxxxx is greater than the value specified by zzzzzzzz will the next lines of code be executed. |
32-bit Less Than : Off | DCxxxxxx zzzzzzzz | Only when the value at the address specified by xxxxxx is less than the value specified by zzzzzzzz will the next Bunch of lines be Deactivated. Otherwise, they will be executed . |
32-bit Greater Than : Off | E4xxxxxx zzzzzzzz | Only when the value at the address specified by xxxxxx is greater than the value specified by zzzzzzzz will the next Bunch of lines be Deactivated. Otherwise, they will be executed |
<a name="TOC-Pointer-Commands1"></a>Pointer Commands | ||
8-bit write | 40xxxxxx yyyyyyzz | x = address to load 32-bit base from (25 bit) z = value to store at base + offset (8/16/32 bit) y = number of times to point (16 bit) |
16-bit write | 42xxxxxx yyyyzzzz | x = address to load 32-bit base from (25 bit) z = value to store at base + offset (8/16/32 bit) y = number of times to point (16 bit) |
32-bit write | 44xxxxxx zzzzzzzz | x = address to load 32-bit base from (25 bit) z = value to store at base + offset (8/16/32 bit) y = number of times to point (16 bit) |
<a name="TOC--"></a>????? | ||
8-bit OR | ||
8-bit AND | ||
8-bit XOR | ||
16-bit OR | ||
16-bit AND | ||
16-bit XOR | ||
<a name="TOC-Miscellaneous-Commands2"></a>Miscellaneous Commands | ||
8bit Multi Skip/Increments | 00000000 80xxxxxx 000000zz iiaacccc |
X = Address Z = Value I = Increment (Value) A = Amount of lines this code affects C = Increment (Address)(amount of data to skip between writes. The skip is based on the width of the data being written, so when writing 8 bits the skip is in 8-bit increments; when writing 16 bits, the skip will be in 16-bit increments and so on. The skip is always at least 1). |
16bit Multi Skip/Increments | 00000000 82xxxxxx 0000zzzz iiaacccc |
Examples: 00000000 80123456 00000001 01020001 = 00123456 00000001 00123457 00000002 |
32bit Multi Skip/Increments | 00000000 84xxxxxx zzzzzzzz iiaacccc |
Note
remember that 8bits 1=1, 16bits 2=1, 32bits 4=1 remember that when making the amount of lines and the Increments (Address) Section |
8-bit Multi Writes | 00aaaaaa iiiiiidd | A= Address I = Increment (Address) (remember 8bit 1=1 16bit 1=2 D = Starter Value Example: |
16-bit Multi Writes | 02aaaaaa iiiidddd | 00123456 00000201 Will do this in game 00123456 00000001 00123457 00000001 00123458 00000001 |
<a name="TOC-Master-Commands"></a>Master Commands | ||
Master-Command | C4xxxxxx 000wyy0z | xxxxxxx is an address over which a hook is covered. The pattern of a hook is changeable by w. When w is 1, it is thread use (set z to 1). When w is 2, it is Intc interruption use (set z to 1). When w is 0, 3, 8, 9, and a and b, a hook is covered over Address xxxxxxx (z is 0) When w is c, a hook is covered over Address xxxxxxx.(z is 0) By the default, although eight codes are processed about one hook processing, this can be changed into the number specified by yy. Usually, yy is set to 08. |
Credit to
[1]https://sites.google.com/site/azagthoth0677/ps2commands
[2]https://web.archive.org/web/20080116023725/http://hellion00.thegfcc.com/
Codemasters-Projects (CMP)
Xploder Freaxs (XFX)</span>