05-17-2021, 08:57 PM
(05-17-2021, 07:34 PM)Fear Wrote:ASM, its mainly ASM.(05-15-2021, 12:55 PM)Vega Wrote: Thank you. NTSC-U now works, but J and K are freezing at countdown. So only thing left is the in-source addresses for J and K have bad ports which will be slightly tedious to port. I would port these myself but I'm very lazy and got to go out of town due to work yet again on MondayNew to all this, but this makes me curious. Do people make these codes off of this source and in this sort of language? or do they edit it in Hexadecimal?
EDIT:
Had some free time and finished all the in-source address porting. Port command on wstrt is awesome!
For anyone who cares here's compile-able source:
Code:#Code created by CLF78 & Fynn935083
#address ports
#80531134 = NTSC-U
#80535C7C = PAL
#805355FC = NTSC-J
#80523CD4 = NTSC-K
.set region, 'e' #fill in e p j or k
.if (region == 'E' || region == 'e') # RMCE
.set addr1, 0x809BF0B1
.set addr2, 0x809BD918
.set addr3, 0x809B8F68
.set addr4, 0x809BEE20
.elseif (region == 'P' || region == 'p') # RMCP
.set addr1, 0x809C38B9
.set addr2, 0x809C20D8
.set addr3, 0x809BD728
.set addr4, 0x809C3618
.elseif (region == 'J' || region == 'j') # RMCJ
.set addr1, 0x809C2919
.set addr2, 0x809C1138
.set addr3, 0x809BC788
.set addr4, 0x809C2678
.elseif (region == 'K' || region == 'k') # RMCK
.set addr1, 0x809B13F9
.set addr2, 0x809B0718
.set addr3, 0x809ABD68
.set addr4, 0x809B1C58
.else # Invalid Region
.err
.endif
stw r0,72(r29)
cmpwi r3,0
bne+ 0x006C
lis r3, addr1@ha
lbz r3, addr1@l (r3)
cmpwi r3,1
bne- 0x002C
lis r3, addr2@ha
lwz r3, addr2@l (r3)
addi r4,r3,56
lwz r3,0x291C(r3)
mulli r3,r3,88
add r3,r4,r3
lbz r4,33(r3)
lbz r5,34(r3)
cmpw r4,r5
bne+ 0x0034
lis r3, addr3@ha
lwz r3, addr3@l (r3)
lbz r3,0x0B84(r3)
mulli r3,r3,584
lis r4, addr4@ha
lwz r4, addr4@l (r4)
lwz r4,20(r4)
add r3,r3,r4
li r4, 6 #Set to bob-omb just for compilation purposes
stw r4,140(r3)
li r4,1
stw r4,144(r3)
~MarioKartWii.com #1~