rksys.dat
rksys.dat is the name of Mario Kart Wii's save data file. It is stored in /title/00010004/524d43**/data from the Wii's NAND, where ** is the hexadecimal value for the letter that corresponds to the game's region (either RMCP, RMCE, RMCJ or RMCK).
File Format
The file has a fixed size of 0x2BC000 (or 2867200 in decimal) bytes. Each section is also fixed to specific offsets and sizes. Track arrays are ordered by a special order, which is only used in this file and in staff ghost file names.
Header
Offset | Type | Description |
---|---|---|
0x00 | String | File magic. RKSD in ASCII. |
0x04 | String | Unknown. Always 0006 in ASCII. Possibly a version number? |
0x08 | End of file header |
RKPD
The file can contain up to 4 RKPD sections. These sections contain profile data, and are created with each new license. Each RKPD is 0x8CC0 bytes long.
Offset | Description |
---|---|
0x08 | Top left license |
0x8CC8 | Top right license |
0x11988 | Bottom left license |
0x1A648 | Bottom right license |
Track Flags & Mii Data
Offset | Type | Description |
---|---|---|
0x00 | String | Section magic. RKPD in ASCII. |
0x04 | Byte[4] | Personal best flags. Each bit corresponds to a personal best ghost slot. MSB is ghost slot 31 and LSB ghost slot 0. |
0x08 | Byte[4] | Downloaded ghost flags. Each bit corresponds to a downloaded ghost slot. MSB is ghost slot 31 and LSB ghost slot 0. |
0x0C | Byte[4] | Normal staff ghost flags. Each bit corresponds to a track where the normal staff ghost has been beaten. The bit to track mapping is the same as for the personal best flags. |
0x10 | Byte[4] | Expert staff ghost flags. Each bit corresponds to a track where the expert staff ghost has been beaten. The bit to track mapping is the same as for the personal best flags. |
0x14 | String | Mii's UTF-16 encoded name. Always 0x14 bytes long. |
0x28 | Byte[4] | Mii's Avatar ID. |
0x2C | Byte[4] | Mii's Client ID. |
Completion flags
Offset | Type | Description |
---|---|---|
Cup completion | ||
0x30 | 1 bit | Mushroom Cup (50cc) |
0x30.1 | 1 bit | Lightning Cup (50cc) |
0x30.2 | 1 bit | Leaf Cup (Mirror) |
0x30.3 | 1 bit | Leaf Cup (150cc) |
0x30.4 | 1 bit | Leaf Cup (100cc) |
0x30.5 | 1 bit | Leaf Cup (50cc) |
0x30.6 | 1 bit | Banana Cup (Mirror) |
0x30.7 | 1 bit | Banana Cup (150cc) |
0x31 | 1 bit | Banana Cup (100cc) |
0x31.1 | 1 bit | Banana Cup (50cc) |
0x31.2 | 1 bit | Star Cup (Mirror) |
0x31.3 | 1 bit | Star Cup (150cc) |
0x31.4 | 1 bit | Star Cup (100cc) |
0x31.5 | 1 bit | Star Cup (50cc) |
0x31.6 | 1 bit | Flower Cup (Mirror) |
0x31.7 | 1 bit | Flower Cup (150cc) |
0x32 | 1 bit | Flower Cup (100cc) |
0x32.1 | 1 bit | Flower Cup (50cc) |
Character unlocks | ||
0x32.2 | 1 bit | Mii (Outfit B) |
0x32.3 | 1 bit | Mii (Outfit A) |
0x32.4 | 1 bit | Rosalina |
0x32.5 | 1 bit | Funky Kong |
0x32.6 | 1 bit | King Boo |
0x32.7 | 1 bit | Dry Bowser |
0x33 | 1 bit | Birdo |
0x33.1 | 1 bit | Daisy |
0x33.2 | 1 bit | Bowser Jr. |
0x33.3 | 1 bit | Diddy Kong |
0x33.4 | 1 bit | Baby Luigi |
0x33.5 | 1 bit | Baby Daisy |
0x33.6 | 1 bit | Toadette |
0x33.7 | 1 bit | Dry Bones |
Grand Prix engine class completion | ||
0x34 | 1 bit | Unused |
0x34.1 | 1 bit | Unused |
0x34.2 | 1 bit | Unused |
0x34.3 | 1 bit | Unused |
0x34.4 | 1 bit | Unused |
0x34.5 | 1 bit | Unused |
0x34.6 | 1 bit | 50cc |
0x34.7 | 1 bit | All engines |
0x35 | 1 bit | Unused |
0x35.1 | 1 bit | Unused |
0x35.2 | 1 bit | Unused |
0x35.3 | 1 bit | Mirror |
Vehicle unlocks | ||
0x35.4 | 1 bit | Phantom |
0x35.5 | 1 bit | Spear |
0x35.6 | 1 bit | Shooting Star |
0x35.7 | 1 bit | Dolphin Dasher |
0x36 | 1 bit | Sneakster |
0x36.1 | 1 bit | Zip Zip |
0x36.2 | 1 bit | Jet Bubble |
0x36.3 | 1 bit | Magikruiser |
0x36.4 | 1 bit | Quacker |
0x36.5 | 1 bit | Honeycoupe |
0x36.6 | 1 bit | Jetsetter |
0x36.7 | 1 bit | Piranha Prowler |
0x37 | 1 bit | Sprinter |
0x37.1 | 1 bit | Daytripper |
0x37.2 | 1 bit | Super Blooper |
0x37.3 | 1 bit | Blue Falcon |
0x37.4 | 1 bit | Tiny Titan |
0x37.5 | 1 bit | Cheep Charger |
0x37.6 | 1 bit | Unused |
0x37.7 | 1 bit | Unused |
0x38 | Byte[8] | Unknown. |
DWC User Data
Offset | Type | Description |
---|---|---|
0x40 | UInt32 | Size of this DWC User Data. Always 0x40. |
0x44 | UInt64 | Pseudo User Id. |
0x4C | UInt32 | Pseudo Player Id. |
0x50 | UInt64 | Authentic User Id. |
0x58 | UInt32 | Authentic Player Id. |
0x5C | UInt32 | Player's Profile ID. |
0x60 | Byte[4] | Unknown flags. |
0x64 | Char[4] | Game ID used for Friend Code calculation. Always RMCJ. |
0x68 | Byte[0x14] | Unknown. |
0x7C | UInt32 | CRC-32 of this DWC User Data. |
Race/Battle Rules
There are two 4-byte blocks of flags used to determine the last state of the Race and Battle rules set.
Offset | Description |
---|---|
0x80 | Single Player rules |
0x84 | Multiplayer rules |
Offset | Type | Description |
---|---|---|
VS Race | ||
0x0 | 2 bits | Class:
|
0x0.2 | 2 bits | CPU:
|
0x0.4 | 2 bits | Vehicle:
|
0x0.6 | 2 bits | Course:
|
0x1 | 2 bits | Items:
|
0x1.2 | 4 bits | Number of races:
|
0x81.6 | 2 bits | Unknown. Probably padding. |
Battle | ||
0x2 | 2 bits | Unknown. |
0x2.2 | 2 bits | CPU:
|
0x2.4 | 2 bits | Vehicles:
|
0x2.6 | 2 bits | Stage:
|
0x3 | 2 bits | Items:
|
0x3.2 | 4 bits | Wins:
|
0x3.6 | 2 bits | Unknown. Probably padding. |
Records
Offset | Type | Description |
---|---|---|
0x88 | Int32 | Offline Wins (VS Race). |
0x8C | Int32 | Offline Losses (VS Race). |
0x90 | Int32 | Offline Wins (Battle). |
0x94 | Int32 | Offline Losses (Battle). |
0x98 | Int32 | WFC Wins (VS Race). |
0x9C | Int32 | WFC Losses (VS Race). |
0xA0 | Int32 | WFC Wins (Battle). |
0xA4 | Int32 | WFC Losses (Battle). |
0xA8 | Int32 | Wins (Ghost Race). |
0xAC | Int32 | Losses (Ghost Race). |
0xB0 | UInt16 | Race Rating. |
0xB2 | UInt16 | Battle Rating. |
0xB4 | Int32 | Total Race Count. |
0xB8 | Int32 | Total Battle Count. |
0xBC | Int32 | Unknown. |
0xC0 | Int32 | Number of races and battles completed with the Wii Wheel. This number divided by the Total Race Count plus the Total Battle Count determines the Wii Wheel Usage Rate. |
0xC4 | Float | Distance Travelled. Rounded down in the Records screen. |
0xC8 | Int32 | Ghost Data Challenges Sent. |
0xCC | Int32 | Ghost Data Challenges Received. |
0xD0 | Int32 | Item Hits Delivered. |
0xD4 | Int32 | Item Hits Received. |
0xD8 | Int32 | Tricks Performed. |
0xDC | Int32 | Times 1st Place Achieved. |
0xE0 | Float | Distance travelled while in 1st place. |
0xE4 | Float | Distance travelled on VS Races. The game divides 0xE0 and this value and rounds it down to get the % Race Time in 1st Place. |
0xE8 | UInt16 | Competitions Entered. |
0xEA | 2 bits | Default drift selection:
|
0xEA.2 | 6 bits | Unknown. |
0xEB | Byte | Unknown. |
Favorite Character | ||
0xEC | UInt16 | Races completed with Mario. |
0xEE | UInt16 | Races completed with Baby Peach. |
0xF0 | UInt16 | Races completed with Waluigi. |
0xF2 | UInt16 | Races completed with Bowser. |
0xF4 | UInt16 | Races completed with Baby Daisy. |
0xF6 | UInt16 | Races completed with Dry Bones. |
0xF8 | UInt16 | Races completed with Baby Mario. |
0xFA | UInt16 | Races completed with Luigi. |
0xFC | UInt16 | Races completed with Toad. |
0xFE | UInt16 | Races completed with Donkey Kong. |
0x100 | UInt16 | Races completed with Yoshi. |
0x102 | UInt16 | Races completed with Wario. |
0x104 | UInt16 | Races completed with Baby Luigi. |
0x106 | UInt16 | Races completed with Toadette. |
0x108 | UInt16 | Races completed with Koopa Troopa. |
0x10A | UInt16 | Races completed with Daisy. |
0x10C | UInt16 | Races completed with Peach. |
0x10E | UInt16 | Races completed with Birdo. |
0x110 | UInt16 | Races completed with Diddy Kong. |
0x112 | UInt16 | Races completed with King Boo. |
0x114 | UInt16 | Races completed with Bowser Jr.. |
0x116 | UInt16 | Races completed with Dry Bowser. |
0x118 | UInt16 | Races completed with Funky Kong. |
0x11A | UInt16 | Races completed with Rosalina. |
0x11C | UInt16 | Races completed with Mii. |
Favorite Vehicle | ||
0x11E | UInt16 | Races completed with the Standard Kart S. |
0x120 | UInt16 | Races completed with the Standard Kart M. |
0x122 | UInt16 | Races completed with the Standard Kart L. |
0x124 | UInt16 | Races completed with the Booster Seat. |
0x126 | UInt16 | Races completed with the Classic Dragster. |
0x128 | UInt16 | Races completed with the Offroader. |
0x12A | UInt16 | Races completed with the Mini Beast. |
0x12C | UInt16 | Races completed with the Wild Wing. |
0x12E | UInt16 | Races completed with the Flame Flyer. |
0x130 | UInt16 | Races completed with the Cheep Charger. |
0x132 | UInt16 | Races completed with the Super Blooper. |
0x134 | UInt16 | Races completed with the Piranha Prowler. |
0x136 | UInt16 | Races completed with the Tiny Titan. |
0x138 | UInt16 | Races completed with the Daytripper. |
0x13A | UInt16 | Races completed with the Jetsetter. |
0x13C | UInt16 | Races completed with the Blue Falcon. |
0x13E | UInt16 | Races completed with the Sprinter. |
0x140 | UInt16 | Races completed with the Honeycoupe. |
0x142 | UInt16 | Races completed with the Standard Bike S. |
0x144 | UInt16 | Races completed with the Standard Bike M. |
0x146 | UInt16 | Races completed with the Standard Bike L. |
0x148 | UInt16 | Races completed with the Bullet Bike. |
0x14A | UInt16 | Races completed with the Mach Bike. |
0x14C | UInt16 | Races completed with the Flame Runner. |
0x14E | UInt16 | Races completed with the Bit Bike. |
0x150 | UInt16 | Races completed with the Sugarscoot. |
0x152 | UInt16 | Races completed with the Wario Bike. |
0x154 | UInt16 | Races completed with the Quacker. |
0x156 | UInt16 | Races completed with the Zip Zip. |
0x158 | UInt16 | Races completed with the Shooting Star. |
0x15A | UInt16 | Races completed with the Magikruiser. |
0x15C | UInt16 | Races completed with the Sneakster. |
0x15E | UInt16 | Races completed with the Spear. |
0x160 | UInt16 | Races completed with the Jet Bubble. |
0x162 | UInt16 | Races completed with the Dolphin Dasher. |
0x164 | UInt16 | Races completed with the Phantom. |
Favorite Course | ||
0x166 | UInt16 | Races completed on Mario Circuit. |
0x168 | UInt16 | Races completed on Moo Moo Meadows. |
0x16A | UInt16 | Races completed on Mushroom Gorge. |
0x16C | UInt16 | Races completed on Grumble Volcano. |
0x16E | UInt16 | Races completed on Toad's Factory. |
0x170 | UInt16 | Races completed on Coconut Mall. |
0x172 | UInt16 | Races completed on DK Summit. |
0x174 | UInt16 | Races completed on Wario's Gold Mine. |
0x176 | UInt16 | Races completed on Luigi Circuit. |
0x178 | UInt16 | Races completed on Daisy Circuit. |
0x17A | UInt16 | Races completed on Moonview Highway. |
0x17C | UInt16 | Races completed on Maple Treeway. |
0x17E | UInt16 | Races completed on Bowser's Castle. |
0x180 | UInt16 | Races completed on Rainbow Road. |
0x182 | UInt16 | Races completed on Dry Dry Ruins. |
0x184 | UInt16 | Races completed on Koopa Cape. |
0x186 | UInt16 | Races completed on GCN Peach Beach. |
0x188 | UInt16 | Races completed on GCN Mario Circuit. |
0x18A | UInt16 | Races completed on GCN Waluigi Stadium. |
0x18C | UInt16 | Races completed on GCN DK Mountain. |
0x18E | UInt16 | Races completed on DS Yoshi Falls. |
0x190 | UInt16 | Races completed on DS Desert Hills. |
0x192 | UInt16 | Races completed on DS Peach Gardens. |
0x194 | UInt16 | Races completed on DS Delfino Square. |
0x196 | UInt16 | Races completed on SNES Mario Circuit 3. |
0x198 | UInt16 | Races completed on SNES Ghost Valley 2. |
0x19A | UInt16 | Races completed on N64 Mario Raceway. |
0x19C | UInt16 | Races completed on N64 Sherbet Land. |
0x19E | UInt16 | Races completed on N64 Bowser's Castle. |
0x1A0 | UInt16 | Races completed on N64 DK's Jungle Parkway. |
0x1A2 | UInt16 | Races completed on GBA Bowser Castle 3. |
0x1A4 | UInt16 | Races completed on GBA Shy Guy Beach. |
Favorite Stage | ||
0x1A6 | UInt16 | Battles completed on Delfino Pier. |
0x1A8 | UInt16 | Battles completed on Block Plaza. |
0x1AA | UInt16 | Battles completed on Chain Chomp Wheel. |
0x1AC | UInt16 | Battles completed on Funky Stadium. |
0x1AE | UInt16 | Battles completed on Thwomp Desert. |
0x1B0 | UInt16 | Battles completed on GCN Cookie Land. |
0x1B2 | UInt16 | Battles completed on DS Twilight House. |
0x1B4 | UInt16 | Battles completed on SNES Battle Course 4. |
0x1B6 | UInt16 | Battles completed on GBA Battle Course 3. |
0x1B8 | UInt16 | Battles completed on N64 Skyscraper. |
0x1BA | Byte[6] | Padding. |
Cup Data
When completing a cup, you get a gold, silver or bronze trophy and a rank (3 stars, 2 stars, 1 star, A, B, C, D, E or F). For some reason, the game seems to store some residual string data of the path of the trophy model whenever setting a new rank after completing a GP.
Offset | Description |
---|---|
0x1C0 | Mushroom Cup (50cc) |
0x220 | Flower Cup (50cc) |
0x280 | Star Cup (50cc) |
0x2E0 | Special Cup (50cc) |
0x340 | Shell Cup (50cc) |
0x3A0 | Banana Cup (50cc) |
0x400 | Leaf Cup (50cc) |
0x460 | Lightning Cup (50cc) |
0x4C0 | Mushroom Cup (100cc) |
0x520 | Flower Cup (100cc) |
0x580 | Star Cup (100cc) |
0x5E0 | Special Cup (100cc) |
0x640 | Shell Cup (100cc) |
0x6A0 | Banana Cup (100cc) |
0x700 | Leaf Cup (100cc) |
0x760 | Lightning Cup (100cc) |
0x7C0 | Mushroom Cup (150cc) |
0x820 | Flower Cup (150cc) |
0x880 | Star Cup (150cc) |
0x8E0 | Special Cup (150cc) |
0x940 | Shell Cup (150cc) |
0x9A0 | Banana Cup (150cc) |
0xA00 | Leaf Cup (150cc) |
0xA60 | Lightning Cup (150cc) |
0xAC0 | Mushroom Cup (Mirror) |
0xB20 | Flower Cup (Mirror) |
0xB80 | Star Cup (Mirror) |
0xBE0 | Special Cup (Mirror) |
0xC40 | Shell Cup (Mirror) |
0xCA0 | Banana Cup (Mirror) |
0xD00 | Leaf Cup (Mirror) |
0xD60 | Lightning Cup (Mirror) |
Offset | Type | Description |
---|---|---|
0x0 | Byte[0x4F] | Unknown. |
0x4F | 2 bits | Cup:
|
0x4F.2 | 6 bits | Unknown. |
0x50 | Byte | Unknown. |
0x51 | 4 bits | Unknown. |
0x51.4 | 4 bits | Rank:
|
0x52 | 1 bit | Cup completion flag:
|
0x52.1 | 7 bits | Unknown. |
0x53 | Byte[0xD] | Unknown. |
Time Trial Leaderboards
At the end of each time trial, a list of the top 5 times and the fastest lap are shown. The data is stored in 6 blocks, 1st to 5th and fastest lap, of 32 entries, one entry for each track. Each entry contains Mii data, the finish time and the character/vehicle combination used. The first block (rank 1) is used to show the current fastest time on the course selection screen. Each rank block is 0xC00 bytes long, each course entry is 0x60 bytes long.
Offset | Description |
---|---|
0xDC0 | Rank 1 |
0x19C0 | Rank 2 |
0x25C0 | Rank 3 |
0x31C0 | Rank 4 |
0x3DC0 | Rank 5 |
0x49C0 | Fastest lap |
Offset | Type | Description |
---|---|---|
0x0 | Byte[0x4A] | The Mii belonging to this time. |
0x4A | UInt16 | CRC-16 of the Mii data. |
0x4C | 7 bits | Minutes. |
0x4C.7 | 7 bits | Seconds. |
0x4D.6 | 10 bits | Milliseconds. |
0x4F | 6 bits | Vehicle ID. |
0x4F.6 | 2 bits | Unknown. Probably padding. |
0x50 | 1 bit | Enabled flag. |
0x50.1 | 7 bits | Character ID. |
0x51 | 3 bits | Controller ID. |
0x51.3 | 5 bits | Unknown. |
0x52 | Byte[14] | Unknown. |
Note: Mii data is not present for Fastest Laps.
Friend Data
Registered friends are stored in two blocks: the first one, the main data block, stores most of the data. The second one seems to store some flags and the PID of the friend (although this one is also stored in the main block). There are a total of 30 friend slots available.
Main Block Offset | Secondary Block Offset | Description |
---|---|---|
0x56D0 | 0x8B50 | Friend 1 |
0x5890 | 0x8B5C | Friend 2 |
0x5A50 | 0x8B68 | Friend 3 |
0x5C10 | 0x8B74 | Friend 4 |
0x5DD0 | 0x8B80 | Friend 5 |
0x5F90 | 0x8B8C | Friend 6 |
0x6150 | 0x8B98 | Friend 7 |
0x6310 | 0x8BA4 | Friend 8 |
0x64D0 | 0x8BB0 | Friend 9 |
0x6690 | 0x8BBC | Friend 10 |
0x6850 | 0x8BC8 | Friend 11 |
0x6A10 | 0x8BD4 | Friend 12 |
0x6BD0 | 0x8BE0 | Friend 13 |
0x6D90 | 0x8BEC | Friend 14 |
0x6F50 | 0x8BF8 | Friend 15 |
0x7110 | 0x8C04 | Friend 16 |
0x72D0 | 0x8C10 | Friend 17 |
0x7490 | 0x8C1C | Friend 18 |
0x7650 | 0x8C28 | Friend 19 |
0x7810 | 0x8C34 | Friend 20 |
0x79D0 | 0x8C40 | Friend 21 |
0x7B90 | 0x8C4C | Friend 22 |
0x7D50 | 0x8C58 | Friend 23 |
0x7F10 | 0x8C64 | Friend 24 |
0x80D0 | 0x8C70 | Friend 25 |
0x8290 | 0x8C7C | Friend 26 |
0x8450 | 0x8C88 | Friend 27 |
0x8610 | 0x8C94 | Friend 28 |
0x87D0 | 0x8CA0 | Friend 29 |
0x8990 | 0x8CAC | Friend 30 |
Offset | Type | Description |
---|---|---|
0x0 | Int32 | Unknown. |
0x4 | UInt32 | Profile ID of the friend. |
0x8 | Int32 | Unknown. |
0xC | Byte[4] | Unknown. |
0x10 | UInt16 | Unknown. Possibly a flag that indicates if the friend registered you (and does not appear as a "?" icon). |
0x12 | UInt16 | Losses against the friend. |
0x14 | UInt16 | Wins against the friend. |
0x16 | UInt16 | Race Rating of the friend. |
0x18 | UInt16 | Battle Rating of the friend. |
0x1A | Byte[0x4A] | Mii data of the friend. |
0x64 | Byte[4] | Unknown. |
0x68 | Byte | Country ID of the friend. |
0x69 | Byte | Region ID of the friend. |
0x6A | UInt16 | Unknown. |
0x6C | UInt16[2] | Globe coordinates of the friend. |
0x70 | Byte[0x150] | Unknown. |
Offset | Type | Description |
---|---|---|
0x0 | UInt16 | Unknown. Always 0? |
0x2 | Byte | Unknown. Always 0x38 if the friend exists? |
0x3 | Byte | Unknown. Always 0? |
0x4 | UInt32 | Profile ID of the friend. |
0x8 | Byte[4] | Unknown. Always 0? |
RKGD
This section contains global data that is shared across all licenses. It starts at 0x23308 and is 0x3804 bytes long.
Offset | Type | Description |
---|---|---|
0x00 | String | File magic. RKGD in ASCII. |
0x04 | UInt32 | Settings. |
0x08 | Byte[10][0x384] | Unknown. |
0x2330 | RankingTimeTrialChampions[32] | Time and Mii data for all Time Trial champions per course ranking. |
0x3730 | RankingCompetitionChampions | Time and Mii data for the current competition champions. |
0x37D8 | UInt32[2][5] | Unknown. |
0x3800 | UInt16 | Day / Month / Year the player has done a Ghost Race for the last time, encoded as a UInt16. Likely used to display the Ghost Race icon in the Mario Kart Channel's banner. Updated by function 0x80676904 (PAL) upon entering a Ghost Race match. |
0x3802 | UInt16 | Region ID. |
Ranking Time Trial Champions
Offset | Type | Description |
---|---|---|
0x00 | RankingTimeTrialChampionsEntry | Regional champion. |
0x50 | RankingTimeTrialChampionsEntry | Worldwide champion. |
Ranking Time Trial Champions Entry
Offset | Type | Description |
---|---|---|
0x00 | UInt32 | Finishing time. |
0x04 | Byte[0x4C] | Mii data (with checksum). |
Ranking Competition Champions
Offset | Type | Description |
---|---|---|
0x00 | RankingTimeTrialChampionsEntry | Regional champion. |
0x54 | RankingTimeTrialChampionsEntry | Worldwide champion. |
Ranking Competition Champions Entry
Offset | Type | Description |
---|---|---|
0x00 | UInt32 | Finishing time. |
0x04 | UInt32 | Unknown. |
0x08 | Byte[0x4C] | Mii data (with checksum). |
Settings
This field contains the global settings. Each bit corresponds to an option. When the bit is set to 1, the option is enabled, otherwise it's disabled.
Bit mask | Description |
---|---|
0x01 | GCN Controller Rumble |
0x02 | Flag and Region Display |
0x04 | Unknown. Enabled by default when creating a new save file at 0x8054A924 (PAL) |
0x08 | Message Service |
0x10 | Data Sharing |
0x20 | Mii Display |
0x40 | Unknown. |
0x80 | Unknown. |
Region ID
Byte Value | Description |
---|---|
0x0000 | Japan |
0x1000 | Americas |
0x2000 | Europe |
0x3000 | Australia & New Zealand |
0x4000 | Taiwan |
0x5000 | South Korea |
0x6000 | China |
Field 0x26B0C
At offset 0x26B0C, a struct of 0x14F0 bytes long is stored. It is initialized to 0 at 0x8054A944 (PAL) when creating a new save. Its usage is currently unknown.
Checksum
At offset 0x27FFC, there is a CRC-32 checksum of all the previous data.
Ghost Data
At the end of the file, there is the ghost data slots (stored as RKG files) for each track divided into four sections, one for each license. Each ghost file is limited to 0x2800 bytes.
The downloaded ghosts slots are not track specific, but each track can only have a maximum of one ghost of each type (i.e. one continental record, one worldwide record and one personal best for each possible 30 friends).
Offset | Description |
---|---|
0x28000 | Top left license |
0xCD000 | Top right license |
0x172000 | Bottom left license |
0x217000 | Bottom right license |
Offset | Description | |
---|---|---|
Personal ghost slots | ||
0x0 | Luigi Circuit | |
0x2800 | Moo Moo Meadows | |
0x5000 | Mushroom Gorge | |
0x7800 | Toad's Factory | |
0xA000 | Mario Circuit | |
0xC800 | Coconut Mall | |
0xF000 | DK Summit | |
0x11800 | Wario's Gold Mine | |
0x14000 | Daisy Circuit | |
0x16800 | Koopa Cape | |
0x19000 | Grumble Volcano | |
0x1B800 | Maple Treeway | |
0x1E000 | Moonview Highway | |
0x20800 | Dry Dry Ruins | |
0x23000 | Bowser's Castle | |
0x25800 | Rainbow Road | |
0x28000 | GBA Shy Guy Beach | |
0x2A800 | SNES Ghost Valley 2 | |
0x2D000 | SNES Mario Circuit 3 | |
0x2F800 | GBA Bowser Castle 3 | |
0x32000 | N64 Sherbet Land | |
0x34800 | N64 Mario Raceway | |
0x37000 | N64 DK's Jungle Parkway | |
0x39800 | N64 Bowser's Castle | |
0x3C000 | GCN Peach Beach | |
0x3E800 | GCN Mario Circuit | |
0x41000 | GCN Waluigi Stadium | |
0x43800 | GCN DK Mountain | |
0x46000 | DS Yoshi Falls | |
0x48800 | DS Desert Hills | |
0x4B000 | DS Peach Gardens | |
0x4D800 | DS Delfino Square | |
Downloaded ghost slots | ||
0x50000 | Downloaded Ghost Data Slot 1 | |
0x52800 | Downloaded Ghost Data Slot 2 | |
0x55000 | Downloaded Ghost Data Slot 3 | |
0x57800 | Downloaded Ghost Data Slot 4 | |
0x5A000 | Downloaded Ghost Data Slot 5 | |
0x5C800 | Downloaded Ghost Data Slot 6 | |
0x5F000 | Downloaded Ghost Data Slot 7 | |
0x61800 | Downloaded Ghost Data Slot 8 | |
0x64000 | Downloaded Ghost Data Slot 9 | |
0x66800 | Downloaded Ghost Data Slot 10 | |
0x69000 | Downloaded Ghost Data Slot 11 | |
0x6B800 | Downloaded Ghost Data Slot 12 | |
0x6E000 | Downloaded Ghost Data Slot 13 | |
0x70800 | Downloaded Ghost Data Slot 14 | |
0x73000 | Downloaded Ghost Data Slot 15 | |
0x75800 | Downloaded Ghost Data Slot 16 | |
0x78000 | Downloaded Ghost Data Slot 17 | |
0x7A800 | Downloaded Ghost Data Slot 18 | |
0x7D000 | Downloaded Ghost Data Slot 19 | |
0x7F800 | Downloaded Ghost Data Slot 20 | |
0x82000 | Downloaded Ghost Data Slot 21 | |
0x84800 | Downloaded Ghost Data Slot 22 | |
0x87000 | Downloaded Ghost Data Slot 23 | |
0x89800 | Downloaded Ghost Data Slot 24 | |
0x8C000 | Downloaded Ghost Data Slot 25 | |
0x8E800 | Downloaded Ghost Data Slot 26 | |
0x91000 | Downloaded Ghost Data Slot 27 | |
0x93800 | Downloaded Ghost Data Slot 28 | |
0x96000 | Downloaded Ghost Data Slot 29 | |
0x98800 | Downloaded Ghost Data Slot 30 | |
0x9B000 | Downloaded Ghost Data Slot 31 | |
0x9D800 | Downloaded Ghost Data Slot 32 | |
Special ghost slots | ||
0xA0000 | Last downloaded Ghost Race ghost. | |
0xA2800 | Last compatible competition. Some competition types seem to save ghost data here. |
Tools
The following tools can handle RKG files: