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

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 632
» Latest member: Kizame
» Forum threads: 1,809
» Forum posts: 13,867

Full Statistics

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

Latest Threads
Offline Hide and Seek
Forum: Code Support / Help / Requests
Last Post: WaluigiisFluffy
6 hours ago
» Replies: 6
» Views: 94
Make it to 10,000
Forum: General Discussion
Last Post: Fifty
7 hours ago
» Replies: 7,244
» Views: 5,552,419
Thunder Cloud Effect Modi...
Forum: Offline; Item
Last Post: DrTap
Yesterday, 11:59 AM
» Replies: 1
» Views: 567
Remove HUD [Bully]
Forum: Visual & Sound Effects
Last Post: WaluigiisFluffy
12-20-2024, 09:17 PM
» Replies: 2
» Views: 6,216
Position Jumper Code
Forum: Code Support / Help / Requests
Last Post: WaluigiisFluffy
12-20-2024, 08:28 PM
» Replies: 0
» Views: 28
Changing Textures of a Si...
Forum: Code Support / Help / Requests
Last Post: Unnamed
12-20-2024, 10:19 AM
» Replies: 7
» Views: 485
Hi
Forum: Introductions
Last Post: WaluigiisFluffy
12-19-2024, 07:14 PM
» Replies: 2
» Views: 86
Installing Wii System Men...
Forum: HBC & General Wii Softmodding
Last Post: Vega
12-19-2024, 04:16 AM
» Replies: 1
» Views: 49
[Request] A small code, a...
Forum: Code Support / Help / Requests
Last Post: Vega
12-19-2024, 04:09 AM
» Replies: 1
» Views: 73
Disable CPU Rubberbanding...
Forum: Offline Non-Item
Last Post: Sora0Pi
12-17-2024, 05:16 AM
» Replies: 1
» Views: 654

 
  How to Port Codes to other Regions
Posted by: Vega - 02-23-2018, 06:31 PM - Forum: Coding (Non-ASM) and Dolphin - Replies (2)

How to Port Codes to other Regions

This guide will teach you how to manually port codes to other regions. There are programs out there (such as Bean's auto porter) that can port codes for you. But at some point, those programs will not work on a particular code, and you will need to manually port.

Requirements:
- Hex Editor**
- RAM Dumps*** (you will need at least the RAM Dump of the region you are porting from and the region you are porting to)

**I recommend HxD. HxD is used in this guide. You can find it very easily on a google search for free download. If you are a Linux User, you will need Wine emulation to run HxD.

***Regarding RAM Dumps: If you have Dolphin Emulator, look at this thread HERE. If not, run this code HERE on your Wii.





Chapter 1: Introduction

We will start off with the NTSC-U Show Item Early Code. We want to port the code to PAL.

I have chosen the Show Item Early Code for this guide since ASM (C2 type) codes are not as simple as 32-bit (04 type) codes, but are still easy enough for any beginner to quickly grasp. Basically in 95% of all C2 and 04 codes, the very first line (the C2XXXXXX/04XXXXXX value) is what needs to be ported. All other lines within the code will remain the same. Of course, there are some codes where this isn't the case, but this guide is meant for beginners.



Chapter 2: Finding Location of Code's Address in RAM

Open HxD and press CLTR+O on your keyboard to open up the menu to search your computer for your NTSC-U RAM Dump. We always start off with the RAM Dump version that matches the region of code we are porting from.

So our NTSC-U Show Item Early code is...

Code:
C27AB9D4 00000002
807F0020 907F001C
60000000 00000000


What we want to do is find the Code's RAM Address (offset & column location) within the RAM Dump. To figure this out, simply remove the first 2 digits off the first line (the C2 line) of the code. Don't worry about any other lines in the code. If you did the conversion correctly, you should come up with a value of...

7AB9D4

On you hex editor, press CTRL+G. a 'Goto' prompt will appear to enter in an offset to search for.

[Image: goto.png]

Paste in that 7AB9D4 number and be sure number/data type is in Hexadecimal (Hex).

[Image: gotofilled.png]

Click OK and HXD will navigate you to row 007AB9D0 under column 4. The last digit of a code's RAM address is the column number value on the hex editor. The following picture contains a red arrow pointing to where your mouse cursor will now be at, the green arrow points to the spot in HxD where you can always see your Offset location for the current file you are in.

[Image: atoffset.png]




Chapter 3: String Searching

What you need to do is highlight the first 4 bytes (8 digits) of code beginning where your cursor was navigated to. If done correctly, you should have highlighted the following hex string...

90 7F 00 1C

[Image: firststringfilled.png]

Once you have that higlighted, press CTRL+C on your keyboard to copy the hex string.

Now open up your PAL RAM dump file, HxD will add it as a new tab. You should automatically be in the PAL Ram dump now, if not click on the tab to view it.

[Image: palopened.png]

Now press CTRL+F and a 'Fine' prompt will appear.

[Image: findwindow.png]

For the "Search for" field, paste in what you have just copied. Change Datatype from Text-String to Hex.

[Image: findwindow1ststring.png]

Click OK.

If done correctly, you will be brought to offset 000F441C indicated by the green arrow.

[Image: 1ststringfound.png]

Right off the bat, I will you that this is the wrong address. When comparing the address of one region to another, if the margin of difference is huge, then it's a high chance that you ported to the wrong address. If we were to use the offset value of F441C and convert that, the PAL code's C2 line would be C20F441C, which is a Huge difference compared to the NTSC-U Code's Address, which means it's obviously wrong. 

There are many instances where a 4 byte string of hex is repeated in MKWii RAM. Sometimes, you only need to use a 4 byte string to find your address, other times you may need to copy something as long as 32 bytes. It all depends on the code.

Lets go back to our NTSC-U RAM Dump file. This time highlight the first 12 bytes (24 digits of code). You should have a hex string of...

90 7F 00 1C 88 1F 00 2D 2C 00 00 00

[Image: highlight2ndstring.png]

Copy that string using CTRL+C. Go back to PAL RAM Dump file. Hit CTRL+F to bring up the 'Find' window. Paste in the new 12 byte string. However, we want to change search direction from "Forward" to "All".

[Image: 2ndstringfind.png]

Since we searched in PAL RAM earlier, we are no longer at the very beginning of the PAL RAM Dump file. So we need the "All" search direction to tell HxD to search both ways from out current spot in PAL RAM. Click OK.

You will be navigated to the offset value of 7BA434 indicated by the green arrow of the above picture.

[Image: 2ndstringfound.png]

If we convert the offset value to a usable C2 line, we get C27BA434. As you can see, this is slightly different than the NTSC-U address. Chances are, this address is the correct one. What you want to also do is compare the surrounding random numbers of both RAM Dumps, they should be very identical (doesn't have to be exactly the same). If it is, there's a very good chance the address is correct. So now you have the C2 line for PAL, complete the rest of the code....

PAL Show Item Early~
Code:
C27BA434 00000002
807F0020 907F001C
60000000 00000000




Chapter 4: Testing; Conclusion

After porting any code, always be sure to test it. If your tests fail, go back to the hex editor and try to re-port the code.

Print this item

  Force Battle Bug/Glitch [XeR]
Posted by: Vega - 02-23-2018, 04:52 PM - Forum: Online Non-Item - Replies (2)

Force Battle Bug/Glitch [XeR]

Battle Bug/Glitch is on automatically all the time, no need to do a quick battle.

NTSC-U
048CEEAC 47927C00

PAL
048D3E14 47927C00

NTSC-J
048D2F64 47927C00

NTSC-K
048C22AC 47927C00

Code created by: XeR

Print this item

  Shared Item Code [Guru]
Posted by: Vega - 02-23-2018, 04:47 PM - Forum: Online; Item - Replies (12)

Shared Item Code [Guru]

Also known as Guru Code. It is essentially a semi-undetectable forced item code.

This code changes the item value that is written for the item that you will receive when you grab a box (after the item probabilities are calculated). The value is written before the 'handshakes' are done with other players (and the timer checks such as the 30 second required elapse for the shock to be available). Thus, if your item is not available, you get item value 0x14 (Mushroom) instead.

This code breaks certain item rules. Those are...
Allowing you to get a triple item (such as Trip reds) while trailing/circling a triple item.
Allowing you to get a Mega when in a Mega.

If your item is available and you don't break the listed rules, cheat detectors cannot detect this code.

NTSC-U
2834XXXX YYYYZZZZ
047ACE58 386000WW
E0000000 00000000
2834XXXX YYYYZZZZ
047ACE58 7F03C378
E0000000 80008000

PAL
2834XXXX YYYYZZZZ
047BB8B8 386000WW
E0000000 00000000
2834XXXX YYYYZZZZ
047BB8B8 7F03C378
E0000000 80008000

NTSC-J
2834XXXX YYYYZZZZ
047BAF24 386000WW
E0000000 00000000
2834XXXX YYYYZZZZ
047BAF24 7F03C378
E0000000 80008000

NTSC-K
2833XXXX YYYYZZZZ
047A9C78 386000WW
E0000000 00000000
2833XXXX YYYYZZZZ
047A9C78 7F03C378
E0000000 80008000

WW Item Values:
00 = Green Shell
01 = Red Shell
02 = Banana
03 = Fake Item Box
04 = Mushroom
05 = Triple Mushroom
06 = Bob-omb
07 = Blue Shell
08 = Lightning
09 = Star
0A = Golden Mushroom
0B = Mega Mushroom
0C = Blooper
0D = POW Block
0E = Cloud
0F = Bullet Bill
10 = Triple Green Shell
11 = Triple Red Shell
12 = Triple Banana
14 = Nothing

Source:
mr r3, r24 changed to li r3, 0xWW

And for those who want the 'OG version' for historical purposes, here it is...

Code:
NTSC-U
2834XXXX YYYYZZZZ
C27AB704 00000002
386000WW 90770020
60000000 00000000
E0000000 00000000
2834XXXX YYYYZZZZ
047AB704 90770020
E0000000 80008000

PAL
2834XXXX YYYYZZZZ
C27BA164 00000002
386000WW 90770020
60000000 00000000
E0000000 00000000
2834XXXX YYYYZZZZ
047BA164 90770020
E0000000 80008000

NTSC-J
2834XXXX YYYYZZZZ
C27B97D0 00000002
386000WW 90770020
60000000 00000000
E0000000 00000000
2834XXXX YYYYZZZZ
047B97D0 90770020
E0000000 80008000

NTSC-K
2833XXXX YYYYZZZZ
C27A8524 00000002
386000WW 90770020
60000000 00000000
E0000000 00000000
2833XXXX YYYYZZZZ
047A8524 90770020
E0000000 80008000

Source:
li r3, 0xWW
stw r3, 0x0020 (r23)

Code creator: Guru

Print this item

  Max Weight Online [Bully]
Posted by: Vega - 02-23-2018, 04:46 PM - Forum: Online Non-Item - No Replies

Max Weight Online [Bully]

This code puts your weight as the highest possible (stat-wise).

NTSC-U
0456B9EC C03C0000

PAL
0457083C C03C0000

NTSC-J
045701BC C03C0000

NTSC-K
0455E894 C03C0000

Code created by: Bully

Print this item

  Force Room CC [XeR]
Posted by: Vega - 02-23-2018, 04:43 PM - Forum: Online Non-Item - No Replies

Force Room CC [XeR]

Force whatever CC you want the race to be in. You must be the HOST in the WW/Room for this to work. Good code to use if you are a War Host and both teams want 150cc.

NTSC-U
C2659D7C 00000002
3B80000X 9B9D003F
60000000 00000000

PAL
C2661CB8 00000002
3B80000X 9B9D003F
60000000 00000000

NTSC-J
C2661324 00000002
3B80000X 9B9D003F
60000000 00000000

NTSC-K
C264FFD0 00000002
3B80000X 9B9D003F
60000000 00000000

X Values:
0 = Message for CC is blank, but 100cc is used
1 = 100cc
2 = 150cc
3 = Mirror

Code created by: XeR

Print this item

  Enhanced Ghost Replay [MrBean]
Posted by: Vega - 02-23-2018, 04:41 PM - Forum: Time Trials & Battle - No Replies

Enhanced Ghost Replay [MrBean]

Makes Ghost Replay appear like Live Replay.

NTSC-U
C25FBE28 00000009
3880000D 3CA0805F
38A51E54 7CA903A6
4E800421 3CA0809C
80A5D508 80A50000
80C500E4 90C500BC
80C5003C 90C500E4
38C00000 90C5003C
7FE3FB78 3880003A
60000000 00000000
C2602D4C 0000000F
2C000034 4C820020
3860001F 3C80809C
8084D508 80840000
808400E4 38A00005
90A40008 38A00037
90A40044 38A00000
90A4001C 90A40020
80840000 7CC802A6
48000021 80830044
2C040037 4082000C
38A0002D 90A30044
7C832378 4E800020
7CA802A6 7CC803A6
90A40010 4E800020
60000000 00000000

PAL
C262CCDC 00000009
3880000D 3CA08062
38A52D08 7CA903A6
4E800421 3CA0809C
80A51E38 80A50000
80C500E4 90C500BC
80C5003C 90C500E4
38C00000 90C5003C
7FE3FB78 3880003A
60000000 00000000
C2633C00 0000000F
2C000034 4C820020
3860001F 3C80809C
80841E38 80840000
808400E4 38A00005
90A40008 38A00037
90A40044 38A00000
90A4001C 90A40020
80840000 7CC802A6
48000021 80830044
2C040037 4082000C
38A0002D 90A30044
7C832378 4E800020
7CA802A6 7CC803A6
90A40010 4E800020
60000000 00000000

NTSC-J
C262C428 00000009
3880000D 3CA08062
38A52454 7CA903A6
4E800421 3CA0809C
80A50E98 80A50000
80C500E4 90C500BC
80C5003C 90C500E4
38C00000 90C5003C
7FE3FB78 3880003A
60000000 00000000
C263334C 0000000F
2C000034 4C820020
3860001F 3C80809C
80840E98 80840000
808400E4 38A00005
90A40008 38A00037
90A40044 38A00000
90A4001C 90A40020
80840000 7CC802A6
48000021 80830044
2C040037 4082000C
38A0002D 90A30044
7C832378 4E800020
7CA802A6 7CC803A6
90A40010 4E800020
60000000 00000000

NTSC-K
C261B0D4 00000009
3880000D 3CA08061
38A51100 7CA903A6
4E800421 3CA0809B
80A50478 80A50000
80C500E4 90C500BC
80C5003C 90C500E4
38C00000 90C5003C
7FE3FB78 3880003A
60000000 00000000
C2621FF8 0000000F
2C000034 4C820020
3860001F 3C80809B
80840478 80840000
808400E4 38A00005
90A40008 38A00037
90A40044 38A00000
90A4001C 90A40020
80840000 7CC802A6
48000021 80830044
2C040037 4082000C
38A0002D 90A30044
7C832378 4E800020
7CA802A6 7CC803A6
90A40010 4E800020
60000000 00000000

Code created by: MrBean

Print this item

  Freeze/Stall/Spam Room [DarkFlare]
Posted by: Vega - 02-23-2018, 04:39 PM - Forum: Online Non-Item - No Replies

Freeze/Stall/Spam Room [DarkFlare]

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

Scenarios:
In open room: Press and hold activator to make your Mii spam "Here I am!" over and over again on other people's screens (you will not see this effect on your screen)

At Course Vote: After at least one person has voted, press and hold the activator for a few seconds then let go. On everybody else's screen it will show you voted a track, but you have not. Once the selection timer has run out for you, you will be stuck, but on other people's screen they will be sitting on the track for eternity waiting for lakitu to initiate countdown.

If you then press and hold the activator for a few seconds again, everybody can finally begin the race. You are still stuck at course vote. Everybody will then be in a forever matrix (they are forced to race in slow motion). Sometimes this doesn't work and the course vote for everyone will remain stuck then eventually everyone DC's back to Wifi globe menu.

And finally if you press and hold the activator again for a very long time, everybody DC's.

During actual race: *Don't activate at all until race has started*. Everyone will freeze except you.

NTSC-U
04653844 80030008
2834XXXX YYYYZZZZ
04653844 60000000
E0000000 80008000

PAL
04657CCC 80030008
2834XXXX YYYYZZZZ
04657CCC 60000000
E0000000 80008000

NTSC-J
04657338 80030008
2834XXXX YYYYZZZZ
04657338 60000000
E0000000 80008000

NTSC-K
04645FE4 80030008
2833XXXX YYYYZZZZ
04645FE4 60000000
E0000000 80008000

Other notes: Replacing '60000000' with '38000000' appears to only work during in race (freeze) but the freeze didn't seem as bad/strong (Dolphin didn't crash as hard).

Code created by: DarkFlare

Print this item

  Disable Blooper Ink [Volderbeek]
Posted by: Vega - 02-23-2018, 04:37 PM - Forum: Online; Item - No Replies

Disable Blooper Ink [Volderbeek]

Blooper cannot squirt liquid on your screen. Others will still see your character turn black on their screen.

NTSC-U
0457B244 41A2005C

PAL
04581AA8 41A2005C

NTSC-J
04581428 41A2005C

NTSC-K
0456FB00 41A2005C

Code creator: Volderbeek

Print this item

  Anti Item Spy [Bully]
Posted by: Vega - 02-23-2018, 04:35 PM - Forum: Online; Item - Replies (6)

Anti Item Spy Code [Bully]

Code changes the packet information between clients of what item you are holding.

NTSC-U
047AB7AC 38A000XX

PAL
047BA20C 38A000XX

NTSC-J
047B9878 38A000XX

NTSC-K
047A85CC 38A000XX

XX Values:
00 = Green Shell
01 = Red Shell
02 = Banana
03 = Fake Item Box
04 = Mushroom
05 = Triple Mushroom
06 = Bob-omb
07 = Blue Shell
08 = Lightning
09 = Star
0A = Golden Mushroom
0B = Mega Mushroom
0C = Blooper
0D = POW Block
0E = Cloud
0F = Bullet Bill
10 = Triple Green Shell
11 = Triple Red Shell
12 = Triple Banana
14 = Nothing

Code creator: Bully

Print this item

  Always Win [mdmwii]
Posted by: Vega - 02-23-2018, 04:33 PM - Forum: Incomplete & Outdated Codes - No Replies

Always Win [mdmwii]

NOTE: Outdated by Vega's version which allows the Timer to still function normally visually (lap splits still effected).

This code nops the function of the race timer, therefore every frame of the game, it resets constantly to all zeros. This causes to timer to 'flicker' near perfect zeros. It is 'server-sided', so running this will allow you to always win the race. If someone else is running the code, it depends who ends up with the lowest millisecond that will receive the victory.

NTSC-U
2834XXXX YYYYZZZZ
04531130 60000000
E0000000 00000000
2834XXXX YYYYZZZZ
04531130 38030001
E0000000 80008000

PAL
2834XXXX YYYYZZZZ
04535C78 60000000
E0000000 00000000
2834XXXX YYYYZZZZ
04535C78 38030001
E0000000 80008000

NTSC-J
2834XXXX YYYYZZZZ
045355F8 60000000
E0000000 00000000
2834XXXX YYYYZZZZ
045355F8 38030001
E0000000 80008000

NTSC-K
2833XXXX YYYYZZZZ
04523CD0 60000000
E0000000 00000000
2833XXXX YYYYZZZZ
04523CD0 38030001
E0000000 80008000

Code created by: mdmwii

Print this item