Mii Name Extender (zak's version)
#1
Mii Name Extender (zak's version)

NOTE: Outdated by Star's version. Star's version is shorter and it's region free.

This code will allow you to put in a custom Mii name when online. Only you can see it. You also have the ability to extend the max length of the Mii name from 10 to 29 characters. If you don't want the max length, just fill in the unused values with 0's.

Also, this may not work on all MKW servers (such as Wiimmfi). There's no point adding button activators to this if the code isn't working on a particular MKW server as the ASM function gets called upon selecting your license during the MKWii main menu.

NTSC-U
C25DA7B0 0000000E
7C0802A6 39230066
48000045 0000XWYZ
XWYZXWYZ XWYZXWYZ
XWYZXWYZ XWYZXWYZ
XWYZXWYZ XWYZXWYZ
XWYZXWYZ XWYZXWYZ
XWYZXWYZ XWYZXWYZ
XWYZXWYZ XWYZXWYZ
XWYZXWYZ XWYZXWYZ
00000000 7D8802A6
A56C0002 B5690002
2C0B0000 4082FFF4
7C0803A6 39200000
8003006C 00000000

PAL
C25FB094 0000000E
7C0802A6 39230066
48000045 0000XWYZ
XWYZXWYZ XWYZXWYZ
XWYZXWYZ XWYZXWYZ
XWYZXWYZ XWYZXWYZ
XWYZXWYZ XWYZXWYZ
XWYZXWYZ XWYZXWYZ
XWYZXWYZ XWYZXWYZ
XWYZXWYZ XWYZXWYZ
00000000 7D8802A6
A56C0002 B5690002
2C0B0000 4082FFF4
7C0803A6 39200000
8003006C 00000000

NTSC-J
C25FA970 0000000E
7C0802A6 39230066
48000045 0000XWYZ
XWYZXWYZ XWYZXWYZ
XWYZXWYZ XWYZXWYZ
XWYZXWYZ XWYZXWYZ
XWYZXWYZ XWYZXWYZ
XWYZXWYZ XWYZXWYZ
XWYZXWYZ XWYZXWYZ
XWYZXWYZ XWYZXWYZ
00000000 7D8802A6
A56C0002 B5690002
2C0B0000 4082FFF4
7C0803A6 39200000
8003006C 00000000

NTSC-K
C25E94B4 0000000E
7C0802A6 39230066
48000045 0000XWYZ
XWYZXWYZ XWYZXWYZ
XWYZXWYZ XWYZXWYZ
XWYZXWYZ XWYZXWYZ
XWYZXWYZ XWYZXWYZ
XWYZXWYZ XWYZXWYZ
XWYZXWYZ XWYZXWYZ
XWYZXWYZ XWYZXWYZ
00000000 7D8802A6
A56C0002 B5690002
2C0B0000 4082FFF4
7C0803A6 39200000
8003006C 00000000

XWYZ = Mii Character ASCII Value

Example ASCII Values:
0020 = Space
0041 = A
0061 = a
E017 = DSi Heart

Use 0000 for unfilled values if you don't want to use the full length of 29 characters.




Source (using 01230123012301230123456789905 as the Mii Name):

####################
###START ASSEMBLY###
####################

#

############################
##OG Link Register Storage##
############################

mflr r0 #Backup original Link Register into Register 0

################################################
##Address Config For Loop Mem Storage Location##
################################################

addi r9, r3, 0x0066 #Add 0x66 to value of r3 to setup proper address location in register to upcoming updating-loop

#########################################################
##Setup Loading Address Relative to the Program Counter##
#########################################################

##Following address after the 'bl' function will be stored in the link register##
##This will allow us to use it to later load the mii data into the loop##

bl link_label #branch to link_label, store address of link_label to the link register

################################
##Pseudo Ops (Mii Data Table)##
################################

##psuedo ops listed below are the mii data characters##
##Space value is for bytes of zeros##
##.llong is to put in a doubleword##
##.long is to put in a normal word##

##The .space 2 is put in because the first loaded address in the loop uses an offset of 0x2##
##So two bytes of zeros are needed to be added beforehand##

.space 2
.llong 0x0030003100320033
.llong 0x0030003100320033
.llong 0x0030003100320033
.llong 0x0030003100320033
.llong 0x0030003100320033
.llong 0x0034003500360037
.llong 0x0038003900390030
.long 0x00350000
.space 2

##The 0x0000 is added after the final ascii character to be used to tell the loop to stop loading data##
##The last .space 2 is for alignment reasons##

##############
##Link Label##
##############

##Now that we have our address that is at the start of the Mii Data table...##
##We want to move that address from the LR to r12 to begin loading data from it to the loop##

link_label:
mflr r12 #Move address that is 0x4 before the mii data from the link register to register 12

############
##The LOOP##
############

loop_back:
lhzu r11, 0x0002 (r12) #Grab first mii data character halfword, then increment r12 address by 4 to grab next half word
sthu r11, 0x0002 (r9) #Store first mii data halfword to proper spot in memory, then increment r9 by 4 for when next character is stored
cmpwi r11, 0x0 
bne+ loop_back #If halfword is 0000 (null; provided by the code), we know to stop the loop and continue to next asm. if not equal to 0000, we start the loop over again

###############################################
##Post Loop; Restore Original Register Values##
###############################################

mtlr r0 #Restore original Link Register

li r9, 0x0 # Restore original value to r9 for game safety

###############
##Default ASM##
###############

lwz r0, 0x006C (r3) #Default ASM

#

##################
###END ASSEMBLY###
##################

Code creator: zak
Code contributor(s): Star (used his Mii Extender code to setup a Write Breakpoint)
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)