PSP Coding
Would you like to react to this message? Create an account in a few clicks or log in to continue.

PSP Coding


 
HomeLatest imagesSearchRegisterLog in

 

 How Joker A Code [ Big Guide ]

Go down 
2 posters
AuthorMessage
DragonZero




Posts : 13
Points : 34
Reputation : 0
Join date : 2010-09-29

How Joker A Code [ Big Guide ] Empty
PostSubject: How Joker A Code [ Big Guide ]   How Joker A Code [ Big Guide ] I_icon_minitimeMon Oct 04, 2010 8:52 am

How Joker A Code Noob Friendly

In this guide I teach you how to joker a code 2 buttons ON/OFF. I'll use a code for Medal Of Honor Heroes 2 (mohh2).
First 4 things you'll need to start with jokering

-PSP with NitePR
-PS2DIS (Download HERE)
-Computer and USB Cable
-A code you want to joker

Oke lets begin.

Ramp Dump

1. First you'll make a ramp dump of your game in nitePR. So start your game (for me mohh2). Then activate nitePR (home button twice then hold - & +) and click 2 times R and go to [PRX]. Then you go to "Dump RAM? Slot #0" and click on the X button to select this.
Now go out the game and go with your USB on your PSP and you see that you've a ramp dump in the root of your memory stick.

The Code

2. Now choose a code you want to joker. I choose the code INF Ammo for mohh2.
Here is the code:

#INF Ammo
0x006369D8 0x00010001

Just an easy code to start with your first joker.

Controller Address

3. Now you'll need to find a controller address that you want to joker.
First start your game. Then go in the game (ad hoc or something). Then open nitePR and set Pause game: True. Then exit nitePR and hold the button you would the address of it. Like hold the L button and then open nitePR (don't let L button go!). Then go to searcher and search 0x00000100. This is the L value
Here are all the values:

SELECT 0×00000001
START 0×00000008
DPAD UP 0×00000010
DPAD RIGHT 0×00000020
DPAD DOWN 0×00000040
DPAD LEFT 0×00000080
L TRIGGER 0×00000100
R TRIGGER 0×00000200
TRIANGLE 0×00001000
CIRCLE 0×00002000
CROSS 0×00004000
SQUARE 0×00008000

Now as you search is done exit nitePR and go in it but now you dont hold any button! Now search 0x00000000. Repeat this so many times as you need to find the real address.

Start Jokering

First we need to put the code and the controller address in real format. You do this with the Hex Calculator.
This you need to do:

Code (inf ammo)
006369D8 + 08800000 = 08E369D8

Controller Address (I've use select)
005D3068 + 08800000 = 08dd3068

This things you'll need by making a joker.
Start PS2DIS and drag your ramp dump into it. You see now this:

Unknown format

Load from 00000000
Address from 00000000

Now choose an nice address. like 0x00400000, 0x00300000, 0x00600000 etc. As you to use the address 0x00600000 add first 08800000 to it. Do this in the Hex Calculator. So the address become to 08e00000. So put this in it:

Unknown format

Load from 00000000
Address from 08e00000

Now click on OK. Now we need to find an area to make our joker so click ctrl+F and select "As hex string". Now add some zeros into the bar. Hold the 0 button 10 seconds. Then hit enter (OK). You've find now a area that has alot of nop thats good cuz we can make there our joker.
First we need the template of our joker. Now here it is:

2 buttons On/Off joker (by Sly XRoss)

lui t0, $(loads first half of controller address + 0880)
lh t0, $(loads second half of controller address)(t0)
lui t1, $(loads first half of code address + 0880)
ori t2, zero, $(value to activate)
ori t3, zero, $(value to deactivate)
lui t4, $(loads first half of hacked/on value)
ori t5, t4, $(loads second half of hacked/on value)
lui t6, $(loads first half of original/off value)
ori t6, t6, $(loads second half of original/off value)
bne t0, t2, $(branches the next bne)
nop
sw t5, $(loads second half of code address)(t1)
bne t0, t3, $(branches to the jr ra)
nop
sw t6, $(loads second half of code address)(t1)
jr ra

RED: We've already do this you can see above in the guide.

Now the first lui loads the first half of our controller address. So you'll add the first 4 digits (the first 4 numbers). So it become to this:

lui t0, $08dd

Now the second line (lh) loads second half of our controller address. so the last 4 digits (numbers). So this become to:

lh t0, $3068

So my first 2 lines become to:

08e005d0 3c0808dd lui t0, $08dd
08e005d4 85083068 lh t0, $3068(t0)

Now the 2th lui loads first half of our code address (inf ammo). So add the first 4 digits in it. like this:

lui t1, $08E3

Negative Rule: As the second half of your address is more as 8000 you add 1 by the last number of the first half of je code address! So as you code address is like this: 0x08e28010 you add 1 digit cuz the second is more as 8000 > 8010 so your first half of your code looks like this 08e3. This is just an example so don't forget this rule!

Now we have this 2 lines:

ori t2, zero, $(value to activate)
ori t3, zero, $(value to deactivate)

the first 1 is the button how you activate your joker. This is now by me the button 'Select'. So I choose 0001 cuz this is the select value. I want that you can deactivate the code with the button L Trigger so I choose 0100. So it become to:

ori t2, zero, $0001
ori t3, zero, $0100

Now the 3de lui loads first half of hacked/on value. This is the hex when the code is on. So as I activate my inf ammo code on nitePR with the music button and I look to the hex my hex is 00010001. So this line load the first half so become to 0001.

lui t4, $0001

Now the second line is the second half of hacked/on value, so you'll add the second four digits in the line. So become to this:

ori t5, t4, $0001

Now we come to the 4th lui this is the original/off value. You can find the original/off value on this way:

First you go to your cheat list and select your code you're jokering. You click on the X button and select the code. Then you go out nitePR and click on the music button to activate the codes to: ON. Now you go to the code and click on /\. You see the address and the hex of the code. The hex is the original ON value, because you've activate your codes.
Now copy the address of the code you've activate and go to decoder and there you past the address.
You see still in decoder that the hex of the code is the same as you've activate it.
Now go out nitePR and deactivate nitePR (click again on music button to set codes: OFF). Now your codes are off. Now go back to nitePR and look on decoder. You see the hex of your code is there diffirent! That is the original off value!

So my become to this:

lui t6, $0000 (0000 is the first half of my original off value)

Then the second line is the same way but then its the second half of your original off value so my become to:

ori t6, t6, $0000 (00000000 is my whole original off value)

Now you'll get your first bne. By this line you must use the next bne address. So you must use the address you see by the:
bne t0, t3, $(branches to the jr ra). Copy the address and that you put in:
bne t0, t2, $. So my become to:

bne t0, t2, $08e005f4

So my joker look now so far as this:

08e005d0 3c0808dd lui t0, $08dd
08e005d4 85083068 lh t0, $3068(t0)
08e005d8 3c0908e3 lui t1, $08e3
08e005dc 340a0001 ori t2, zero, $0001
08e005e0 340b0100 ori t3, zero, $0100
08e005e4 3c0c0001 lui t4, $0001
08e005e8 358d0001 ori t5, t4, $0001
08e005ec 3c0e0000 lui t6, $0000
08e005f0 35ce0000 ori t6, t6, $0000
08e005f4 150a0002 bne t0, t2, $08e005f4

Now the next line is nop you just add nothing just go to the next line.

The next one loads second half of code address, this is just the last 4 digits of your code address. So my become to:

sw t5, $69D8

The next line loads the address of your JR RA. So my become to:

bne t0, t3, $08e0060c

Next line is nop you just add nothing just go to the next line.

The next one loads second half of code address, this is just the last 4 digits of your code address. So my become to:

sw t6, $69D8

Now the last line is JR RA. Just put in the Command JR RA and click on OK.

Now my joker look so far like this::

08e005d0 3c0808dd lui t0, $08dd
08e005d4 85083068 lh t0, $3068(t0)
08e005d8 3c0908e3 lui t1, $08e3
08e005dc 340a0001 ori t2, zero, $0001
08e005e0 340b0100 ori t3, zero, $0100
08e005e4 3c0c0001 lui t4, $0001
08e005e8 358d0001 ori t5, t4, $0001
08e005ec 3c0e0000 lui t6, $0000
08e005f0 35ce0000 ori t6, t6, $0000
08e005f4 150a0002 bne t0, t2, $08e005f4
08e005f8 00000000 nop
08e005fc ad2d69d8 sw t5, $69D8
08e00600 150b0002 bne t0, t3, $08e0060c
08e00604 00000000 nop
08e00608 ad2e69d8 sw t6, $69D8
08e0060c 03e00008 jr ra

Now the last thing you need is the hook. You put the hook on the top of your joker.
Go to look in PS2Dis for some empty line (nop). There you put the begin address of your joker in REAL format.
Just add j $ for it. So it look like this:

j $08e005d0

There are alot of address of the hook. The address that is for all game is: 0x00000098.
So my joker look now like this:

089bf714 0a380174 j $08e005d0
08e005d0 3c0808dd lui t0, $08dd
08e005d4 85083068 lh t0, $3068(t0)
08e005d8 3c0908e3 lui t1, $08e3
08e005dc 340a0001 ori t2, zero, $0001
08e005e0 340b0100 ori t3, zero, $0100
08e005e4 3c0c0001 lui t4, $0001
08e005e8 358d0001 ori t5, t4, $0001
08e005ec 3c0e0000 lui t6, $0000
08e005f0 35ce0000 ori t6, t6, $0000
08e005f4 150a0002 bne t0, t2, $08e005f4
08e005f8 00000000 nop
08e005fc ad2d69d8 sw t5, $69D8
08e00600 150b0002 bne t0, t3, $08e0060c
08e00604 00000000 nop
08e00608 ad2e69d8 sw t6, $69D8
08e0060c 03e00008 jr ra

Joker is almost ready just go to the next step to see what you must do to get it in nitePR format.

Substracting

Now one thing left.. just must substract 08800000 of all your addresses. Do this in the hex calculator. So now my joker is done! So my joker look like:

001bf714 0a380174
006005d0 3c0808dd
006005d4 85083068
006005d8 3c0908e3
006005dc 340a0001
006005e0 340b0100
006005e4 3c0c0001
006005e8 358d0001
006005ec 3c0e0000
006005f0 35ce0000
006005f4 150a0002
006005f8 00000000
006005fc ad2d69d8
00600600 150b0002
00600604 00000000
00600608 ad2e69d8
0060060c 03e00008

Now just add those 2 nops lines away so look like:

001bf714 0a380174
006005d0 3c0808dd
006005d4 85083068
006005d8 3c0908e3
006005dc 340a0001
006005e0 340b0100
006005e4 3c0c0001
006005e8 358d0001
006005ec 3c0e0000
006005f0 35ce0000
006005f4 150a0002
006005fc ad2d69d8
00600600 150b0002
00600608 ad2e69d8
0060060c 03e00008

Now the finally result look like this:

#Inf Ammo [select+L]
;ON: Select
;OFF: L Trigger
;MOHH2
;by DragonZero
0x001bf714 0x0a380174
0x006005d0 0x3c0808dd
0x006005d4 0x85083068
0x006005d8 0x3c0908e3
0x006005dc 0x340a0001
0x006005e0 0x340b0100
0x006005e4 0x3c0c0001
0x006005e8 0x358d0001
0x006005ec 0x3c0e0000
0x006005f0 0x35ce0000
0x006005f4 0x150a0002
0x006005fc 0xad2d69d8
0x00600600 0x150b0002
0x00600608 0xad2e69d8
0x0060060c 0x03e00008

As you have problems or something else just PM my for help.

Guide and Code made by DragonZero.

~~DZ~~
Back to top Go down
SXYxJeff

SXYxJeff


Posts : 47
Points : 55
Reputation : 0
Join date : 2010-09-29

How Joker A Code [ Big Guide ] Empty
PostSubject: Re: How Joker A Code [ Big Guide ]   How Joker A Code [ Big Guide ] I_icon_minitimeMon Oct 04, 2010 8:37 pm

nice guide very well explained Smile good job DZ
Back to top Go down
 
How Joker A Code [ Big Guide ]
Back to top 
Page 1 of 1
 Similar topics
-
» [HELP] OTHER JOKER.
» Easy Way To Joker Your Subroutines
» How To Make An On/Off Joker[Video]
» How to Write a two code Subroutine!
» Code help

Permissions in this forum:You cannot reply to topics in this forum
PSP Coding :: PSP Section :: PSP Coding Tutorials :: MIPS-
Jump to: