Log in
Search
Latest topics
Most active topic starters
Ghast | ||||
Negative | ||||
FireRach39494vr | ||||
Animal | ||||
Dragonite | ||||
Mrbean35000vrjr | ||||
DarkPikachu | ||||
thatrandomvrvalue | ||||
DarkAnil8r | ||||
deadItachi |
Top posting users this month
No user |
Top posting users this week
No user |
Who is online?
In total there is 1 user online :: 0 Registered, 0 Hidden and 1 Guest None
Most users ever online was 120 on Mon Apr 12, 2021 6:46 am
Decoding F6 to 04 and vice versa
5 posters
Page 1 of 1
Decoding F6 to 04 and vice versa
One of the more annoying questions on the code creator test, so i'll give a bit of the answer. Made this because I have not been active here lately, plan to do so soon. Anyway, onward.
F6 codes are universal, meaning region free. The way they work is as follows:
F6000001 80008100 <-- Tells the game to find the nearest address with instruction XXXXXXXX
XXXXXXXX XXXXXXXX <-- instructions to be found
14000YYY ZZZZZZZZ
E0000000 80008000
This part is kinda confusing. Once the game find the address with instruction XXXXXXXX, YYY is basically the number added to that address to find the address used for the actual code. The last digit must be a 0, 4, 8, or C. So basically if the address you found was 80677CA8 and YYY was C, you would add C to 80677CA8, giving you 80677CB4. 80677CB4 is basically the address used in the actual code. There can be more 14000YYY lines if the code is more than 1 04/C2 code.
ZZZZZZZZ is simple, basically the instruction you are changing. There can be more ZZZZZZZZ values if the code is a C2 code.
So if I wanted to convert 0488D250 3F000000 to F6, it would look like this:
F6000001 80008100
43300000 80000000 <-- In case you're wondering, the "80000000" is the instruction of the address after 0488D250, 0488D254.
14000000 3F000000
E0000000 80008000
This would make the code region free. However, its a real waste of lines, so say you want to convert a code from F6 to 04 or C2? Simple.
Lets use this code as an example:
Invisible Thundercloud Boosting:
F6000001 80008100
8003001C 7C721B78
14000008 3AC00000
E0000000 80008000
From here its simple. Open any region RAM dumps, then search for "8003001C 7C721B78". Once it finds the address, add "8" (the Y value I explained earlier) to the address, then you have your address. Simply put "3AC00000" as the instruction, and you're done.
Now 04 to F6 (this will be a more complicated code just for fun >)
047AD73C 60000000
047ADCE4 60000000
047AE008 60000000
047AE00C 60000000
You're going to want to find an instruction that is not repeated in RAM dumps or the code will have more than one effect. Closest one I found was 8804001A 98030028, so use that as your XXXXXXXX XXXXXXXX values.
So your code should look like this now:
F6000001 80008100
8804001A 98030028
Next, find the address with the 8804001A 98030028 (which is 807AD704) and subtract each 04 address from this one, as follows:
807AD73C - 807AD704 = 00000038
807ADCE4 - 807AD704 = 000005E0
807AE008 - 807AD704 = 00000904
807AE00C - 807AD704 = 00000908
You now have your Y values and you already had the instruction you wanted to change it to, so the rest is simple.
F6000001 80008100
8804001A 98030028
14000038 60000000 <-- 1st 04 address and instruction
140005E0 60000000 <-- 2nd 04 address and instruction
14000904 60000000 <-- 3rd 04 address and instruction
14000908 60000000 <-- 4th 04 address and instruction
E0000000 80008000 <-- ends the code
And thats basically it, porting to F6 and back to 04 or C2 depending on the code. Ask any questions below if you need help ~
F6 codes are universal, meaning region free. The way they work is as follows:
F6000001 80008100 <-- Tells the game to find the nearest address with instruction XXXXXXXX
XXXXXXXX XXXXXXXX <-- instructions to be found
14000YYY ZZZZZZZZ
E0000000 80008000
This part is kinda confusing. Once the game find the address with instruction XXXXXXXX, YYY is basically the number added to that address to find the address used for the actual code. The last digit must be a 0, 4, 8, or C. So basically if the address you found was 80677CA8 and YYY was C, you would add C to 80677CA8, giving you 80677CB4. 80677CB4 is basically the address used in the actual code. There can be more 14000YYY lines if the code is more than 1 04/C2 code.
ZZZZZZZZ is simple, basically the instruction you are changing. There can be more ZZZZZZZZ values if the code is a C2 code.
So if I wanted to convert 0488D250 3F000000 to F6, it would look like this:
F6000001 80008100
43300000 80000000 <-- In case you're wondering, the "80000000" is the instruction of the address after 0488D250, 0488D254.
14000000 3F000000
E0000000 80008000
This would make the code region free. However, its a real waste of lines, so say you want to convert a code from F6 to 04 or C2? Simple.
Lets use this code as an example:
Invisible Thundercloud Boosting:
F6000001 80008100
8003001C 7C721B78
14000008 3AC00000
E0000000 80008000
From here its simple. Open any region RAM dumps, then search for "8003001C 7C721B78". Once it finds the address, add "8" (the Y value I explained earlier) to the address, then you have your address. Simply put "3AC00000" as the instruction, and you're done.
Now 04 to F6 (this will be a more complicated code just for fun >)
047AD73C 60000000
047ADCE4 60000000
047AE008 60000000
047AE00C 60000000
You're going to want to find an instruction that is not repeated in RAM dumps or the code will have more than one effect. Closest one I found was 8804001A 98030028, so use that as your XXXXXXXX XXXXXXXX values.
So your code should look like this now:
F6000001 80008100
8804001A 98030028
Next, find the address with the 8804001A 98030028 (which is 807AD704) and subtract each 04 address from this one, as follows:
807AD73C - 807AD704 = 00000038
807ADCE4 - 807AD704 = 000005E0
807AE008 - 807AD704 = 00000904
807AE00C - 807AD704 = 00000908
You now have your Y values and you already had the instruction you wanted to change it to, so the rest is simple.
F6000001 80008100
8804001A 98030028
14000038 60000000 <-- 1st 04 address and instruction
140005E0 60000000 <-- 2nd 04 address and instruction
14000904 60000000 <-- 3rd 04 address and instruction
14000908 60000000 <-- 4th 04 address and instruction
E0000000 80008000 <-- ends the code
And thats basically it, porting to F6 and back to 04 or C2 depending on the code. Ask any questions below if you need help ~
Last edited by DarkAnil8r on Fri Dec 06, 2013 10:16 pm; edited 1 time in total
Re: Decoding F6 to 04 and vice versa
Lol its complicated the first time you look at it, but you'll eventually get used to it.Ghasty33666vr wrote:Good tutorial. Why i dont understand a single thing, its good
Re: Decoding F6 to 04 and vice versa
Congrats on mod alsoDarkAnil8r wrote:nopFireRach39494vr wrote:pr0 (clap)
Re: Decoding F6 to 04 and vice versa
ThanksGhasty33666vr wrote:Congrats on mod alsoDarkAnil8r wrote:nopFireRach39494vr wrote:pr0 (clap)
Re: Decoding F6 to 04 and vice versa
Yop and now, you got section mod. Congrats, epic.DarkAnil8r wrote:ThanksGhasty33666vr wrote:Congrats on mod alsoDarkAnil8r wrote:nopFireRach39494vr wrote:pr0 (clap)
Re: Decoding F6 to 04 and vice versa
yw. Just check the PM i sent you also pleaseDarkAnil8r wrote:ThanksGhasty33666vr wrote:Congrats on mod alsoDarkAnil8r wrote:nopFireRach39494vr wrote:pr0 (clap)
Re: Decoding F6 to 04 and vice versa
This is a great Tutorial!! I better learn this and how it works.
EvilRobot- VIP Member
- Posts : 596
Join date : 2013-10-13
Age : 26
Location : ???
Re: Decoding F6 to 04 and vice versa
Thanks :3 Good luckEvilRobot wrote:This is a great Tutorial!! I better learn this and how it works.
Re: Decoding F6 to 04 and vice versa
I think i'll start coding once i get my new laptop for christmas http://prntscr.com/29htw4 So trueDarkAnil8r wrote:Thanks :3 Good luckEvilRobot wrote:This is a great Tutorial!! I better learn this and how it works.
Page 1 of 1
Permissions in this forum:
You cannot reply to topics in this forum
Wed Jan 01, 2014 4:35 pm by Animal
» F-777- Sound of Infinity BRTSM
Wed Dec 25, 2013 12:34 pm by EvilRobot
» Count To 2000
Wed Dec 25, 2013 12:33 pm by EvilRobot
» Fire Snake Speed Modifier
Tue Dec 24, 2013 2:20 pm by gskw
» Decoding F6 to 04 and vice versa
Tue Dec 24, 2013 12:57 pm by Ghast
» AR's Hack Pack
Tue Dec 24, 2013 12:55 pm by Ghast
» Brawl Box v0.69
Tue Dec 24, 2013 12:54 pm by Ghast
» Flutey (World Map) - Castle Crashers [Final Lap Included]
Tue Dec 24, 2013 12:53 pm by Ghast
» Barracks Song - Castle Crashers [Final Lap Included]
Tue Dec 24, 2013 12:53 pm by Ghast