Welcome, Guest |
You have to register before you can post on our site.
|
Forum Statistics |
» Members: 632
» Latest member: Kizame
» Forum threads: 1,811
» Forum posts: 13,870
Full Statistics
|
Online Users |
There are currently 113 online users. » 1 Member(s) | 110 Guest(s) Bing, Google, KarmaAK
|
Latest Threads |
Make it to 10,000
Forum: General Discussion
Last Post: Cealgair
6 hours ago
» Replies: 7,245
» Views: 5,553,454
|
Offline Hide and Seek
Forum: Code Support / Help / Requests
Last Post: WaluigiisFluffy
Yesterday, 11:38 PM
» Replies: 6
» Views: 124
|
Thunder Cloud Effect Modi...
Forum: Offline; Item
Last Post: DrTap
Yesterday, 11:59 AM
» Replies: 1
» Views: 574
|
Remove HUD [Bully]
Forum: Visual & Sound Effects
Last Post: WaluigiisFluffy
12-20-2024, 09:17 PM
» Replies: 2
» Views: 6,218
|
Position Jumper Code
Forum: Code Support / Help / Requests
Last Post: WaluigiisFluffy
12-20-2024, 08:28 PM
» Replies: 0
» Views: 37
|
Changing Textures of a Si...
Forum: Code Support / Help / Requests
Last Post: Unnamed
12-20-2024, 10:19 AM
» Replies: 7
» Views: 498
|
Request for Help to Adapt...
Forum: Code Support / Help / Requests
Last Post: Kizame
12-20-2024, 08:05 AM
» Replies: 0
» Views: 2
|
Request for Help to Adapt...
Forum: Code Support / Help / Requests
Last Post: Kizame
12-20-2024, 08:01 AM
» Replies: 0
» Views: 4
|
Hi
Forum: Introductions
Last Post: WaluigiisFluffy
12-19-2024, 07:14 PM
» Replies: 2
» Views: 98
|
Installing Wii System Men...
Forum: HBC & General Wii Softmodding
Last Post: Vega
12-19-2024, 04:16 AM
» Replies: 1
» Views: 55
|
|
|
SZS (wstrt, wszst, wbmgt) Command Cheat Sheet |
Posted by: Vega - 02-15-2018, 12:03 AM - Forum: Wiimm's Tools
- Replies (3)
|
|
WSTRT commmands...
Analyze main.dol (this will let you know if your main.dol is clean/original)
wstrt analyze main.dol
Analyze StaticR.rel
wstrt analyze StaticR.rel
Remove Nintendo's VR Matchmaking Algorithm (NOT needed if ISO/WBFS is patched for Wiimmfi)
wstrt patch StaticR.rel --all-ranks
Patch GCT file to main.dol (also allows usage of exceeding 256 Ocarina line limit)
wstrt patch main.dol --add-section nameofgct.gct
Patch Multiple GCT files to main.dol (3 GCTs used in example)
wstrt patch main.dol --add-section a.gct --add-section b.gct --add-section c.gct
Change Vs/Battle Region slot (this does not change line color underneath name)
wstrt patch main.dol --region X
wstrt patch StaticR.rel --region X
X = region #
Patch Domain names of Game
wstrt patch main.dol --https domain --domain example.com
wstrt patch StaticR.rel --https domain --domain example.com
Patch game for Wiimmfi
wstrt patch main.dol --wiimmfi
wstrt patch StaticR.rel --wiimmfi
Port Address for Code Usage
wstrt port ZZZZZ XXXXXXXX OOOO
ZZZZZ = Region of Address that is being ported (pal, usa, japan, or korea); if no ZZZZZ value is used, then the address is assumed to be pal by default
XXXXXXXX = Address to port
OOOO = order of the output; if this isn't included the default output is pujk (pal usa japan korea). If you wanted the output to be japan korea usa pal, set this to jkup.
WSZST commmands...
List contents of a SZS file
wszst list example.szs
Extract contents of a SZS file
wszst extract example.szs
Build contents of SZS directory into SZS file
wszst create ./example.d
WBMGT commands...
Decode a BMG file to a TXT for editing
wbmgt decode example.bmg
To encode a TXT file into a BMG file
wbmgt encode example.txt
|
|
|
WIT Command Cheat Sheet |
Posted by: Vega - 02-15-2018, 12:03 AM - Forum: Wiimm's Tools
- Replies (2)
|
|
Change the file type (ex: ISO to WBFS), original file gets copied so it remains unmodified
wit copy example.iso example.wbfs
Full Scrub (remove UPDATE and CHANNEL partition)
wit copy example.wbfs example2.wbfs --psel data
Extract game to manipulate its contents
wit extract example.wbfs /home/yourusername/newfolder (dont create newfolder before-hand)
Rebuild extracted game
wit copy ./newfolder /home/yourusername/newexample.wbfs
Verify game for integrity
wit verify example.wbfs
Patch domains of game (main.dol and StaticR.rel), command only works for ISO files
wit edit example.iso --http --domain example.com
Patch game for Wiimmfi, command only works for ISO files
wit edit example.iso --wiimmfi
Make a WIA file for storage (the best compression for a Wii game, this file type cannot be used for USB loading). It is recommended you do a full scrub on the game beforehand to achieve smallest size possible
wit copy example.wbfs example.wia --compression BEST
Change disc region (this has nothing to do with MKW regions whatsoever)
wit edit example.wbfs --region X
X Values:
0 = Japan/Taiwan
1 = USA
2 = PAL
4 = Korea
Change ID of game
wit edit example.wbfs --id XXXXYY
XXXX = the four letter part
YY = the double digit number part
Example: wit edit RMCE01.iso --id RMCZ01
Commands for Windows;
Change the file type (ex: ISO to WBFS), original file gets copied so it remains unmodified
wit copy --wbfs "example.iso" [/home/YourName/Desktop/] [] = Optional
Full Scrub (remove UPDATE and CHANNEL partition)
wit copy example.iso --psel=data
Change ID of game
wit x <ORIGINAL_IMAGE> workdir.d
wit copy workdir.d <NEWIMAGE> --id=<NEW_ID>
<NEW_ID> Values;
XXXXYY
XXXX = the four letter part
YY = the double digit number part
|
|
|
Downloading, Installation, & Upgrading |
Posted by: Vega - 02-15-2018, 12:02 AM - Forum: Wiimm's Tools
- No Replies
|
|
Download Links
WIT Tools - https://wit.wiimm.de/
SZS Tools - https://szs.wiimm.de/
Installing WIT Tools
Guide using Windows:
Download WIT cygwin, latest version
Extract the .zip file
Run the install BAT file (if an error occurs, Run it as Admin)
You may get notified that the program may have installed incorrectly, simply choose 'This program installed correctly'
Guide using Linux:
Download WIT for linux, choose the proper selection for your computer architecture
cd /home/yourusername/Downloads
tar -xvzf (witpackagename).tar.gz
cd witpackagename
sudo ./install.sh
Installing SZS Tools
Guide using Windows:
Download SZS cygwin, latest version
Extract the .zip file
Run the install BAT file (if an error occurs, Run it as Admin)
You may get notified that the program may have installed incorrectly, simply choose 'This program installed correctly'
Guide using Linux:
Download SZS for linux, choose the proper selection for your computer architecture
cd /home/yourusername/Downloads
tar -xvzf (szspackagename).tar.gz
cd szspackagename
sudo ./install.sh
Upgrading
If you the downloads page for WIT/SZS come out with newer versions, just download them and repeat the installation process to upgrade.
|
|
|
Rules for Posting New Code Threads in the Codes Forum |
Posted by: Vega - 02-15-2018, 12:01 AM - Forum: Rules/Notes & About Code Bugs
- No Replies
|
|
NOTE: In regards to posting Code bugs, read this thread -> https://mkwii.com/showthread.php?tid=1535
Rules for New Code Threads in the Codes Forum
Chapter 1. Intro
First thing's first. ~ Special shout out to Star for helping me fill up the Codes forum
Here at MarioKartWii.com, we are the first ever website to have a centralized + organized database of almost all publicly released MKWii codes.
To ensure legitimacy with the codes posted on MarioKartWii.com, all threads here in the Codes forum go through approval by me or by one of the Moderators (Seeky or JoshuaMK). Before you post a thread, please test your code.
Please read the entire rules below before posting a thread for approval.
IMPORTANT NOTE: Any person with the coder/dev role can post code threads without any approval needed.
--
Just because code threads get reviewed before being approved doesn't mean you ignore the rules completely before posting a thread for approval. If you create a pattern of constantly posting bad codes assuming it will get 'fixed' for you, then you may receive a strike on your reputation.
- If thread approval is denied due to the code not working at all, being fake, made up, etc; it will be moved to the Purgatory forum.
- If thread approval is denied due to the code not 100% working, it will be moved to the Incomplete/Outdated*** forum (some parts of the code have to work!!)
- If thread approval is denied due to the code already being outdated by another code(s), it will be moved to Incomplete/Outdated*** forum
- If thread approval is denied due to me (or somebody else willing to) being unable to complete the ports if required, it will be moved to Incomplete/Outdated*** forum
If code(s) is all good, they will simply be approved. Please NOTE not all codes posted will be tested shortly after being posted+approved. If a reputable Coder/Dev posts a new code, there's a chance it will only get reviewed if a user reports an issue later on.
Much thanks
- Vega
**Please note that some codes do NOT work in the Dolphin Emulator. Also, some codes may not work when using Wiimm's SZS Tools to patch the GCT file to the main.dol. Thank you for understanding**
***For more information and additional rules regarding the Incomplete/Outdated code forum, please read Chapter 5.
If a code is not working in Dolphin, this may remedy it...
First, try upgrading your Dolphin to the latest Dev Version
If that doesn't work or you don't want to change your Dev version, try this...
- Launch Dolphin
- Find the Icon Picture at the top that says 'Graphics'. Click on it to open Graphics settings.
- Go to the Hacks Tab.
- Underneath External Frame Buffer settings, be sure the box for "Store XFB Copies to Texture Only" is unchecked.
- Save settings. Reboot Dolphin
Chapter 2. General Rules
NOTE: All threads created in this sub-forum must be cheat codes. Do not create threads about general Hacking. If you have questions/concerns about a cheat code, then feel free to reply in that specific cheat codes' thread.
RULES:
- Codes must be available for all regions/ports including Korea (Read GREEN note below)
- You must supply proper code credits. Read Chapter 4 for more information about crediting codes.
- Region Free F6 type codes are ONLY allowed if and only if they can work without having to change the hooktype when changing versions of MKWii.
- Codes must be in an organized format (proper format shown in Chapter 3).
- Do NOT pre-fill in your controller/button (XYZ) values for the codes. Leave them in the standard XXXX YYYYZZZZ format to allow users to fill in the values that they desire. Same goes with something such with Item Values in codes in any sort of Item Cheat code.
- Please don't post any Item Hacks that require a 'Write Char Offset'. These Item Hacks are so outdated, I don't want them posted on MarioKartWii.com
- If codes have non-controller values that are needed to be filled in, do not put the fill-in values as any hexadecimal letter (A-F). Use something like P, R, Q, W etc. You can use X, Y, and/or Z if the code doesn't have controller values to fill in.
NOTE regarding regions/ports: If a certain code cannot literally be ported to another region (such as this code HERE), then the rules about having 'all ports' do NOT apply. Also regarding ports: I understand that not everybody has access to get and/or make RAM Dumps for certain regions (especially Korea). If your new code thread doesn't have every region, but ALL other rules are followed, you can post the code. I (or another person) can finish the ports for you. The code will be placed in incomplete/outdated until the ports are completed.
Chapter 3. Thread Format [Gecko Format]
All codes will follow the 'Gecko Format'. This is a standard that is applied to the thread title and code title within the thread. The creator (including co-creators if applicable) are included after the code's name in brackets. However those listed in code credits are NOT to be included in the brackets.
Correct Thread Format:
*The title of the thread shall be... Name of Code [Creator(s) of Code]
The thread contents:
Name of Code [Creator(s) of Code]
Description or Guide (optional)
NTSC-U
PAL
NTSC-J
NTSC-K
Additional Notes (optional) example: Source of ASM Code
Code creator listed again plus code credits if applicable (For proper format on credits view Chapter 4)
If you want to switch up the format a tiny bit that's fine. Such as putting credits right after the code name/title, or place the description after the code itself. As long as the title is at the top, and the credits are included, then it's all good.
Chapter 4. Details of Rules for Credits
Proper Credits Format:
Code creator: John Example
Code credits: Mike Example, Bob Example
This format doesn't have to 100% exact. For example you can put 'Code Created by' instead of 'Code creator'. Also, you can put something such as 'Code contributors' instead of 'Code credits'.
NOTE: Do not put any credits/contribution notes for Porting. Porting is nice and I appreciate those that do it, but it has no business being in the credits for actually making the code(s).
What actions qualify a person to be listed in the Code Credits?
Any person who has done at least one of the following....
- Helped made the code, but not in a significant/direct enough way to be listed as a Co-Creator
- Helped find the RAM/Hook Address
- Helped fixed a non-working/partially working code
- Shortened/Optimized the source of an ASM (C2/C0) code (read BLUE note below for more info!)
What actions do *NOT* quality?
- Nopping something such as a RAM Write Code
- Changing a non-Instruction Value in something such as a RAM Write Code (i.e. floating point value)
About 'trying/plugging-in' other values/instructions on an already found code address/RAM-Write code:
Any other values you use on an already found address (such as 38000000 or 2C000000, etc etc) is OK for you to put yourself as the Code Creator. HOWEVER, you must remember to add the address founder in the the Code Credits.
Important Info Regarding ASM (C2/C0 Assembly Codes) Codes; NOTE: you may not understand some of this if you are not familiar with ASM! These notes are for real Code Creators!!
If instructions are removed from an assembly code (for optimization), and the code functions the same (or very close to), you are NOT qualified to list yourself as the Code Creator. Only add yourself into the Code Credits!
If new instructions are added/removed from an assembly code and a new significant function/feature is purposefully added as a result to that existing ASM Code... You are qualified as the Code Creator since it is objectively a new/different code. However you MUST add the original Code Creator into the Code Credits! Feel free to post a thread of the new code if one doesn't exist already. If you want to add the original Code Creator as the Co-Creator instead of just Credits, feel free to do so.
To wrap up this chapter:
Use common sense
When in doubt, give the credits
Chapter 5. Incomplete/Outdated Codes
Any codes that are incomplete, or are outdated can be posted HERE. The term Incomplete means that the code isn't available for all 4 regions/versions of MKWii. The term outdated means there is another code on the forum that does the same action in the game but the code is shorter, easier to use, and/or more stable. All threads will go thru approval by me, Seeky, or JoshuaMK. However, those with the Coder/Dev rule bypass the approval process. I will check to make sure you are posting real code(s) and following the rules listed below. If you create a habit of breaking the rules, you rep may be lowered.
There are four rules:
First: Make sure the Code isn't posted anywhere else before you post said Code.
Second: Include a small note/description on the Code explaining why the code is outdated. This doesn't apply to codes that are only incomplete. (Example: This code is outdated by this other code because blah blah blah..)
Third: Do NOT post any codes that do not work at all. At least one version (region) of the code must be working.
Fourth: Do NOT post any Item Hacks that require "Write Character Offset". These codes are so outdated, that I don't even want them posted on MarioKartWii.com.
If an incomplete code becomes complete (all ports added, tested, and working), AND the code is not outdated, then it will be moved to the main Cheat Codes forum.
Much thanks,
Vega
Chapter 6. Non-Working/Fake Codes
Mdmwii's Wii ID Spoofer
Mdmwii's Serial Number BuTTsaver Code
Bully's Rapidfire for Classic Controller Code
Bully's Undetectable by Blue Shells
Bully's Clear Current Item Code
Bully's Display Time Modifier (JUST the minutes and seconds value, it 'works' but it effects game position therefore its not a display code only, however the milliseconds part actually works and that code itself is added on forums as 'millisecond display modifier')
Anarion's Vehicle Stat Modifier Offline (I've followed his instructions for the values to use, and tried my own. Character won't move unless you shroom, and the handling is way out of control, you spin in one spot at an extreme rate)
Bully's Instant Selection Timeout Code (the single line version, NOT the C2 ASM type which allows you to modify the timer value)
Only Find 1 Player WW's Code
Unsuspend Yourself
Ftwasify's No Voice when Star/Mega is Used Code
Davidevgen's No Kart Sounds (alternative No Engine Sounds) Code
Hamster's Star Speed Modifier
Hamster's Mushroom Speed Modifier
Revmage's Lightning Color Modifier
Revmage's Firesnake Speed Modifier
Gaia47300vr's The Item Float code
Red Color Bullet Bill
Davidevgen's Deploy Red Shell Speed Modifier
Spaghetti Nopper's Version of C-Stick Act/Deact Enablers (code is just iffy all around, maybe someone else can improve the code or make a diff one that works 100%)
Play as Bullet Bill Code
Hamster's Wheel/Chuck Key Remapper
Yo Momma's Perfect Timer
Anil8r's Perfect Timer
DarkFlare's Press Button To End Bullet Bill Code
DarkFlare's Disable Online Gameplay Code
DarkFlare's Detonate Bob-ombs on Command Online Code
DarkFlare's No Coin Pile
DarkFlare's Can Never Join Friends Code
DarkFlare's Anti Stalking Code
DarkFlare's Delete Friend Roster Code
DarkFlare's Ban Hackers Code
Luis's Detonate Bob-ombs on Command Offline Code (doesn't work every time you press your activator)
RoGamer's Stopped Chain Chomp Code
EvilRobot's Freeze WW Code
EvilRobot's DC WW Code
EvilRobot's Live View Moments Code
CPU Drives For You Code
RoGamer's Static Coin Code
GSKW's Nearsighting Code
Crashzer's Disable Map Preview Animation Code
|
|
|
Item Rules |
Posted by: Vega - 02-15-2018, 12:00 AM - Forum: Non-Hacking MKW Threads
- Replies (8)
|
|
Naners/Shells
- Cannot get Triple Bananas/Shells while holding Triple Bananas/Shells
Please note that even if you lose part of your triple bananas/shells, these rules still apply.
Blooper
- Cannot get Blooper for the first 15 seconds of a race.
- There cannot be more than 1 Blooper in play simultaneously
- Once a Blooper is used, 15 seconds must elapse before another Blooper can be available for play
Thunder Cloud
- There cannot be more than 1 TC in play simultaneously
Bob-omb
- There cannot be more than 3 Bob-ombs in play simultaneously
Blue Shell
- Cannot get Blue for the first 30 seconds of a race
- There cannot be more than 1 Blue in play simultaneously
POW Block
- Cannot get POW for the first 20 seconds of a race.
- There cannot be more than 1 POW in play simultaneously
- Once a POW is used, 20 seconds must elapse before another POW can be available for play
Golden Mushroom
- There cannot be more than 2 Goldens in play simultaneously
Mega Mushroom
- Cannot get a Mega while in a Mega
- There cannot be more than 2 Megas in play simultaneously
Star
- There cannot be more than 3 Stars in play simultaneously
Bullet Bill
- There cannot be more than 1 Bill in play simultaneously
Shock
- Cannot get Shock for the first 30 seconds of a race.
- There cannot be more than 1 Shock in play simultaneously
- Once a Shock is used, 30 seconds must elapse before another Shock can be available for play
Mushroom Bug/Shroom-Glitch
- On your 16th, 18th, and 20th+ item, you will always receive a Shroom.
|
|
|
About Region ID's |
Posted by: Vega - 02-14-2018, 11:59 PM - Forum: Non-Hacking MKW Threads
- Replies (4)
|
|
About Region ID's
In Mario Kart Wii, the game uses what are called Region ID's to designate separate regions based on continental residence. The Region ID determines what regional/continental VS/Battle Online rooms that a user can join. It will also determine what regional/continental Top 10 leader board that a user's TT's will be uploaded to. Before MKWii was released, Nintendo pre-made/configured the first 8 Region ID's. Some Region ID's were give a certain color so players online could tell other people's region ID's.
The Region ID is a hexadecimal number (byte) determined by a small amount of PowerPC instructions (within the main.dol), and that number is stored on the MKW data save file. These small amount of PowerPC instructions are done every time MKW is booted. When you create a data save for the first time, the resulting byte for the Region ID is written to the newly made data save file.
For every time you boot MKW with a data save already present, another different set of PowerPC instructions (within the StaticR.rel) is executed. These instructions load the Region ID byte from the data save file and compares it to what the result is from the main.dol's sequence of instructions. If there isn't a match, this triggers a game function that notifies you on your screen that you must make a new data save file or return to the Wii Menu.
Each version of MKWii has its own unique set of said PowerPC instructions in the main.dol that generates the Region ID value. For example the instructions to output the Region ID in the NTSC-U game is different that the PAL game.
In order to see what Region ID a player has in an online race you look at the color of the line that is underneath their Mii name during a live race. Nintendo pre-configured Region ID values 0 thru 7.
RED = Japan (0)
BLUE = Americas (1)
GREEN = Europe (2)
YELLOW = Australia & New Zealand (3)
WHITE = Taiwan (4)
PURPLE = South Korea (5)
WHITE = China (6)
WHITE = Region ID #7 (For more info on this, scroll down to 'About Region ID 7')
Everything for value 8 thru 255 (0x08 thru 0xFF in hex) has the color white.
There were 4 MKW Discs made and released to the public by Nintendo. They are...
NTSC-U/RMCE01 = American MKW
PAL/RMCP01 = European / Australian MKW
NTSC-J/RMCJ01 = Japanese MKW (Disc that the Taiwan Wii also uses, no Taiwanese specific disc was ever made)
NTSC-K/RMCK01 = Korean MKW
There was also a 5th disc (never released) that is most likely labeled as NTSC-C/RMCC01 = Chinese MKW. For more about this, scroll down to 'About China Region ID'.
As you can see there isn't as many discs as there are region IDs (not including region ID's above 6). Nintendo did some fancy tricks to compensate for this.
About the American & Korean Region ID's
For both the American and Korean MKW Discs, the Region ID is written with just one PowerPC instruction.
li r0, X
X is 1 in the American game, and is 5 in the Korean game.
This instruction resides at memory address 0x8000AE70 for the American game and at address 0x8000AEAC for the Korean game. Once that instruction has executed, the Region ID value is later stored in a spot in memory where the game will use it multiple times for various online functions.
About the Japanese & Taiwan Region IDs
Nintendo has never made a Taiwanese MKW Disc. They did however make a Taiwan Wii, the Taiwan Wii is almost 100% identical to the Japanese Wii. The Taiwan Wii uses the Japanese Wii System Menu. Thus, it can play any Japanese Wii game. Nintendo did make some Taiwanese games, but only 8 of them. All of these Taiwanese games have a 'disc-region' of 0 (Japan), so the Taiwan Wii's Japanese Wii System Menu can launch the disc(s). Please note that 'disc-region' is NOT the Region ID. Every Wii System Menu loads the disc-region from the disc's data, if the disc-region byte doesn't match with the Wii System Menu (i.e. running a Japanese game on an American Wii), the Menu will refuse to boot the disc.
Going back to Region ID's, Nintendo added in extra PowerPC instructions to the Japanese MKW game that would determine to set the Region ID as 0 (Japan) or 4 (Taiwan). Here's a non-technical summary of how the Japanese MKW game does that...
1. The game dumps the country code (plus state ID code) into memory (read from the SYSCONF file)
2. The game sets the Taiwan Region ID Value (4)
3. The game compares the country code value to 128 (0x80 in hex)
4. If there is a match, the Region ID value is stored to memory. If there is not a match, the Region ID value is changed to Japan (0), then it gets stored to memory. Thus any country code value other than 128 will force the user to have the Japan Region ID.
Japanese Wiis have the country code value of 0 in its SYSCONF file. While Taiwan Wiis have the country code value of 128 (0x80) in its SYSCONF file. Other than serial number and some outside manufacturing stickers, the only difference between a Japanese Wii and a Taiwan Wii is the country code value that's in SYSCONF. Since both type of Wiis use the Japanese Wii System Menu, a user cannot change the country code value since the option in the Wii settings simply doesn't exist. Thus, the only legit way for someone to have the Taiwan Region ID in MKWii, is buy a Taiwan Wii and buy a Japanese MKW Disc.
About the Europe and AUS/NZ Region IDs
Nintendo made two different types of PAL Wiis. One meant for Europeans, the other meant for those residing in Australia or New Zealand (we will simply call this AUS/NZ). They both use the exact same Wii system Menu (PAL menu) and the same MKW PAL Disc. The only difference between these European and Australian Wiis is the serial number 'prefix' plus outside manufacturing stickers. Nintendo coded in a nifty 'trick' to the PAL Wii System Menu so it could force AUS/NZ to have AUS/NZ Region ID and force European players to have European Region ID.
First let's go over a summary of how the PAL Disc determines whether to choose the European Region ID or the AUS/NZ Region ID.
1. The game dumps the country code (plus state ID code) into memory (read from the SYSCONF file)
2. The game sets the AUS/NZ Region ID (3)
3. The game checks for country code value 65, if there is a match, the Aus/NZ Region ID (3) is stored to memory
4. The game does a second check for country code value 95. If there is a match, the Aus/NZ Region ID (3) is stored to memory
5. If neither of those two values were matched, the Region ID value is changed to Europe (2), then it gets stored to memory.
Regarding the 'nifty' trick I mentioned about earlier, a user is limited on what countries they can choose from on the PAL Menu in the Wii settings. For example a European Wii owner, normally can only choose a European country in the Wii settings. While a AUS/NZ Wii owner, can normally only choose Australia or New Zealand. There's a simple way around this.
Whenever you reformat any PAL Wii, during the initial user configuration when prompted to select Country, you have the full list of both European countries plus the two options of Australia, and New Zealand. If a user chooses a European country during this process, he/she then can ONLY choose European countries afterwards unless they reformat again. If a user chooses AUS/NZD, then he/she can ONLY choose AUS or NZ afterwards unless of course they reformat again. That's the 'trick' Nintendo implemented. Thus, without any sort of cheats/codes/hacks/mods, any PAL Wii owner can setup their Wii to get European Region ID or AUS/NZ Region ID.
About the China Region ID
The China Region ID is the same color as the Taiwan Region, so the only way to tell if someone has China vs Taiwan online is to see their Globe location. Without any sort of cheats/codes/hacks/mods, the only way a player can have the China Region ID is thru the unreleased Chinese MKW Disc. The Disc has a game ID most likely of RMCC01. Sometime during the early ages of MKW, Nintendo contracted out a Chinese company called iQue to build some Chinese Wiis + MKW targeted for the Chinese people. iQue is the company that manufactured the 3DS's for Nintendo. It's assumed that these Chinese Wiis were given to iQue devs for testing, and during these tests various iQue devs set some TT ghosts and these TT ghosts were sent to the WiFi charts. In fact, in a few of old Chinese Top 10 Wifi Charts, there were some players with the name of 'iQue'. Obviously, the 'charts' are referring to the old Nintendo WFC Wifi charts that are no longer available (Nintendo WFC shutdown in May 2014).
In the Chinese Luigi Circuit Top 10 Wifi Chart, the 9th rank player had a Mii name in Simplified Chinese. This Mii name cannot be read in the Korean Mii channel nor a normal Mii channel, so its assumed that only the unreleased Chinese Wiis came with their own unique Chinese Wii Menu and they also came with their own unique Mii Channel that can read/write Simplified Chinese Mii characters. Also every ghost file on every Chinese Top 10 had a country code value of 160 (0xA0). So it's safe to assume that the unreleased Chinese Wiis had a set SYSCONF country code value of 160 that cannot be changed in it's System Menu settings.
The Chinese MKW Disc most likely sets the Region ID value with a singular PowerPC instruction like the American and Korean Discs.
li rX, 6 #X = w/e register is used in the CPU set by the compiler
Hey Vega! I have the RMCC01 ISO! It's the real Taiwan ISO! (or... I have the RMCC01 ISO!, I have the super rare Chinese ISO!)
This is flat out wrong. In June 2011, a Taiwan Player (A9-Star, not the Star here on the forums), took a Japanese ISO and made BRFNT edits to make a new font file to display Traditional Chinese Characters (for Taiwan people). It's important to note that the country of China uses Simplified Chinese language, not Traditional. A9-Star would do a slight game ID edit on the Japanese ISO to RMCC01. The correct game ID he should have used (for imitating a MKW Taiwan ISO) is RMCW01. Nintendo uses the letter W in the game ID's to designate Traditional Chinese (Taiwanese) games. For reference, Nintendo made 8 Taiwanese games.
List of Trad. Chinese (Taiwan) games.
SB4W01 - Trad Chinese Super Mario Galaxy 2
SMNW01 - Trad Chinese New Super Mario Bros
SSQW01 - Trad Chinese Mario Party 9
RSPW01 - Trad Chinese Wii Sports
RZTW01 - Trad Chinese Wii Sports Resort
RHAW01 - Trad Chinese Wii Play
RFNW01 - Trad Chinese Wii Fit
RFPW01 - Trad Chinese Wii Fit Plus
If Nintendo was going to make a Taiwanese MKW Disc, they would have used the Game ID of RMCW01. In conclusion, that custom RMCC01 ISO is not the 'real' Chinese ISO or the 'real' Taiwan ISO.
About Region ID 7
Region ID 7 is an odd ball. It uses a White Line, but it has a quirk. Every Region ID has a default globe location (Hex 32 bit value). All default globe location values are stored in every main.dol file of all MKW Discs.
List of Region ID's 0 - 6 default globe location:
Japan - Tokyo, Japan
Americas - D.C., USA
Europe - Berlin, Germany
AUS/NZ - Sydney, Australia
Taiwan - Taipei, Taiwan
S.Korea - Seoul, South Korea
China - Beijing, China
If a user hasn't set their flag (location/state within country) then your globe location online is set to a default value. For Region ID 7, that default globe location will vary per MKW Disc
Default globe locations of Region 7 by Disc:
- NTSC-J Disc - Tokyo, Japan
- NTSC-U Disc - D.C., USA
- PAL Disc - Berlin, Germany
- NTSC-K Disc - Seoul, South Korea
- NTSC-C (Chinese/Unreleased) Disc - Beijing, China
Pictures of Default Globe Locations of Region IDs 0 - 6; Other Helpful Links
Here are pictures for every region ID default globe location (except region 7 which as I mentioned before, varies per disc)
Japan - http://mkwii.com/pics/regionid/region0.png
Americas - http://mkwii.com/pics/regionid/region1.png
Europe - http://mkwii.com/pics/regionid/region2.png
Australia / New Zealand - http://mkwii.com/pics/regionid/region3.png
Taiwan - http://mkwii.com/pics/regionid/region4.png
Korea - http://mkwii.com/pics/regionid/region5.png
China - http://mkwii.com/pics/regionid/region6.png
Every region ID (except China) is setup to be as if they were done legitimately. Obviously, since nobody has the Chinese MKW disc, i just used PAL in honor of XeR who was the first to get on China via hacks (done on PAL disc).
To better understand the variety and differences of all the Consoles & MKW Discs, visit this html page - HERE
Pictures of Taiwan and Korean Wiis - HERE
Technical Details
NOTE: For those who can read PowerPC Assembly
Here is how the Japan Disc determines the Region ID:
Code: 8000ADFC lwz r4, 0x00F8 (r31) #Load the Country Code Byte, 'State' ID byte, and City ID halfword
8000AE00 li r3, 0 #Set japan region ID (value of 0)
8000AE04 stw r3, 0x0084 (r31) #place the region ID into memory
8000AE08 addis r0, r4, 1
8000AE0C cmplwi r0, 65535 #The game does a check here. To where if your country + state ID = 0xFFFF and your city id is set to 0xFFFF, then the game forces you to have japan region ID, this check is useless.
8000AE10 bne- => 0x8000AE18
8000AE14 b => 0x8000AE28
8000AE18 rlwinm r3, r4, 8, 24, 31 #Shift the bits so the country code byte is the last byte of the register
8000AE1C subi r0, r3, 128
8000AE20 cntlzw r0, r0
8000AE24 rlwinm r3, r0, 27, 5, 31
8000AE28 cmpwi r3, 0
8000AE2C beq- => 0x8000AE38 #If 0, then Taiwan country code is not set, skip over Taiwan instructions
#the above does an unnecessary complex equation of subtracting, leading bit count, and rotation to see if the country code is 0x80.
8000AE30 li r0, 4 #Set Taiwan region ID value
8000AE34 stw r0, 0x0084 (r31) #place the region ID into memory
A better way to do this would be something like...
Code: lbz r4, 0x00F8 (r31)
li r3, 0 #Set Japan Region ID
#Don't do any city ID checking
cmpwi r4, 0x80
beq- store_regionid
li r3, 4
store_regionid:
stw r3, 0x0084 (r31)
Here's how the PAL Disc determines the Region ID:
Code: 8000AEA8 lwz r4, 0x00F8 (r31) #Load country code, state ID, city ID
8000AEAC li r0, 2 #Set Europe Region ID
8000AEB0 stw r0, 0x0084 (r31) #Place Region ID into memory
8000AEB4 addis r0, r4, 1 #City ID check...
8000AEB8 cmplwi r0, 65535
8000AEBC bne- => 0x8000AEC8
8000AEC0 li r0, 0 #Reset r0 to 0
8000AEC4 b => 0x8000AED8
8000AEC8 rlwinm r3, r4, 8, 24, 31
8000AECC subi r0, r3, 65 #Time to check for country code 65
8000AED0 cntlzw r0, r0
8000AED4 rlwinm r0, r0, 27, 5, 31
8000AED8 cmpwi r0, 0
8000AEDC bne- 0x8000AF0C #If r0 is not 0 then country code is 65, set Australia/NZ region ID
8000AEE0 addis r0, r4, 1 #City ID check a second time (lol)
8000AEE4 cmplwi r0, 65535
8000AEE8 bne- 0x8000AEF4
8000AEEC li r0, 0 #Reset r0, to 0
8000AEF0 b => 0x8000AF04
8000AEF4 rlwinm r3, 4, 8, 24, 31
8000AEF8 subi r0, r3, 95 #Time to check for country code 95
8000AEFC cntlzw r0, r0
8000AF00 rlwinm r0, r0, 27, 5, 31
8000AF04 cmpwi r0, 0
8000AF08 beq- 0x8000AF14 #If not equal, skip over Aus/NZ instructions
8000AF0C li r0, 3 #Set AUS/NZ Region ID
8000AF10 stw r0, 0x0084 (r31) Place AUS/NZ Region ID into memory
Here's a better way....
Code: lbz r4, 0x00F8 (r31)
li r3, 3 #Set AUS/NZ Region ID
cmpwi r4, 65
beq- store_regionid
cmpwi r4, 95
beq- store_regionid
li r3, 2 #If country code wasn't 65 or 95, then set Europe Region ID
store_regionid:
stw r3, 0x0084 (r31)
|
|
|
|