Code ported, but different default instruction?

Started by Bully@Wiiplaza, March 15, 2013, 10:58:17 AM

Previous topic - Next topic

Bully@Wiiplaza

Haha, I´ve seen how PAL uses r29, but NTSC-U and NTSC-J r28.

NTSC-U
[spoiler]80684768:  2C030002   cmpwi   r3,2
8068476C:  40820010   bne-   0x8068477c
80684770:  38000003   li   r0,3
80684774:  981400B9   stb   r0,185(r20)
80684778:  48000418   b   0x80684b90
8068477C:  809801B8   lwz   r4,440(r24)
80684780:  7F03C378   mr   r3,r24
80684784:  48010151   bl   0x806948d4
80684788:  809801AC   lwz   r4,428(r24)
8068478C:  7C7D1B78   mr   r29,r3
80684790:  839801BC   lwz   r28,444(r24)
80684794:  39E00000   li   r15,0
80684798:  80040010   lwz   r0,16(r4)
8068479C:  2C000000   cmpwi   r0,0
806847A0:  41820010   beq-   0x806847b0
806847A4:  39E00001   li   r15,1
806847A8:  3BA00029   li   r29,41
806847AC:  4800008C   b   0x80684838
806847B0:  2C030029   cmpwi   r3,41
806847B4:  41820080   beq-   0x80684834
806847B8:  40800080   bge-   0x80684838
806847BC:  2C030003   cmpwi   r3,3
806847C0:  41820008   beq-   0x806847c8
806847C4:  48000074   b   0x80684838
806847C8:  801801B4   lwz   r0,436(r24)
806847CC:  2C000000   cmpwi   r0,0
806847D0:  41820068   beq-   0x80684838
806847D4:  809801DC   lwz   r4,476(r24)
806847D8:  2C040000   cmpwi   r4,0
806847DC:  4180005C   blt-   0x80684838
806847E0:  3C60805A   lis   r3,-32678
806847E4:  38A10058   addi   r5,r1,88
806847E8:  80630040   lwz   r3,64(r3)
806847EC:  4B9A665D   bl   0x8002ae48
806847F0:  88010090   lbz   r0,144(r1)
806847F4:  7C000775   extsb.   r0,r0
806847F8:  40820028   bne-   0x80684820
806847FC:  80010094   lwz   r0,148(r1)
80684800:  80610098   lwz   r3,152(r1)
80684804:  5400103A   rlwinm   r0,r0,2,0,29
80684808:  8081005C   lwz   r4,92(r1)
8068480C:  7C03002E   lwzx   r0,r3,r0
80684810:  7C800039   and.   r0,r4,r0
80684814:  4182000C   beq-   0x80684820
80684818:  38000001   li   r0,1
8068481C:  48000008   b   0x80684824
80684820:  38000000   li   r0,0
80684824:  2C000000   cmpwi   r0,0
80684828:  41820010   beq-   0x80684838
8068482C:  3BA00004   li   r29,4
80684830:  48000008   b   0x80684838
80684834:  39E00001   li   r15,1
80684838:  2C0F0000   cmpwi   r15,0
8068483C:  9BB3000A   stb   r29,10(r19)
80684840:  41820100   beq-   0x80684940
80684844:  83B80410   lwz   r29,1040(r24)
80684848:  39E10020   addi   r15,r1,32
8068484C:  83980414   lwz   r28,1044(r24)
80684850:  3A010010   addi   r16,r1,16
80684854:  3B200000   li   r25,0
[/spoiler]
NTSC-J
[spoiler]806842C8:  2C030002   cmpwi   r3,2
806842CC:  40820010   bne-   0x806842dc
806842D0:  38000003   li   r0,3
806842D4:  981400B9   stb   r0,185(r20)
806842D8:  48000418   b   0x806846f0
806842DC:  809801B8   lwz   r4,440(r24)
806842E0:  7F03C378   mr   r3,r24
806842E4:  48010151   bl   0x80694434
806842E8:  809801AC   lwz   r4,428(r24)
806842EC:  7C7D1B78   mr   r29,r3
806842F0:  839801BC   lwz   r28,444(r24)
806842F4:  39E00000   li   r15,0
806842F8:  80040010   lwz   r0,16(r4)
806842FC:  2C000000   cmpwi   r0,0
80684300:  41820010   beq-   0x80684310
80684304:  39E00001   li   r15,1
80684308:  3BA00029   li   r29,41
8068430C:  4800008C   b   0x80684398
80684310:  2C030029   cmpwi   r3,41
80684314:  41820080   beq-   0x80684394
80684318:  40800080   bge-   0x80684398
8068431C:  2C030003   cmpwi   r3,3
80684320:  41820008   beq-   0x80684328
80684324:  48000074   b   0x80684398
80684328:  801801B4   lwz   r0,436(r24)
8068432C:  2C000000   cmpwi   r0,0
80684330:  41820068   beq-   0x80684398
80684334:  809801DC   lwz   r4,476(r24)
80684338:  2C040000   cmpwi   r4,0
8068433C:  4180005C   blt-   0x80684398
80684340:  3C60805A   lis   r3,-32678
80684344:  38A10058   addi   r5,r1,88
80684348:  8063FBC8   lwz   r3,-1080(r3)
8068434C:  4B9A6AFD   bl   0x8002ae48
80684350:  88010090   lbz   r0,144(r1)
80684354:  7C000775   extsb.   r0,r0
80684358:  40820028   bne-   0x80684380
8068435C:  80010094   lwz   r0,148(r1)
80684360:  80610098   lwz   r3,152(r1)
80684364:  5400103A   rlwinm   r0,r0,2,0,29
80684368:  8081005C   lwz   r4,92(r1)
8068436C:  7C03002E   lwzx   r0,r3,r0
80684370:  7C800039   and.   r0,r4,r0
80684374:  4182000C   beq-   0x80684380
80684378:  38000001   li   r0,1
8068437C:  48000008   b   0x80684384
80684380:  38000000   li   r0,0
80684384:  2C000000   cmpwi   r0,0
80684388:  41820010   beq-   0x80684398
8068438C:  3BA00004   li   r29,4
80684390:  48000008   b   0x80684398
80684394:  39E00001   li   r15,1
80684398:  2C0F0000   cmpwi   r15,0
8068439C:  9BB3000A   stb   r29,10(r19)
806843A0:  41820100   beq-   0x806844a0
806843A4:  83B80410   lwz   r29,1040(r24)
806843A8:  39E10020   addi   r15,r1,32
806843AC:  83980414   lwz   r28,1044(r24)
806843B0:  3A010010   addi   r16,r1,16
806843B4:  3B200000   li   r25,0
[/spoiler]
PAL
[spoiler]8067BF68:  2C000002   cmpwi   r0,2
8067BF6C:  40820010   bne-   0x8067bf7c
8067BF70:  38000003   li   r0,3
8067BF74:  981600B9   stb   r0,185(r22)
8067BF78:  48000424   b   0x8067c39c
8067BF7C:  809801B8   lwz   r4,440(r24)
8067BF80:  7F03C378   mr   r3,r24
8067BF84:  48010181   bl   0x8068c104
8067BF88:  809801AC   lwz   r4,428(r24)
8067BF8C:  7C7E1B78   mr   r30,r3
8067BF90:  83B801BC   lwz   r29,444(r24)
8067BF94:  39E00000   li   r15,0
8067BF98:  80040010   lwz   r0,16(r4)
8067BF9C:  2C000000   cmpwi   r0,0
8067BFA0:  41820010   beq-   0x8067bfb0
8067BFA4:  39E00001   li   r15,1
8067BFA8:  3BC00029   li   r30,41
8067BFAC:  4800008C   b   0x8067c038
8067BFB0:  2C030029   cmpwi   r3,41
8067BFB4:  41820080   beq-   0x8067c034
8067BFB8:  40800080   bge-   0x8067c038
8067BFBC:  2C030003   cmpwi   r3,3
8067BFC0:  41820008   beq-   0x8067bfc8
8067BFC4:  48000074   b   0x8067c038
8067BFC8:  801801B4   lwz   r0,436(r24)
8067BFCC:  2C000000   cmpwi   r0,0
8067BFD0:  41820068   beq-   0x8067c038
8067BFD4:  809801DC   lwz   r4,476(r24)
8067BFD8:  2C040000   cmpwi   r4,0
8067BFDC:  4180005C   blt-   0x8067c038
8067BFE0:  3C60805A   lis   r3,-32678
8067BFE4:  38A10058   addi   r5,r1,88
8067BFE8:  80631E08   lwz   r3,7688(r3)
8067BFEC:  4B9AEE05   bl   0x8002adf0
8067BFF0:  88010090   lbz   r0,144(r1)
8067BFF4:  7C000775   extsb.   r0,r0
8067BFF8:  40820028   bne-   0x8067c020
8067BFFC:  80010094   lwz   r0,148(r1)
8067C000:  8061009C   lwz   r3,156(r1)
8067C004:  5400103A   rlwinm   r0,r0,2,0,29
8067C008:  8081005C   lwz   r4,92(r1)
8067C00C:  7C03002E   lwzx   r0,r3,r0
8067C010:  7C800039   and.   r0,r4,r0
8067C014:  4182000C   beq-   0x8067c020
8067C018:  38000001   li   r0,1
8067C01C:  48000008   b   0x8067c024
8067C020:  38000000   li   r0,0
8067C024:  2C000000   cmpwi   r0,0
8067C028:  41820010   beq-   0x8067c038
8067C02C:  3BC00004   li   r30,4
8067C030:  48000008   b   0x8067c038
8067C034:  39E00001   li   r15,1
8067C038:  2C0F0000   cmpwi   r15,0
8067C03C:  9BD5000A   stb   r30,10(r21)
8067C040:  41820114   beq-   0x8067c154
8067C044:  83D80410   lwz   r30,1040(r24)
8067C048:  39E10020   addi   r15,r1,32
8067C04C:  83B80414   lwz   r29,1044(r24)
8067C050:  3A010010   addi   r16,r1,16
8067C054:  3B200000   li   r25,0
[/spoiler]
What do you think about it? This is probably one of the very rare moments in which I´ve seen a game using different registers compared to the other region(s). I remember happening something like this on my berries code for Poképark Wii 2.
My Wii hacking site...
http://bullywiihacks.com/

My youtube account with a lot of hacking videos...
http://www.youtube.com/user/BullyWiiPlaza

~Bully

dcx2

Tales of Symphonia: Dawn of the New World is the same way.  The PAL version is actually different in a few ways, it has some new items and stuffs.  It's very hard to port DotNW codes between regions because registers change, instruction order changes, and I think in some cases the way calculations are performed change as well; I was unable to port my 99.99 Grade code to PAL.

Deathwolf

Not really new to me. Even rlwinm instructions are almost different.
lolz