Slot Usage

From Custom Mario Kart
Revision as of 21:36, 20 February 2019 by Wiimm (talk | contribs) (→‎LE-CODE)
Jump to navigation Jump to search

This article describes some technical aspects of slots for custom track distribution maintainers.


Original Mario Kart Wii

The tracks of Mario Kart Wii are internally addressed by slot identifiers beginning with value 0. The game uses integers (at least 31 bit unsigned) to identify a track:

Track slot usage of Mario Kart Wii
Slots Hex Slots Dec N Usage
0x00–0x1f 0–31 32 Original racing tracks (T11–T84)
0x20–0x29 32–41 10 Original battle arenas (A11–A25)
0x2a–0x35 42–53 12 not used
0x36 54 1 Galaxy Stadium
0x37–0x3a 55–58 4 Special scenes like Winning run demo
0x3b–0x41 59–65 7 not used
0x42 66 1 Maybe reserved.
0x43 67 1 Online Protocol: No track selected yet
0x44–0xfe 68–254 187 not used
0xff 255 1 Online Protocol: Random selected

There is a total of 206 (12+7+187) free slots in Nintendo mode.

CT-CODE

CT-CODE (or CT-Code; an abbreviation of Custom Track Code) is an extension of Mario Kart Wii. CT-CODE was developed by MrBean35000vr and Chadderz for their CTGP Revolution. The name CT-CODE was created by Wiimm, when he implemented CT-CODE support in his SZS Tools.

The main purpose is to allow more than 32 racing tracks in one distribution:

Slot Usage of CT-CODE
Slots Hex Slots Dec N Usage
0x00–0x1f 0–31 32 Original racing tracks (T11–T84)
0x20–0x41 32–65 34 Custom tracks
0x42 66 1 Maybe reserved.
0x43 67 1 Online Protocol: No track selected yet
0x44–0xfe 68–254 187 Custom tracks
0xff 255 1 Online Protocol: Random selected

CT-CODE uses the free slots and overrides arena and special slots to get space for 221 custom tracks in addition to the 32 original racing tracks.

LE-CODE

LE-CODE (or LE-Code; an abbreviation of Leseratte Code) is an extension of Mario Kart Wii. LE-CODE was developed by Leseratte. The name LE-CODE was created by Wiimm, when he implemented LE-CODE support in his SZS Tools.

The development of LE-CODE is split into 2 phases:

  1. In the first phase, only 217 custom tracks are available. Besides these custom tracks, 32 original racing tracks + 10 battle arenas + 4 random selections are available. These is a total of 263 slots, 7 more than allowed by the online protocol (256). This is only possible, because battle arenas share slots with custom tracks.
  2. In Phase 2 LE-CODE will change the online protocol to support more than 8 bits. At the moment, 12 bits (4027 possible custom tracks) are planned.

Phase 1

Slot usage of LE-CODE Phase 1
Slots Hex Slots Dec N Usage
0x00–0x1f 0–31 32 Original racing tracks (T11–T84)
0x20–0x2b 32–41 10 Original battle arenas (A11–A25)
0x2a–0x35 42–53 12 not used
0x36 54 1 Galaxy Stadium
0x37–0x3a 55–58 4 Special scenes like Winning run demo
0x3b–0x3d 59–61 3 not used
0x3e–0x41 62–65 4 used for special random selections
0x42 66 1 Maybe reserved.
0x43 67 1 Online Protocol: No track selected yet
0x44–0xfe 68–254 187 Custom tracks
0xff 255 1 Online Protocol: Random selected
0x100–0x11f 256–287 32 not used in phase 1
0x120–0x13d 288–317 30 mapped to 0x20–0x3d if not battle
0x13e–? 318–? ? not used in phase 1

Phase 2

Slot usage of LE-CODE Phase 2
Slots Hex Slots Dec N Usage
0x00–0x1f 0–31 32 Original racing tracks (T11–T84)
0x20–0x2b 32–41 10 Original battle arenas (A11–A25)
0x2a–0x35 42–53 12 not used
0x36 54 1 Galaxy Stadium
0x37–0x3a 55–58 4 Special scenes like Winning run demo
0x3b–0x3d 59–61 3 not used
0x3e–0x41 62–65 4 used for special random selections
0x42 66 1 Maybe reserved.
0x43 67 1 Online Protocol: No track selected yet
0x44–0xffe 68–4094 4027 Custom tracks
0xfff 4095 1 Online Protocol: Random selected

Slot Comparison

The following table shows all used slots by Nintendo, CT-CODE and LE-CODE:

Track slot usage of all variants
Slots Hex Slots Dec N LE-CODE phase 2 LE-CODE phase 1 Nintendo Usage CT-CODE
0x00–0x1f 0–31 32 Original racing tracks (T11–T84)
0x20–0x29 32–41 10 Battle arenas (A11–T25) 34 custom tracks
0x2a–0x35 42–53 12 not used
0x36 54 1 Galaxy Stadium
0x37–0x3a 55–58 4 Special scenes like Winning run demo
0x3b–0x3d 59–61 3 not used
0x3e–0x41 62–65 4 used for special random selections not used
0x42 66 1 Maybe reserved.
0x43 67 1 Online Protocol: No track selected yet
0x44–0xfe 68–254 187 up to 4027 CTs 187 custom tracks not used 187 custom tracks
0xff 255 1 Online Protocol: Random selected
0x100–0x11f 256–287 32 no online support no online support
0x120–0x13d 288–317 30 mapped to 0x20–0x3b if not battle
0x13e–0xffe 318–4094 3777 no online support
0xfff 4095 1 Online Protocol:
Random selected
no online support