Mario Kart Wii was released in 2008. Almost 13 years later, there has not been a full game TAS created, until now. 100% in Mario Kart Wii means unlocking everything. The way you can tell you have unlocked everything is the "license" shows full gold boxes. In this TAS, I reach this game state in record time - without ever leaving the menu screen.
General information
- Emulator used: Dolphin 5.0 LUA Core (custom dolphin build by SwareJonge, Malleo, THC98, LuigiM, and Kierio04. Download)
- Game objectives
- Aims for fastest time
- Abuses programming errors in the game
- Major skip glitch
- 100% completion
- Genre: Racing
To sync the run
You need to use the following gecko code that prevents the edits to the emulator from corrupting the ROM:
48000000 809B8F88
DE000000 90009380
5A010000 000000AC
60000003 00000001
6000001F 00000000
14000000 00000100
18000004 00000000
20180004 00000000
5A010000 00000070
62000000 00000000
5A010000 00008188
14000000 FFFFFFFF
14000004 031FFFFC
5A010000 00000468
62000000 00000001
E0000000 80008000
DE000000 90009380
5A010000 000000AC
60000003 00000001
6000001F 00000000
14000000 00000100
18000004 00000000
20180004 00000000
5A010000 00000070
62000000 00000000
5A010000 00008188
14000000 FFFFFFFF
14000004 031FFFFC
5A010000 00000468
62000000 00000001
E0000000 80008000
MD5 checksum: b55f61c8e814558f5c487670aa11c5a1
Explanation
Mario Kart Wii polls for inputs multiple times per frame. By having (gamecube) controller 1 pressing half of the inputs, and controller 2 pressing the exact negative of those inputs, the game cancels out the inputs and reads only half the size on all following frames (until power off), so by inputting all possible inputs on 2 controllers on the next frame (which will fill up double the amount of space - so 4 controllers), you can use the third controller to read past the 4 controllers’ memory region and into “garbage” data. After the input region of memory are the event and save regions. Because an event is already occurring (power on -> menu screen), changing these values will only affect the screen itself until the event that’s running is already over, as long as the value is changed by the time the event is over. What I do is run an event in the background, unlocking each individual aspect that goes towards having 100% of the game unlocked, which writes to the save region after the event memory, meanwhile on certain frames that I need to actually input A. I do so on the rewritten double scaled input table, so it turns out I have to actually hold 64 input units right on the C stick of controller 1. The unlock events only occur for one frame so by doing one event every frame I can unlock all required things before the power on -> menu screen event finishes. I finally finish by proving that everything is unlocked by creating the new license and returning to the main menu screen with B (which involves pressing 64 input units left on the control stick of controller 1 due to the doubled input range).
Potential Improvements
If there was a way to load the unlocked license without creating it then that would skip going in and creating the license, saving multiple seconds.
Screenshot Suggestion
Samsara: no question, it's the supra mayro kratt TAS we've been waiting for
Samsara: what a wonderful thing
Samsara: hang on this is some kinda supra mayro kratt knockoff, i can't accept this!!!