Graphical Show Item Early
#1
Graphical Show Item Early

DOES NOT work on Dolphin Emulator!

NOTE: The code is setup for 480i definition. If 480p is used, the image message will in the exact center of the screen and it will appear squished. Change your TV Resolution accordingly within Wii Settings.

Online use only!

This code will tell you (via a graphical image/message followed by ": item") what your item is the very moment you hit the box. When the game is first booted, you are told your Game ID. Once the countdown of the race begins, you will see N/A because you haven't picked up an item box yet.

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 (shortened by Star). 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.

Following Item Image Names
GREEN
RED
NANA
FIB
SHROOM
3 SHRM
BOMB
BLUE
SHOCK
STAR
GOLDEN
MEGA
BLOOPR
POW
TC
BILL
3 GRNS
3 REDS
3 NANA
N/A (No Item Available, Shroom)

-Second part of code-
NTSC-U
C265EE14 00000038
88030001 3D808000
38800000 39600000
2C000000 418200A0
2C000001 418200A8
2C000002 418200AC
2C000003 418200B0
2C000004 418200B4
2C000005 418200BC
2C000006 418200C4
2C000007 418200C8
2C000008 418200CC
2C000009 418200D4
2C00000A 418200D8
2C00000B 418200E0
2C00000C 418200E4
2C00000D 418200EC
2C00000E 418200F0
2C00000F 418200F0
2C000010 418200F4
2C000011 418200FC
2C000012 41820104
3C804E2F 60844100
48000104 3C804752
60844545 39604E00
480000F4 3C805245
60844400 480000E8
3C804E41 60844E41
480000DC 3C804649
60844200 480000D0
3C805348 6084524F
39604F4D 480000C0
3C803320 60845348
3960524D 480000B0
3C80424F 60844D42
480000A4 3C80424C
60845545 48000098
3C805348 60844F43
39604B00 48000088
3C805354 60844152
4800007C 3C80474F
60844C44 3960544E
4800006C 3C804E45
60844741 48000060
3C80424C 60844F4F
39605052 48000050
3C80504F 60845700
48000044 3C805443
4800003C 3C804249
60844C4C 48000030
3C803320 60844752
39604E53 48000020
3C803320 60845245
39604453 48000010
3C803320 60844E41
39604E41 908C0000
B16C0004 00000000

PAL
C265E18C 00000038
88030001 3D808000
38800000 39600000
2C000000 418200A0
2C000001 418200A8
2C000002 418200AC
2C000003 418200B0
2C000004 418200B4
2C000005 418200BC
2C000006 418200C4
2C000007 418200C8
2C000008 418200CC
2C000009 418200D4
2C00000A 418200D8
2C00000B 418200E0
2C00000C 418200E4
2C00000D 418200EC
2C00000E 418200F0
2C00000F 418200F0
2C000010 418200F4
2C000011 418200FC
2C000012 41820104
3C804E2F 60844100
48000104 3C804752
60844545 39604E00
480000F4 3C805245
60844400 480000E8
3C804E41 60844E41
480000DC 3C804649
60844200 480000D0
3C805348 6084524F
39604F4D 480000C0
3C803320 60845348
3960524D 480000B0
3C80424F 60844D42
480000A4 3C80424C
60845545 48000098
3C805348 60844F43
39604B00 48000088
3C805354 60844152
4800007C 3C80474F
60844C44 3960544E
4800006C 3C804E45
60844741 48000060
3C80424C 60844F4F
39605052 48000050
3C80504F 60845700
48000044 3C805443
4800003C 3C804249
60844C4C 48000030
3C803320 60844752
39604E53 48000020
3C803320 60845245
39604453 48000010
3C803320 60844E41
39604E41 908C0000
B16C0004 00000000

NTSC-J
C265D7F8 00000038
88030001 3D808000
38800000 39600000
2C000000 418200A0
2C000001 418200A8
2C000002 418200AC
2C000003 418200B0
2C000004 418200B4
2C000005 418200BC
2C000006 418200C4
2C000007 418200C8
2C000008 418200CC
2C000009 418200D4
2C00000A 418200D8
2C00000B 418200E0
2C00000C 418200E4
2C00000D 418200EC
2C00000E 418200F0
2C00000F 418200F0
2C000010 418200F4
2C000011 418200FC
2C000012 41820104
3C804E2F 60844100
48000104 3C804752
60844545 39604E00
480000F4 3C805245
60844400 480000E8
3C804E41 60844E41
480000DC 3C804649
60844200 480000D0
3C805348 6084524F
39604F4D 480000C0
3C803320 60845348
3960524D 480000B0
3C80424F 60844D42
480000A4 3C80424C
60845545 48000098
3C805348 60844F43
39604B00 48000088
3C805354 60844152
4800007C 3C80474F
60844C44 3960544E
4800006C 3C804E45
60844741 48000060
3C80424C 60844F4F
39605052 48000050
3C80504F 60845700
48000044 3C805443
4800003C 3C804249
60844C4C 48000030
3C803320 60844752
39604E53 48000020
3C803320 60845245
39604453 48000010
3C803320 60844E41
39604E41 908C0000
B16C0004 00000000

NTSC-K
C264C4A4 00000038
88030001 3D808000
38800000 39600000
2C000000 418200A0
2C000001 418200A8
2C000002 418200AC
2C000003 418200B0
2C000004 418200B4
2C000005 418200BC
2C000006 418200C4
2C000007 418200C8
2C000008 418200CC
2C000009 418200D4
2C00000A 418200D8
2C00000B 418200E0
2C00000C 418200E4
2C00000D 418200EC
2C00000E 418200F0
2C00000F 418200F0
2C000010 418200F4
2C000011 418200FC
2C000012 41820104
3C804E2F 60844100
48000104 3C804752
60844545 39604E00
480000F4 3C805245
60844400 480000E8
3C804E41 60844E41
480000DC 3C804649
60844200 480000D0
3C805348 6084524F
39604F4D 480000C0
3C803320 60845348
3960524D 480000B0
3C80424F 60844D42
480000A4 3C80424C
60845545 48000098
3C805348 60844F43
39604B00 48000088
3C805354 60844152
4800007C 3C80474F
60844C44 3960544E
4800006C 3C804E45
60844741 48000060
3C80424C 60844F4F
39605052 48000050
3C80504F 60845700
48000044 3C805443
4800003C 3C804249
60844C4C 48000030
3C803320 60844752
39604E53 48000020
3C803320 60845245
39604453 48000010
3C803320 60844E41
39604E41 908C0000
B16C0004 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
3C800D1A 60840603
3D808000 818C1850
7D8903A6 4E800421
80610184 7C6803A6
B8610108 38210180
4E800020 4E800020

Source (for just the C2 code)
#r4 safe to use as it gets overwritten regardless of which conditional branch is taken later in the function#

lbz r0, 0x0001 (r3) #Default ASM

lis r12, 0x8000 #Set Register 20 to the very 1st address in RAM (where the Game ID is located)
li r4, 0x0
li r11, 0x0

cmpwi r0, 0x0
beq- green_0
cmpwi r0, 0x1
beq- red_1
cmpwi r0, 0x2
beq- nana_2
cmpwi r0, 0x3
beq- fib_3
cmpwi r0, 0x4
beq- shroom_4
cmpwi r0, 0x5
beq- trip_shroom5
cmpwi r0, 0x6
beq- bomb_6
cmpwi r0, 0x7
beq- blue_7
cmpwi r0, 0x8
beq- shock_8
cmpwi r0, 0x9
beq- star_9
cmpwi r0, 0xA
beq- golden_A
cmpwi r0, 0xB
beq- mega_B
cmpwi r0, 0xC
beq- blooper_C
cmpwi r0, 0xD
beq- pow_D
cmpwi r0, 0xE
beq- TC_E
cmpwi r0, 0xF
beq- bill_F
cmpwi r0, 0x10
beq- tripgreen_10
cmpwi r0, 0x11
beq- tripred_11
cmpwi r0, 0x12
beq- tripnana_12

lis r4, 0x4E2F
ori r4, r4, 0x4100
b item_done

green_0:
lis r4, 0x4752
ori r4, r4, 0x4545
li r11, 0x4E00
b item_done

red_1:
lis r4, 0x5245
ori r4, r4, 0x4400
b item_done

nana_2:
lis r4, 0x4E41
ori r4, r4, 0x4E41
b item_done

fib_3:
lis r4, 0x4649 
ori r4, r4, 0x4200
b item_done

shroom_4:
lis r4, 0x5348 
ori r4, r4, 0x524F
li r11, 0x4F4D
b item_done

trip_shroom5:
lis r4, 0x3320 
ori r4, r4, 0x5348 
li r11, 0x524D
b item_done

bomb_6:
lis r4, 0x424F
ori r4, r4, 0x4D42
b item_done

blue_7:
lis r4, 0x424C
ori r4, r4, 0x5545
b item_done

shock_8:
lis r4, 0x5348
ori r4, r4, 0x4F43
li r11, 0x4B00
b item_done

star_9:
lis r4, 0x5354
ori r4, r4, 0x4152
b item_done

golden_A:
lis r4, 0x474F
ori r4, r4, 0x4C44
li r11, 0x544E
b item_done

mega_B:
lis r4, 0x4E45
ori r4, r4, 0x4741
b item_done

blooper_C:
lis r4, 0x424C
ori r4, r4, 0x4F4F
li r11, 0x5052
b item_done

pow_D:
lis r4, 0x504F
ori r4, r4, 0x5700
b item_done

TC_E:
lis r4, 0x5443
b item_done

bill_F:
lis r4, 0x4249
ori r4, r4, 0x4C4C
b item_done

tripgreen_10:
lis r4, 0x3320
ori r4, r4, 0x4752
li r11, 0x4E53
b item_done

tripred_11:
lis r4, 0x3320
ori r4, r4, 0x5245
li r11, 0x4453
b item_done

tripnana_12:
lis r4, 0x3320
ori r4, r4, 0x4E41
li r11, 0x4E41

item_done:
stw r4, 0 (r12) #Store Ascii Value
sth r11, 0x0004 (r12) #Store Ascii Value


Code creator: zak
Code contributor(s): Y.S. (Easy Extender)
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)