Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 646
» Latest member: Luca1337
» Forum threads: 1,815
» Forum posts: 14,000

Full Statistics

Online Users
There are currently 84 online users.
» 0 Member(s) | 82 Guest(s)
Bing, Google

Latest Threads
Allow Pausing Before Race...
Forum: Offline Non-Item
Last Post: Vega
6 hours ago
» Replies: 0
» Views: 14
Top 10 Most Influential C...
Forum: Coding & Hacking General Discussion
Last Post: Vega
10 hours ago
» Replies: 2
» Views: 7,352
Show Ice Cube on Online P...
Forum: Online Non-Item
Last Post: _Ro
Yesterday, 08:23 AM
» Replies: 0
» Views: 34
CPU Control Cycler [Ro]
Forum: Offline Non-Item
Last Post: _Ro
Yesterday, 07:56 AM
» Replies: 7
» Views: 1,011
Thunder Cloud Effect Modi...
Forum: Offline; Item
Last Post: JerryHatrick
01-10-2025, 11:13 PM
» Replies: 11
» Views: 1,096
MKW Coder/Developer of th...
Forum: Coding & Hacking General Discussion
Last Post: Vega
01-10-2025, 09:10 PM
» Replies: 10
» Views: 13,845
Make it to 10,000
Forum: General Discussion
Last Post: Vega
01-10-2025, 08:15 PM
» Replies: 7,338
» Views: 5,671,462
Miniturbos and Inside Dri...
Forum: Coding & Hacking General Discussion
Last Post: JerryHatrick
01-10-2025, 09:54 AM
» Replies: 1
» Views: 859
Code request???
Forum: Code Support / Help / Requests
Last Post: DrTap
01-09-2025, 06:06 PM
» Replies: 3
» Views: 4,958
CPUs/Online Players Have ...
Forum: Visual & Sound Effects
Last Post: Zeraora
01-09-2025, 02:26 AM
» Replies: 2
» Views: 515

 
  Standstill Threshold Modifier [JoshuaMK]
Posted by: JoshuaMK - 08-19-2019, 12:15 AM - Forum: Offline Non-Item - No Replies

Standstill Threshold Modifier [JoshuaMK]

(NTSC-U)
0488D500 XXXXXXXX

(PAL)
04891A18 XXXXXXXX

(NTSC-J)
04891068 XXXXXXXX

(NTSC-K)
0487FE20 XXXXXXXX



41200000 = Normal Value



Code Creator: JoshuaMK

Print this item

  Pseudo Freeze [JoshuaMK]
Posted by: JoshuaMK - 08-18-2019, 07:36 AM - Forum: Visual & Sound Effects - Replies (2)

Pseudo Freeze [JoshuaMK]

This code lets you press your button of choice to temporarily freeze the game. You can customize how long the freeze lasts for.

(Region Free)
C0000000 00000006
3D80XXXX 618CYYYY
A16C0000 280BZZZZ
4CA20020 39600000
916C0000 3D80TTTT
7D8903A6 7C0004AC
4200FFFC 4E800020



Guide

Note: This code makes use of user input. See this guide for reference on filling in values: https://mkwii.com/showthread.php?tid=44

XXXX = Controller Address (Upper Half)
YYYY = Controller Address (Lower Half)
ZZZZ = Button(s) To Freeze Game
TTTT = How Long the Freeze Lasts (Recommended Value is 5000, Which Lasts For About 12-15 Seconds)



#~~~~~~~#
#Source ASM#
#~~~~~~~#

lis r12, 0x8034
ori r12, r12, 0x3E80
lhz r11, 0 (r12)
cmplwi r11, 0x00F0
bnelr+
li r11, 0
stw r11, 0 (r12)
lis r12, 0x0001
mtctr r12
loop:
sync
bdnz+ loop



Code Creator: JoshuaMK

Print this item

  End Race on Command [JoshuaMK]
Posted by: JoshuaMK - 08-18-2019, 01:59 AM - Forum: Incomplete & Outdated Codes - Replies (7)

End Race on Command [JoshuaMK]

NOTE: Outdated by ComputerBot2016's version.

This code is designed to be able to work as early as before the countdown begins. Just press your button of choice and the race instantly ends.

(NTSC-U)
0453009C 41800074
04530480 41820114
04530510 40820080
04530584 4081000C
0453097C 41820020
2834XXXX YYYYZZZZ
0453009C 60000000
04530480 60000000
04530510 60000000
04530584 60000000
0453097C 60000000
E0000000 80008000

(PAL)
04534BE4 41800074
04534FC8 41820114
04535058 40820080
045350CC 4081000C
045354C4 41820020
2834XXXX YYYYZZZZ
04534FC8 60000000
04534BE4 60000000
04535058 60000000
045350CC 60000000
045354C4 60000000
E0000000 80008000

(NTSC-J)
04534564 41800074
04534948 41820114
045349D8 40820080
04534A4C 4081000C
04534E44 41820020
2834XXXX YYYYZZZZ
04534564 60000000
04534948 60000000
045349D8 60000000
04534A4C 60000000
04534E44 60000000
E0000000 80008000

(NTSC-K)
04522C3C 41800074
04523020 41820114
045230B0 40820080
04523124 4081000C
0452351C 41820020
2833XXXX YYYYZZZZ
04522C3C 60000000
04523020 60000000
045230B0 60000000
04523124 60000000
0452351C 60000000
E0000000 80008000



Guide

Note: This code makes use of user input. See this guide for reference on filling in values: https://mkwii.com/showthread.php?tid=44



Code Creator: JoshuaMK

Print this item

  I upload your code to YouTube
Posted by: Ro_ - 08-17-2019, 09:46 PM - Forum: Introductions - Replies (7)

sup guys I'm Rob but you can call me No_Name_Guy and I upload your codes to YouTube. My friend records them and I use his video to upload on the channel. He told me that he has codes here too and I recorded a code for him but never searched much. that's it peace, any new code that works and is good I rec so thats it bye  Heart

Print this item

  Suspension Length Modifier [JoshuaMK]
Posted by: JoshuaMK - 08-16-2019, 06:41 AM - Forum: Visual & Sound Effects - Replies (2)

Suspension Length Modifier [JoshuaMK]

(NTSC-U)
C2590B08 00000008
3D808034 618CXXXX
A18C0000 83430188
718BYYYY 280BYYYY
41820018 718BZZZZ
280BZZZZ 40820014
3F5AFFFF 48000008
3F5A0001 93430188
C0230188 00000000
04590B14 60000000

(PAL)
C259732C 00000008
3D808034 618CXXXX
A18C0000 83430188
718BYYYY 280BYYYY
41820018 718BZZZZ
280BZZZZ 40820014
3F5AFFFF 48000008
3F5A0001 93430188
C0230188 00000000
04597338 60000000

(NTSC-J)
C2596CAC 00000008
3D808034 618CXXXX
A18C0000 83430188
718BYYYY 280BYYYY
41820018 718BZZZZ
280BZZZZ 40820014
3F5AFFFF 48000008
3F5A0001 93430188
C0230188 00000000
04596CB8 60000000

(NTSC-K)
C2585384 00000008
3D808033 618CXXXX
A18C0000 83430188
718BYYYY 280BYYYY
41820018 718BZZZZ
280BZZZZ 40820014
3F5AFFFF 48000008
3F5A0001 93430188
C0230188 00000000
04585390 60000000



Guide

Note: This code makes use of user input. See this guide for reference on filling in values: https://mkwii.com/showthread.php?tid=44

XXXX = Controller Address
YYYY = Grow Suspension
ZZZZ = Shrink Suspension



#~~~~~~~#
#Source ASM#
#~~~~~~~#

.set region, '' #Must set region value, or else source will not compile

.if (region == 'E' || region == 'e') # RMCE
.macro controller_address
lis r12, 0x8034
.endm
.elseif (region == 'P' || region == 'p') # RMCP
.macro controller_address
lis r12, 0x8034
.endm
.elseif (region == 'J' || region == 'j') # RMCJ
.macro controller_address
lis r12, 0x8034
.endm
.elseif (region == 'K' || region == 'k') # RMCK
.macro controller_address
lis r12, 0x8033
.endm
.else # Invalid Region
.abort
.endif

#~~~~~~~~~~~#
#Inject > 80590B08#
#~~~~~~~~~~~#

controller_address
ori r12, r12, 0x3E80
lhz r12, 0 (r12)
lwz r26, 0x0188 (r3)
andi. r11, r12, 0x0082
cmplwi r11, 0x0082
beq lengthen
andi. r11, r12, 0x0081
cmplwi r11, 0x0081
bne the_end
subis r26, r26, 1
b store
lengthen:
addis r26, r26, 1
store:
stw r26, 0x0188 (r3)
the_end:
lfs f1, 0x0188 (r3)

#~~~~~~~~~~~#
#Write > 80590B14#
#~~~~~~~~~~~#

nop



Code Creator: JoshuaMK

Print this item

  Racer Size Modifier [JoshuaMK]
Posted by: JoshuaMK - 08-15-2019, 09:28 PM - Forum: Visual & Sound Effects - No Replies

Racer Size Modifier [JoshuaMK]

This code lets you freely change the size of all characters during a race, at any point in time.

A huge step up from davidevgen's code, which can only be modified when a race is loading. This code also allows higher values than his without causing issues.

(NTSC-U)
C257ADC4 00000008
80BF0260 807F0160
3D808034 618CXXXX
A18C0000 718BYYYY
2C0BYYYY 41820018
718BZZZZ 2C0BZZZZ
40A20010 3C63FFFF
48000008 3C630001
907F0160 00000000

(PAL)
C2581628 00000008
80BF0260 807F0160
3D808034 618CXXXX
A18C0000 718BYYYY
2C0BYYYY 41820018
718BZZZZ 2C0BZZZZ
40A20010 3C63FFFF
48000008 3C630001
907F0160 00000000

(NTSC-J)
C2580FA8 00000008
80BF0260 807F0160
3D808034 618CXXXX
A18C0000 718BYYYY
2C0BYYYY 41820018
718BZZZZ 2C0BZZZZ
40A20010 3C63FFFF
48000008 3C630001
907F0160 00000000

(NTSC-K)
C256F680 00000008
80BF0260 807F0160
3D808033 618CXXXX
A18C0000 718BYYYY
2C0BYYYY 41820018
718BZZZZ 2C0BZZZZ
40A20010 3C63FFFF
48000008 3C630001
907F0160 00000000




Guide

Note: This code makes use of user input. See this guide for reference on filling in values: https://mkwii.com/showthread.php?tid=44

XXXX = Controller Address
YYYY = Grow Button
ZZZZ = Shrink Button



#~~~~~~~#
#Source ASM#
#~~~~~~~#

.set region, '' #Must set region value, or else source will not compile

.if (region == 'E' || region == 'e') # RMCE
.macro controller_address
lis r12, 0x8034
.endm
.elseif (region == 'P' || region == 'p') # RMCP
.macro controller_address
lis r12, 0x8034
.endm
.elseif (region == 'J' || region == 'j') # RMCJ
.macro controller_address
lis r12, 0x8034
.endm
.elseif (region == 'K' || region == 'k') # RMCK
.macro controller_address
lis r12, 0x8033
.endm
.else # Invalid Region
.abort
.endif

#~~~~~~~~~~~~#
#Inject > 8057ADC4#
#~~~~~~~~~~~~#

lwz r5, 0x0260 (r31)
lwz r3, 0x0160 (r31)
controller_address
ori r12, r12, 0x3E80
lhz r12, 0 (r12)
andi. r11, r12, 0x0082
cmpwi r11, 0x0082
beq- grow_xyz
andi. r11, r12, 0x0081
cmpwi r11, 0x0081
bne+ the_end
subis r3, r3, 1
b the_end
grow_xyz:
addis r3, r3, 1
the_end:
stw r3, 0x0160 (r31)



Code Creator: JoshuaMK

Print this item

  Racer XYZ Size Modifier [JoshuaMK]
Posted by: JoshuaMK - 08-15-2019, 07:19 PM - Forum: Visual & Sound Effects - Replies (2)

Racer XYZ Size Modifier [JoshuaMK]

This code is set to allow independent manipulation of each axis as is desired, but you can also scale all the axis at the same time too. You can even press a button conditional to automatically reset the size back to default.

Negative values are possible for x/z axis, but negative values in the y axis (vertical) crash the game.

(NTSC-U)
C257ADF4 0000001F
C045006C ECC3182A
ECC601B2 ECC601B2
ECC33024 3D808034
618CAAAA A18C0000
718BRRRR 2C0BRRRR
41820084 718BYYYY
2C0BYYYY 41820098
718Byyyy 2C0Byyyy
41820094 718BXXXX
2C0BXXXX 41820070
718Bxxxx 2C0Bxxxx
4182006C 718BZZZZ
2C0BZZZZ 41820078
718Bzzzz 2C0Bzzzz
41820074 718BEEEE
2C0BEEEE 41820020
718Beeee 2C0Beeee
40A2006C EC003028
EC213028 EC423028
48000050 EC00302A
EC21302A EC42302A
48000040 FC001890
FC201890 FC401890
48000030 EC42302A
48000028 EC423028
48000020 EC21302A
48000018 EC213028
48000010 EC00302A
48000008 EC003028
D0050074 D0250070
D045006C 00000000

(PAL)
C2581658 0000001F
C045006C ECC3182A
ECC601B2 ECC601B2
ECC33024 3D808034
618CAAAA A18C0000
718BRRRR 2C0BRRRR
41820084 718BYYYY
2C0BYYYY 41820098
718Byyyy 2C0Byyyy
41820094 718BXXXX
2C0BXXXX 41820070
718Bxxxx 2C0Bxxxx
4182006C 718BZZZZ
2C0BZZZZ 41820078
718Bzzzz 2C0Bzzzz
41820074 718BEEEE
2C0BEEEE 41820020
718Beeee 2C0Beeee
40A2006C EC003028
EC213028 EC423028
48000050 EC00302A
EC21302A EC42302A
48000040 FC001890
FC201890 FC401890
48000030 EC42302A
48000028 EC423028
48000020 EC21302A
48000018 EC213028
48000010 EC00302A
48000008 EC003028
D0050074 D0250070
D045006C 00000000

(NTSC-J)
C2580FD8 0000001F
C045006C ECC3182A
ECC601B2 ECC601B2
ECC33024 3D808034
618CAAAA A18C0000
718BRRRR 2C0BRRRR
41820084 718BYYYY
2C0BYYYY 41820098
718Byyyy 2C0Byyyy
41820094 718BXXXX
2C0BXXXX 41820070
718Bxxxx 2C0Bxxxx
4182006C 718BZZZZ
2C0BZZZZ 41820078
718Bzzzz 2C0Bzzzz
41820074 718BEEEE
2C0BEEEE 41820020
718Beeee 2C0Beeee
40A2006C EC003028
EC213028 EC423028
48000050 EC00302A
EC21302A EC42302A
48000040 FC001890
FC201890 FC401890
48000030 EC42302A
48000028 EC423028
48000020 EC21302A
48000018 EC213028
48000010 EC00302A
48000008 EC003028
D0050074 D0250070
D045006C 00000000

(NTSC-K)
C256F6B0 0000001F
C045006C ECC3182A
ECC601B2 ECC601B2
ECC33024 3D808033
618CAAAA A18C0000
718BRRRR 2C0BRRRR
41820084 718BYYYY
2C0BYYYY 41820098
718Byyyy 2C0Byyyy
41820094 718BXXXX
2C0BXXXX 41820070
718Bxxxx 2C0Bxxxx
4182006C 718BZZZZ
2C0BZZZZ 41820078
718Bzzzz 2C0Bzzzz
41820074 718BEEEE
2C0BEEEE 41820020
718Beeee 2C0Beeee
40A2006C EC003028
EC213028 EC423028
48000050 EC00302A
EC21302A EC42302A
48000040 FC001890
FC201890 FC401890
48000030 EC42302A
48000028 EC423028
48000020 EC21302A
48000018 EC213028
48000010 EC00302A
48000008 EC003028
D0050074 D0250070
D045006C 00000000



Guide


Note: This code makes use of user input. See this guide for reference on filling in values: https://mkwii.com/showthread.php?tid=44

AAAA = Controller Address
RRRR = Reset Size to Normal
XXXX = X Axis Grow
xxxx = X Axis Shrink
YYYY = Y Axis Grow
yyyy = Y Axis Shrink
ZZZZ = Z Axis Grow
zzzz = Z Axis Shrink
EEEE = All Axis Grow
eeee = All Axis Shrink



#~~~~~~~#
#Source ASM#
#~~~~~~~#

.set region, '' #Must set region value, or else source will not compile

.if (region == 'E' || region == 'e') # RMCE
.macro controller_address
lis r12, 0x8034
.endm
.elseif (region == 'P' || region == 'p') # RMCP
.macro controller_address
lis r12, 0x8034
.endm
.elseif (region == 'J' || region == 'j') # RMCJ
.macro controller_address
lis r12, 0x8034
.endm
.elseif (region == 'K' || region == 'k') # RMCK
.macro controller_address
lis r12, 0x8033
.endm
.else # Invalid Region
.abort
.endif

#~~~~~~~~~~~#
#Inject > 8057ADF4#
#~~~~~~~~~~~#

lfs f2, 0x006C (r5)
fadds f6, f3, f3
fmuls f6, f6, f6
fmuls f6, f6, f6
fdivs f6, f3, f6
controller_address
ori r12, r12, 0x3E80
lhz r12, 0 (r12)
andi. r11, r12, 0x0C90
cmpwi r11, 0x0C90
beq- reset
andi. r11, r12, 0x0882
cmpwi r11, 0x0882
beq- grow_y
andi. r11, r12, 0x0881
cmpwi r11, 0x0881
beq- shrink_y
andi. r11, r12, 0x0482
cmpwi r11, 0x0482
beq- grow_x
andi. r11, r12, 0x0481
cmpwi r11, 0x0481
beq- shrink_x
andi. r11, r12, 0x0092
cmpwi r11, 0x0092
beq- grow_z
andi. r11, r12, 0x0091
cmpwi r11, 0x0091
beq- shrink_z
andi. r11, r12, 0x0082
cmpwi r11, 0x0082
beq- grow_xyz
andi. r11, r12, 0x0081
cmpwi r11, 0x0081
bne+ the_end
fsubs f0, f0, f6
fsubs f1, f1, f6
fsubs f2, f2, f6
b store_float
grow_xyz:
fadds f0, f0, f6
fadds f1, f1, f6
fadds f2, f2, f6
b store_float
reset:
fmr f0, f3
fmr f1, f3
fmr f2, f3
b store_float
grow_x:
fadds f2, f2, f6
b store_float
shrink_x:
fsubs f2, f2, f6
b store_float
grow_y:
fadds f1, f1, f6
b store_float
shrink_y:
fsubs f1, f1, f6
b store_float
grow_z:
fadds f0, f0, f6
b store_float
shrink_z:
fsubs f0, f0, f6
store_float:
stfs f0, 0x0074 (r5)
stfs f1, 0x0070 (r5)
stfs f2, 0x006C (r5)
the_end:



Code Creator: JoshuaMK

Print this item

Question Drift Type Modifier
Posted by: JoshuaMK - 08-15-2019, 08:02 AM - Forum: Code Support / Help / Requests - Replies (7)

Currently only in NTSC-U, have been searching for over a week for this value and finally found it. I have found what determines inside/outside drifting.

The only issue is I can't seem to get inside drift forced into outside drift to function right... It has all the animations, effects, and camera angles acting like they should for outside drift, but the drift itself performs like inside drifting. This makes me think there is still some missing value I need to find.

Outside drifting doesn't have this issue. It seems to work flawlessly.

Anyways, here is the code as is:

(NTSC-U)
C258B7C4 00000007
3D808034 618C3E80
A18C0000 280C0082
41820014 280C0081
40820014 38A00001
48000010 38A00002
48000008 80A40004
60000000 00000000


#ASM
lis r12, 0x8034
ori r12, r12, 0x3E80
lhz r12, 0 (r12)
cmplwi r12, 0x0082
beq force_in
cmplwi r12, 0x0081
bne normal
li r5, 1     #1 = Outside Drift
b the_end
force_in:
li r5, 2     #2 = Inside Drift
b the_end
normal:
lwz r5, 0x0004 (r4)     #If no controller input matches, load normal value (Depends on chosen vehicle type)
the_end:

Print this item

  Force Ghost/Opaque Effect [JoshuaMK]
Posted by: JoshuaMK - 08-14-2019, 02:31 AM - Forum: Visual & Sound Effects - Replies (1)

Force Ghost/Opaque Effect [JoshuaMK]

With this code you can force the game to load you as a ghost in Time Trials, and/or force the cpu to load as a normal racer.
In 1P vs. and Grand Prix mode this code causes three cpus to not drive at all. Multiplayer vs. mode has not been tested.

Not holding any buttons make everyone normal

(NTSC-U)
C258C810 00000008
80030038 28040004
4080002C 3D808034
618CXXXX A18C0000
280CYYYY 41820014
280CZZZZ 40820010
38000000 48000008
38000003 90030038
60000000 00000000

(PAL)
C2593034 00000008
80030038 28040004
4080002C 3D808034
618CXXXX A18C0000
280CYYYY 41820014
280CZZZZ 40820010
38000000 48000008
38000003 90030038
60000000 00000000

(NTSC-J)
C25929B4 00000008
80030038 28040004
4080002C 3D808034
618CXXXX A18C0000
280CYYYY 41820014
280CZZZZ 40820010
38000000 48000008
38000003 90030038
60000000 00000000

(NTSC-K)
C258108C 00000008
80030038 28040004
4080002C 3D808033
618CXXXX A18C0000
280CYYYY 41820014
280CZZZZ 40820010
38000000 48000008
38000003 90030038
60000000 00000000




Guide

Note: This code makes use of user input. See this guide for reference on filling in values: https://mkwii.com/showthread.php?tid=44

XXXX = Controller Address
YYYY = Button to Make you + CPU a ghost
ZZZZ = Button to Make you + CPU be opaque



#~~~~~~~#
#Source ASM#
#~~~~~~~#

#~~~~~~~~~~~~~~#
#Macros and Statements#
#~~~~~~~~~~~~~~#

.set region, '' #Must set region value, or else source will not compile

.if (region == 'E' || region == 'e') # RMCE
.macro controller_address
lis r12, 0x8034
.endm
.elseif (region == 'P' || region == 'p') # RMCP
.macro controller_address
lis r12, 0x8034
.endm
.elseif (region == 'J' || region == 'j') # RMCJ
.macro controller_address
lis r12, 0x8034
.endm
.elseif (region == 'K' || region == 'k') # RMCK
.macro controller_address
lis r12, 0x8033
.endm
.else # Invalid Region
.abort
.endif

#~~~~~~~~~#
#Start Assembly#
#~~~~~~~~~#

lwz r0, 0x0038 (r3)
cmplwi r4, 4
bge the_end
controller_address
ori r12, r12, 0x3E80
lhz r12, 0 (r12)
cmplwi r12, 0x0088
beq make_everyone_ghost
cmplwi r12, 0x0084
bne the_end
li r0, 0
b the_end
make_everyone_ghost:
li r0, 3
the_end:
stw r0, 0x0038 (r3)



Code Creator: JoshuaMK

Print this item

  Steal-Mii [Vega]
Posted by: Vega - 08-13-2019, 07:28 PM - Forum: Online Non-Item - No Replies

Steal-Mii [Vega]

NOTE: Does not work on Wiimmfi due to their security patches.

This code will allow you to steal anybody's Mii and install it to your Mii Channel.

How it works--
1. When Online, whatever Mii you are currently viewing on the globe (or have last viewed on the globe), is the one that will be stolen once you have pressed your activator (fill in X, Y, Z values below).

2. You do NOT need to hold down the activator for a long period of time, just simply press it. You will notice a lag spike for a split second, this is normal. If there was absolutely no lag spike, then the code did not execute.

3. After you have stolen the Mii, simply shutdown your game and go to the Mii Channel, you will see the stolen Mii. If you try to see the Mii (like for license settings), before visiting the Mii Channel, you won't see the stolen Mii, this is normal.

4. If you try to do this on your own Mii, the code will detect this and not execute.

5. The stolen Mii will replace w/e Mii you have in slot 0 of your Mii Channel, aka the first ever Mii that was created/or imported in your Channel. Keep in mind, that if you don't have a Mii in slot 0, a new Mii will be created, thus you don't lose any Miis in this scenario. Yes, I could add a feature to always add the stolen Mii w/o erasing slot 0 Mii (if its present), but that would increase this code's length and it's already long enough.

6. You will NOT be able to edit your stolen Mii in your Mii Channel, to enable this feature would easily double the length of this code, and that's something I don't feel like adding in.

Final NOTE: This code makes use of memory addresses 0x80000A20 thru 0x80000A23. Make sure no other codes in your GCT/Cheat-Manager are using those addresses.



NTSC-U
C274BEC4 00000002
7C0903A6 3CA08000
90C50A20 00000000
040095F4 88030051
2834XXXX YYYYZZZZ
C20095F4 0000003E
3D808000 816C0A20
556A273E 2C0A0008
408201D4 7D8802A6
9421FF80 BC610008
7D785B78 3C600001
6063F1E0 7C791B78
38800020 80ADA358
80A50024 3D808022
618C9490 7D8803A6
4E800021 7C7B1B78
3FA08016 48000029
2F736861 72656432
2F6D656E 752F4661
63654C69 622F5246
4C5F4442 2E646174
00000000 7C6802A6
7C7E1B78 38800001
63BCADBC 7F8803A6
4E800021 2C030000
41800140 7C7F1B78
7F64DB78 7F25CB78
63BCB15C 7F8803A6
4E800021 7C03C800
40820120 7FE3FB78
63BCB2E4 7F8803A6
4E800021 3AFB0003
3AC0004A 8EB80001
9EB70001 36D6FFFF
4082FFF4 7F63DB78
3899FFFE 7C661B78
39000000 38600000
48000040 7C690734
7CEB5630 7D2948F8
3800EFDF 7D29FE70
556B07FE 7D290038
5460083C 7D6B0378
39291021 7D295A78
394AFFFF 5523043E
4200FFCC 39080001
7C082000 41820018
38000008 7CE830AE
7C0903A6 39400007
4BFFFFAC 38000010
7C0903A6 7C690734
3800EFDF 7D2948F8
7D29FE70 7D290038
5460083C 39291021
7D290278 5523043E
4200FFDC 3C9B0002
B064F1DE 7FC3F378
38800002 63BCADBC
7F8803A6 4E800021
2C030000 41800034
7C7F1B78 7F64DB78
7F25CB78 63BCB220
7F8803A6 4E800021
7C03C800 40820014
7FE3FB78 63BCB2E4
7F8803A6 4E800021
B8610008 38210080
7D8803A6 88030051
60000000 00000000
E0000000 80008000

PAL
C2751404 00000002
7C0903A6 3CA08000
90C50A20 00000000
04009634 88030051
2834XXXX YYYYZZZZ
C2009634 0000003E
3D808000 816C0A20
556A273E 2C0A0008
408201D4 7D8802A6
9421FF80 BC610008
7D785B78 3C600001
6063F1E0 7C791B78
38800020 80ADA360
80A50024 3D808022
618C9814 7D8803A6
4E800021 7C7B1B78
3FA08016 48000029
2F736861 72656432
2F6D656E 752F4661
63654C69 622F5246
4C5F4442 2E646174
00000000 7C6802A6
7C7E1B78 38800001
63BCAE5C 7F8803A6
4E800021 2C030000
41800140 7C7F1B78
7F64DB78 7F25CB78
63BCB1FC 7F8803A6
4E800021 7C03C800
40820120 7FE3FB78
63BCB384 7F8803A6
4E800021 3AFB0003
3AC0004A 8EB80001
9EB70001 36D6FFFF
4082FFF4 7F63DB78
3899FFFE 7C661B78
39000000 38600000
48000040 7C690734
7CEB5630 7D2948F8
3800EFDF 7D29FE70
556B07FE 7D290038
5460083C 7D6B0378
39291021 7D295A78
394AFFFF 5523043E
4200FFCC 39080001
7C082000 41820018
38000008 7CE830AE
7C0903A6 39400007
4BFFFFAC 38000010
7C0903A6 7C690734
3800EFDF 7D2948F8
7D29FE70 7D290038
5460083C 39291021
7D290278 5523043E
4200FFDC 3C9B0002
B064F1DE 7FC3F378
38800002 63BCAE5C
7F8803A6 4E800021
2C030000 41800034
7C7F1B78 7F64DB78
7F25CB78 63BCB2C0
7F8803A6 4E800021
7C03C800 40820014
7FE3FB78 63BCB384
7F8803A6 4E800021
B8610008 38210080
7D8803A6 88030051
60000000 00000000
E0000000 80008000

NTSC-J
C2750A70 00000002
7C0903A6 3CA08000
90C50A20 00000000
04009590 88030051
2834XXXX YYYYZZZZ
C2009590 0000003E
3D808000 816C0A20
556A273E 2C0A0008
408201D4 7D8802A6
9421FF80 BC610008
7D785B78 3C600001
6063F1E0 7C791B78
38800020 80ADA360
80A50024 3D808022
618C9734 7D8803A6
4E800021 7C7B1B78
3FA08016 48000029
2F736861 72656432
2F6D656E 752F4661
63654C69 622F5246
4C5F4442 2E646174
00000000 7C6802A6
7C7E1B78 38800001
63BCAD7C 7F8803A6
4E800021 2C030000
41800140 7C7F1B78
7F64DB78 7F25CB78
63BCB11C 7F8803A6
4E800021 7C03C800
40820120 7FE3FB78
63BCB2A4 7F8803A6
4E800021 3AFB0003
3AC0004A 8EB80001
9EB70001 36D6FFFF
4082FFF4 7F63DB78
3899FFFE 7C661B78
39000000 38600000
48000040 7C690734
7CEB5630 7D2948F8
3800EFDF 7D29FE70
556B07FE 7D290038
5460083C 7D6B0378
39291021 7D295A78
394AFFFF 5523043E
4200FFCC 39080001
7C082000 41820018
38000008 7CE830AE
7C0903A6 39400007
4BFFFFAC 38000010
7C0903A6 7C690734
3800EFDF 7D2948F8
7D29FE70 7D290038
5460083C 39291021
7D290278 5523043E
4200FFDC 3C9B0002
B064F1DE 7FC3F378
38800002 63BCAD7C
7F8803A6 4E800021
2C030000 41800034
7C7F1B78 7F64DB78
7F25CB78 63BCB1E0
7F8803A6 4E800021
7C03C800 40820014
7FE3FB78 63BCB2A4
7F8803A6 4E800021
B8610008 38210080
7D8803A6 88030051
60000000 00000000
E0000000 80008000

NTSC-K
C273F7C4 00000002
7C0903A6 3CA08000
90C50A20 00000000
0400973C 88030051
2833XXXX YYYYZZZZ
C200973C 0000003E
3D808000 816C0A20
556A273E 2C0A0008
408201D4 7D8802A6
9421FF80 BC610008
7D785B78 3C600001
6063F1E0 7C791B78
38800020 80ADA380
80A50024 3D808022
618C9B88 7D8803A6
4E800021 7C7B1B78
3FA08016 48000029
2F736861 72656432
2F6D656E 752F4661
63654C69 622F5246
4C5F4442 2E646174
00000000 7C6802A6
7C7E1B78 38800001
63BCAEF8 7F8803A6
4E800021 2C030000
41800140 7C7F1B78
7F64DB78 7F25CB78
63BCB298 7F8803A6
4E800021 7C03C800
40820120 7FE3FB78
63BCB420 7F8803A6
4E800021 3AFB0003
3AC0004A 8EB80001
9EB70001 36D6FFFF
4082FFF4 7F63DB78
3899FFFE 7C661B78
39000000 38600000
48000040 7C690734
7CEB5630 7D2948F8
3800EFDF 7D29FE70
556B07FE 7D290038
5460083C 7D6B0378
39291021 7D295A78
394AFFFF 5523043E
4200FFCC 39080001
7C082000 41820018
38000008 7CE830AE
7C0903A6 39400007
4BFFFFAC 38000010
7C0903A6 7C690734
3800EFDF 7D2948F8
7D29FE70 7D290038
5460083C 39291021
7D290278 5523043E
4200FFDC 3C9B0002
B064F1DE 7FC3F378
38800002 63BCAEF8
7F8803A6 4E800021
2C030000 41800034
7C7F1B78 7F64DB78
7F25CB78 63BCB35C
7F8803A6 4E800021
7C03C800 40820014
7FE3FB78 63BCB420
7F8803A6 4E800021
B8610008 38210080
7D8803A6 88030051
60000000 00000000
E0000000 80008000



Code creator: Vega

Code credits: RiiDefi (egg alloc), Megazig (all isfs functions), Wannikoko (CRC16 checksum from Mii-Installer)



Source (Store Pointer)
mtctr r0 #Default Instruction
lis r5, 0x8000 #r5 Safe for use, gets overwritten at next address
stw r6, 0x0A20 (r5) #Store Pointer Word to 0x80000A20 for use by other ASM

Source (Attempt to Steal Mii)
#~~~~~~~~~~~~~~~~#
# START ASSEMBLY #
#~~~~~~~~~~~~~~~~#

#

#~~~~~~~~~~~~~~~~~~~~~~#
# Macros and Variables #
#~~~~~~~~~~~~~~~~~~~~~~#

.macro call_link address
    lis r12, \address@h
    ori r12, r12, \address@l
    mtlr r12
    blrl
.endm

.macro call_isfs address
    ori r28, r29, \address@l
    mtlr r28
    blrl
.endm

.macro push_stack
    mflr r12
    stwu r1, -0x0080 (r1)
    stmw r3, 0x8 (r1)
.endm

.macro pop_stack
    lmw r3, 0x8 (r1)
    addi r1, r1, 0x0080
    mtlr r12
.endm

.macro default_instruction
    lbz r0, 0x0051 (r3)
.endm

.set region, '' #Fill in E, P, J, or K within the quotes for your region when Compiling! Lowercase letters can also be used.

.if    (region == 'E' || region == 'e') # RMCE
    .set ISFS_Open, 0xADBC
    .set ISFS_Read, 0xB15C
    .set ISFS_Write, 0xB220
    .set ISFS_Close, 0xB2E4
    .set Wii_Menu, 0x801A87B8
    .set Egg_Alloc, 0x80229490
.elseif (region == 'P' || region == 'p') # RMCP
    .set ISFS_Open, 0xAE5C
    .set ISFS_Read, 0xB1FC
    .set ISFS_Write, 0xB2C0
    .set ISFS_Close, 0xB384
    .set Wii_Menu, 0x801A8858
    .set Egg_Alloc, 0x80229814
.elseif (region == 'J' || region == 'j') # RMCJ
    .set ISFS_Open, 0xAD7C
    .set ISFS_Read, 0xB11C
    .set ISFS_Write, 0xB1E0
    .set ISFS_Close, 0xB2A4
    .set Wii_Menu, 0x801A8778
    .set Egg_Alloc, 0x80229734
.elseif (region == 'K' || region == 'k') # RMCK
    .set ISFS_Open, 0xAEF8
    .set ISFS_Read, 0xB298
    .set ISFS_Write, 0xB35C
    .set ISFS_Close, 0xB420
    .set Wii_Menu, 0x801A8BB4
    .set Egg_Alloc, 0x80229B88
.else # Invalid Region
    .abort
.endif

#~~~~~~~~~~~~~~~~~~~~~~#
# Pointer Check & Load #
#~~~~~~~~~~~~~~~~~~~~~~#

lis r12, 0x8000
lwz r11, 0x0A20 (r12) #Load Pointer
srwi r10, r11, 28 #r10 will now hold 0, 8, or 9
cmpwi r10, 0x8 #Mem80 (8) is valid pointer, Mem90 (9) is your own Mii data, 0 is no pointer loaded
bne- skip_everything

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Push Stack, Move Pointer to r24 #
#  r11 + 1 = Start of Mii Data  #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

push_stack
mr r24, r11

#~~~~~~~~~~~~~~~~~~~~~~~#
#    EGG::Heap::alloc  #
#  r3 = Size of Heap  #
#    r4 = Alignment    #
# r5 = System Heap Calc #
#~~~~~~~~~~~~~~~~~~~~~~~#

lis r3, 0x0001 #We don't need to use the entire .dat file, everything after checksum in a shit ton of null bytes
ori r3, r3, 0xF1E0

mr r25, r3 #Backup Size of Data Save for later use of ISFS_Read & ISFS_Write

li r4, 0x20

.if    (region == 'E' || region == 'e')
        lwz r5, -0x5CA8(r13)
.elseif (region == 'P' || region == 'p')
        lwz r5, -0x5CA0(r13)
.elseif (region == 'J' || region == 'j')
        lwz r5, -0x5CA0(r13)
.elseif (region == 'K' || region == 'k')
        lwz r5, -0x5C80(r13)
.endif

lwz r5, 0x0024 (r5)

call_link Egg_Alloc
mr r27, r3 #Backup Heap Address Pointer

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#          ISFS_Open          #
#        r3 = File Path        #
# r4 = 0x1 for Read Permissions #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

lis r29, 0x8016 #Set 1st half address for all ISFS Functions

bl open_dat

.string "/shared2/menu/FaceLib/RFL_DB.dat\0\0\0"

open_dat:
mflr r3
mr r30, r3 #Backup file path address pointer
li r4, 0x1

call_isfs ISFS_Open
cmpwi r3, 0x0 #r3 should return fd value. If negative value, then error occured.
blt- stack_end

mr r31, r3 #Backup fd for later use of ISFS_Close

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#                ISFS_Read                #
#                  r3 = fd                  #
# r4 = Address Pointer to dump read Data to #
#    r5 = Amount of Bytes to read & dump    #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

mr r4, r27
mr r5, r25 #Use backed up size arg from Egg Alloc

call_isfs ISFS_Read
cmpw r3, r25 #r3 should return r5's aka r25's value. If negative value, then error occured.
bne- stack_end

#~~~~~~~~~~~~#
# ISFS_Close #
#  r3 = fd  #
#~~~~~~~~~~~~#

mr r3, r31

call_isfs ISFS_Close

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Grab Mii Data & Write it to Heap #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

addi r23, r27, 3 #Setup first loop store address, this is on the last byte of the magic of the .dat file, load address is already set (r24+1 = Start of Mii Data)
li r22, 0x4A #0x4A bytes is in Mii Data

mii_loop:
lbzu r21, 0x1 (r24)
stbu r21, 0x1 (r23)
subic. r22, r22, 1
bne+ mii_loop

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#    CRC16_CCITT (16bit Checksum)  #
#      r3 = Address to Contents    #
# r4 = Amount (bytes) to use in Sum #
#    r3 returns Halfword Checksum  # 
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

mr r3, r27
addi r4, r25, -2 #0x1F1E0 - 2 = 0x1F1DE

#Start the CRC16#

mr r6,r3
li r8,0
li r3,0
b CTR_Setup1

Loop1:
extsh r9, r3
sraw r11, r7, r10
not r9,r9
li r0, -0x1021
srawi r9, r9, 31
rlwinm r11, r11, 0, 31, 31
and r9, r9, r0
rlwinm r0, r3, 1, 0, 30
or r11, r11, r0
addi r9, r9, 0x1021
xor r9, r9, r11
subi r10, r10, 1
rlwinm r3, r9, 0, 16, 31
bdnz+ Loop1

addi r8,r8,1

CTR_Setup1:
cmpw r8, r4
beq- CTR_Setup2
li r0, 8
lbzx r7, r8, r6
mtctr r0
li r10, 7
b Loop1

CTR_Setup2:
li r0, 16
mtctr r0

Loop2:
extsh r9, r3
li r0, -0x1021
not r9, r9
srawi r9, r9, 31
and r9, r9, r0
rlwinm r0, r3, 1, 0, 30
addi r9, r9, 0x1021
xor r9, r9, r0
rlwinm r3, r9, 0, 16, 31
bdnz+ Loop2

#~~~~~~~~~~~~~~~~#
# Store Checksum #
#~~~~~~~~~~~~~~~~#

addis r4, r27, 0x0002
sth r3, 0xFFFFF1DE (r4) #Stores at 0x1F1DE in reference to r27

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#          ISFS_Open          #
#        r3 = File Path        #
# r4 = 0x1 for Read Permissions #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

mr r3, r30
li r4, 0x2

call_isfs ISFS_Open
cmpwi r3, 0x0 #r3 should return fd value. If negative value, then error occured.
blt- stack_end
mr r31, r3 #Backup fd for later use of ISFS_Close

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#                                ISFS_Write                                  #
#                                  r3 = fd                                    #
# r4 = Address Pointer where String Data that will used for writes is located #
#                    r5 = Amount of Bytes to Write to File                    #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

mr r4, r27 #Move backed up Heap Address Pointer to r4
mr r5, r25 #Move backed up Byte Write Size to r5

call_isfs ISFS_Write
cmpw r3, r25
bne- stack_end

#~~~~~~~~~~~~#
# ISFS_Close #
#  r3 = fd  #
#~~~~~~~~~~~~#

mr r3, r31

call_isfs ISFS_Close

#~~~~~~~~~~~~~~~~~~~~~#
# Pop Stack, End Code #
#~~~~~~~~~~~~~~~~~~~~~#

stack_end:
pop_stack

skip_everything:
default_instruction

#~~~~~~~~~~~~~~#
# END ASSEMBLY #
#~~~~~~~~~~~~~~#


Print this item