Easy Extender 1.1 [Y.S.]
#1
Easy Extender 1.1 [Y.S.]

This code will give you the data/info (posted as its own graphical message on your TV screen) that will allow you to bypass the Ocarina GCT 256 line maximum.

Simply run the code. You will see the graphical message on the top left of your TV Screen. Take a picture or write down the info that is displayed on your TV screen. On your computer, make a new .txt file called gameconfig.txt. Put the info that was on your TV screen onto gameconfig.txt. Place the gameconfig.txt on the root of your SD card. You can now have GCT files in your codes folder that exceed the Ocarina limit.

Please note that this code works for ALL Wii games, not just MKWii.

Region-Free
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 0000001A
9421FE80 BC610108
7C6802A6 90610184
38610008 48000049
25733A0A 636F6465
6C697374 73746172
74203D20 25303858
0A636F64 656C6973
74656E64 203D2025
3038580A 706F6B65
28253038 582C2033
38303337 46464629
0A000000 7C8802A6
3CA08000 60A50000
3D008000 81081858
A0C8FFFA 54C6801E
A8E8FFFE 7CC63A14
38C6001F 54C60034
38E67FE0 3D808000
818C1854 7D8903A6
4E800421 38610008
3C800102 60840102
3D808000 818C1850
7D8903A6 4E800421
80610184 7C6803A6
B8610108 38210180
4E800020 4E800020

Code created by: Y.S.
Reply
#2
For any ASM coder who wants to use this code as a base (use the entire code provided above excluding the C0 code) for Drawing stuff to the screen, here are some notes for utilizing your own ASM (C0/C2) Code using Y.S's code:

To use sprintf (standard sprintf args apply):
lis rX, 0x8000
lwz rX, 0x1854 (rX)
mtlr rX
blrl

To use Draw:
lis rX, 0x8000
lwz rX, 0x1850 (rX)
mtlr rX
blrl

Arg for Draw
r3 = Address pointing to data (already converted, ready for display)
r4 1st byte = X coordinate (starts at 0x01)
r4 2nd byte = Y coordinate (starts at 0x02)
r4 3rd byte = BG color (see color combos below)
r4 4th byte = Font color (see color combos below)

Color combos (byte values):
00 - Clear
01 - White
02 - Black
03 - Red
04 - Yellow
05 - Dark Yellow
06 - Green
07 - Blue
08 - Blue
09 - Purple (Values beyond this aren't actual real colors from what I've been told)
0A - Purple
0C - Cyan
0F - Cyan
14 - Sky Blue
1F - Lime Green
7F - Grey
FF - Clear, but puts a thin white border on the font

Too lazy to check all 256 values...

Regarding the X/Y coordinate positions:
The values will place your text in different places depending on your resolution and screen ratio. Just because the text is at the bottom center on 4:3, doesn't mean it will be there for 16:9 480i nor 16:9 480p.
Reply
#3
What's all the rest of the code for? Does it alter one of the print functions?
Super Mario Eclipse, what Super Mario Sunshine could've been.
Reply
#4
I havent analyzed all of YS's code but it does the following:
Find the game's address for sprintf, save it to 0x80001858
Search for area of RAM to place extending code handler in (with other related various values)
The code does some data loading from 0xCC002000 (broadway vid interface) and it writes a new subroutine to execute based on that data (basically YS does some magic with the Video interface to create a Draw Code, hence why it works on every wii game)
The draw function is then linked to 0x80001850

For the C0 asm:
he basically sets up some basic args for the sprintf, calls the sprintf. Then calls the draw function.
Reply
#5
That's pretty cool
Super Mario Eclipse, what Super Mario Sunshine could've been.
Reply
#6
How do I lay it out though? I have the numbers wrote down but I dont know how to lay it out in the txt. Please help
Reply
#7
What text/numbers are you wanting to display?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)