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 .
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.
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."
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
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 .
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
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.
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.
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."
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