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

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 66
» Latest member: bawp
» Forum threads: 1,028
» Forum posts: 1,795

Full Statistics

Online Users
There are currently 34 online users.
» 0 Member(s) | 31 Guest(s)
Bing, Google, Yandex

Latest Threads
Future Fly (Wii Chuck)
Forum: Incomplete/Outdated Codes
Last Post: zak
Yesterday, 09:07 PM
» Replies: 0
» Views: 21
Launch Any Wii Channel
Forum: Cheat Codes
Last Post: zak
Yesterday, 08:41 PM
» Replies: 0
» Views: 47
Simple ASM Reference Page
Forum: Hacking General
Last Post: zak
Yesterday, 08:28 PM
» Replies: 8
» Views: 1,354
Futury Fly (GCN)
Forum: Incomplete/Outdated Codes
Last Post: zak
Yesterday, 06:25 PM
» Replies: 1
» Views: 28
DWC_Authdata NAND File Mo...
Forum: Cheat Codes
Last Post: zak
02-17-2019, 09:10 PM
» Replies: 0
» Views: 52
Annoucements/Updates
Forum: Site Advancement
Last Post: zak
02-14-2019, 05:13 PM
» Replies: 33
» Views: 5,400
Freeze Certain Menu/Scree...
Forum: Cheat Codes
Last Post: zak
02-14-2019, 05:05 PM
» Replies: 0
» Views: 48
Freeze Certain Menu/Scree...
Forum: Incomplete/Outdated Codes
Last Post: zak
02-14-2019, 05:03 PM
» Replies: 0
» Views: 28
Lightning & Thunder Cloud...
Forum: Cheat Codes
Last Post: zak
02-13-2019, 07:44 PM
» Replies: 0
» Views: 77
Force 30 FPS
Forum: Cheat Codes
Last Post: Cameron_MKW
02-13-2019, 07:54 AM
» Replies: 4
» Views: 150

 
  Future Fly (Wii Chuck)
Posted by: zak - Yesterday, 09:07 PM - Forum: Incomplete/Outdated Codes - No Replies

Future Fly (Wii Chuck)

For Wii Chuck only.

This code is an enhancement of the original Free Fly Code. When the race/battle starts, press your button activate to turn on the code. Use the analog stick to navigate your direction of flight, it has complete range of motion. Press the A button to accelerate when in flight, and B to reverse. Press your button activator again to turn the code off.

This code makes use of memory addresses 0x80001600 thru 0x80001617, make sure no other codes in your GCT/Cheat-Manager are using those addresses!

NTSC-U
04001600 43700000
04001604 42F00000
04001608 43400000
0400160C 43700000
04001610 BD500000
04001614 BD800000
C27E4C9A 00000003
3DE08000 5460063E
1E600004 926F1534
60000000 00000000
2834XXXX YYYYZZZZ
C25AA6FC 0000001B
EC7A01F2 3E408000
3DE08034 3DC0809C
81CED110 81CE0020
82721534 7DCE9A14
81CE0000 81CE0024
81CEFFF8 81CE0008
81CE0008 39CE0010
7C0EF000 40820098
C03E0068 C33E006C
C2FE0070 3DC0808B
C20E053C A1CF1462
C2521610 FE209050
FE508CAE C2321600
71D30400 2C130400
40820014 C2321604
FE208850 FE409050
48000010 71D30800
2C130800 40820028
C27EFF94 EE730472
EC21982A C27EFFA4
EE730472 EF39982A
C27EFFB4 EE730472
EEF7982A C26F14C0
EE5204F2 D25E00E8
C26F14C4 FE609850
C2321614 EE3104F2
D23E00E4 00000000
CC000000 00000000
045AA6FC EC7A01F2
E0000000 80008000

PAL
Needs porting

NTSC-J
Needs porting

NTSC-K
Needs porting

Code creator: mdmwii

Print this item

  Launch Any Wii Channel
Posted by: zak - Yesterday, 08:41 PM - Forum: Cheat Codes - No Replies

Launch Any Wii Channel

Press your button activator at any time to launch the desired Wii Channel of your choice.

NTSC-U
2834XXXX YYYYZZZZ
C20095F4 00000006
3C60UUUU 6063UUUU
3C80LLLL6084LLLL
3CA00301 38C00000
3D80801A 618CDEC0
7D8803A6 4E800020
60000000 00000000
E0000000 80008000

PAL
2834XXXX YYYYZZZZ
C2009634 00000006
3C60UUUU 6063UUUU
3C80LLLL 6084LLLL
3CA00301 38C00000
3D80801A 618CDF60
7D8803A6 4E800020
60000000 00000000
E0000000 80008000

NTSC-J
2834XXXX YYYYZZZZ
C2009590 00000006
3C60UUUU 6063UUUU
3C80LLLL 6084LLLL
3CA00301 38C00000
3D80801A 618CDE80
7D8803A6 4E800020
60000000 00000000
E0000000 80008000

NTSC-K
2833XXXX YYYYZZZZ
C200973C 00000006
3C60UUUU 6063UUUU
3C80LLLL 6084LLLL
3CA00301 38C00000
3D80801A 618CE2BC
7D8803A6 4E800020
60000000 00000000
E0000000 80008000

UUUUUUUU = Upper 32 bits of Title ID
LLLLLLLL = Lower 32 bits of Title ID

Example U/L value:
00010002 48414341 = Launch Mii Channel (non-Korean)




Source (Mii channel;non Korean used for Title ID):

#~~~~~~~~~~~~~~~~#
# START ASSEMBLY #
#~~~~~~~~~~~~~~~~#

#

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# PAL Specific Source for Compilation #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#    OSLaunchTitleI Arguments    #
# r3 = Upper 32 bits of Title ID #
# r4 = Lower 32 bits of Title ID #
#        r5 = 0x03010000         #
#           r6 = Zero            #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

lis r3, 0x0001 #Load 0x0001 into upper 16 bits of r3, lower 16 bits cleared
ori r3, r3, 0x0002 #Load 0x0002 into lower 16 bits of r3
lis r4, 0x4841 #Load 0x4841 into upper 16 bits of r4, lower 16 bits are cleared
ori r4, r4, 0x4341 # #Load 0x4341 into lower 16 bits of r4
lis r5, 0x0301 #Load 0x0301 into upper 16 bits of r5, lower 16 bits are cleared
li r6, 0x0 #Clear out r6

#~~~~~~~~~~~~~~~~~~~~~#
# Call OSLaunchTitleI #
# NTSC-U = 0x801ADEC0 #
#   PAL = 0x801ADF60  #
# NTSC-J = 0x801ADE80 #
# NTSC-K = 0x801AE2BC #
#~~~~~~~~~~~~~~~~~~~~~#

lis r12, 0x801A #Load 0x801A into upper 16 bits of r12, lower 16 bits are cleared
ori r12, r12, 0xDF60 #Load 0xDF60 into lower 16 bits of r12
mtlr r12 #Copy the value of r12 to the Link Register
blr #Branch to Link Register; Call the function

#

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




Code creator: zak
Code credits: Megazig (OSLaunchTitleI)

Print this item

  DWC_Authdata NAND File Modifier
Posted by: zak - 02-17-2019, 09:10 PM - Forum: Cheat Codes - No Replies

DWC_Authdata NAND File Modifier

First thing's first, thank you Star!~

This code will permanently change the User ID within your DWC_Authdata file of the Wii NAND.

I made this code to get rid of the "Error 60000 Bug" that occurs on any ALTWFC type (dwc-network-emulator) custom MKW servers.

Instructions on using this code to get rid of the 'Error 60000 Bug' (usually only happens to Dolphin Default NAND users):
1. Boot MKWii with this code on.
2. Once at MKW Main Menu, delete the license(s) that have the 'Bug'. Do NOT go online yet!!!
3. Shut down your Dolphin Emulator completely OFF (if using an actual console, turn it completely OFF).
4. Boot MKW with NO codes on, make a new License.
5. Connect online with that License. Now reconnect online. The bug will not appear, it is permanently fixed.

XZZ ZZZZZZZ = Your new DWC_Authdata value (in Hex); just use a random value.

X = Any number from 0 thru 8
Z = Any Hex number (0 thru 9; A thru F)

This code makes use of memory addresses 0x80001600 thru 0x80001633. Make sure no other codes in your GCT/Cheat-Manager are using those addresses!!!

NTSC-U
06001600 00000018
2F736861 72656432
2F445743 5F415554
48444154 41000000
06001620 00000008
00000XZZ ZZZZZZZZ
C253F3E8 00000014
7D8802A6 7C0B0378
9421FF80 BC410008
3C608000 60631600
38800002 3D808016
618CADBC 7D8803A6
4E800021 3D808000
906C1630 38800000
38A00000 3D808016
618CB0CC 7D8803A6
4E800021 3D808000
806C1630 388C1620
38A00008 3D808016
618CB220 7D8803A6
4E800021 3D808000
806C1630 3D808016
618CB2E4 7D8803A6
4E800021 B8410008
38210080 7D605B78
7D8803A6 80640084
60000000 00000000

PAL
06001600 00000018
2F736861 72656432
2F445743 5F415554
48444154 41000000
06001620 00000008
00000XZZ ZZZZZZZZ
C2544924 00000014
7D8802A6 7C0B0378
9421FF80 BC410008
3C608000 60631600
38800002 3D808016
618CAE5C 7D8803A6
4E800021 3D808000
906C1630 38800000
38A00000 3D808016
618CB16C 7D8803A6
4E800021 3D808000
806C1630 388C1620
38A00008 3D808016
618CB2C0 7D8803A6
4E800021 3D808000
806C1630 3D808016
618CB384 7D8803A6
4E800021 B8410008
38210080 7D605B78
7D8803A6 80640084
60000000 00000000

NTSC-J
06001600 00000018
2F736861 72656432
2F445743 5F415554
48444154 41000000
06001620 00000008
00000XZZ ZZZZZZZZ
C25442A4 00000014
7D8802A6 7C0B0378
9421FF80 BC410008
3C608000 60631600
38800002 3D808016
618CAD7C 7D8803A6
4E800021 3D808000
906C1630 38800000
38A00000 3D808016
618CB08C 7D8803A6
4E800021 3D808000
806C1630 388C1620
38A00008 3D808016
618CB1E0 7D8803A6
4E800021 3D808000
806C1630 3D808016
618CB2A4 7D8803A6
4E800021 B8410008
38210080 7D605B78
7D8803A6 80640084
60000000 00000000

NTSC-K
06001600 00000018
2F736861 72656432
2F445743 5F415554
48444154 41000000
06001620 00000008
00000XZZ ZZZZZZZZ
C253297C 00000014
7D8802A6 7C0B0378
9421FF80 BC410008
3C608000 60631600
38800002 3D808016
618CAEF8 7D8803A6
4E800021 3D808000
906C1630 38800000
38A00000 3D808016
618CB208 7D8803A6
4E800021 3D808000
806C1630 388C1620
38A00008 3D808016
618CB35C 7D8803A6
4E800021 3D808000
806C1630 3D808016
618CB420 7D8803A6
4E800021 B8410008
38210080 7D605B78
7D8803A6 80640084
60000000 00000000




List of Sources:
Gecko String Write "/shared2/DWC_AUTHDATA" at 0x80001600
Gecko String Write "0x00000XZZ ZZZZZZZZ" at 0x80001620

ISFS Cycle ASM:

#~~~~~~~~~~~~~~~~#
# START ASSEMBLY #
#~~~~~~~~~~~~~~~~#

#

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# PAL Specific Source For Compilation #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#               Crash Handler Storage Notes                  #
#   0x80001600 thru 0x80001614 = File Path (32 bit aligned)  #
# 0x80001620 thru 0x8000162F = DWC_AUTHDATA (32 bit aligned) #
#        0x80001630 thru 0x80001633= File Descriptor         #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Backup LR; Backup r0's value; Start Register Safety #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

mflr r12 #Move value of Link Register to r12
mr r11, r0 #Copy value of r0 to r11
stwu r1,-0x80(r1)
stmw r2,8(r1)

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#           ISFS_Open Arguments          #
#            r3 = Path to File           #
# r4 = Permission Byte (1 Read, 2 Write) #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

lis r3, 0x8000 #Load 0x8000 into upper 16 bits of r3, lower 16 bits cleared. 1st half of address that points to File Name Path
ori r3, r3, 0x1600 #Load 0x1600 into lower 16 bits of r3. Set 2nd half of address

li r4, 0x2 #Load value of 0x2 into r4. Second argument, 0x2 is the byte value for permissions to modify a file in NAND

#~~~~~~~~~~~~~~~~~~~~~#
#   Call ISFS_Open    #
# NTSC-U = 0x8016ADBC #
#   PAL = 0x8016AE5C  #
# NTSC-J = 0x8016AD7C #
# NTSC-K = 0x8016AEF8 #
#~~~~~~~~~~~~~~~~~~~~~#

lis r12, 0x8016 #Load 0x8016 into upper 16 bits of r12, lower 16 bits are cleared. Set 1st half of address
ori r12, r12, 0xAE5C #Load AE5C into lower 16 bits of r12. Set 2nd half of address
mtlr r12 #Move the value of Register 12 to the Link Register
blrl #Branch to Link Register and Re-Link; Call the function

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Backup ISFS_Open r3 Return Value (File Descriptor); value saved to 0x80001640 #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

lis r12, 0x8000 #Load 0x8000 into upper 16 bits of r12, lower 16 bits are cleared
stw r3, 0x1630 (r12) #Store the word of r3 to 0x80001630, r3 already contains our argument for upcoming ISFS_Seek

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#                      ISFS_Seek Arguments                     #
# r3 = File Descriptor (Word value in r3 returned by ISFS_Open #
#                           r4 = Zero                          #
#                           r5 = Zero                          #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

li r4, 0x0 #Clear out r4; Second argument
li r5, 0x0 #Clear out r5; Third argument

#~~~~~~~~~~~~~~~~~~~~~#
#    Call ISFS_Seek   #
# NTSC-U = 0x8016B0CC #
#   PAL = 0x8016B16C  #
# NTSC-J = 0x8016B08C #
# NTSC-K = 0x8016B208 #
#~~~~~~~~~~~~~~~~~~~~~#

lis r12, 0x8016 #Load 0x8016 into upper 16 bits of r12, lower 16 bits are cleared. Set 1st half of address
ori r12, r12, 0xB16C #Load B16C into lower 16 bits of r12. Set 2nd half of address
mtlr r12 #Move the value of r12 to the Link Register
blrl #Branch to Link Register and Re-Link; Call the function

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#                  ISFS_Write Arguments                     #
#                  r3 = File Descriptor                     #
# r4 = Pointer Address To Writes That Will Be Made (Buffer) #
#      r5 = Amount of Bytes to Write (Size of Buffer)       #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

lis r12, 0x8000 #Load 0x8000 into upper 16 bits of r12
lwz r3, 0x1630 (r12) #Load file descriptor value (word from 0x80001630) into r3 for first argument
addi r4, r12, 0x1620 #Add r12 plus 0x1630. r4 now contains 0x80001620; pointer address to writes that will be made
li r5, 0x8 #Load 0x8 into r5, third argument

#~~~~~~~~~~~~~~~~~~~~~#
#   Call ISFS_Write   #
# NTSC-U = 0x8016B220 #
#   PAL = 0x8016B2C0  #
# NTSC-J = 0x8016B1E0 #
# NTSC-K = 0x8016B35C #
#~~~~~~~~~~~~~~~~~~~~~#

lis r12, 0x8016 #Load 0x8016 into upper 16 bits of r12, lower 16 bits cleared. Set 1st half of address
ori r12, r12, 0xB2C0 #Load 0xB2C0 into lower 16 bits of 12. Set 2nd half of address
mtlr r12 #Move the value of 12 to the Link Register
blrl #Branch to Link Register and Re-Link, Call the function

#~~~~~~~~~~~~~~~~~~~~~~#
# ISFS_Close Arguments # 
# r3 = File Descriptor #
#~~~~~~~~~~~~~~~~~~~~~~#

lis r12, 0x8000 #Load 0x8000 into upper 16 bits of r12, lower 16 bits cleared
lwz r3, 0x1630 (r12) #Load file descriptor value (word from 0x80001630) into r3 for first & only argument

#~~~~~~~~~~~~~~~~~~~~~#
#   Call ISFS_Close   #
# NTSC-U = 0x8016B2E4 #
#   PAL = 0x8016B384  #
# NTSC-J = 0x8016B2A4 #
# NTSC-K = 0x8016B420 #
#~~~~~~~~~~~~~~~~~~~~~#

lis r12, 0x8016 #Load 0x8016 into upper 16 bits of r12, lower 16 bits cleard, Set 1st half of address
ori r12, r12, 0xB384 #Load 0xB384 into lower 16 bits of 12. Set 2nd half of address
mtlr r12 #Move the value of r12 to the Link Register
blrl #Branch to Link Register and Re-Link, Call the function

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# End Register Safety; ; Restore r0, Restore LR; Default Instruction #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

lmw r2,8(r1)
addi r1,r1,0x80
mr r0, r11 #Copy value of r11 to r0
mtlr r12 #Move value of r12 to the Link Register
lwz r3, 0x0084 (r4)

#

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




Code creator: zak
Code credits: Star (Held my hand like I was a toddler lost in a grocery store, thank you Star!); Megazig (founder for all 'ISFS' functions)

Print this item

  Futury Fly (GCN)
Posted by: DxrkLandon - 02-16-2019, 06:01 AM - Forum: Incomplete/Outdated Codes - Replies (1)

Future Fly (GCN)

For GCN Controller only.

This code is an enhancement of the original Free Fly Code. When the race/battle starts, press Up no the C Stick to Levitate Up. To levitate back down, push the C stick down. Push left to shift left in the air, right to shift right. The XXXX, YYYY, and ZZZZ values are for the deactivation of the code when you are in the air. Use your analog stick to navigate your vehicle when in the air, and use the A button to 'fly' forward or B button to 'fly' backwards.

This code makes use of memory addresses 0x80001600 thru 0x8000161F, make sure no other codes in your GCT/Cheat-Manager are using those addresses!

[NTSC-U]
04001600 43700000
04001604 42F00000
04001608 43400000
0400160C 43700000
04001610 BD500000
04001614 BD800000
04001618 00000001
C27E4C9A 00000003
3DE08000 5460063E
1E600004 926F1534
60000000 00000000
0400161C 00000000
2C34C204 FF0000A0
C25AA6FC 00000032
EC7A01F2 3E408000
3DE08035 3DC0809C
81CED110 81CE0020
82721534 7DCE9A14
81CE0000 81CE0024
81CEFFF8 81CE0008
81CE0008 39CE0010
7C0EF000 40820150
C03E0068 C33E006C
C2FE0070 C232161C
D23E00E4 D23E00E8
3DC0808B C20E053C
89CFC205 C2321608
2C0E00A0 40810008
EF39882A 2C0E0058
40800008 EF398828
89CFC204 C232160C
FE408850 FE30946E
2C0E0058 4080000C
FE208850 4800000C
2C0E00A0 4081001C
C27EFF8C EE730472
EC219828 C27EFFAC
EE730472 EEF79828
A1CFC200 C2521610
FE209050 FE508CAE
C2321600 71D30280
2C130280 40820014
C2321604 FE208850
FE409050 48000010
71D30180 2C130180
40820050 A1D2161A
2C0E0001 41820020
C27EFFAC EE730472
EC219828 C27EFF8C
EE730472 EEF7982A
48000028 C27EFF94
EE730472 EC21982A
C27EFFA4 EE730472
EF39982A C27EFFB4
EE730472 EEF7982A
89CFC202 2C0E00A0
40810008 D25E00E8
2C0E0058 4080000C
FE609050 D27E00E8
89CFC203 C2321614
2C0E0058 40800008
D23E00E4 2C0E00A0
4081000C FE608850
D27E00E4 00000000
E0000000 00000000
2834XXXX YYYYZZZZ
045AA6FC EC7A01F2
E0000000 80008000

[PAL]
04001600 43700000
04001604 42F00000
04001608 43400000
0400160C 43700000
04001610 BD500000
04001614 BD800000
04001618 00000001
C27EEFA8 00000003
3DE08000 5460063E
1E600004 926F1534
60000000 00000000
0400161C 00000000
2C350584 FF0000A0
C25B5624 00000032
EC7A01F2 3E408000
3DE08035 3DC0809C
81CE18F8 81CE0020
82721534 7DCE9A14
81CE0000 81CE0024
81CEFFF8 81CE0008
81CE0008 39CE0010
7C0EF000 40820150
C03E0068 C33E006C
C2FE0070 C232161C
D23E00E4 D23E00E8
3DC0808B C20E4BEC
89CF0585 C2321608
2C0E00A0 40810008
EF39882A 2C0E0058
40800008 EF398828
89CF0584 C232160C
FE408850 FE30946E
2C0E0058 4080000C
FE208850 4800000C
2C0E00A0 4081001C
C27EFF8C EE730472
EC219828 C27EFFAC
EE730472 EEF79828
A1CF0580 C2521610
FE209050 FE508CAE
C2321600 71D30280
2C130280 40820014
C2321604 FE208850
FE409050 48000010
71D30180 2C130180
40820050 A1D2161A
2C0E0001 41820020
C27EFFAC EE730472
EC219828 C27EFF8C
EE730472 EEF7982A
48000028 C27EFF94
EE730472 EC21982A
C27EFFA4 EE730472
EF39982A C27EFFB4
EE730472 EEF7982A
89CF0582 2C0E00A0
40810008 D25E00E8
2C0E0058 4080000C
FE609050 D27E00E8
89CF0583 C2321614
2C0E0058 40800008
D23E00E4 2C0E00A0
4081000C FE608850
D27E00E4 00000000
E0000000 00000000
2834XXXX YYYYZZZZ
045B5624 EC7A01F2
E0000000 80008000

[NTSC-J]
04001600 43700000
04001604 42F00000
04001608 43400000
0400160C 43700000
04001610 BD500000
04001614 BD800000
04001618 00000001
C27EE614 00000003
3DE08000 5460063E
1E600004 926F1534
60000000 00000000
0400161C 00000000
2C34FF04 FF0000A0
C25B4FA4 00000032
EC7A01F2 3E408000
3DE08035 3DC0809C
81CE0958 81CE0020
82721534 7DCE9A14
81CE0000 81CE0024
81CEFFF8 81CE0008
81CE0008 39CE0010
7C0EF000 40820150
C03E0068 C33E006C
C2FE0070 C232161C
D23E00E4 D23E00E8
3DC0808B C20E3D4C
89CFFF05 C2321608
2C0E00A0 40810008
EF39882A 2C0E0058
40800008 EF398828
89CFFF04 C232160C
FE408850 FE30946E
2C0E0058 4080000C
FE208850 4800000C
2C0E00A0 4081001C
C27EFF8C EE730472
EC219828 C27EFFAC
EE730472 EEF79828
A1CFFF00 C2521610
FE209050 FE508CAE
C2321600 71D30280
2C130280 40820014
C2321604 FE208850
FE409050 48000010
71D30180 2C130180
40820050 A1D2161A
2C0E0001 41820020
C27EFFAC EE730472
EC219828 C27EFF8C
EE730472 EEF7982A
48000028 C27EFF94
EE730472 EC21982A
C27EFFA4 EE730472
EF39982A C27EFFB4
EE730472 EEF7982A
89CFFF02 2C0E00A0
40810008 D25E00E8
2C0E0058 4080000C
FE609050 D27E00E8
89CFFF03 C2321614
2C0E0058 40800008
D23E00E4 2C0E00A0
4081000C FE608850
D27E00E4 00000000
E0000000 00000000
2834XXXX YYYYZZZZ
045B4FA4 EC7A01F2
E0000000 80008000

[NTSC-K] (not working)
04001600 43700000
04001604 42F00000
04001608 43400000
0400160C 43700000
04001610 BD500000
04001614 BD800000
04001618 00000001
C27DD368 00000003
3DE08000 5460063E
1E600004 926F1534
60000000 00000000
0400161C 00000000
2C33E584 FF0000A0
C25A367C 00000032
EC7A01F2 3E408000
3DE08034 3DC0809B
81CEFF38 81CE0020
82721534 7DCE9A14
81CE0000 81CE0024
81CEFFF8 81CE0008
81CE0008 39CE0010
7C0EF000 40820150
C03E0068 C33E006C
C2FE0070 C232161C
D23E00E4 D23E00E8
3DC0808B C20E3D4C <--right side word instruction needs porting
89CFFF05 C2321608 <--left side word instruction needs porting
2C0E00A0 40810008
EF39882A 2C0E0058
40800008 EF398828
89CFFF04 C232160C <--left side word instruction needs porting
FE408850 FE30946E
2C0E0058 4080000C
FE208850 4800000C
2C0E00A0 4081001C
C27EFF8C EE730472
EC219828 C27EFFAC
EE730472 EEF79828
A1CFFF00 C2521610 <--left side word instruction needs porting
FE209050 FE508CAE
C2321600 71D30280
2C130280 40820014
C2321604 FE208850
FE409050 48000010
71D30180 2C130180
40820050 A1D2161A
2C0E0001 41820020
C27EFFAC EE730472
EC219828 C27EFF8C
EE730472 EEF7982A
48000028 C27EFF94
EE730472 EC21982A
C27EFFA4 EE730472
EF39982A C27EFFB4
EE730472 EEF7982A
89CFFF02 2C0E00A0 <--left side word instruction needs porting
40810008 D25E00E8
2C0E0058 4080000C
FE609050 D27E00E8
89CFFF03 C2321614 <--left side word instruction needs porting
2C0E0058 40800008
D23E00E4 2C0E00A0
4081000C FE608850
D27E00E4 00000000
E0000000 00000000
2833XXXX YYYYZZZZ
045A367C EC7A01F2
E0000000 80008000

Code creator: mdmwii

Print this item

  Freeze Certain Menu/Screen Animations
Posted by: zak - 02-14-2019, 05:05 PM - Forum: Cheat Codes - No Replies

Freeze Certain Menu/Screen Animations

This code will freeze menu/screen animations such as the pop-up feature of selecting a certain license, the animation of an option selection when choosing the selection, plus other various little things. If used in a race, this causes the position rank animation not to update to your real position. It also causes opponents' tag names to stick in certain locations of your screen.

If activated during track vote, and once you have voted, you won't be able to see the track picks. The WW will continue for everyone else but stall at the lakitu screen (before countdown is first initiated). The stalling of the WW will go for about 3 minutes. You are still on the lottery screen but everyone else is at the lakitu screen. In smaller WW's, once you D/C, this may cause everyone else to D/C.

NTSC-U
2834XXXX YYYYZZZZ
0460B524 3B200000
E0000000 00000000
2834XXXX YYYYZZZZ
0460B524 7C992378
E0000000 80008000

PAL
2834XXXX YYYYZZZZ
0463C944 3B200000
E0000000 00000000
2834XXXX YYYYZZZZ
0463C944 7C992378
E0000000 80008000

NTSC-J
2834XXXX YYYYZZZZ
0463BFB0 3B200000
E0000000 00000000
2834XXXX YYYYZZZZ
0463BFB0 7C992378
E0000000 80008000

NTSC-K
2833XXXX YYYYZZZZ
0462AC5C 3B200000
E0000000 00000000
2833XXXX YYYYZZZZ
0462AC5C 7C992378
E0000000 80008000

'Source':
mr 25, r4 changed to li 25, 0

Code creator: zak

Print this item

  Freeze Certain Menu/Screen Animations (zak's original version)
Posted by: zak - 02-14-2019, 05:03 PM - Forum: Incomplete/Outdated Codes - No Replies

Freeze Certain Menu/Screen Animations (zak's original version)

NOTE: Outdated by my version in main codes forum

This code will freeze menu/screen animations such as the pop-up feature of selecting a certain license, the animation of an option selection when choosing the selection, plus other various little things. If used in a race, this causes the position rank animation not to update to your real position. It also causes opponents' tag names to stick in certain locations of your screen.

If activated during track vote, and once you have voted, you won't be able to see the track picks. The WW will continue for everyone else but stall at the lakitu screen (before countdown is first initiated). The stalling of the WW will go for about 3 minutes. You are still on the lottery screen but everyone else is at the lakitu screen. In smaller WW's, once you D/C, this may cause everyone else to D/C.

NTSC-U
2834XXXX YYYYZZZZ
C260B5F0 00000002
3B200000 933F0038
60000000 00000000
E0000000 00000000
2834XXXX YYYYZZZZ
0460B5F0 933F0038
E0000000 80008000

PAL
2834XXXX YYYYZZZZ
C263CA10 00000002
3B200000 933F0038
60000000 00000000
E0000000 00000000
2834XXXX YYYYZZZZ
0463CA10 933F0038
E0000000 80008000

NTSC-J
2834XXXX YYYYZZZZ
C263C07C 00000002
3B200000 933F0038
60000000 00000000
E0000000 00000000
2834XXXX YYYYZZZZ
0463C07C 933F0038
E0000000 80008000

NTSC-K
2833XXXX YYYYZZZZ
C262AD28 00000002
3B200000 933F0038
60000000 00000000
E0000000 00000000
2833XXXX YYYYZZZZ
0462AD28 933F0038
E0000000 80008000

Source:
li r25, 0x0 #Load the value of 0 into Register 25
stw r25, 0x0038 (r31) #Store the word of Register 25 to the address of Register 31 plus offset 0x0038
nop #Nop needed for odd amount of ASM instructions

Code creator: zak

Print this item

  Lightning & Thunder Cloud Shrunk Time Modifier
Posted by: zak - 02-13-2019, 07:44 PM - Forum: Cheat Codes - No Replies

Lightning & Thunder Cloud Shrunk Time Modifier

Works everywhere. This code allows you to modify the time being shrunk from a TC zap. If used online, the visual effects (of growing back quicker/slower/etc) only happen on your screen.

NTSC-U
04572F14 XXXXXXXX

PAL
04579778 XXXXXXXX

NTSC_J
045790F8 XXXXXXXX

NTSC-K
045677D0 XXXXXXXX

XXXXXXXX Values:
38030000 = Shrunk Forever til you use next Power Item
3803FFFF = Default (subi r0, r3, 1)
3803FFFE = Half the Time compared to Default
3803FFFD = 1/3 of the Time 
38000000 = Don't get shrunk when zapped, you will still spin out and lose speed

Code creator: mdmwii

Print this item

  Ultimate Region ID Cycler In Between Races
Posted by: zak - 02-12-2019, 07:11 PM - Forum: Cheat Codes - No Replies

Ultimate Region ID Cycler In Between Races

I have made this code in honor of Nutmeg who was the first person ever (in Feb 2012) to change Region ID's in between races online. Nutmeg would also change the default geo-location too, not just the Region ID line color itself. Only thing he didn't change was the flag image if said Region ID had one, which I decided to include in this code since I like the look of the flag images.

This code will cycle through all 7 Region IDs in ascending order and then repeat once China has been used. It's automated, no button activators required. Your Region ID (on your screen AND opponents' screen) along with the Region ID's default geo-location, and your flag image (if country code has a flag available) will cycle after every single race.

For example, your first race online will have all your normal Region ID, flag, and globe settings. But once you go to the next race of the session, your Region ID value will increment by 1 (the Region ID's default geolocation will be applied, and flag too if available). This cycle will repeat once per race. Once China's Region ID is used, the cycle will reset at Japan's Region ID.

Let's say you end your current WW session, and you were at Korea Region ID from the last cycle. You will see that you will now be at Seoul, S.Korea with the Korean Flag on the globe. Opponents will see these effects too if you are in a Room. Obviously whatever Region ID cycle you are on during the middle of a WW session, opponents will see the current Region ID Cycle's Globe & Flag settings when they join your WW.

NOTE: This code makes use of memory addresses 0x80001648 thru 0x8000164B, make sure no other codes you have on are using those addresses!

NTSC-U
C2612330 0000000E
89080228 9421FFB0
BDC10008 3DC08024
61CE5A90 3DE08042
61EF67E7 3E008000
82301648 8A5100C5
3A520001 2C120007
41A00008 3A400000
1E720008 7E8E9A14
82B40000 82D40004
9A4F0000 92AF0071
92CF1075 9A5100C5
92B100B8 92D100BC
B9C10008 38210050
60000000 00000000
C2661090 00000002
3FC08000 93FE1648
981F00C5 00000000

PAL
C2643750 0000000E
89080228 9421FFB0
BDC10008 3DC08024
61CE5DA8 3DE08042
61EFAB67 3E008000
82301648 8A5100C5
3A520001 2C120007
41A00008 3A400000
1E720008 7E8E9A14
82B40000 82D40004
9A4F0000 92AF0071
92CF1075 9A5100C5
92B100B8 92D100BC
B9C10008 38210050
60000000 00000000
C2663174 00000002
3FC08000 93FE1648
981F00C5 00000000

NTSC-J
C2642DBC 0000000E
89080228 9421FFB0
BDC10008 3DC08024
61CE5758 3DE08042
61EFA4E7 3E008000
82301648 8A5100C5
3A520001 2C120007
41A00008 3A400000
1E720008 7E8E9A14
82B40000 82D40004
9A4F0000 92AF0071
92CF1075 9A5100C5
92B100B8 92D100BC
B9C10008 38210050
60000000 00000000
C26627E0 00000002
3FC08000 93FE1648
981F00C5 00000000

NTSC-K
C2631A68 0000000E
89080228 9421FFB0
BDC10008 3DC08024
61CE5B88 3DE08041
61EF8B87 3E008000
82301648 8A5100C5
3A520001 2C120007
41A00008 3A400000
1E720008 7E8E9A14
82B40000 82D40004
9A4F0000 92AF0071
92CF1075 9A5100C5
92B100B8 92D100BC
B9C10008 38210050
60000000 00000000
C265148C 00000002
3FC08000 93FE1648
981F00C5 00000000




List of Sources:

Source (Region ID Cycler; NTSC-K):

#~~~~~~~~~~~~~~~~#
# START ASSEMBLY #
#~~~~~~~~~~~~~~~~#

#

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#                        Varying Static Mem Address Notes                       #
# 0x80245A90 (NTSC-U, Start of List of Country/Res Codes + Default Geolocation) #
#   0x80245DA8 (PAL, Start of List of Country/Res Codes + Default Geolocation)  #
# 0x80245758 (NTSC-J, Start of List of Country/Res Codes + Default Geolocation) #
# 0x80245B88 (NTSC-K) Start of List of Country/Res Codes + Default Geolocation) #
#                                       --                                      #
#          0x804267E7 (NTSC-U, Reg ID Changer Address for your screen)          #
#            0x8042AB67 (PAL, Reg ID Changer Address for your screen)           #
#          0x8042A4E7 (NTSC-J, Reg ID Changer Address for your screen)          #
#          0x80418B87 (NTSC-K, Reg ID Changer Address for your screen)          #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Default Instruction, Start Register Safety #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

lbz r8, 0x0228 (r8)
stwu r1,-80(r1)
stmw r14,8(r1)

#~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Static Mem Address Config #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~#

lis r14, 0x8024 #Set 1st half address (NTSC-K) where default Japan country code word then geo-location word are stored
ori r14, r14, 0x5B88 #Set 2nd half address

lis r15, 0x8041 #Set 1st half address (NTSC-K) to Region ID byte location of Anarions' Region ID Changer Code
ori r15, r15, 0x8B87 #Set 2nd half address

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Load Pointer, Load Red ID byte from USER Record Pointer #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

lis r16, 0x8000 #Set 1st half address to load pointer from
lwz r17, 0x1648 (r16) #Load Word (pointer) from 0x80001648

lbz r18, 0xC5 (r17) #Load the byte from the address of the pointer plus offset 0xC5, this will be the region ID byte in your USER Record

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Cycle Region ID, Make Comparison Check #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

addi r18, r18, 1 #Add one to the current value of the Region ID User Record byte

cmpwi r18, 0x7 #Compare Region ID byte to 0x7 (1 beyond China)
blt+ dont_zero #If less than 7 (most likely to be), branch to dont_zero label

#~~~~~~~~~~~~~#
# Reset Cycle #
#~~~~~~~~~~~~~#

li r18, 0x0 #If NOT less than 7, reset Region ID byte to 0, we only need to use Region ID's 0 thru 6

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# dont_zero label (Don't Reset Cycle) #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

dont_zero:
mulli r19, r18, 0x8 #Multiple Region ID byte by 0x8 to get offset amount to add to address of Japan country code + residence code word value
add r20, r14, r19 #Add result of r19 to address of r15. r20's result will hold exact address location to corresponding Region ID's country code + res code word location

lwz r21, 0x0 (r20) #Load current Region ID's country code + residence code word value (0000 follows country code and res. code bytes) from address of r20
lwz r22, 0x4 (r20) #Load current Region ID's default geo location word value from address of 20 plus 0x4

stb r18, 0 (r15) #Store Region ID byte to proper location of Anarion's Region ID Changer Code
stw r21, 0x0071 (r15) #Store Country Code + Region Residence Code to proper location of Anarion's Country Flag Changer Code
stw r22, 0x1075 (r15) #Store Globe Location to proper location of Anarion's Globe Location Changer Code

stb r18, 0xC5 (r17) #Store Region ID byte to proper location in USER Record (the pointer)
stw r21, 0xB8 (r17) #Store Country Code + Region Residence Code to proper location in USER Record (the pointer with negative 0xD offset)
stw r22, 0xBC (r17) #Store Globe Location to proper location in USER Record (the pointer with negative 0x9 offset)

#~~~~~~~~~~~~~~~~~~~~~#
# End Register Safety #
#~~~~~~~~~~~~~~~~~~~~~#

lmw r14,8(r1)
addi r1,r1,80

#

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

USER Record Pointer Save ASM:

#r30 safe for use, gets written to two steps later in subroutine#

lis r30, 0x8000 #Set 1st half address of where pointer will be stored in the crash handler
stw r31, 0x1648 (r30) #Store word of r31 (our pointer) to 0x80001648
stb r0, 0x00C5 (r31) #Default instruction, store Region ID Byte to spot in USER record when a room is first imitated




Code creator: zak  Blush
Code credits: Anarion (used his Reg ID, Flag, Globe Loc code addresses to make effects appear on your screen); Atlas (addresses for Default Geolocations in memory)

Print this item

  Graphical Item Warning -Online-
Posted by: zak - 02-11-2019, 08:27 PM - Forum: Cheat Codes - No Replies

Graphical Item Warning -Online-

Does NOT work in Dolphin Emulator.

NOTE: The code is setup for 480i definition. If 480p is used, the image message will not appear correctly or not be there at all. Change your TV Resolution accordingly within Wii Settings.

Online use only!

This code will let you know (via a graphical image on the bottom right of the screen) when any player in the room is holding a desired monitored item. When the game is first booted you will see the message of your Game ID followed by ":item". When the race starts there will be two different messages -

FOUND! :item = Monitored Item is being held by a player
NoFind :item = Nobody is holding monitored Item

To prevent this thread from being super long, I split the code into two parts. The first part of the code (which is listed last, and it's region free), is Y.S.'s easy extender plus his Execute ASM code. The second part of the code (which is a normal region-specific C2-type ASM code) is listed first. When making your GCT, be sure the add the gigantic region-free part first, then add on the C2-type ASM code afterwards that's for your region/version of MKWii.

And finally the XX value is the item you want to monitor.

XX values:
00 = Green
01 = Red
02 = Nana
03 = Fib
04 = Shroom
05 = Trip Shroom
06 = Bomb
07 = Blue
08 = Shock
09 = Star
0A = Golden
0B = Mega
0C = Blooper
0D = POW
0E = TC
0F = Bill
10 = Trip Green
11 = Trip Red
12 = Trip Nana

-Second part of code-
NTSC-U
C265EE14 00000003
88030001 1D960004
3D8C8168 980C0193
60000000 00000000
C265EE30 00000003
88100011 1D960004
3D8C8168 980C0193
60000000 00000000
C27BE87C 0000000D
A01F00F6 9421FFB0
BDC10008 3DC08168
61CE018C 39E000XX
3A00000C 3E408000
862E0004 7C117800
4182001C 3610FFFF
4082FFF0 3E604E6F
62734669 3E806E64
48000010 3E60464F
6273554E 3E804421
92720000 92920004
B9C10008 38210050
60000000 00000000

PAL
C265E18C 00000003
88030001 1D960004
3D8C8168 980C0193
60000000 00000000
C265E1A8 00000003
88100011 1D960004
3D8C8168 980C0193
60000000 00000000
C27CD2DC 0000000D
A01F00F6 9421FFB0
BDC10008 3DC08168
61CE018C 39E000XX
3A00000C 3E408000
862E0004 7C117800
4182001C 3610FFFF
4082FFF0 3E604E6F
62734669 3E806E64
48000010 3E60464F
6273554E 3E804421
92720000 92920004
B9C10008 38210050
60000000 00000000

NTSC-J
C265D7F8 00000003
88030001 1D960004
3D8C8168 980C0193
60000000 00000000
C265D814 00000003
88100011 1D960004
3D8C8168 980C0193
60000000 00000000
C27CC948 0000000D
A01F00F6 9421FFB0
BDC10008 3DC08168
61CE018C 39E000XX
3A00000C 3E408000
862E0004 7C117800
4182001C 3610FFFF
4082FFF0 3E604E6F
62734669 3E806E64
48000010 3E60464F
6273554E 3E804421
92720000 92920004
B9C10008 38210050
60000000 00000000

NTSC-K
C264C4A4 00000003
88030001 1D960004
3D8C8168 980C0193
60000000 00000000
C264C4C0 00000003
88100011 1D960004
3D8C8168 980C0193
60000000 00000000
C27BB69C 0000000D
A01F00F6 9421FFB0
BDC10008 3DC08168
61CE018C 39E000XX
3A00000C 3E408000
862E0004 7C117800
4182001C 3610FFFF
4082FFF0 3E604E6F
62734669 3E806E64
48000010 3E60464F
6273554E 3E804421
92720000 92920004
B9C10008 38210050
60000000 00000000

-First part of code-
F6000002 80008180
3803001F 54030034
48000008 38644000
4C000000 00001858
E0000000 80008000
F6000002 80008180
90A402E0 806502E4
908502E4 2C030000
D600005C 800018A8
E0000000 80008000
F6000003 80008180
9421FF60 7C0802A6
900100A4 BF61008C
7C7B1B78 40860024
4C000000 00001854
E0000000 80008000
68200091 00000001
9421FF80 BC610008
7D6802A6 91610084
480002FD 00000000
00000000 183C3C18
18001800 66662400
00000000 6C6CFE6C
FE6C6C00 183E603C
067C1800 00C6CC18
3066C600 386C3876
DCCC7600 18183000
00000000 0C183030
30180C00 30180C0C
0C183000 00663CFF
3C660000 0018187E
18180000 00000000
00181830 0000007E
00000000 00000000
00181800 060C1830
60C08000 386CC6D6
C66C3800 18381818
18187E00 7CC6061C
3066FE00 7CC6063C
06C67C00 1C3C6CCC
FE0C1E00 FEC0C0FC
06C67C00 3860C0FC
C6C67C00 FEC60C18
30303000 7CC6C67C
C6C67C00 7CC6C67E
060C7800 00181800
00181800 00181800
00181830 060C1830
180C0600 00007E00
007E0000 6030180C
18306000 7CC60C18
18001800 7CC6DEDE
DEC07800 386CC6FE
C6C6C600 FC66667C
6666FC00 3C66C0C0
C0663C00 F86C6666
666CF800 FE626878
6862FE00 FE626878
6860F000 3C66C0C0
CE663A00 C6C6C6FE
C6C6C600 3C181818
18183C00 1E0C0C0C
CCCC7800 E6666C78
6C66E600 F0606060
6266FE00 C6EEFEFE
D6C6C600 C6E6F6DE
CEC6C600 7CC6C6C6
C6C67C00 FC66667C
6060F000 7CC6C6C6
C6CE7C0E FC66667C
6C66E600 3C663018
0C663C00 7E7E5A18
18183C00 C6C6C6C6
C6C67C00 C6C6C6C6
C66C3800 C6C6C6D6
D6FE6C00 C6C66C38
6CC6C600 6666663C
18183C00 FEC68C18
3266FE00 3C303030
30303C00 C0603018
0C060200 3C0C0C0C
0C0C3C00 10386CC6
00000000 00000000
000000FF 30180C00
00000000 0000780C
7CCC7600 E0607C66
6666DC00 00007CC6
C0C67C00 1C0C7CCC
CCCC7600 00007CC6
FEC07C00 3C6660F8
6060F000 000076CC
CC7C0CF8 E0606C76
6666E600 18003818
18183C00 06000606
0666663C E060666C
786CE600 38181818
18183C00 0000ECFE
D6D6D600 0000DC66
66666600 00007CC6
C6C67C00 0000DC66
667C60F0 000076CC
CC7C0C1E 0000DC76
6060F000 00007EC0
7C06FC00 3030FC30
30361C00 0000CCCC
CCCC7600 0000C6C6
C66C3800 0000C6D6
D6FE6C00 0000C66C
386CC600 0000C6C6
C67E06FC 00007E4C
18327E00 0E181870
18180E00 18181818
18181800 7018180E
18187000 76DC0000
00000000 7DC802A6
4800002D 00000000
EB80EB80 10801080
525A52F0 AC26ACAE
D210D292 74477437
29F0296E 26E42670
50CC50B6 7FE802A6
549ED5BA 7E7EF82E
549E15BA 7E9EF82E
3D80CC00 618C2000
8BEC0049 57EF2834
8BEC001D 57FF801E
A3CC001E 7FF0F378
56102834 66108000
5485563E 5486863E
7CC679D6 7FE53214
1FFF0008 7F30FA14
7F38CB78 3863FFFF
8EA30001 2C150000
418200D0 2C15000A
40820014 55FF1838
7F39FA14 7F38CB78
4BFFFFE0 2815007F
41800010 28150020
40800008 3AA00020
3AB5FFE0 56B61838
3BE00008 7FE903A6
3A400080 7EEEB0AE
7EFF9039 41820014
2C140000 41820024
92980000 48000014
2C130000 41820014
92780000 48000004
7C00C06C 7C0004AC
3B180004 5652F87E
28120000 41A1FFC4
3B18FFE0 7F187A14
3AD60001 4220FFAC
1FEF0008 7F1FC050
3B180020 1FEF0008
7FD0C050 7FBEFBD6
7FBDF9D6 7FBDF050
7C1D7840 40820010
55FF1838 7F39FA14
7F38CB78 4BFFFF2C
81610084 7D6803A6
B8610008 38210080
4E800020 592E532E
C0000000 00000013
9421FE80 BC610108
7C6802A6 90610184
38610008 48000011
2573203A 6974656D
0A000000 7C8802A6
3CA08000 60A50000
3D008000 81081858
A0C8FFFA 54C6801E
A8E8FFFE 7CC63A14
38C6001F 54C60034
38E67FE0 3D808000
818C1854 7D8903A6
4E800421 38610008
3C80191B 60840109
3D808000 818C1850
7D8903A6 4E800421
80610184 7C6803A6
B8610108 38210180
4E800020 4E800020




List of Sources (does not include Easy Extender)

Bully's Item Spy 1:
lbz r0, 0x1 (r3) #Default instruction
mulli r12, r22, 0x4 #Multiple Player slot by 4, store in r12. Thus lower 16 bits of r12 will hold second half of mem81 address
addis r12, r12, 0x8168 #Add 0x8168 to upper 16 bits of r12, lower 16 bits are not effected. At this point, if r12 is added with 0x193, it will be the finalized address of where the current read player's item will be stored to in mem81
stb r0, 0x193(r12) #Store current read player's item to r12 plus offset 0x0193 (address for that player's item is now finalized)

Bully's Item Spy 2:
lbz r0, 0x0011 (r16) #Default instruction
mulli r12, r22, 0x4 #Multiple Player slot by 4, store in r12. Thus lower 16 bits of r12 will hold second half of mem81 address
addis r12, r12, 0x8168 #Add 0x8168 to upper 16 bits of r12, lower 16 bits are not effected. At this point, if r12 is added with 0x193, it will be the finalized address of where the current read player's item will be stored to in mem81
stb r0, 0x193 (r12) #Store current read player's item to r12 plus offset 0x0193 (address for that player's item is now finalized)

Item Warning ASM:
#~~~~~~~~~~~~~~~~#
# START ASSEMBLY #
#~~~~~~~~~~~~~~~~#

#

#~~~~~~~~~~~~~~~~~~~~~#
# Default Instruction #
#~~~~~~~~~~~~~~~~~~~~~#

lhz r0, 0x00F6 (r31)

#~~~~~~~~~~~~~~~~~~~~~~~#
# Start Register Safety #
#~~~~~~~~~~~~~~~~~~~~~~~#

stwu r1,-80(r1) # make space for 18 registers
stmw r14,8(r1) # push r14-r31 onto the stack

#~~~~~~~~~~~~~~~~~~~~~~~~#
# Pre-Loop Configuration #
#~~~~~~~~~~~~~~~~~~~~~~~~#

lis r14, 0x8168 #Set 1st half address that will be -0x4 away from where first item byte is at
ori r14, r14, 0x018C #Set 2nd half of address
li r15, 0xXX #Load XX Item value to Monitor
li r16, 0xC #Max is twelve players so max times for loop is 12 (0xC)
lis r18, 0x8000 #Set 1st half address for location to store ASCII hex bytes

#~~~~~~~~~~#
# The Loop #
#~~~~~~~~~~#

re_check:
lwzu r17, 0x0004 (r14) #First load item value from player slot 0, increase mem location by 0x4 for next loop attempt
cmpw r17, 15 #Compare item value of current read player to monitored item value
beq- item_found #If item monitored is held by opponent, jump to item_found label
subic. r16, 16, 1 #Every time this loop is done, take away 1 from r16
bne+ re_check #As long as r16 does NOT equal 0, jump backwards and redo the loop

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# List of Instructions when Item is not found #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

lis r19, 0x4E6F #Set ASCII for NoFind
ori r19, r19, 0x4669 #Set ASCII
lis r20, 0x6E64 #Set ASCII
b the_end

#~~~~~~~~~~~~~~~~~~#
# item_found Label #
#~~~~~~~~~~~~~~~~~~#

item_found:
lis r19, 0x464F #Set ASCII for FOUND!
ori r19, r19, 0x554E #Set ASCII
lis r20, 0x4421 #Set ASCII

#~~~~~~~~~~~~~~~#
# the_end Label #
#~~~~~~~~~~~~~~~#

the_end:
stw r19, 0 (r18) #Store first part of ASCII to 0x80000000
stw r20, 0x4 (r18) #Store second part of ASCII to 0x80000004

#~~~~~~~~~~~~~~~~~~~~~#
# End Register Safety #
#~~~~~~~~~~~~~~~~~~~~~#

lmw r14,8(r1) # pop r14-r31 off the stack
addi r1,r1,80 # release the space

#

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




Code creator: zak
Code credits: Y.S. (Easy Extender), Bully (Item Spy ASM's and original Item Warning), Star (original Graphical Lightning Warning)

Print this item

  Graphical Item Warning; Offline Only
Posted by: zak - 02-11-2019, 08:26 PM - Forum: Cheat Codes - No Replies

Graphical Item Warning; Offline Only

Does NOT work in Dolphin Emulator.

NOTE: The code is setup for 480i definition. If 480p is used, the image message will not appear correctly or not be there at all. Change your TV Resolution accordingly within Wii Settings.

Offline use only!

This code will let you know (via a graphical image on the bottom right of the screen) when any CPU (or yourself) in the race is holding a desired monitored item. When the game is first booted you will see the message of your Game ID followed by ":item". When the race starts there will be two different messages -

FOUND! :item = Monitored Item is being held by a CPU or yourself
NoFind :item = Nobody is holding monitored Item

To prevent this thread from being super long, I split the code into two parts. The first part of the code (which is listed last, and it's region free), is Y.S.'s easy extender plus his Execute ASM code. The second part of the code (which is a normal region-specific C2-type ASM code) is listed first. When making your GCT, be sure the add the gigantic region-free part first, then add on the C2-type ASM code afterwards that's for your region/version of MKWii.

And finally the XX value is the item you want to monitor.

XX values:
00 = Green
01 = Red
02 = Nana
03 = Fib
04 = Shroom
05 = Trip Shroom
06 = Bomb
07 = Blue
08 = Shock
09 = Star
0A = Golden
0B = Mega
0C = Blooper
0D = POW
0E = TC
0F = Bill
10 = Trip Green
11 = Trip Red
12 = Trip Nana

-Second part of code-
NTSC-U
C278EEF8 00000003
801D008C 1D7B0004
3D808150 7D8C5A14
900C0000 00000000
C27BE87C 0000000D
A01F00F6 9421FFB0
BDC10008 3DC0814F
61CEFFFC 39E000XX
3A00000C 3E408000
862E0004 7C117800
4182001C 3610FFFF
4082FFF0 3E604E6F
62734669 3E806E64
48000010 3E60464F
6273554E 3E804421
92720000 92920004
B9C10008 38210050
60000000 00000000

PAL
C2797F04 00000003
801D008C 1D7B0004
3D808150 7D8C5A14
900C0000 00000000
C27CD2DC 0000000D
A01F00F6 9421FFB0
BDC10008 3DC0814F
61CEFFFC 39E000XX
3A00000C 3E408000
862E0004 7C117800
4182001C 3610FFFF
4082FFF0 3E604E6F
62734669 3E806E64
48000010 3E60464F
6273554E 3E804421
92720000 92920004
B9C10008 38210050
60000000 00000000

NTSC-J
C2797570 00000003
801D008C 1D7B0004
3D808150 7D8C5A14
900C0000 00000000
C27CC948 0000000D
A01F00F6 9421FFB0
BDC10008 3DC0814F
61CEFFFC 39E000XX
3A00000C 3E408000
862E0004 7C117800
4182001C 3610FFFF
4082FFF0 3E604E6F
62734669 3E806E64
48000010 3E60464F
6273554E 3E804421
92720000 92920004
B9C10008 38210050
60000000 00000000

NTSC-K
C27862C4 00000003
801D008C 1D7B0004
3D808150 7D8C5A14
900C0000 00000000
C27BB69C 0000000D
A01F00F6 9421FFB0
BDC10008 3DC0814F
61CEFFFC 39E000XX
3A00000C 3E408000
862E0004 7C117800
4182001C 3610FFFF
4082FFF0 3E604E6F
62734669 3E806E64
48000010 3E60464F
6273554E 3E804421
92720000 92920004
B9C10008 38210050
60000000 00000000

-First part of code-
F6000002 80008180
3803001F 54030034
48000008 38644000
4C000000 00001858
E0000000 80008000
F6000002 80008180
90A402E0 806502E4
908502E4 2C030000
D600005C 800018A8
E0000000 80008000
F6000003 80008180
9421FF60 7C0802A6
900100A4 BF61008C
7C7B1B78 40860024
4C000000 00001854
E0000000 80008000
68200091 00000001
9421FF80 BC610008
7D6802A6 91610084
480002FD 00000000
00000000 183C3C18
18001800 66662400
00000000 6C6CFE6C
FE6C6C00 183E603C
067C1800 00C6CC18
3066C600 386C3876
DCCC7600 18183000
00000000 0C183030
30180C00 30180C0C
0C183000 00663CFF
3C660000 0018187E
18180000 00000000
00181830 0000007E
00000000 00000000
00181800 060C1830
60C08000 386CC6D6
C66C3800 18381818
18187E00 7CC6061C
3066FE00 7CC6063C
06C67C00 1C3C6CCC
FE0C1E00 FEC0C0FC
06C67C00 3860C0FC
C6C67C00 FEC60C18
30303000 7CC6C67C
C6C67C00 7CC6C67E
060C7800 00181800
00181800 00181800
00181830 060C1830
180C0600 00007E00
007E0000 6030180C
18306000 7CC60C18
18001800 7CC6DEDE
DEC07800 386CC6FE
C6C6C600 FC66667C
6666FC00 3C66C0C0
C0663C00 F86C6666
666CF800 FE626878
6862FE00 FE626878
6860F000 3C66C0C0
CE663A00 C6C6C6FE
C6C6C600 3C181818
18183C00 1E0C0C0C
CCCC7800 E6666C78
6C66E600 F0606060
6266FE00 C6EEFEFE
D6C6C600 C6E6F6DE
CEC6C600 7CC6C6C6
C6C67C00 FC66667C
6060F000 7CC6C6C6
C6CE7C0E FC66667C
6C66E600 3C663018
0C663C00 7E7E5A18
18183C00 C6C6C6C6
C6C67C00 C6C6C6C6
C66C3800 C6C6C6D6
D6FE6C00 C6C66C38
6CC6C600 6666663C
18183C00 FEC68C18
3266FE00 3C303030
30303C00 C0603018
0C060200 3C0C0C0C
0C0C3C00 10386CC6
00000000 00000000
000000FF 30180C00
00000000 0000780C
7CCC7600 E0607C66
6666DC00 00007CC6
C0C67C00 1C0C7CCC
CCCC7600 00007CC6
FEC07C00 3C6660F8
6060F000 000076CC
CC7C0CF8 E0606C76
6666E600 18003818
18183C00 06000606
0666663C E060666C
786CE600 38181818
18183C00 0000ECFE
D6D6D600 0000DC66
66666600 00007CC6
C6C67C00 0000DC66
667C60F0 000076CC
CC7C0C1E 0000DC76
6060F000 00007EC0
7C06FC00 3030FC30
30361C00 0000CCCC
CCCC7600 0000C6C6
C66C3800 0000C6D6
D6FE6C00 0000C66C
386CC600 0000C6C6
C67E06FC 00007E4C
18327E00 0E181870
18180E00 18181818
18181800 7018180E
18187000 76DC0000
00000000 7DC802A6
4800002D 00000000
EB80EB80 10801080
525A52F0 AC26ACAE
D210D292 74477437
29F0296E 26E42670
50CC50B6 7FE802A6
549ED5BA 7E7EF82E
549E15BA 7E9EF82E
3D80CC00 618C2000
8BEC0049 57EF2834
8BEC001D 57FF801E
A3CC001E 7FF0F378
56102834 66108000
5485563E 5486863E
7CC679D6 7FE53214
1FFF0008 7F30FA14
7F38CB78 3863FFFF
8EA30001 2C150000
418200D0 2C15000A
40820014 55FF1838
7F39FA14 7F38CB78
4BFFFFE0 2815007F
41800010 28150020
40800008 3AA00020
3AB5FFE0 56B61838
3BE00008 7FE903A6
3A400080 7EEEB0AE
7EFF9039 41820014
2C140000 41820024
92980000 48000014
2C130000 41820014
92780000 48000004
7C00C06C 7C0004AC
3B180004 5652F87E
28120000 41A1FFC4
3B18FFE0 7F187A14
3AD60001 4220FFAC
1FEF0008 7F1FC050
3B180020 1FEF0008
7FD0C050 7FBEFBD6
7FBDF9D6 7FBDF050
7C1D7840 40820010
55FF1838 7F39FA14
7F38CB78 4BFFFF2C
81610084 7D6803A6
B8610008 38210080
4E800020 592E532E
C0000000 00000013
9421FE80 BC610108
7C6802A6 90610184
38610008 48000011
2573203A 6974656D
0A000000 7C8802A6
3CA08000 60A50000
3D008000 81081858
A0C8FFFA 54C6801E
A8E8FFFE 7CC63A14
38C6001F 54C60034
38E67FE0 3D808000
818C1854 7D8903A6
4E800421 38610008
3C80191B 60840109
3D808000 818C1850
7D8903A6 4E800421
80610184 7C6803A6
B8610108 38210180
4E800020 4E800020




List of Sources: (does not include YS's Easy Extender)

Item Spy ASM:
lwz r0, 0x8C (r29) #Default ASM, r0 holds current Player/CPU's Held Item
mulli r11, r27, 0x4 #Multiple Player Slot value in r27 by 0x4, put result in r11
lis r12, 0x8150 #Set 1st half address to where the item values will be stored to
add r12, r12, r11 #Add 1st half address of result in r11, r12 now holds exact location where Item will be stored to
stw r0, 0x0 (r12) #Store current Player/CPU's Held Item value to address of r12

Item Warning ASM:
#~~~~~~~~~~~~~~~~#
# START ASSEMBLY #
#~~~~~~~~~~~~~~~~#

#

#~~~~~~~~~~~~~~~~~~~~~#
# Default Instruction #
#~~~~~~~~~~~~~~~~~~~~~#

lhz r0, 0x00F6 (r31)

#~~~~~~~~~~~~~~~~~~~~~~~#
# Start Register Safety #
#~~~~~~~~~~~~~~~~~~~~~~~#

stwu r1,-80(r1) # make space for 18 registers
stmw r14,8(r1) # push r14-r31 onto the stack

#~~~~~~~~~~~~~~~~~~~~~~~~#
# Pre-Loop Configuration #
#~~~~~~~~~~~~~~~~~~~~~~~~#

lis r14, 0x814F #Set 1st half address that will be -0x4 away from where first item byte is at
ori r14, r14, 0xFFFC #Set 2nd half of address
li r15, 0xXX #Load XX Item value to Monitor
li r16, 0xC #Max is twelve players so max times for loop is 12 (0xC)
lis r18, 0x8000 #Set 1st half address for location to store ASCII hex bytes

#~~~~~~~~~~#
# The Loop #
#~~~~~~~~~~#

re_check:
lwzu r17, 0x0004 (r14) #First load item value from player slot 0, increase mem location by 0x4 for next loop attempt
cmpw r17, 15 #Compare item value of current read player to monitored item value
beq- item_found #If item monitored is held by opponent, jump to item_found label
subic. r16, 16, 1 #Every time this loop is done, take away 1 from r16
bne+ re_check #As long as r16 does NOT equal 0, jump backwards and redo the loop

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# List of Instructions when Item is not found #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

lis r19, 0x4E6F #Set ASCII for NoFind
ori r19, r19, 0x4669 #Set ASCII
lis r20, 0x6E64 #Set ASCII
b the_end

#~~~~~~~~~~~~~~~~~~#
# item_found Label #
#~~~~~~~~~~~~~~~~~~#

item_found:
lis r19, 0x464F #Set ASCII for FOUND!
ori r19, r19, 0x554E #Set ASCII
lis r20, 0x4421 #Set ASCII

#~~~~~~~~~~~~~~~#
# the_end Label #
#~~~~~~~~~~~~~~~#

the_end:
stw r19, 0 (r18) #Store first part of ASCII to 0x80000000
stw r20, 0x4 (r18) #Store second part of ASCII to 0x80000004

#~~~~~~~~~~~~~~~~~~~~~#
# End Register Safety #
#~~~~~~~~~~~~~~~~~~~~~#

lmw r14,8(r1) # pop r14-r31 off the stack
addi r1,r1,80 # release the space

#

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




Code creator: zak
Code credits: Y.S. (easy extender), Bully (Item Spy, and original Item Warning)

Print this item