Structure of a Joker Command :
Dxxxxxxx 0000 ????
xxxxxxx = Address of Joker Command
???? = Pad
Table Joker Command
You can use this Code on Your Website, but please leave a link to the CMP site for reference. Thanks
If you want to make Pad - Combos like L1 + L2 use our online Converter.
Finding Address of Joker Commands:
Method 1:
Need Labels without " " , e.g. Entrypoint.... if the game dont have it use our "Label Mates"
Search for (pad_dma_buf) and add 2.
Example: GTC Africa:

just add 2 and we have our Max Reserved Joker!
D02DB380 0000????
Note:
The same method can you use with this labels:
Pad_DMA_Buffer
g_Pad_Dma_Buffer
PADD1
Padinfo
Pad_rdata1
_____________________
Methode 2:
Search for Label ("libpad: buffer addr is not 64 byte align. %08x\n" )
Beispiel: Half Life (DE) v1

ps2dis brings us to the Byte - Address of the Label

we mark this address with Space and press F3 (Invoke Analyzer)

From this Address we have to go a few lines above till we come to an Addres like this ( ::FNC_xxxxxxxxx ). In a ELF-File which have Labels e.g. Entrypoint or by using our Tool "Label Mates" this address is named (scepadportopen) sein.This Address we also mark with Space and press F3 again.

Now we are near on our Joker Command. From the Addrees which ps2dis brings us (JAL #xxxxxxxx), we have to look (under and above) for an addiu with the Register a2.
We see that this Address links us to a nop which is our Joker Command (sometimes it dont links to another Address so try the Addiu as the Joker Address).
If we are on the nop which is our Joker - Address just add 2.
Joker Command Halflife
D03a5402 0000????
To get the Joker Address for Controller 2 just add 100.
Joker Command Halflife Controller 2
D03a5502 0000????
___________________
Multiple Line Joker Command
Sometimes you have to aktivate more than one line to get the right effect, so we need a special type of Joker Command.
Structure:
E0 xx ???? yyyyyyyy
x = how many lines you want to aktivate
???? = Pad
yyyyyyyy = Address of Joker Command
Example:
Joker Address (Add + 2):
00636782
Health:
201fd648 2402FFFF
201fd64c 2402FFFF
201fd650 2402FFFF
We want to refill our health by pressing R3
R3 = FFFB
The Healt Code has 3 Lines so we Take E00"3"
Press R3 to refill Health:
E003FFFB 00636782
201fd648 2402FFFF
201fd64c 2402FFFF
201fd650 2402FFFF
Using scePadInfoAct to make a joker. Not all games use this.
Example: The Punisher
001da1ac 0c06e518 jal $001b9460 [scePadInfoAct]
001da1b0 005eb021 addu s6, v0, fp
001da1b4 aec20000 sw v0, $0000(s6)
001da1b8 8ec30000 lw v1, $0000(s6)
001da1bc 18600094 blez v1, $001da410
001da1c0 0003082a slt at, zero, v1
001da1c4 10200024 beq at, zero, $001da258
001da1c8 0000902d daddu s2, zero, zero
001da1cc 3c0201a6 lui v0, $01a6
001da1d0 329000ff andi s0, s4, $00ff
001da1d4 2442e600 addiu v0, v0, $e600 (01a5e600)
001da1d8 005e8821 addu s1, v0, fp
Reverse Joker Command Pad1
D1A5E602 0000????
Dxxxxxxx 0000 ????
xxxxxxx = Address of Joker Command
???? = Pad
Table Joker Command
You can use this Code on Your Website, but please leave a link to the CMP site for reference. Thanks
HTML Code:
<table border="1" cellpadding="0" cellspacing="0" id="table1"><tr><td>Taste </td><td>Normal <br>JC </td><td>Reversed <br>RJC </td><td>Complementary <br>CJC </td><td width="157">Reversed Complementary <br>RCJC </td></tr><tr><td>L3 </td><td>0200 </td><td>0002 </td><td>FDFF </td><td width="157">FFFD </td></tr><tr><td>R3 </td><td>0400 </td><td>0004 </td><td>FBFF </td><td width="157">FFFB </td></tr><tr><td>L2 </td><td>0001 </td><td>0100 </td><td>FFFE </td><td width="157">FEFF </td></tr><tr><td>R2 </td><td>0002 </td><td>0200 </td><td>FFFD </td><td width="157">FDFF </td></tr><tr><td>L1 </td><td>0004 </td><td>0400 </td><td>FFFB </td><td width="157">FBFF </td></tr><tr><td>R1 </td><td>0008 </td><td>0800 </td><td>FFF7 </td><td width="157">F7FF </td></tr><tr><td>Dreieck </td><td>0010 </td><td>1000 </td><td>FFEF </td><td width="157">EFFF </td></tr><tr><td>Kreis </td><td>0020 </td><td>2000 </td><td>FFDF </td><td width="157">DFFF </td></tr><tr><td height="22">X </td><td height="22">0040 </td><td height="22">4000 </td><td height="22">FFBF </td><td width="157" height="22">BFFF </td></tr><tr><td>Viereck </td><td>0080 </td><td>8000 </td><td>FF7F </td><td width="157">7FFF </td></tr><tr><td>Select </td><td>0100 </td><td>0001 </td><td>FEFF </td><td width="157">FFFE </td></tr><tr><td>Start </td><td>0800 </td><td>0008 </td><td>F7FF </td><td width="157">FFF7 </td></tr><tr><td>oben </td><td>1000 </td><td>0010 </td><td>EFFF </td><td width="157">FFEF </td></tr><tr><td>rechts </td><td>2000 </td><td>0020 </td><td>DFFF </td><td width="157">FFDF </td></tr><tr><td>unten </td><td>4000 </td><td>0040 </td><td>BFFF </td><td width="157">FFBF </td></tr><tr><td>links </td><td>8000 </td><td>0080 </td><td>7FFF </td><td width="157">FF7F </td></tr></table>
Finding Address of Joker Commands:
Method 1:
Need Labels without " " , e.g. Entrypoint.... if the game dont have it use our "Label Mates"
Search for (pad_dma_buf) and add 2.
Example: GTC Africa:
just add 2 and we have our Max Reserved Joker!
D02DB380 0000????
Note:
The same method can you use with this labels:
Pad_DMA_Buffer
g_Pad_Dma_Buffer
PADD1
Padinfo
Pad_rdata1
_____________________
Methode 2:
Search for Label ("libpad: buffer addr is not 64 byte align. %08x\n" )
Beispiel: Half Life (DE) v1
ps2dis brings us to the Byte - Address of the Label
we mark this address with Space and press F3 (Invoke Analyzer)
From this Address we have to go a few lines above till we come to an Addres like this ( ::FNC_xxxxxxxxx ). In a ELF-File which have Labels e.g. Entrypoint or by using our Tool "Label Mates" this address is named (scepadportopen) sein.This Address we also mark with Space and press F3 again.
Now we are near on our Joker Command. From the Addrees which ps2dis brings us (JAL #xxxxxxxx), we have to look (under and above) for an addiu with the Register a2.
We see that this Address links us to a nop which is our Joker Command (sometimes it dont links to another Address so try the Addiu as the Joker Address).
If we are on the nop which is our Joker - Address just add 2.
Joker Command Halflife
D03a5402 0000????
To get the Joker Address for Controller 2 just add 100.
Joker Command Halflife Controller 2
D03a5502 0000????
___________________
Multiple Line Joker Command
Sometimes you have to aktivate more than one line to get the right effect, so we need a special type of Joker Command.
Structure:
E0 xx ???? yyyyyyyy
x = how many lines you want to aktivate
???? = Pad
yyyyyyyy = Address of Joker Command
Example:
Joker Address (Add + 2):
00636782
Health:
201fd648 2402FFFF
201fd64c 2402FFFF
201fd650 2402FFFF
We want to refill our health by pressing R3
R3 = FFFB
The Healt Code has 3 Lines so we Take E00"3"
Press R3 to refill Health:
E003FFFB 00636782
201fd648 2402FFFF
201fd64c 2402FFFF
201fd650 2402FFFF
Using scePadInfoAct to make a joker. Not all games use this.
Example: The Punisher
001da1ac 0c06e518 jal $001b9460 [scePadInfoAct]
001da1b0 005eb021 addu s6, v0, fp
001da1b4 aec20000 sw v0, $0000(s6)
001da1b8 8ec30000 lw v1, $0000(s6)
001da1bc 18600094 blez v1, $001da410
001da1c0 0003082a slt at, zero, v1
001da1c4 10200024 beq at, zero, $001da258
001da1c8 0000902d daddu s2, zero, zero
001da1cc 3c0201a6 lui v0, $01a6
001da1d0 329000ff andi s0, s4, $00ff
001da1d4 2442e600 addiu v0, v0, $e600 (01a5e600)
001da1d8 005e8821 addu s1, v0, fp
Reverse Joker Command Pad1
D1A5E602 0000????