I HIGHLY Suggest You Know How To Subroutine Before This
This guide was made by TheEliteOne aka Xx958xX aka Crioshinx aka Jinzo X
Things you need to know:
Real Addressing:
Anything you do in ps2dis needs the real address, to find it you need to open your calculator, click View>>Scientific>>View>>Hex and paste your address and add 8800000 (88 with 5 zeros) add zero(s) to the begining untell it's 8 cherecters long
The Negitive Rule:
When i type 'Negitive Rule' you need to see if the second halfof waht your entering is negitive or not,
Positive:
0000 >> 7F79
Negitive:
7F80 >> FFFF
Branching:
Branches used in this guide are bne, the use two register, the first one needs to be the controller address and the second one need to be the value to activate, then that branches to the next bne, whos registers are the controller and value to de-activate, branching is used to see if your pressing the buttons to activate or not. They are usualy followed by nops. To branch something, like if i had bne t0, t3, $Branch to jr ra i would enter the real jr ra address into that line
How To Find The Controller Address:
1] Set pause game? to true under the PRX/options menu
2] Hold L and open NitePR, search 100 under hex, L=100
3] Hold R and open NitePR, search 200 under hex, R=200
4] Hold L and R and open NitePR, search 300 in hex, 100 + 200 = 300
You should have 2 results now, try them with a hex of 200, if the R trigger is to shoot you will start shooting, heres the button values, i didn't type this:
Select button = 0001
Start button = 0008
Up D-Pad button = 0010
Right D-Pad button = 0020
Down D-Pad button = 0040
Left D-Pad button = 0080
Left trigger = 0100
Right trigger = 0200
Triangle button = 1000
Circle button = 2000
Cross button = 4000
Square button = 8000
Hold button = 20000
Music Note button = 800000
Screen button = 400000
Volume up button = 100000
Volume down button = 200000
Wlan switch up = 40000
Remote hold position 80000
Add tehm to have multibel buttons
L + R = 300
Hacked Value:
Copy and Paste the address into the decoder and the value under the hex menu is your ahcked value
Heres a template for one function On/Off: (I didn't ORIGINALY type this but i typed this, without a referance)
Heres what the registers mean:Lui t0, $First half of the real controller address
Lw t0, $Second half of the real controller addres(t0)
Lui t1, $First half of the real code address, use the Negitive Rule
Ori t2, 0, $Button value to activate
Ori t3, 0, $Button value to de-activate
Lui t4, $First half of the hacked value
Ori t5, t4 $Second half of the hacked value
Lui t6, $First half of the hex
Ori t6, t6 $Second half of the hex
Bne t0, t2, $Branches to the next bne
nop
Sw t5, $Second half of the real code address(t0)
Bne t0, t3, $Branches to the jr ra
nop
Sw t6, $Second half of the real code address(t0)
Jr ra
Heres what the commadns mean:Code:t0=temperary 0 t1=temperary1 t2=temperary2 t3=temperary3 t4=temperary4 t5=temperary5 t6=temperary6 0=Zero nop=No Operation
Notice how the branches registers go back to the controller and the button values? If you want to joker multible functions you need the second bne to branch to the first half of the code address for the second function, still include a jr ra, if you do reset your temperary register back to 0Code:Lui=Load Upper Immediate Lw=Load Word Ori=Or Immidiate Bne=Branche on not equal [this is the ONLY one i ahd to look up] Sw=Store Word Jr ra=Jump Register, Return Address
You will also need a hook
Heres a Hold template:
They use the same commands and registers so see above if you need those, Reply if you need any help, if i did anything wrong plz let me know asap, if your a mod dont just edit and let it go, please say what i did wrong in a replyLui t0 $first half real address
Lui t1 $First half real controller Address
lh t1 $Second Half Of real Controller Address(t1)
ori t2 t2 $Activation Value
Bne t1 t2 $Branches to JR RA
nop
lui t3 $First half hacked value
ori t3 t3 $Second half Hacked Value
sw t4 $Last half of Address(t0)
jr ra
Bookmarks