The game is out today in Europe.Some codes would be greatly appreciated.... :)
I'm playing it right now, I'll see if I can get some codes.
Thank you Romaap,
maybe it was just a rumor, but i heard somewhere ( don't remember exactly where, it's almost 1 year ago ) that for the japanese version there was a code for character swap that let you replace Emil and Marta with Decus and Alice so you can play as them.
Don't know if it's actually possible but it would be cool.
The only code i'm interested to request is the one that let you have ALL the characters in your party forever, since during the game the old characters from symphonia 1 come and go away in / from your party and only near the end they stay forever.
This (http://wiird.l0nk.org/forum/index.php/topic,4577.0.html) is what I have so far.
BTW. This is a great game, I havn't enjoyed a game on the Wii this much for a long time :D
Thanx Romaap for the code ^^
Haven't you a code for a lot of Grade Point ? (For the Grade shop in the end ^^)
Romaap thanks!
I hope that you will continue the search for codes for this game... ;)
Can you make a quick level up code,please?
thx romaap for all this code
but can you find XP code like xp*32
bye
Can you make a Grade Point code,please?
Thanks Romaap!Is it possible to alter your Infinite health code to toggle on=off with a button press?
There is a particular battle in some point you HAVE to lose in order to see the best ending...
Port to US codes:
Elemental Grid Modifier, Have 10 of all items except for key items, infinite HP and SP for all characters, party modification.?
I ported some codes but for some reason I cant post in the PAL code section :/
Quote from: NOKAUBURE on February 07, 2010, 01:22:35 PM
I ported some codes but for some reason I cant post in the PAL code section :/
Then post them here
Quote from: captains on December 12, 2009, 03:00:33 PM
thx romaap for all this code
but can you find XP code like xp*32
bye
Seconded, It would be really nice to have that one.
Also, on RT4PAF, the "have all items except key-Items".
Could anyone port these codes to PAL? :)
Party Modification
Spot 1 [Aesteval]
004931E7 0000000X
044931E8 AAAABBBB
Spot 2 [Aesteval]
004931EF 0000000X
044931F0 AAAABBBB
Spot 3 [Aesteval]
004931F7 0000000X
044931F8 AAAABBBB
Spot 4 [Aesteval]
004931FF 0000000X
04493200 AAAABBBB
Spot 5 [Aesteval]
00493207 0000000X
04493208 AAAABBBB
Spot 6 [Aesteval]
0049320F 0000000X
04493210 AAAABBBB
Spot 7 [Aesteval]
00493217 0000000X
04493218 AAAABBBB
Spot 8 [Aesteval]
0049321F 0000000X
04493220 AAAABBBB
Spot 9 [Aesteval]
00493227 0000000X
04493228 AAAABBBB
Spot 10 [Aesteval]
0049322F 0000000X
04493230 AAAABBBB
Party Mod Note
Based off of YCAT21's Party Mod code on the Japanese version. See Japanese version for valid data for AAAABBBB.
X = 0/1 Character/Monster - designating a monster as a character can crash the game in certain circumstances
AAAA = Some character data
BBBB = Portrait and some other character data
AAAABBBB can mix data from two separate characters. IE, you could have Richter's data with Presea's portrait and title in the menu.
May not be able to access all party slots if there isn't already a character present in it.
Hello guys, I found some interesting codes for ToS DotNW, but they're for NTSC-US, and I was wondering if someone could port them to PAL! I would be really thankful! =D
I just need these please :
Tales of Symphonia Dawn of the New World [RT4EAF]
Gain Exp Multiplier [AlexWong]
040B924C 4800003C
040B928C 1C6300XX
XX=
02 x2
05 x5
0A x10
Feeding boosts stats like they never ate [dcx2]
040688DC 38000001
32 x50
64 x100
Dont need statues to evolve monsters [dcx2]
040689B8 7CC53378
Thanks a lot!!! =D
Hello
That I would be interested in these codes for the French version No [RT4PAF] but I do not know how to convert them so it is compatible to the FR-Pal version?
Thank you if you can help me.
(These codes is the U.S. version)
Emil Infinite HP [Aesteval]
02481F70 0002270F
Emil Infinite TP [Aesteval]
02481F76 000203E7
Emil 999 P.Atk, P.Def, A.Atk, A.Def, Dex, and Luck [Aesteval]
02481F7C 000503E7
Emil has all titles [Aesteval]
04481F6E 0007FFFF
Emil 9999 SP [Aesteval]
02481FA0 0000270F
Emil Extra Artes (may or may not be all artes) [Aesteval]
04481FA4 010FFFFF
Marta Infinite HP [Aesteval]
02482058 0002270F
Marta Infinite TP [Aesteval]
0248205E 000203E7
Marta 999 P.Atk, P.Def, A.Atk, A.Def, Dex, and Luck [Aesteval]
02482064 000503E7
Marta has all titles [Aesteval]
04482054 00007FFF
Marta 9999 SP [Aesteval]
02482088 0000270F
Richter Infinite HP [Aesteval]
02482140 0002270F
Richter Infinite TP [Aesteval]
02482146 000203E7
Richter 999 P.Atk, P.Def, A.Atk, A.Def, Dex, and Luck [Aesteval]
0248214C 000503E7
Richter 9999 SP [Aesteval]
02482170 0000270F
Colette Infinite HP [Aesteval]
02481918 0002270F
Colette Infinite TP [Aesteval]
0248191E 000203E7
Colette 999 P.Atk, P.Def, A.Atk, A.Def, Dex, and Luck [Aesteval]
02481924 000503E7
Colette 9999 SP [Aesteval]
02481948 0000270F
Lloyd Infinite HP [Aesteval]
02481830 0002270F
Lloyd Infinite TP [Aesteval]
02481836 000203E7
Lloyd 999 P.Atk, P.Def, A.Atk, A.Def, Dex, and Luck [Aesteval]
0248183C 000503E7
Lloyd 9999 SP [Aesteval]
02481860 0000270F
Genis Infinite HP [Aesteval]
02481A00 0002270F
Genis Infinite TP [Aesteval]
02481A06 000203E7
Genis 999 P.Atk, P.Def, A.Atk, A.Def, Dex, and Luck [Aesteval]
02481A0C 000503E7
Genis 9999 SP [Aesteval]
02481A30 0000270F
Raine Infinite HP [Aesteval]
02481AE8 0002270F
Raine Infinite TP [Aesteval]
02481AEE 000203E7
Raine 999 P.Atk, P.Def, A.Atk, A.Def, Dex, and Luck [Aesteval]
02481AF4 000503E7
Raine 9999 SP [Aesteval]
02481B18 0000270F
Sheena Infinite HP [Aesteval]
02481BD0 0002270F
Sheena Infinite TP [Aesteval]
02481BD6 000203E7
Sheena 999 P.Atk, P.Def, A.Atk, A.Def, Dex, and Luck [Aesteval]
02481BDC 000503E7
Sheena 9999 SP [Aesteval]
02481C00 0000270F
Zelos Infinite HP [Aesteval]
02481CB8 0002270F
Zelos Infinite TP [Aesteval]
02481CBE 000203E7
Zelos 999 P.Atk, P.Def, A.Atk, A.Def, Dex, and Luck [Aesteval]
02481CC4 000503E7
Zelos 9999 SP [Aesteval]
02481CE8 0000270F
Presea Infinite HP [Aesteval]
02481DA0 0002270F
Presea Infinite TP [Aesteval]
02481DA6 000203E7
Presea 999 P.Atk, P.Def, A.Atk, A.Def, Dex, and Luck [Aesteval]
02481DAC 000503E7
Presea 9999 SP [Aesteval]
02481DD0 0000270F
Regal Infinite HP [Aesteval]
02481E88 0002270F
Regal Infinite TP [Aesteval]
02481E8E 000203E7
Regal 999 P.Atk, P.Def, A.Atk, A.Def, Dex, and Luck [Aesteval]
02481E94 000503E7
Regal 9999 SP [Aesteval]
02481EB8 0000270F
I'd love to help but I don't have the game in french. Do you have a UsbGecko? If you do I can help you!
Thank you for having answered.
Sorry but I too understand your question? if you mean the USB chain if I install not,
by-cons I have to install Gecko chain but it all.
I'm French I do not speak English it is Google that makes it for me so that's why you have trouble understanding you and I am sincerely sorry.
Is the French version different from the other PAL versions?
Romaap ported some codes to PAL. http://www.geckocodes.org/?c=RT4PAF
Do those codes work for you? If yes, I can work with Patedj to port the other codes.
Quote from: Patedj on February 23, 2011, 06:20:09 AM
I'd love to help but I don't have the game in french. Do you have a UsbGecko? If you do I can help you!
Jaimerais bien t'aider mais le jeux n'ai pas en francais. Est-ce que ta un Gecko USB? Ca t'aideras a voir ce qui ce passe avec le jeux. C'est ca qu'ont utilisent. Ci non, esseille les codes de Romaap sur PAL. Ca pourais fonctionner.
English-
Jaimerais help you, but the games have not french. Is your one USB Gecko? It helps you to see what happens with the games. What use is ca. It not, esseille Romaap codes to PAL. AC to operate.
Merci pour le liens.
Non je n'ai pas UsbGecko et en plus il paraît que il faut que la console possède une puce hors moi ce n'est pas le cas :(
Moi ce que je chercher c'est uniquement avoir les autres personnages avec les HP et TP infinie.
English-
Thank you for the links.
No I did not USBGecko and more it seems that it is necessary that the console has a chip out of me this is not the case
What I seek is to have the only other characters with infinite HP and TP.
MOD EDIT: You may post in your native language. But please do us a small favor and also use Google Translate to make an English copy for the rest of us. :)
While we're talking about Tales of Symphonia 2, could anyone please port these codes from US to PAL?
----------------------
Party Modification
Spot 1 [Aesteval]
004931E7 0000000X
044931E8 AAAABBBB
Spot 2 [Aesteval]
004931EF 0000000X
044931F0 AAAABBBB
Spot 3 [Aesteval]
004931F7 0000000X
044931F8 AAAABBBB
Spot 4 [Aesteval]
004931FF 0000000X
04493200 AAAABBBB
Spot 5 [Aesteval]
00493207 0000000X
04493208 AAAABBBB
Spot 6 [Aesteval]
0049320F 0000000X
04493210 AAAABBBB
Spot 7 [Aesteval]
00493217 0000000X
04493218 AAAABBBB
Spot 8 [Aesteval]
0049321F 0000000X
04493220 AAAABBBB
Spot 9 [Aesteval]
00493227 0000000X
04493228 AAAABBBB
Spot 10 [Aesteval]
0049322F 0000000X
04493230 AAAABBBB
Party Mod Note
Based off of YCAT21's Party Mod code on the Japanese version. See Japanese version for valid data for AAAABBBB.
X = 0/1 Character/Monster - designating a monster as a character can crash the game in certain circumstances
AAAA = Some character data
BBBB = Portrait and some other character data
AAAABBBB can mix data from two separate characters. IE, you could have Richter's data with Presea's portrait and title in the menu.
May not be able to access all party slots if there isn't already a character present in it.
---------------------------------
I would love to use these codes :)
I thought that all PAL languages could use the same codes. Right?
I love this game and would definitely help port the many awesome codes that exist for NTSC.
Quote from: skyground95 on February 23, 2011, 04:44:16 PM
While we're talking about Tales of Symphonia 2, could anyone please port these codes from US to PAL?
----------------------
Party Modification
Spot 1 [Aesteval]
004931E7 0000000X
044931E8 AAAABBBB
Spot 2 [Aesteval]
004931EF 0000000X
044931F0 AAAABBBB
I checked it out WITHOUT porting and It came down to 18 addresses but then something magically happened and I only have 1
Search Results
[spoiler]
8068E528 000C0026 000C0026 00000000
[/spoiler]
The code for slot 1
0068E51F 0000000x
0468E520 aaaabbbb
Slot 2
0068E52F 0000000x
0468E528 aaaabbbb
and so on
[spoiler]Slot 1 + 10= slot 2 for picture
Slot 1 + 10 + 1 = slot 2
+again for slot 3
+11 again for slot 3's attributes
and so on...[/spoiler]
Quote from: Patedj on February 24, 2011, 02:55:22 AM
Quote from: skyground95 on February 23, 2011, 04:44:16 PM
Spot 1 [Aesteval]
004931E7 0000000X
044931E8 AAAABBBB
Spot 2 [Aesteval]
004931EF 0000000X
044931F0 AAAABBBB
The code for slot 1
0068E51F 0000000x
0468E520 aaaabbbb
Slot 2
0068E52F 0000000x
0468E528 aaaabbbb
From the pattern, shouldn't that be 0068E52
7?
EDIT:
BTW, Patedj, if you want to port the original request, do a text search for "Emil" in Memory Viewer. When you find it, the HP, MP, TP, etc should all be in the immediate vicinity. If they aren't, do another search for Emil. Remember to convert your current Decimal HP/MP/TP to Hex so that you can recognize them when you see them.
(Version English)
Re Hello
So here is my question for this game "Fire Emblem Radiant Dawn" and here http://wiird.l0nk.org/forum/index.php/topic,23.0.html is what it is to fill the same conduct codes convert or else it's completely different?
Thank you.
(Version française)
Re Bonjour
Alors voilà je voudrais savoir pour ce jeu "Fire Emblem Radiant Dawn" qui et ici http://wiird.l0nk.org/forum/index.php/topic,23.0.html est-ce que c'est le même procéder pour pourvoir convertir les codes ou alors c'est complètement différent?
Merci.
Same way Nero35.
Ok so coming soon! Ported Tales of Symphonia codes from ntsc to pal by dcx2 helped by me. Stay tuned
The data offset appears to be 0x1FB338. So if you add 1FB338 to any NTSC data address (NOT ASM), you can make a PAL address. This is just like Patedj's port of Aesteval's Slot codes. I confirmed that all the character stats are the same. That is...
Emil Infinite HP [Aesteval] (NTSC)
02481F70 0002270F
481F70 + 1FB338 = 67D2A8
Emil Infinite HP [dcx2] (PAL)
0267D2A8 0002270F
ported from Aesteval's NTSC
EDIT:
Also, try this code to see if my ASM port worked
Very Short Casting Time [dcx2]
041D1C88 60000000
041D1C8C 3BC0000A
Has anyone verified the Very Short Casting Time code? I want to know that it works before I start trying to port more ASM codes.
Quote from: dcx2 on March 17, 2011, 07:06:00 PM
Has anyone verified the Very Short Casting Time code? I want to know that it works before I start trying to port more ASM codes.
Yep It works!
Here I am thinking I should port this................... GOD BLESS dcx2! Where should I start dcx2? Anyone?
haha...what in particular would you like to port? There's a lot of codes...
I can send you a MEM1 dump of NTSC, and you could use the dump loading feature of Gecko.NET to try to port codes yourself.
sounds like a start. I'm still unsure about which code though. I'm thinking the one that will make most pal players happiest. but which one would that be?
a code in my opinion that made EVERYBODY happy, was the unlocking leveling up for richter and lloyds "team"
Unlock Lloyd & Co. for leveling [dcx2]
C209F828 00000003
2C030000 4082000C
38600001 7C7FF1AE
80010024 00000000
Changes to levels are permanent, but if you don't use the code they won't level anymore
Awesome! Which one was next?
I'm going to split the PAL porting discussion into the PAL thread...this thread is getting big enough as it is, heh.
Code Porting
[spoiler]Unlock Lloyd etc for leveling v2 [dcx2]
C209FC0C 00000003
88040000 2C000000
4082000C 38000001
98040000 00000000[/spoiler]
Function NTSC
[spoiler]8009FB60: 9421FFE0 stwu r1,-32(r1)
8009FB64: 7C0802A6 mflr r0
8009FB68: 2C040000 cmpwi r4,0
8009FB6C: 90010024 stw r0,36(r1)
8009FB70: BF61000C stmw r27,12(r1)
8009FB74: 7CBB2B78 mr r27,r5
8009FB78: 7CDC3378 mr r28,r6
8009FB7C: 7CFD3B78 mr r29,r7
8009FB80: 7D1E4378 mr r30,r8
8009FB84: 7D3F4B78 mr r31,r9
8009FB88: 41820074 beq- 0x8009fbfc
8009FB8C: 4BFFD939 bl 0x8009d4c4
8009FB90: 2C030000 cmpwi r3,0
8009FB94: 4182005C beq- 0x8009fbf0
8009FB98: 8803005C lbz r0,92(r3)
8009FB9C: 901B0000 stw r0,0(r27)
8009FBA0: A8030074 lha r0,116(r3)
8009FBA4: 901C0000 stw r0,0(r28)
8009FBA8: A8030076 lha r0,118(r3)
8009FBAC: 901D0000 stw r0,0(r29)
8009FBB0: A8030078 lha r0,120(r3)
8009FBB4: 901F0000 stw r0,0(r31)
8009FBB8: 801B0000 lwz r0,0(r27)
8009FBBC: 2C000000 cmpwi r0,0
8009FBC0: 4180000C blt- 0x8009fbcc
8009FBC4: 2C000006 cmpwi r0,6
8009FBC8: 4180000C blt- 0x8009fbd4
8009FBCC: 38600000 li r3,0
8009FBD0: 48000014 b 0x8009fbe4
8009FBD4: 3C60802D lis r3,-32723
8009FBD8: 54002036 rlwinm r0,r0,4,0,27
8009FBDC: 386360A8 addi r3,r3,24744
8009FBE0: 7C630214 add r3,r3,r0
8009FBE4: A0030004 lhz r0,4(r3)
8009FBE8: 901E0000 stw r0,0(r30)
8009FBEC: 48000048 b 0x8009fc34
8009FBF0: 38000000 li r0,0
8009FBF4: 901B0000 stw r0,0(r27)
8009FBF8: 4800003C b 0x8009fc34
8009FBFC: 1C03000C mulli r0,r3,12
8009FC00: 3C60802D lis r3,-32723
8009FC04: 38636108 addi r3,r3,24840
8009FC08: 7C830214 add r4,r3,r0
8009FC0C: 7C0300AE lbzx r0,r3,r0
8009FC10: A0640002 lhz r3,2(r4)
8009FC14: 90050000 stw r0,0(r5)
8009FC18: A0040004 lhz r0,4(r4)
8009FC1C: 90660000 stw r3,0(r6)
8009FC20: A0640008 lhz r3,8(r4)
8009FC24: 90070000 stw r0,0(r7)
8009FC28: A004000A lhz r0,10(r4)
8009FC2C: 90680000 stw r3,0(r8)
8009FC30: 90090000 stw r0,0(r9)
8009FC34: BB61000C lmw r27,12(r1)
8009FC38: 80010024 lwz r0,36(r1)
8009FC3C: 7C0803A6 mtlr r0
8009FC40: 38210020 addi r1,r1,32
8009FC44: 4E800020 blr
[/spoiler]
Used DeltaMaker and got C20A1F00 + Did a search on mulli: 8009FBFC: 1C03000C mulli r0,r3,12
Function Pal
[spoiler]800A1E3C: 9421FFE0 stwu r1,-32(r1)
800A1E40: 7C0802A6 mflr r0
800A1E44: 2C040000 cmpwi r4,0
800A1E48: 90010024 stw r0,36(r1)
800A1E4C: BF61000C stmw r27,12(r1)
800A1E50: 7CBB2B78 mr r27,r5
800A1E54: 7CDC3378 mr r28,r6
800A1E58: 7CFD3B78 mr r29,r7
800A1E5C: 7D1E4378 mr r30,r8
800A1E60: 7D3F4B78 mr r31,r9
800A1E64: 41820068 beq- 0x800a1ecc
800A1E68: 4BFFCC6D bl 0x8009ead4
800A1E6C: 2C030000 cmpwi r3,0
800A1E70: 41820050 beq- 0x800a1ec0
800A1E74: 8803007C lbz r0,124(r3)
800A1E78: 38800000 li r4,0
800A1E7C: 901B0000 stw r0,0(r27)
800A1E80: A8030094 lha r0,148(r3)
800A1E84: 901C0000 stw r0,0(r28)
800A1E88: A8030096 lha r0,150(r3)
800A1E8C: 901D0000 stw r0,0(r29)
800A1E90: A8030098 lha r0,152(r3)
800A1E94: 901F0000 stw r0,0(r31)
800A1E98: 801B0000 lwz r0,0(r27)
800A1E9C: 28000005 cmplwi r0,5
800A1EA0: 41810014 bgt- 0x800a1eb4
800A1EA4: 3C608045 lis r3,-32699
800A1EA8: 54002036 rlwinm r0,r0,4,0,27
800A1EAC: 38631838 addi r3,r3,6200
800A1EB0: 7C830214 add r4,r3,r0
800A1EB4: A0040004 lhz r0,4(r4)
800A1EB8: 901E0000 stw r0,0(r30)
800A1EBC: 48000044 b 0x800a1f00
800A1EC0: 38000000 li r0,0
800A1EC4: 901B0000 stw r0,0(r27)
800A1EC8: 48000038 b 0x800a1f00
800A1ECC: 1C03000C mulli r0,r3,12 Search result
800A1ED0: 3C608045 lis r3,-32699
800A1ED4: 38631898 addi r3,r3,6296
800A1ED8: 7C0300EE lbzux r0,r3,r0 My thought on what it should be congruent with
800A1EDC: 90050000 stw r0,0(r5)
800A1EE0: A0030002 lhz r0,2(r3)
800A1EE4: 90060000 stw r0,0(r6)
800A1EE8: A0030004 lhz r0,4(r3)
800A1EEC: 90070000 stw r0,0(r7)
800A1EF0: A0030008 lhz r0,8(r3)
800A1EF4: 90080000 stw r0,0(r8)
800A1EF8: A003000A lhz r0,10(r3)
800A1EFC: 90090000 stw r0,0(r9)
800A1F00: BB61000C lmw r27,12(r1) DM address
800A1F04: 80010024 lwz r0,36(r1)
800A1F08: 7C0803A6 mtlr r0
800A1F0C: 38210020 addi r1,r1,32
800A1F10: 4E800020 blr
[/spoiler]
Pal Code VA ->VB -> VC
[spoiler]lbz r0,0(r4) --> lbz r0,0(r3)
cmpwi r0,0
bne- 0x0C
li r0,1
stb r0,0(r4) --> stb r0,0(r3)
Correction
lbzx r12,r3,r0
cmpwi r12,0
bne- _END
li r12,1
stbx r12,r3,r0
_END:
lbzux r0,r3,r0
C20A1ED8 00000003
88040000 2C000000
4082000C 38000001
98040000 00000000
To
C20A1ED8 00000003
88030000 2C000000
4082000C 38000001
98030000 00000000
To Correction
C20A1ED8 00000004
7D8300AE 2C0C0000
4082000C 39800001
7D8301AE 7C0300EE
60000000 00000000
[/spoiler]
Freezes --> Successful (most likely bugged) ---> Successful
Code Porting
[spoiler]Everyone can reach level 255 [dcx2]
082D60BC 00FF0000
20040010 00000000
082D60C4 802D5788
20040010 00000000
082D5AAC 0099967E
20370004 0000FFFF
082D60C0 00D09647
20040010 00000000
0409F8FC 3C6000D0
0409F900 60609647[/spoiler]
NTSC Functions x6 [spoiler]or 7? 802D5788[/spoiler]
Too big to dump them all completely
[spoiler]082D60BC: .word 0x00c80000 802D60C0:.word 0x0098967f 802D60C4: lwz r1,22408(r13)
[spoiler]802D5788: .word 0x00000000[/spoiler]
082D5AAC: .word 0x008f9bc1 082D60C0 :.word 0x0098967f 0409F8FC:lis r3,153 0409F900 :subi r0,r3,27009 [/spoiler]
Pal Functions
Pal Code[spoiler]
VA
0845184C 00FF0000
20040010 00000000
08451854 802D5788
20040010 00000000
0845123C 0099967E
20370004 0000FFFF
08451850 00D09647
20040010 00000000
040A1BF0 3C6000D0
040A1BF4 60609647
VB
0845184C 00FF0000
20040010 00000000
08451854 80450F18
20040010 00000000
0845123C 0099967E
20370004 0000FFFF
08451850 00D09647
20040010 00000000
040A1BF0 3C6000D0
040A1BF4 60609647[/spoiler]
VA unsuccessful?[spoiler]Triggered the code when Everyone is at 200. Exp Next 1,804,918,247 and stays the same after a battle.[/spoiler] VB-> Successful
Code Porting
[spoiler]Encounter Roller v3.1 [dcx2]
Part1
0401C888 80031B5C
0401CC14 41820020
284D755A DFFF2000
0401C888 38000001
0401CC14 60000000
E0000000 80008000
Part 2
C201C088 00000018
A0841C1C 48000009
00000000 7D2802A6
3D80804D A14C755A
A10C755E A0E900C2
3CA0802E 60A5DCF8
71402000 4182008C
7C8700D0 71001310
4082000C 71404000
41820058 280A2200
4182004C 28078000
40800050 280A2010
4182000C 280A6010
40820014 38E70001
2C0704EA 40810008
38E00001 280A3000
4182000C 280A7000
40820010 34E7FFFF
41810008 38E004EA
7CE43B78 B08900C2
28078000 41800014
808D89A8 34E40000
40800008 38E00000
1C07001A 7C050214
90090000 00000000
Part 3
C20BB9B4 00000003
3800FFFF 2C000000
41800008 90030000
80030000 00000000
Part 4
C201CC7C 00000003
3734FFFD 4181000D
7F2802A6 8339FF18
2C14000F 00000000
Part 5
C201CC94 00000002
3F208031 63390528
38600000 00000000
Part 6
C201C8D8 00000003
A0631B62 28190064
4180000C 1C140002
7C79022E 00000000
Part 7
C201C944 00000003
8872001C 28190064
4180000C 38140008
7C7900AE 00000000
Part 8
C201CC24 00000003
7CA02850 28190064
4180000C 1C140002
7CB9022E 00000000
Part 9
C201CB58 00000003
A8B20024 28190064
4180000C 38140010
7CB900AE 00000000
Part 10
C201CBA0 00000003
A8B2002A 28190064
4180000C 38140014
7CB900AE 00000000[/spoiler]
Needs dis-ciphering
Processing...
[spoiler]Part 1 Done
0401C888 = 04061670
80031B5C = 800343B0
0401CC14 = 04061650
Remote [spoiler]284D755A[/spoiler] = Remote[spoiler] 286D28E2 [/spoiler]
[/spoiler]
[spoiler]Part 2
C201C888 = C2061670
...... [/spoiler]
[spoiler]Part 3
C20BB9B4 = 801814D8[/spoiler]
[spoiler]Part 4
C201D0E8 00000003
3731FFFD 4181000D
7F2802A6 8339FF18
2C11000F 00000000
[/spoiler]
[spoiler]Part 5
8001CC94 = .... [/spoiler]
Regarding the first code...that's weird how it changed. But there's something important that you missed which might cause some bugs. The original ASM is an lbzux. The u means update. In this case, the u means that r0 will be added to r3, in addition to lbzx. But you don't add r0 to r3, which means you could have some problems. You should do this instead. Use the same hook address.
lbzx r12,r3,r0
cmpwi r12,0
bne- _END
li r12,1
stbx r12,r3,r0
_END:
lbzux r0,r3,r0
---
Regarding the second code...yikes! The "everyone can get to level 255" code patches *data*, not ASM. 08 codes are almost always data codes. The last two 04 codes are ASM patches, though.
Look at the NTSC dump for this address. 802D60BC I think you should find a 0xC8 there. 0xC8 = 200 = the max level for Emil and Marta. Underneath you'll see the values for the various monster's max levels. What I do is write 0xFF over the level value, which allows you to level up to 255. The 08 code then proceeds to write 0xFF over the other levels.
You can probably find this data in your dump by looking for the 00C80000 which has the other levels in the same vicinity.
The next 08 points to the level table. You'll need to find the EXP level table for your game; just use the one that corresponds to Emil and Marta, so that everyone uses their table.
The next 08 extends the existing EXP level table by another 55 levels, each level requiring 65535 more EXP.
I believe the next 08 code specifies the max EXP possible.
I'm not sure what the 04 codes are patching. I seem to have left that out of my notes. :(
---
Regarding the third code...lol, good luck, that code is insanely complex with a *lot* of ways to screw it up, and there are a ton of addresses to port. There are an incredible amount of tricks to the code's ASM, and it must be compiled with PyiiASMH in Raw mode. You'll just have to read my notes and the corresponding comments. For the latest revs I have a different source, see attached.
Really, you should try to port an easier roller first. Try the Strategy Roller or Party Roller instead.
Like you said, the encounter one is simply difficult.
If anyone is interested in trying it out. here's the NTSC's Bin [spoiler]http://www.mediafire.com/?jpj6321ph3x3r43[/spoiler] And here is the Pal's [spoiler]http://www.mediafire.com/?6577b7xc7tj56y4[/spoiler].
I cannot seem to find the appropriate places for now to port them to. There's too many changes for me to do it on the fly. This code demands time and appropriate cognition.
no the instructions are the same. you just need the original value of this address and search for it on PAL.
7C0300AEA064000290050000 are your porting values.
It is not merely "simply difficult". I did a lot of crazy stuff. The whole code through all its versions probably took over 20 hours. Many of these tricks come from brkirch and Y.S. Some of them are my own.
I have multiple C2 codes which reference data in other C2 codes using a few bl tricks and labels to calculate offsets automatically despite using multiple different hooks. Multiple C2 codes require building the codes Raw in PyiiASMH. This also means using some other tricks to get the C2 line and count the number of code lines and make sure that we leave a 00000000 for the code handler's back-branch.
I also manually added a few WiiRD codes at the beginning with the .int directives; a classic anti-code + button activator. These were some instructions that need patched to make sure the data is displayed properly; for instance, I use Next EXP to show the number for an enemy, but if you are at your max level then Next EXP is -----, so one of these codes patches the ASM to force showing the value anyway.
There are three different functions being hooked; one which displays the number of encounters, and it does the rolling. One which loads the encounter at the start of a fight. The last displays information at the menu screen, such as your level and HP/TP etc, and this one function is hooked seven times.
The value for encounters can be seen when you press Z. It serves two purposes: 1) if it is positive, the "forcing" is disabled, you will enter encounters normally, and the encounter represents the number for the last battle you were in. 2) if negative, the "forcing" is enabled and the encounter represents the number for the battle you will force.
This code is also self-modifying, over-writing one of its own instructions (in a different C2 code!) as part of the rolling.
I also dynamically calculate a pointer to the correct encounter and store it to one of the C2 codes, and then the other code loads the pointer and hijacks the display to show what's in the encounter. The roller can also scroll and wrap. I used a few tricks to shorten it, such as combining a bl with a bgt- to get a data pointer. I used an addic. as a combined "mr and cmpwi". I also needed to make sure encounter data only showed for slots 1-4. And the @h and @ha and @l for loading variables.
You would need to port more than just C2 addresses, too. Fortunately, most of them are .set at the start of each C2. The button address would need ported, so would the base pointer for the encounter table, and the encounter value itself (for me, it was located at -30296(r13), for you it will be located somewhere else but still relative to r13). Also the original value of r25, and this is assuming that the assembly didn't change significantly.
It's also written in a certain order, so that I can make v1 (just the roller, no display) and v2 (roller + display monster types, no count/levels), just by removing C2 codes from the end.
your mean "loading into addresses" with lis and ori (lwz), rlwinm and bl's which are branching to a new address? Why you don't write 06 ASM string codes? would be much easier for porting...
[[C201C088]] 00000018 8001C088
A0841C1C 48000009
00000000 7D2802A6
3D80[[804D]] A14C755A 804D
A10C755E A0E900C2
3CA0[[802E]] 60A5[[DCF8]] 802EDCF8
71402000 4182008C
7C8700D0 71001310
4082000C 71404000
41820058 280A2200
4182004C 28078000
40800050 280A2010
4182000C 280A6010
40820014 38E70001
2C0704EA 40810008
38E00001 280A3000
4182000C 280A7000
40820010 34E7FFFF
41810008 38E004EA
7CE43B78 B08900C2
28078000 41800014
[[808D89A8]] 34E40000 808D89A8
40800008 38E00000
1C07001A 7C050214
90090000 00000000
The only way to make this code is by using the source code I posted. Don't try to take the C2 code through a disassembler and look at the results. There is so much meaning that is lost when you do that.
Just use the source code, seriously. And BTW, I should mention again since I guess you didn't read it; this code has multiple C2 codes in it, hooking three different functions, one of them seven times. If you don't build it from source you will screw it up.
EDIT:
btw Patedj, your first code (unlock Lloyd etc v2), I think you missed my note in my first post in this thread, about how it might have a bug.
I thought I fixed that code. I did what you said
[spoiler]lbzx r12,r3,r0
cmpwi r12,0
bne- _END
li r12,1
stbx r12,r3,r0
_END:
lbzux r0,r3,r0[/spoiler]
The code you posted in the first post doesn't match that, which is why I said something.
Fixed. So who's able to port the code?
You should try something easier first. That code is seriously one of the hardest codes I've ever made.
Party Roller should be easy, since you already ported Aesteval's/YCAT's party mod.
Code Porting
[spoiler]Party Roller[/spoiler]
Function NTSC
[spoiler]8005C864: 38C00009 li r6,9
8005C868: 92610010 stw r19,16(r1)
8005C86C: 39200014 li r9,20
8005C870: 39400014 li r10,20
8005C874: 480271E5 bl 0x80083a58
8005C878: 3C608048 lis r3,-32696
8005C87C: 38631688 addi r3,r3,5768
8005C880: 3C030001 addis r0,r3,1
8005C884: 7C60F214 add r3,r0,r30
8005C888: 80831B5C lwz r4,7004(r3)
8005C88C: A0631B62 lhz r3,7010(r3)
8005C890: 7C0400D0 neg r0,r4
8005C894: 7C002378 or r0,r0,r4
8005C898: 54040FFE rlwinm r4,r0,1,31,31
8005C89C: 48042F21 bl 0x8009f7bc
8005C8A0: 889D01A0 lbz r4,416(r29)
8005C8A4: 48042EB9 bl 0x8009f75c
8005C8A8: 2C030000 cmpwi r3,0
8005C8AC: 7C641B78 mr r4,r3
8005C8B0: 41820018 beq- 0x8005c8c8
8005C8B4: 801D0198 lwz r0,408(r29)[/spoiler]
Function Pal
[spoiler]8005C7AC: 38C00009 li r6,9
8005C7B0: 92610010 stw r19,16(r1)
8005C7B4: 39200014 li r9,20
8005C7B8: 39400014 li r10,20
8005C7BC: 4802819D bl 0x80084958
8005C7C0: 3C608068 lis r3,-32664
8005C7C4: 3863C9C0 subi r3,r3,13888
8005C7C8: 3C030001 addis r0,r3,1
8005C7CC: 7C60CA14 add r3,r0,r25
8005C7D0: 80831B5C lwz r4,7004(r3)
8005C7D4: A0631B62 lhz r3,7010(r3)
8005C7D8: 7C0400D0 neg r0,r4
8005C7DC: 7C002378 or r0,r0,r4
8005C7E0: 54040FFE rlwinm r4,r0,1,31,31
8005C7E4: 480452CD bl 0x800a1ab0
8005C7E8: 889B01A0 lbz r4,416(r27)
8005C7EC: 48045271 bl 0x800a1a5c
8005C7F0: 2C030000 cmpwi r3,0
8005C7F4: 7C641B78 mr r4,r3
8005C7F8: 41820018 beq- 0x8005c810
8005C7FC: 801B0198 lwz r0,4[/spoiler]
Code:
[spoiler]lis r12,-32691
ori r12,r12,30042Remote Control
lhz r10,4(r12)
andi. r10,r10,12
beq- 0x48
lhz r10,7010(r3)
cmpwi r10,11
bgt- 0x3C
lhz r12,0(r12)
cmpwi r12,8200
bne- 0x10
cmpwi r10,11
bge- 0x08
addi r10,r10,1
cmpwi r12,8196
bne- 0x10
cmpwi r10,1
ble- 0x08
subi r10,r10,1
sth r10,7010(r3)
subi r10,r10,1
sth r10,7008(r3)
lhz r3,7010(r3)
[spoiler]C205C88C 0000000C
3D80804D 618C755A
A14C0004 714A000C
41820048 A1431B62
2C0A000B 4181003C
A18C0000 2C0C2008
40820010 2C0A000B
40800008 394A0001
2C0C2004 40820010
2C0A0001 40810008
394AFFFF B1431B62
394AFFFF B1431B60
A0631B62 00000000[/spoiler]
Pal
lis r12,0x806D
ori r12,r12,0x28E2
lhz r10,4(r12)
andi. r10,r10,12
beq- 0x48
lhz r10,7010(r3)
cmpwi r10,11
bgt- 0x3C
lhz r12,0(r12)
cmpwi r12,8200
bne- 0x10
cmpwi r10,11
bge- 0x08
addi r10,r10,1
cmpwi r12,8196
bne- 0x10
cmpwi r10,1
ble- 0x08
subi r10,r10,1
sth r10,7010(r3)
subi r10,r10,1
sth r10,7008(r3)
lhz r3,7010(r3)
[spoiler]C205C7D4 0000000C
3D80806D 618C28E2
A14C0004 714A000C
41820048 A1431B62
2C0A000B 4181003C
A18C0000 2C0C2008
40820010 2C0A000B
40800008 394A0001
2C0C2004 40820010
2C0A0001 40810008
394AFFFF B1431B62
394AFFFF B1431B60
A0631B62 00000000
[/spoiler]
[/spoiler]
Success!
You should get in the habit of making C2 codes with proper ASM techniques.
This is the source for Party Roller NTSC, from the notes that I sent you.
[spoiler]lis r12,0x804D # controller pointer
ori r12,r12,0x755A
lhz r10,4(r12) # get button deltas hword
andi. r10,r10,0x00C # make sure it's up or down that's changing
beq- _END
_DO_CODE:
lhz r10,7010(r3) # load portrait index
cmpwi r10,0xB
bgt- _END # don't change monsters
lhz r12,0(r12) # get buttons
_TEST_ZUP:
cmpwi r12,0x2008 # is z up?
bne- _TEST_ZDOWN
cmpwi r10,11
bge- _TEST_ZDOWN # prevent falling off right
addi r10,r10,1 # inc index
_TEST_ZDOWN:
cmpwi r12,0x2004 # is z down?
bne- _DONE
cmpwi r10,1 # prevent falling off left
ble- _DONE
subi r10,r10,1 # dec index
_DONE:
sth r10,7010(r3) # store portrait index
subi r10,r10,1 # convert to stats index
sth r10,7008(r3) # store stats index
_END:
lhz r3,7010(r3) # original instruction
[/spoiler]
Compare this to what you used.
[spoiler]lis r12,-32691
ori r12,r12,30042
lhz r10,4(r12)
andi. r10,r10,12
beq- 0x48
lhz r10,7010(r3)
cmpwi r10,11
bgt- 0x3C
lhz r12,0(r12)
cmpwi r12,8200
bne- 0x10
cmpwi r10,11
bge- 0x08
addi r10,r10,1
cmpwi r12,8196
bne- 0x10
cmpwi r10,1
ble- 0x08
subi r10,r10,1
sth r10,7010(r3)
subi r10,r10,1
sth r10,7008(r3)
lhz r3,7010(r3)[/spoiler]
Which one is easier to read?
I much prefer the way you do it. I'd have to get a short class on it to fully understand the technique. Glancing at it allows me to understand it. My higher cognition is generally above average. Unfortunately, I fail at understanding the conversion from translated to proper technique. Any advise?
If you ask about any piece of it, I can explain it. For instance, do you understand how the branch labels work, or what they're for? That # denotes a comment, and when run through the assembler anything after the # is ignored?
Code Porting
[spoiler]Unlock all spells for everyone[/spoiler]
Function NTSC
[spoiler]8005BDF8: 7E8903A6 mtctr r20
8005BDFC: 7CC02E70 srawi r0,r6,5
8005BE00: 54C3D808 rlwinm r3,r6,27,0,4
8005BE04: 54C50FFE rlwinm r5,r6,1,31,31
8005BE08: 7C000194 addze r0,r0
8005BE0C: 7C651850 sub r3,r3,r5
8005BE10: 5464283E rlwinm r4,r3,5,0,31
8005BE14: 5400103A rlwinm r0,r0,2,0,29
8005BE18: 7C760214 add r3,r22,r0
8005BE1C: 7C842A14 add r4,r4,r5
8005BE20: 80030058 lwz r0,88(r3)
8005BE24: 7FE32030 slw r3,r31,r4
8005BE28: 7C600039 and. r0,r3,r0
8005BE2C: 4182001C beq- 0x8005be48
8005BE30: 80790028 lwz r3,40(r25)
8005BE34: 5460103A rlwinm r0,r3,2,0,29
8005BE38: 38830001 addi r4,r3,1
8005BE3C: 7C780214 add r3,r24,r0
8005BE40: 90C30064 stw r6,100(r3)
8005BE44: 90990028 stw r4,40(r25)
8005BE48: 38C60001 addi r6,r6,1
[/spoiler]
Code NTSC
C205BE20 00000004
2C000008 381FFFFE
4082000C 5400003C
48000008 540000FE
90030058 00000000
Translation
cmpwi r0,8
subi r0,r31,2
bne- 0x0C
rlwinm r0,r0,0,0,30
b 0x08
rlwinm r0,r0,0,3,31
stw r0,88(r3)
ASM Technique
cmpwi r0,8 #compare r0 with 8
subi r0,r31,2 #subtract immediately Immediate value of r31 by 2 into r0
bne- _BRANCH #branch if negative to BRANCH
rlwinm r0,r0,0,0,30 #if not then ??
_BRANCH
b _END
_END:
rlwinm r0,r0,0,3,31
stw r0,88(r3)
[spoiler]I would replace r0 with corresponding word. Perhaps r0 is magic?[/spoiler]
Pal Function
[spoiler]8005BBD4: 41810058 bgt- 0x8005bc2c
8005BBD8: 7EC02E70 srawi r0,r22,5
8005BBDC: 56C3D808 rlwinm r3,r22,27,0,4
8005BBE0: 56C50FFE rlwinm r5,r22,1,31,31
8005BBE4: 7C000194 addze r0,r0
8005BBE8: 7C651850 sub r3,r3,r5
8005BBEC: 5464283E rlwinm r4,r3,5,0,31
8005BBF0: 5400103A rlwinm r0,r0,2,0,29
8005BBF4: 7C770214 add r3,r23,r0
8005BBF8: 7C842A14 add r4,r4,r5
8005BBFC: 80030058 lwz r0,88(r3)
8005BC00: 7FE32030 slw r3,r31,r4
8005BC04: 7C600039 and. r0,r3,r0
8005BC08: 41820024 beq- 0x8005bc2c
8005BC0C: 807C0028 lwz r3,40(r28)
8005BC10: 7CBAA214 add r5,r26,r20
8005BC14: 38D60001 addi r6,r22,1
8005BC18: 5460103A rlwinm r0,r3,2,0,29
8005BC1C: 38830001 addi r4,r3,1
8005BC20: 7C650214 add r3,r5,r0
8005BC24: 90C30064 stw r6,100([/spoiler]
The first time I saw a branch was with you. I found it brilliant and understood it immediately. Well, let's try it with this code shall we. I start and you correct me.
Here's the source for that one.
[spoiler]hook 8005BE20: 80030058 lwz r0,88(r3)
88(r3) is current spell word
r0 = 8 is first spell word, 0xFFFFFFFE
r0 = C is second spell word, 0x1FFFFFFF
cmpwi r0,8
subi r0,r31,2
bne- _SECOND_WORD
rlwinm r0,r0,0,0,30
b _STORE
_SECOND_WORD:
rlwinm r0,r0,0,3,31
_STORE:
stw r0,88(r3)[/spoiler]
EDIT:
I see some confusion.
subi r0,r31,2 #subtract immediately r31 by 2 into r0
"immediately" is an adjective. However, in the context of assembly language, "immediate" is a noun. It refers to a value that comes from the ASM instruction. So the correct comment would be "subtract the immediate value 2 from the contents of r31 and place the result in r0", or "r0 = r31 - 2"
In this case, r31 should always be 1. So subtracting 2 from 1 will give us -1 = 0xFFFFFFFF.
---
bne- _BRANCH #branch if negative to BRANCH
bne = Branch Not Equal
---
rlwinm = Rotate Left Word Immediate aNd Mask. It's a pretty crazy ASM instruction that 1) bitwise rotation of the register to the left and 2) applies a mask to the resulting value. In this case, the values for the spells are limited to 0xFFFFFFFE and 0x1FFFFFFF. So what I do is set up r0 to have 0xFFFFFFFF. And then I use rlwinm. The first immediate is 0, meaning "shift 0 bits to the left" = don't shift at all. The second and third arguments represent the bitmask. For the first rlwinm, the bitmask starts at bit 0 and ends at bit30. i.e. 1111 1111 1111 1111 1111 1111 1111 1110. The second rlwinm starts at bit 3 and ends at bit 31. i.e. 0001 111 1111 1111 1111 1111 1111 1111
EDIT2:
btw, the cmpwi r0,8 identifies which of the two words we're writing to. Since there are 60 spells, you can't fit them all into one 32-bit word, so you need two. r0 = 8 when it's reading the first word.
AH noun! Now that got registered into my brain. ...punt intended. Hmm.. I understand the shift but I don't understand why they did that...
Code Pal
C205BBFC 00000004
2C000008 381FFFFE
4082000C 5400003C
48000008 540000FE
90030058 00000000
Edit
... I don't think I got the right address... how does this code change things in the artes tab? Never mind, I thought that the code allowed everyone's magic to be available for everyone. Now everything that you said about rlwinm makes sense :)
Your hook is 8005BBFC: 80030058 lwz r0,88(r3)
C205BBFC 00000004
2C000008 381FFFFE
4082000C 5400003C
48000008 540000FE
90030058 00000000
Unsuccessful
Log Pal
[spoiler]
8005BC00: 7FE32030 slw r3,r31,r4 r3 = 8067D284 r31 = 00000001 r4 = 00000000
8005BC04: 7C600039 and. r0,r3,r0 r0 = 1FFFFFFF r3 = 00000001 r0 = 1FFFFFFF
8005BC08: 41820024 beq- 0x8005bc2c
8005BC0C: 807C0028 lwz r3,40(r28) r3 = 00000001 r28 = 806AF7C0 [806AF7E8] = 00000000
8005BC10: 7CBAA214 add r5,r26,r20 r5 = 00000000 r26 = 806AF7C0 r20 = 00000000
8005BC14: 38D60001 addi r6,r22,1 r6 = 802E4AC0 r22 = 00000000
8005BC18: 5460103A rlwinm r0,r3,2,0,29 r0 = 00000001 r3 = 00000000
8005BC1C: 38830001 addi r4,r3,1 r4 = 00000000 r3 = 00000000
8005BC20: 7C650214 add r3,r5,r0 r3 = 00000000 r5 = 806AF7C0 r0 = 00000000
8005BC24: 90C30064 stw r6,100(r3) r6 = 00000001 r3 = 806AF7C0 [806AF824] = 00000001
8005BC28: 909C0028 stw r4,40(r28) r4 = 00000001 r28 = 806AF7C0 [806AF7E8] = 00000000
8005BC2C: 3AD60001 addi r22,r22,1 r22 = 00000000 r22 = 00000000
8005BC30: 807B1B5C lwz r3,7004(r27) r3 = 806AF7C0 r27 = 8068C9C0 [8068E51C] = 00000000
8005BC34: A09B1B62 lhz r4,7010(r27) r4 = 00000001 r27 = 8068C9C0 [8068E522] = 00080009
8005BC38: 7C0300D0 neg r0,r3 r0 = 00000000 r3 = 00000000
8005BC3C: 7C001B78 or r0,r0,r3 r0 = 00000000 r0 = 00000000 r3 = 00000000
8005BC40: 54030FFE rlwinm r3,r0,1,31,31 r3 = 00000000 r0 = 00000000
8005BC44: 48016439 bl 0x8007207c
| 8007207C: 2C030000 cmpwi r3,0 r3 = 00000000
| 80072080: 4182001C beq- 0x8007209c
| ... ... ... ...
| 8007209C: 3C60802E lis r3,-32722 r3 = 00000000
| 800720A0: 5480103A rlwinm r0,r4,2,0,29 r0 = 00000000 r4 = 00000009
| 800720A4: 38634AC0 addi r3,r3,19136 r3 = 802E0000 r3 = 802E0000
| 800720A8: 7C630214 add r3,r3,r0 r3 = 802E4AC0 r3 = 802E4AC0 r0 = 00000024
| 800720AC: A0630002 lhz r3,2(r3) r3 = 802E4AE4 r3 = 802E4AE4 [802E4AE6] = 00D30030
| 800720B0: 4E800020 blr LR = 8005BC48
8005BC48: 7C161800 cmpw r22,r3 r22 = 00000001 r3 = 00000030
8005BC4C: 4180FF64 blt+ 0x8005bbb0
... ... ... ...
8005BBB0: 807B1B5C lwz r3,7004(r27) r3 = 00000030 r27 = 8068C9C0 [8068E51C] = 00000000
8005BBB4: 38B60001 addi r5,r22,1 r5 = 806AF7C0 r22 = 00000001
8005BBB8: A09B1B62 lhz r4,7010(r27) r4 = 00000009 r27 = 8068C9C0 [8068E522] = 00080009
8005BBBC: 7C0300D0 neg r0,r3 r0 = 00000024 r3 = 00000000
8005BBC0: 7C001B78 or r0,r0,r3 r0 = 00000000 r0 = 00000000 r3 = 00000000
8005BBC4: 54030FFE rlwinm r3,r0,1,31,31 r3 = 00000000 r0 = 00000000
8005BBC8: 480164ED bl 0x800720b4
| 800720B4: 2C050000 cmpwi r5,0 r5 = 00000002
| 800720B8: 40810048 ble- 0x80072100
| 800720BC: 2C040000 cmpwi r4,0 r4 = 00000009
| 800720C0: 40810040 ble- 0x80072100
| 800720C4: 2C030000 cmpwi r3,0 r3 = 00000000
| 800720C8: 4182001C beq- 0x800720e4
| ... ... ... ...
| 800720E4: 3CC0802E lis r6,-32722 r6 = 00000001
| 800720E8: 5487103A rlwinm r7,r4,2,0,29 r7 = 00000024 r4 = 00000009
| 800720EC: 38C64AC0 addi r6,r6,19136 r6 = 802E0000 r6 = 802E0000
| 800720F0: 7C863A14 add r4,r6,r7 r4 = 00000009 r6 = 802E4AC0 r7 = 00000024
| 800720F4: A0040002 lhz r0,2(r4) r0 = 00000000 r4 = 802E4AE4 [802E4AE6] = 00D30030
| 800720F8: 7C002800 cmpw r0,r5 r0 = 00000030 r5 = 00000002
| 800720FC: 4080000C bge- 0x80072108
| ... ... ... ...
| 80072108: 2C030000 cmpwi r3,0 r3 = 00000000
| 8007210C: 4182002C beq- 0x80072138
| ... ... ... ...
| 80072138: 3C80802E lis r4,-32722 r4 = 802E4AE4
| 8007213C: 3C60802F lis r3,-32721 r3 = 00000000
| 80072140: 38844AC0 addi r4,r4,19136 r4 = 802E0000 r4 = 802E0000
| 80072144: 7C043A2E lhzx r0,r4,r7 r0 = 00000030 r4 = 802E4AC0 r7 = 00000024 [802E4AE4] = 00D30030
| 80072148: 3863E960 subi r3,r3,5792 r3 = 802F0000 r3 = 802F0000
| 8007214C: 7C850214 add r4,r5,r0 r4 = 802E4AC0 r5 = 00000002 r0 = 000000D3
| 80072150: 3804FFFF subi r0,r4,1 r0 = 000000D3 r4 = 000000D5
| 80072154: 1C00003C mulli r0,r0,60 r0 = 000000D4 r0 = 000000D4
| 80072158: 7C630214 add r3,r3,r0 r3 = 802EE960 r3 = 802EE960 r0 = 000031B0
| 8007215C: 4E800020 blr LR = 8005BBCC
8005BBCC: A0030000 lhz r0,0(r3) r0 = 000031B0 r3 = 802F1B10 [802F1B10] = 00000000
8005BBD0: 28000001 cmplwi r0,1 r0 = 00000000
8005BBD4: 41810058 bgt- 0x8005bc2c
8005BBD8: 7EC02E70 srawi r0,r22,5 r0 = 00000000 r22 = 00000001
8005BBDC: 56C3D808 rlwinm r3,r22,27,0,4 r3 = 802F1B10 r22 = 00000001
8005BBE0: 56C50FFE rlwinm r5,r22,1,31,31 r5 = 00000002 r22 = 00000001
8005BBE4: 7C000194 addze r0,r0 r0 = 00000000 r0 = 00000000
8005BBE8: 7C651850 sub r3,r3,r5 r3 = 08000000 r3 = 08000000 r5 = 00000000
8005BBEC: 5464283E rlwinm r4,r3,5,0,31 r4 = 000000D5 r3 = 08000000
8005BBF0: 5400103A rlwinm r0,r0,2,0,29 r0 = 00000000 r0 = 00000000
8005BBF4: 7C770214 add r3,r23,r0 r3 = 08000000 r23 = 8067D284 r0 = 00000000
8005BBF8: 7C842A14 add r4,r4,r5 r4 = 00000001 r4 = 00000001 r5 = 00000000
8005BBFC: 4BFA6DE4 b 0x800029e0
... ... ... ...
#code
800029E0: 2C000008 cmpwi r0,8 r0 = 00000000
800029E4: 381FFFFE subi r0,r31,2 r0 = 00000000 r31 = 00000001
800029E8: 4082000C bne- 0x800029f4
... ... ... ...
800029F4: 540000FE rlwinm r0,r0,0,3,31 r0 = FFFFFFFF r0 = FFFFFFFF
800029F8: 90030058 stw r0,88(r3) r0 = 1FFFFFFF r3 = 8067D284 [8067D2DC] = 1FFFFFFF
800029FC: 48059204 b 0x8005bc00
#end code
... ... ... ...
8005BC00: 7FE32030 slw r3,r31,r4 r3 = 8067D284 r31 = 00000001 r4 = 00000001
8005BC04: 7C600039 and. r0,r3,r0 r0 = 1FFFFFFF r3 = 00000002 r0 = 1FFFFFFF
8005BC08: 41820024 beq- 0x8005bc2c
8005BC0C: 807C0028 lwz r3,40(r28) r3 = 00000002 r28 = 806AF7C0 [806AF7E8] = 00000001
8005BC10: 7CBAA214 add r5,r26,r20 r5 = 00000000 r26 = 806AF7C0 r20 = 00000000
8005BC14: 38D60001 addi r6,r22,1 r6 = 802E4AC0 r22 = 00000001
8005BC18: 5460103A rlwinm r0,r3,2,0,29 r0 = 00000002 r3 = 00000001
8005BC1C: 38830001 addi r4,r3,1 r4 = 00000001 r3 = 00000001
8005BC20: 7C650214 add r3,r5,r0 r3 = 00000001 r5 = 806AF7C0 r0 = 00000004
8005BC24: 90C30064 stw r6,100(r3) r6 = 00000002 r3 = 806AF7C4 [806AF828] = 00000002
8005BC28: 909C0028 stw r4,40(r28) r4 = 00000002 r28 = 806AF7C0 [806AF7E8] = 00000001
8005BC2C: 3AD60001 addi r22,r22,1 r22 = 00000001 r22 = 00000001
[/spoiler]
Cells
[spoiler]8067D270 *00000000* 00000000 00000000 00000000
8067D280 00000000 0008456D 696C0000 00000000
8067D290 00000000 00000000 002F7EAB 00000000
8067D2A0 5E000004 0002BCFF 270F270F 270F03E7
8067D2B0 03E703E7 270F049D 270F08DB 0661002E
8067D2C0 270F0352 270F07FF 06610024 01540189
8067D2D0 025C01CB 023A023B 00630000 01FFFFFF
8067D2E0 00000000 00000000 00000000 01FFFFFF
8067D2F0 00000000 00000000 00000000 0080F9FE
8067D300 00000000 00007E80 00000000 00000000
8067D310 00000000 00000000 00000000 00000000
8067D320 00000000 0000F970 00000000 00007E80
8067D330 00000000 00000000 00000000 00000000
8067D340 00000000 00000000 00000000 00090014
8067D350 00110012 00000000 00190000 00030001
8067D360 00020006 00000900 09090909 00094D61[/spoiler]
Log
[spoiler]
8005BC84: 80840058 lwz r4,88(r4) r4 = 8067D28C r4 = 8067D28C [8067D2E4] = 00000000
8005BC84: 80840058 lwz r4,88(r4) r4 = 8067D28C r4 = 8067D28C [8067D2E4] = 00000000
8005BC84: 80840058 lwz r4,88(r4) r4 = 8067D28C r4 = 8067D28C [8067D2E4] = 00000000
8005BC84: 80840058 lwz r4,88(r4) r4 = 8067D28C r4 = 8067D28C [8067D2E4] = 00000000
8005BC84: 80840058 lwz r4,88(r4) r4 = 8067D28C r4 = 8067D28C [8067D2E4] = 00000000
8005BC84: 80840058 lwz r4,88(r4) r4 = 8067D28C r4 = 8067D28C [8067D2E4] = 00000000
8005BC84: 80840058 lwz r4,88(r4) r4 = 8067D28C r4 = 8067D28C [8067D2E4] = 00000000
[/spoiler]
Log 2
[spoiler]8005BC7C: 7C972214 add r4,r23,r4 r4 = 00000008 r23 = 8067D284 r4 = 00000008[/spoiler]
As I suspected, the hook address you found was wrong. Because this game was recompiled, the registers will sometimes change. This is the real area you wanted to hook. Note the two and. in a row, which matches the area of the original function.
[spoiler]8005BC5C: 7EA903A6 mtctr r21
8005BC60: 7C642E70 srawi r4,r3,5
8005BC64: 5465D808 rlwinm r5,r3,27,0,4
8005BC68: 54660FFE rlwinm r6,r3,1,31,31
8005BC6C: 7C840194 addze r4,r4
8005BC70: 7CA62850 sub r5,r5,r6
8005BC74: 5484103A rlwinm r4,r4,2,0,29
8005BC78: 54A5283E rlwinm r5,r5,5,0,31
8005BC7C: 7C972214 add r4,r23,r4
8005BC80: 7CA53214 add r5,r5,r6
8005BC84: 80840058 lwz r4,88(r4)
8005BC88: 7FE52830 slw r5,r31,r5
8005BC8C: 7CA42039 and. r4,r5,r4
8005BC90: 4182001C beq- 0x8005bcac
8005BC94: 80BC0028 lwz r5,40(r28)
8005BC98: 54A4103A rlwinm r4,r5,2,0,29
8005BC9C: 38A50001 addi r5,r5,1
8005BCA0: 7C802214 add r4,r0,r4
8005BCA4: 90640064 stw r3,100(r4)
8005BCA8: 90BC0028 stw r5,40(r28)
8005BCAC: 38630001 addi r3,r3,1
8005BCB0: 7C642E70 srawi r4,r3,5
8005BCB4: 7C840194 addze r4,r4
8005BCB8: 5465D808 rlwinm r5,r3,27,0,4
8005BCBC: 54660FFE rlwinm r6,r3,1,31,31
8005BCC0: 7CA62850 sub r5,r5,r6
8005BCC4: 5484103A rlwinm r4,r4,2,0,29
8005BCC8: 54A5283E rlwinm r5,r5,5,0,31
8005BCCC: 7C972214 add r4,r23,r4
8005BCD0: 7CA53214 add r5,r5,r6
8005BCD4: 80840058 lwz r4,88(r4)
8005BCD8: 7FE52830 slw r5,r31,r5
8005BCDC: 7CA42039 and. r4,r5,r4
8005BCE0: 4182001C beq- 0x8005bcfc
[/spoiler]
This means your C2 will be different.
[spoiler]hook 8005BC7C: 7C972214 add r4,r23,r4
88(r23+r4) is current spell word
r4 = 8 is first spell word, 0xFFFFFFFE
r4 = C is second spell word, 0x1FFFFFFF
cmpwi r4,8
subi r12,r31,2
bne- _SECOND_WORD
rlwinm r12,r12,0,0,30
b _STORE
_SECOND_WORD:
rlwinm r12,r12,0,3,31
_STORE:
add r4,r23,r4
stw r12,88(r4)[/spoiler]
We can also optimize this a bit to get rid of the nop at the end.
[spoiler]hook 8005BC7C: 7C972214 add r4,r23,r4
88(r23+r4) is current spell word
r4 = 8 is first spell word, 0xFFFFFFFE
r4 = C is second spell word, 0x1FFFFFFF
cmpwi r4,8 # are we first or second spell word?
subi r12,r31,2 # prep r12 with 0xFFFFFFFF
rlwinm r12,r12,0,0,30 # make r12 0xFFFFFFFE
beq- _STORE # if first word, go to store
rlwinm r12,r12,31,3,31 # if second word, rotate left 31 bits, then mask; r12 = 0x1FFFFFFFF
_STORE:
add r4,r23,r4
stw r12,88(r4)[/spoiler]
Success. Thanks to dcx2.
Everyone has all spells unlocked. (dcx2)
C205BC7C 00000005
2C040008 399FFFFE
4082000C 558C003C
48000008 558C00FE
7C972214 91840058
60000000 00000000
I hope this is the right section for my request :)
Some time ago i saw a code to Skip Gladsheim directly to the Boss.
I made a mistake to try the NTSC code in a PAL game.
Thats why i wanted to ask, if someone would be kind enough to port the Code as well.
EDIT:
After a bit of searching i found the Code.
Warp to Floor 10 of Gladsheim [ShadowX39]
044941C0 0000000A
Whenever you warp in the maze you'll go straight to floor 10 with the boss in the middle.
I also have another Question.
I successfully were able to change the Party Members to the old ToS Characters. After some time i got the Idea to take Richters stats and the Code of him in the Final Battle form. The only result of my tests were a crash with that annoying *beeeep*
The Code itself should be right, i dont know what i did wrong, maybe you guys can help me. :)
Thats the Code i tried to use.
0068E51F 00000000
0468E520 000A0155
The actual Code
0068E51F 00000000
0468E520 000A000B (Richter's stats and appearence)
is working, thats why i suppose there is something wrong with the last 4 numbers of the second row.
(Information Gathered from the following page
http://www.gamefaqs.com/boards/942210-tales-of-symphonia-dawn-of-the-new-world/58522069
and this one
http://wiird.l0nk.org/forum/index.php/topic,4555.msg66564.html#msg66564
Thank you very much for your help!
I apologize for some spelling mistakes, i tried to write the most with my uncomplete English knowledge.
Quote from: Hellcaster on June 17, 2011, 10:41:59 PM
0068E51F 00000000
0468E520 000A0155
The actual Code
0068E51F 00000000
0468E520 000A000B (Richter's stats and appearence)
is working, thats why i suppose there is something wrong with the last 4 numbers of the second row.
I don't think you can mix enemy data and player data like that.
Patedj might be able to port the Gladsheim code, not sure. I don't think I could.
Alright! A challenge! I'll work at it.
Well here's the code! I couldn't port it so I'm taking credit!
Gladsheim Skip to Lvl 10
0468F504 0000000A
For the beep. dcx2 is right. No mixing. :(
Oh my. With all those codes ported, I think I want the PAL version now. :(
Any other recommendations?
Quote from: Symphonian resident on June 19, 2011, 02:56:04 PM
Oh my. With all those codes ported, I think I want the PAL version now. :(
You make it sound like the PAL version has some code that the NTSC-U does not?
Well, the PAL version does have more content. And if all these codes are ported successfully...
Hope this is the right topic... oh well... here it goes...
Umm... could anyone port some codes ? I tried to do it with DeltaMaker... but I thin the codes I want to port are ASM ones and those can't be ported with that application (?). Ummm... oh well... here are the codes in question :
Gain Exp Multiplier [AlexWong]
040B924C 4800003C
040B928C 1C6300XX
XX=
02 x2
05 x5
0A x10
32 x50
64 x100
Hacked by RITZ for NTSC-JP, ported by AlexWong to NTSC-U/C.
Replace Add Combo 1 with Add Combo 112 [dcx2]
C210A1EC 00000004
38000080 7C001800
4082000C 38600070
48000008 886400B0
60000000 00000000
(must have Add Combo 1 skill activated)
Pacts are always successful [dcx2]
040B9D6C 48000028
skills cost 0 SP [dcx2]
04050010 38000000
04050014 98110009
Unison attacks and Mystic Artes don't consume any unison gauge [dcx2]
040FDF8C 60000000
Monsters always launch Third Movement Unison attack if their element is on the grid [dcx2]
040EE2C0 38000005
Unison gauge doesn't get cut in half after battle [dcx2]
040FDAB8 60000000
feeding boosts stats like they never ate [dcx2]
040688DC 38000001
This tricks the game into thinking that all your monsters have never been fed
Save Anywhere [AlexWong]
0401D62C 4800000C
Hacked by RITZ for NTSC-JP, ported by AlexWong to NTSC-U/C.
Unison Gauge Up To Max [AlexWong]
040FDF30 C022CFA8
Hacked by YCAT21 for NTSC-JP, ported by AlexWong to NTSC-U/C.
Elemental Grid Modifier [hawkeye2777]
C20B24D8 00000002
3CC00000 60C6000x
90C30580 00000000
C20B24F0 00000002
3CC00000 60C6000x
90C30584 00000000
C20B2508 00000002
3CC00000 60C6000x
90C30588 00000000
C20B2520 00000002
3CC00000 60C6000x
90C3058C 00000000
C20B2538 00000002
3CC00000 60C6000x
90C30590 00000000
Values for x:
0 - Nothing
1 - Fire
2 - Water
3 - Wind
4 - Earth
5 - Lightning
6 - Ice
7 - Light
8 - Darkness
The codes go in the (clockwise) order of the Grid, so the 1st x is the element farthest to the left and so on. If you make 4 or 5 of the x's be the same element, you will always have a chance to recruit a monster to your party. This does not modify the field element.
Umm... sorry if its too much to ask for... and I hope someone will find some time to help me. Thanks in advance ^_^.
When I have some time (in other words, probably like 2 weeks), I can see about porting some codes.
I might not have enough time to port all of them, so if you put the higher-priority ports at the top of your post, they will be ported first.
Quote from: dcx2 on September 14, 2011, 04:54:56 PM
When I have some time (in other words, probably like 2 weeks), I can see about porting some codes.
I might not have enough time to port all of them, so if you put the higher-priority ports at the top of your post, they will be ported first.
Umm... Thanks a lot \^_^/ . Well... I'll post the codes here then (in order of priority)(well... my list got shorter anyway):
[spoiler]
Save Anywhere [AlexWong]
0401D62C 4800000C
Hacked by RITZ for NTSC-JP, ported by AlexWong to NTSC-U/C.
Pacts are always successful [dcx2]
040B9D6C 48000028
spellbind -up on -down off [dcx2]
040B1000 38600000
4E00FFF4 00000000
284D755A 00001008
14000000 38600001
284D755B 00001004
14000000 38600000
E0000000 80008000
feeding boosts stats like they never ate [dcx2]
040688DC 38000001
This tricks the game into thinking that all your monsters have never been fed
skills cost 0 SP [dcx2]
04050010 38000000
04050014 98110009
Gain Exp Multiplier [AlexWong]
040B924C 4800003C
040B928C 1C6300XX
XX=
02 x2
05 x5
0A x10
32 x50
64 x100
Hacked by RITZ for NTSC-JP, ported by AlexWong to NTSC-U/C.
Elemental Grid Modifier [hawkeye2777]
C20B24D8 00000002
3CC00000 60C6000x
90C30580 00000000
C20B24F0 00000002
3CC00000 60C6000x
90C30584 00000000
C20B2508 00000002
3CC00000 60C6000x
90C30588 00000000
C20B2520 00000002
3CC00000 60C6000x
90C3058C 00000000
C20B2538 00000002
3CC00000 60C6000x
90C30590 00000000
Values for x:
0 - Nothing
1 - Fire
2 - Water
3 - Wind
4 - Earth
5 - Lightning
6 - Ice
7 - Light
8 - Darkness
The codes go in the (clockwise) order of the Grid, so the 1st x is the element farthest to the left and so on. If you make 4 or 5 of the x's be the same element, you will always have a chance to recruit a monster to your party. This does not modify the field element.
[/spoiler]
Thanks again
I got a few of these done for you.
There were two that were problematic to port, (details below)
Save Anywhere [goemon_guy]
0401DAB8 4800000C
Ported from RITZ's code (JP)
Pacts are always successful [goemon_guy]
0417F898 48000028
Ported from dcx2's code (US)
Feeding boosts stats like they never ate [goemon_guy]
04068EB0 38000001
Ported from dcx2's code (US)
Experience Multiplier [goemon_guy]
0417ED54 4800003C
0417ED94 1C3600XX
02= x2
04= x4
08= x8
FF= x255
etc
ported from RITZ's code (JP)
Elemental Grid Modifier [goemon_guy]
C2177E68 00000002
3CC00000 60C6000x
90C30580 00000000
C2177E80 00000002
3CC00000 60C6000x
90C30584 00000000
C2177E98 00000002
3CC00000 60C6000x
90C30588 00000000
C2177EA8 00000002
3CC00000 60C6000x
90C3058C 00000000
C2177EC0 00000002
3CC00000 60C6000x
90C30590 00000000
Values for x:
0 - Nothing
1 - Fire
2 - Water
3 - Wind
4 - Earth
5 - Lightning
6 - Ice
7 - Light
8 - Darkness
The codes go in the (clockwise) order of the Grid, so the 1st x is the element farthest to the left and so on. If you make 4 or 5 of the x's be the same element, you will always have a chance to recruit a monster to your party. This does not modify the field element.
*Ported from hawkeye2777's code
***
As I said, there were two codes I was unable to port:
skills cost 0 SP [dcx2]
04050010 38000000
04050014 98110009
spellbind -up on -down off [dcx2]
040B1000 38600000
4E00FFF4 00000000
284D755A 00001008
14000000 38600001
284D755B 00001004
14000000 38600000
E0000000 80008000
*This code crashed for me when entering a battle in the US version.
The Skills cost 0 SP code, I think I did something wrong with, but I'll give it another shot.
Thanks a lot goemon_guy ^_^. They are all working for me... Umm... you can skip the Spellbind code if you want... seems like i accomplished what I wanted with the Elemental Grid Modifier one ^_^.
By the way, could you (or whoever wants/has time) try your hand at porting this code ?
Unlock Lloyd etc for leveling v2 [dcx2]
C209FC0C 00000003
88040000 2C000000
4082000C 38000001
98040000 00000000
Someone in this thread tried it before, but I guess he wasn't successful (?). I tried this one from Patedj in this thread :
C20A1ED8 00000004
7D8300AE 2C0C0000
4082000C 39800001
7D8301AE 7C0300EE
60000000 00000000
But all it happened was that Sheena could gain Exp after a battle, but the EXP needed for the next level was still showing -----.
Well... Thanks again for all your hard work ^_^.
I'll give that one a try later!
There's a v2 of that code. The first version didn't allow suit-Regal to level up, only prisoner-Regal.
Quote from: dcx2 on September 15, 2011, 01:11:04 PM
There's a v2 of that code. The first version didn't allow suit-Regal to level up, only prisoner-Regal.
Hmm.. thanks for the info. I guess this is the one you are talking about :
Unlock Lloyd etc for leveling v2 [dcx2]
C209FC0C 00000003
88040000 2C000000
4082000C 38000001
98040000 00000000
Guess I'll edit my previous post then ^_^.
Hello there, everyone. Total first-timer here.
I love ToS 2 quite a bit and I'd rather play the PAL edition, since it does have more built-in content. However, I'm not willing to sacrifice my favorite U.S. codes! So, I thought I'd see if I can get some of them ported.
First of all, the party modifier. I was a little confused earlier in the thread with all the technical talk being swapped back and forth, but has the U.S. party modifier code (or an equivalent, I suppose) successfully been ported to the PAL edition?
Apart from that, the single most important code for me is one that's apparently not even listed in this database, and that's the ones the let all the human party members have all the skills (not the artes, the skills):
All Skills Codes (chingi1)
Emil:
04481FC4 FFFFFFFE
04481FC8 FFFFFFFF
04481FCC FFFFFFFF
04481FD0 FFFFFFFF
04481FD4 FFFFFFFF
04481FD8 FFFFFFFF
04481FDC FFFFFFFF
04481FE0 FFFFFFFF
04481FE4 7FFFFFFF
Marta:
044820AC FFFFFFFE
044820B0 FFFFFFFF
044820B4 FFFFFFFF
044820B8 FFFFFFFF
044820BC FFFFFFFF
044820C0 FFFFFFFF
044820C4 FFFFFFFF
044820C8 FFFFFFFF
044820CC 7FFFFFFF
Richter:
04482194 FFFFFFFE
04482198 FFFFFFFF
0448219C FFFFFFFF
044821A0 FFFFFFFF
044821A4 FFFFFFFF
044821A8 FFFFFFFF
044821AC FFFFFFFF
044821B0 FFFFFFFF
044821B4 7FFFFFFF
Lloyd:
04481884 FFFFFFFE
04481888 FFFFFFFF
0448188C FFFFFFFF
04481890 FFFFFFFF
04481894 FFFFFFFF
04481898 FFFFFFFF
0448189C FFFFFFFF
044818A0 FFFFFFFF
044818A4 7FFFFFFF
Colette:
0448196C FFFFFFFE
04481970 FFFFFFFF
04481974 FFFFFFFF
04481978 FFFFFFFF
0448197C FFFFFFFF
04481980 FFFFFFFF
04481984 FFFFFFFF
04481988 FFFFFFFF
0448198C 7FFFFFFF
Genis:
04481A54 FFFFFFFE
04481A58 FFFFFFFF
04481A5C FFFFFFFF
04481A60 FFFFFFFF
04481A64 FFFFFFFF
04481A68 FFFFFFFF
04481A6C FFFFFFFF
04481A70 FFFFFFFF
04481A74 7FFFFFFF
Raine:
04481B3C FFFFFFFE
04481B40 FFFFFFFF
04481B44 FFFFFFFF
04481B48 FFFFFFFF
04481B4C FFFFFFFF
04481B50 FFFFFFFF
04481B54 FFFFFFFF
04481B58 FFFFFFFF
04481B5C 7FFFFFFF
Sheena:
04481C24 FFFFFFFE
04481C28 FFFFFFFF
04481C2C FFFFFFFF
04481C30 FFFFFFFF
04481C34 FFFFFFFF
04481C38 FFFFFFFF
04481C3C FFFFFFFF
04481C40 FFFFFFFF
04481C44 7FFFFFFF
Zelos:
04481D0C FFFFFFFE
04481D10 FFFFFFFF
04481D14 FFFFFFFF
04481D18 FFFFFFFF
04481D1C FFFFFFFF
04481D20 FFFFFFFF
04481D24 FFFFFFFF
04481D28 FFFFFFFF
04481D2C 7FFFFFFF
Presea:
04481DF4 FFFFFFFE
04481DF8 FFFFFFFF
04481DFC FFFFFFFF
04481E00 FFFFFFFF
04481E04 FFFFFFFF
04481E08 FFFFFFFF
04481E0C FFFFFFFF
04481E10 FFFFFFFF
04481E14 7FFFFFFF
Regal:
04481EDC FFFFFFFE
04481EE0 FFFFFFFF
04481EE4 FFFFFFFF
04481EE8 FFFFFFFF
04481EEC FFFFFFFF
04481EF0 FFFFFFFF
04481EF4 FFFFFFFF
04481EF8 FFFFFFFF
04481EFC 7FFFFFFF
After that, here's the rest in order from most important on down:
Emil 9999 SP [Aesteval]
02481FA0 0000270F
Marta 9999 SP [Aesteval]
02482088 0000270F
Lloyd 9999 SP [Aesteval]
02481860 0000270
Colette 9999 SP [Aesteval]
02481948 0000270F
Zelos 9999 SP [Aesteval]
02481CE8 0000270F
Sheena 9999 SP [Aesteval]
02481C00 0000270F
Regal 9999 SP [Aesteval]
02481EB8 0000270F
Raine 9999 SP [Aesteval]
02481B18 0000270F
Genis 9999 SP [Aesteval]
02481A30 0000270F
Presea 9999 SP [Aesteval]
02481DD0 0000270F
Richter 9999 SP [Aesteval]
02482170 0000270F
No "Cannot use Item Time" [hawkeye2777]
C20B8320 00000005
9421FFF0 91610008
3D60BC83 616BAB9F
917D0050 81610008
38210010 C03D0050
60000000 00000000
If this stuff is impossible, well, I'm fine with playing the U.S. edition. I do have both copies of this game, and I think I still have a USB Gecko around here somewhere, so I could try to help out if anyone needs me to do anything. But, I'm not a coder by any stretch of the imagination, so anything I might try is more likely to hurt than to help!
Thank you in advance for anyone who might take the time to help do this.
Hi Rockner, I Ported the most codes for you. But i only could do this because i read this whole thread before.
The only code i could not port was the "no cannot use item Time", because i'm a noob and don't even know what an usb-gecko is.
But these codes work for my german pal version.
All original Skills Codes (chingi1)
Emil:
0467D2FC FFFFFFFE
0467D300 FFFFFFFF
0467D304 FFFFFFFF
0467D308 FFFFFFFF
0467D30C FFFFFFFF
0467D310 FFFFFFFF
0467D314 FFFFFFFF
0467D318 FFFFFFFF
0467D31C 7FFFFFFF
Marta:
0467D3E4 FFFFFFFE
0467D3E8 FFFFFFFF
0467D3EC FFFFFFFF
0467D3F0 FFFFFFFF
0467D3F4 FFFFFFFF
0467D3F8 FFFFFFFF
0467D3FC FFFFFFFF
0467D400 FFFFFFFF
0467D404 7FFFFFFF
Richter:
0467D4CC FFFFFFFF
0467D4D0 FFFFFFFF
0467D4D4 FFFFFFFF
0467D4D8 FFFFFFFF
0467D4DC FFFFFFFF
0467D4E0 FFFFFFFF
0467D4E4 FFFFFFFF
0467D4E8 FFFFFFFF
0467D4EC 7FFFFFFF
Lloyd:
0467CBBC FFFFFFFE
0467CBC0 FFFFFFFF
0467CBC4 FFFFFFFF
0467CBC8 FFFFFFFF
0467CBCC FFFFFFFF
0467CBD0 FFFFFFFF
0467CBD4 FFFFFFFF
0467CBD8 FFFFFFFF
0467CBDC 7FFFFFFF
Colette:
0467CCA4 FFFFFFFE
0467CCA8 FFFFFFFF
0467CCAC FFFFFFFF
0467CCB0 FFFFFFFF
0467CCB4 FFFFFFFF
0467CCB8 FFFFFFFF
0467CCBC FFFFFFFF
0467CCC0 FFFFFFFF
0467CCC4 7FFFFFFF
Genis:
0467CD8C FFFFFFFE
0467CD90 FFFFFFFF
0467CD94 FFFFFFFF
0467CD98 FFFFFFFF
0467CD9C FFFFFFFF
0467CDA0 FFFFFFFF
0467CDA4 FFFFFFFF
0467CDA8 FFFFFFFF
0467CDAC 7FFFFFFF
Raine:
0467CE74 FFFFFFFE
0467CE78 FFFFFFFF
0467CE7C FFFFFFFF
0467CE80 FFFFFFFF
0467CE84 FFFFFFFF
0467CE88 FFFFFFFF
0467CE8C FFFFFFFF
0467CE90 FFFFFFFF
0467CE94 7FFFFFFF
Sheena:
0467CF5C FFFFFFFE
0467CF60 FFFFFFFF
0467CF64 FFFFFFFF
0467CF68 FFFFFFFF
0467CF6C FFFFFFFF
0467CF70 FFFFFFFF
0467CF74 FFFFFFFF
0467CF78 FFFFFFFF
0467CF7C 7FFFFFFF
Zelos:
0467D044 FFFFFFFE
0467D048 FFFFFFFF
0467D04C FFFFFFFF
0467D050 FFFFFFFF
0467D054 FFFFFFFF
0467D058 FFFFFFFF
0467D05C FFFFFFFF
0467D060 FFFFFFFF
0467D064 7FFFFFFF
Presea:
0467D12C FFFFFFFE
0467D130 FFFFFFFF
0467D134 FFFFFFFF
0467D138 FFFFFFFF
0467D13C FFFFFFFF
0467D140 FFFFFFFF
0467D144 FFFFFFFF
0467D148 FFFFFFFF
0467D14C 7FFFFFFF
Regal:
0467D214 FFFFFFFE
0467D218 FFFFFFFF
0467D21C FFFFFFFF
0467D220 FFFFFFFF
0467D224 FFFFFFFF
0467D228 FFFFFFFF
0467D22C FFFFFFFF
0467D230 FFFFFFFF
0467D234 7FFFFFFF
The following codes were Ported from Aestevals Codes
Emil 9999 SP
0267D2D8 0000270F
Marta 9999 SP
0267D3C0 0000270F
Lloyd 9999 SP
0267CC80 0000270F
Colette 9999 SP
0267CB98 0000270F
Zelos 9999 SP
0267D020 0000270F
Sheena 9999 SP
0267CF38 0000270F
Regal 9999 SP
0267D1F0 0000270F
Raine 9999 SP
0267CE50 0000270F
Genis 9999 SP
0267CD68 0000270F
Presea 9999 SP
0267D108 0000270F
Richter 9999 SP
0267D4A8 0000270F
@ Rockner: Can you search with that Usb-Gecko-thing the memory addresses (or what ever they are called)? If yes would you pleas help me?
You shouldn't need a USB Gecko. You can use Gecko.NET to load memory dumps for PAL and NTSC regions and compare them.
Maybe someone reading this thread will do it for you. If not, maybe one evening when I have some time I could port the code. Don't hold your breath waiting though.
I need this code for pal:
Prevent Stat Changes for Lloyd & Co [dcx2]
0404BE6C 4E800020
based on Shadow's "Prevent Stat Resets for Lloyd & Co", condensed into one line. This may also prevent items from being changed as the plot progresses.
I tried to do it myself but it didn't work, so i tried it with the uncondensed code the same way i did it with the codes above but this didn't work neither.
I would really appreciate it if someone port this code for me.^^
Hawkeye's No Cannot Use Item Time PAL
C217DDE0 00000003
3D60BC83 616BAB9F
917D0050 C03D0050
60000000 00000000
EDIT: this code was originally wrong, it's fixed now
[spoiler=how this was done]
[spoiler=NTSC]800B82F8: D01D0068 stfs f0,104(r29)
800B82FC: 48000018 b 0x800b8314
800B8300: C042BD9C lfs f2,-16996(r2)
800B8304: C03E0000 lfs f1,0(r30)
800B8308: C01D0068 lfs f0,104(r29)
800B830C: EC02007C fnmsubs f0,f2,f1,f0
800B8310: D01D0068 stfs f0,104(r29)
800B8314: 881D0058 lbz r0,88(r29)
800B8318: 2C000000 cmpwi r0,0
800B831C: 41820024 beq- 0x800b8340
800B8320: C03D0050 lfs f1,80(r29)
800B8324: C002BD88 lfs f0,-17016(r2)
800B8328: FC010040 fcmpo cr0,f1,f0
800B832C: 4081007C ble- 0x800b83a8[/spoiler]
[spoiler=PAL]8017DDB8: D01D0068 stfs f0,104(r29)
8017DDBC: 48000018 b 0x8017ddd4
8017DDC0: C042FE44 lfs f2,-444(r2)
8017DDC4: C03E0000 lfs f1,0(r30)
8017DDC8: C01D0068 lfs f0,104(r29)
8017DDCC: EC02007C fnmsubs f0,f2,f1,f0
8017DDD0: D01D0068 stfs f0,104(r29)
8017DDD4: 881D0058 lbz r0,88(r29)
8017DDD8: 2C000000 cmpwi r0,0
8017DDDC: 41820024 beq- 0x8017de00
8017DDE0: C03D0050 lfs f1,80(r29)
8017DDE4: C002FE30 lfs f0,-464(r2)
8017DDE8: FC010040 fcmpo cr0,f1,f0
8017DDEC: 4081007C ble- 0x8017de68
[/spoiler]
Things to note: everything is identical except for a few places that are offset of r2 (in red). r2 and r13 are both dangerous for this reason, so do not include them in a signature analysis. Note the underlined branch is the same exact binary value in both versions - because it's branching over the same amount of instructions. Using the green part, it was pretty easy to find the PAL counterpart.
The code itself created an unnecessary stack frame so I optimized that out.
[spoiler]stwu r1,-16(r1)
stw r11,8(r1)
lis r11,-17277
ori r11,r11,43935
stw r11,80(r29)
lwz r11,8(r1)
addi r1,r1,16
lfs f1,80(r29)[/spoiler]
[/spoiler]
Unlock Lloyd and Co. for leveling v2 [dcx2]
C20A1ED8 00000003
7C0300EE 2C000000
4082000C 38000001
98030000 00000000
Prevent Stat Changes for Lloyd and Co [dcx2]
0404BCB0 4E800020
Based on Shadow's NTSC code
Hello,
I'm new in this forum and i'm french. I saw a lot of your codes in the US section and I would like to ask you to port these codes to PAL:
First slot char is on-screen [dcx2]
0402AEA4 60000000
Swap any human into slot 1 [dcx2]
0401DB00 60000000
0401DB18 60000000
These are the most important. But if you have time, I have others codes for you: (Because Richter is the character i play and he is my favorite!)
Unknown Mode [AlexWong]
004934D4 00000003
Add Richter MA in list[frubam]
0627b280 0000001c
00020000 00000000
00000032 000a0001
00000000 80282b88
80282b88 00000000
Patch out Richter's cut-in in any slot
284931EA 0000000B
4A000000 804E1E8C
284931F3 0000000B
4A000000 804E1EF0
284931FB 0000000B
4A000000 804E1F54
28493203 0000000B
4A000000 804E1FB8
DE000001 804E804F
58010000 00000000
DE000000 90009280
14002A4C 003c0033
10002A50 00070000
E0000000 80008000
Based entirely on frubam's code
Thanks a lot for your help!
English:
Hi Everyone!
I have a little request. Is it possible to port this code to PAL?
Unison attacks and Mystic Artes don't consume any unison gauge [dcx2]
040FDF8C 60000000
I would like to chain mystic arte without stop =D
If somone has a little moment for doing that it will be very nice!
Thanks a lot!
Français:
Salut tout le monde!
J'ai une petite requête. Serait-il possible de porter ce code en PAL?
Unison attacks and Mystic Artes don't consume any unison gauge [dcx2]
040FDF8C 60000000
Je voudrais enchaîner mes artes mystiques sans arrêt =D
Si quelqu'un a un petit moment pour faire cela se serait vraiment très sympa!
Merci beaucoup d'avance!
First slot char is on-screen PAL [dcx2]
0402AF5C 60000000
Swap any human into slot 1 PAL [dcx2]
0401DF88 60000000
0401DFA0 60000000
Unison attacks and Mystic Artes don't consume any unison gauge PAL [dcx2]
041C55F0 60000000
Since I do not own this game I cannot test these codes, but I have confidence they will work. If these codes work then please leave a message here and I will add them to the database for apps like AccioHacks.
Unison attacks and Mystic Artes don't consume any unison gauge PAL [dcx2]
041C55F0 60000000
This code works perfectly! Thanks!! (The unison jauge must be full for launching the Mystic Artes, but once use, the jauge stay full!)
Thanks a lot for your hard job, Dcx2.
First slot char is on-screen and Swap any human into slot 1 work!
I suppose the others codes are too long or difficult to port?
Unknown Mode [AlexWong]
004934D4 00000003
Add Richter MA in list[frubam]
0627b280 0000001c
00020000 00000000
00000032 000a0001
00000000 80282b88
80282b88 00000000
Patch out Richter's cut-in in any slot
284931EA 0000000B
4A000000 804E1E8C
284931F3 0000000B
4A000000 804E1EF0
284931FB 0000000B
4A000000 804E1F54
28493203 0000000B
4A000000 804E1FB8
DE000001 804E804F
58010000 00000000
DE000000 90009280
14002A4C 003c0033
10002A50 00070000
E0000000 80008000
Based entirely on frubam's code
If these one are available in Pal, the game would be perfect in my eyes. If you have no time for this, can I have a link or a method to learn how to port NTSC code to Pal?
Again, thanks a lot for your help.
Those probably require a USB Gecko to be ported. They aren't ASM so I can't find them easily using just dumps. Sorry.
Quote from: dcx2 on August 28, 2012, 03:19:56 PM
Those probably require a USB Gecko to be ported. They aren't ASM so I can't find them easily using just dumps. Sorry.
So there isn´t a "good" way of porting pointers? I also struggled with them... ASM is superior in most perspectives.
Not really. Probably the best method is to do a breakpoint on the pointer for your region, find some ASM that touches it, make a C2 version of the pointer, and then port the C2. lol
Quote from: dcx2 on August 28, 2012, 11:07:11 PM
Not really. Probably the best method is to do a breakpoint on the pointer for your region, find some ASM that touches it, make a C2 version of the pointer, and then port the C2. lol
loool, that´s exactly what I did for some codes. Just that I set a breakpoint on the pointer address itself to find assembly which I could port. But then there was no more need for the initial pointer code. "Use a C2 code to store the pointer somewhere else".
[spoiler]BR Modifier -PAL- [Bully@Wiiplaza]
C264C35C 00000003
A0039018 3D808000
38639018 906C16FC
38636FE8 00000000
48000000 800016FC
DE000000 90009380
12000008 0000XXXX
E0000000 80008000
*Credits to Volderbeek*[/spoiler]
:eek: