How do you port codes?

Started by Dark Chaos, November 22, 2009, 06:56:28 PM

Previous topic - Next topic

Dark Chaos

I have to know do i need a USB Gecko to port codes

Click here to level up my card!
You're too slow LOL :D

ricky23i

Quote from: Chaos1 on November 22, 2009, 06:56:28 PM
I have to know do i need a USB Gecko to port codes
no
1.first find a code that is in a region you do not require
2. then find the exact same code in the region you want
now find the address
3. subtract the addresses and get the offset of the regions..
4 now just subtract/add the difference to any other code in the region you want (must be same game) .

Example

Rune Factory Frontier (JPN) to (USA)

Max Gold JPN
04492690 05F5E0FF the address is 04492690 so = 80492690

Max Gold USA
04499090 05F5E0FFthe address is 04499090 so = 80499090 now subtract with a hex calculator

80499090-80492690=6A00 so in order to port to a us code in this game you must add 6A00 from most usa codes

example using above
rune factory
max hp JPN
04492688 FFFFFFFF the address is 04492688=80492688 so the usa address is 80492688+6A00=80499088 so
max hp USA
04499088 FFFFFFFF

Dark Chaos

#2
What about codes with more than one line  :smileyface:

Does it works th same way?

does this works with other games????

Click here to level up my card!
You're too slow LOL :D

Almas

If you want to port a code with more than one line, life gets a lot more complicated. It depends greatly on the structure of the code itself.

Many codes of more than one line follow a pointer tree. That is, it'll start by loading a value which stores an address, then using this to find another address, using this new value to find a new one etc. Generally, in this case, from one version of a game to another, we only need to change where we start our pointer tree. (e.g. the tree is exactly the same, just in a different place). Thus, porting is still simple.

They may also refer to several distinct addresses, in which case you will have to port each of these addresses.

For Assembly Codes, generally changing where the branch is set is sufficient. I have known a few rare cases where the set of safe registers changes from region to region, but generally speaking this is unlikely.

So, porting doesn't require a USB Gecko at all, but it does require a decent understanding of codetypes. It also requires one of either a sample of the same codes from both regions of the game, or a memory dump of both regions of the game.

Dark Chaos


Click here to level up my card!
You're too slow LOL :D

memememememe

I'm new, can you help.

1. How do i find the address?
2. Do i need some kind of program?

Thanks

Dark Chaos


Click here to level up my card!
You're too slow LOL :D

goemon_guy

Quote from: memememememe on December 10, 2009, 06:05:10 AM
I'm new, can you help.

1. How do i find the address?
2. Do i need some kind of program?

Thanks

Max HP (Rune Factory)
04492688 FFFFFFFF

1. Ok, the first 8 digits of a code is normally the address. (In our case it is 04492688) You have to take the first two digits off of the code (04 in our case) and replace them with 80, the main base address, Unless specified by a base address change. Our address is now 80492688. Now, if you were to boot up Wiird, and search for that, you would have the value of HP at your hands.

*NOTE* To tell if the code has a different base address, it will begin with 42000000 XX000000 Where XX is the base address for the code.

2. As far as I know, there are no programs which will port the codes. This process is a manual process. This is because the Memory Addresses are offset differently for each game.

If there is something that you dont understand or need help with, please tell me.
-Currently hacking the following game(s):
...
Request a code via PM, if you wish.

Dark Chaos

Yeah i want to port these code from sonic riders zero gravity RS9P8P from PAL to NTSC US :)

P1 Infinite GP(Gravity energy) by agrs700
48000000 80496EF0
DE000000 80008180
1400198C 42FF0000
E0000000 80008000

P1 Infinite rings(in race) by agrs700
48000000 80496EEC
DE000000 80008180
14000B3E 00000064
E0000000 80008000

P2 Infinite GP(Gravity energy) by agrs700
48000000 80496F04
DE000000 80008180
14005E0C 42FF0000
E0000000 80008000

P2 Infinite rings(in race) by agrs700
48000000 80496EF0
DE000000 80008180
14000B3E 00000064
E0000000 80008000

But i dont know how to do so :-\ ,please help.Many thanks.

Click here to level up my card!
You're too slow LOL :D

goemon_guy

Someone's gonna have to make at least one code to be able to port them.
-Currently hacking the following game(s):
...
Request a code via PM, if you wish.

Dark Chaos

So you can't port codes without and address?

Click here to level up my card!
You're too slow LOL :D

memememememe

OK so i found the offset and added it to my code giving me
8011DCCC

but i do not have a USB Gecko so i am not sure as to what to do now.

All i know is that my code will be XXXXXXXX 00000000.

If someone could help me i will be very greatfull.

goemon_guy

You can port codes if you have a memory dump from the two regions which you want to port from. But that requires a USB Gecko.

Quote from: memememememe on December 14, 2009, 03:54:20 AM
OK so i found the offset and added it to my code giving me
8011DCCC

but i do not have a USB Gecko so i am not sure as to what to do now.

All i know is that my code will be XXXXXXXX 00000000.

If someone could help me i will be very greatfull.

Could you post the codes you're trying to convert?
-Currently hacking the following game(s):
...
Request a code via PM, if you wish.

nerdy2009kid

The codes i want ported are:
P1 Infinite GP(Gravity energy) [agrs700]
48000000 80496EF0
DE000000 80008180
1400198C 42FF0000
E0000000 80008000



P1 Infinite rings(in race) [agrs700]
48000000 80496EEC
DE000000 80008180
14000B3E 00000064
E0000000 80008000



P1 Max GP Modifier [agrs700]
48000000 80496EEC
DE000000 80008180
14000428 xxxx0000
E0000000 80008000


Drenn

Since there're a billion codes in brawl I messed with this, and as I thought it wasn't as easy as it sounds...
The games aren't identical so the offset isn't always the same, for example, the unlock codes all had the same offset, but codes that had to do with the game, like Triple Jump glitch fix and no fastfall on C-stick had a different offset (the P1 gravity modifier was had a unique offset though :confused:). So I just use my common sense right? Don't see any other way to tell.