In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

Difference between revisions of "/title/00000001/00000002/data/iplsave.bin"

From WiiBrew
< /title‎ | 00000001‎ | 00000002‎ | data
Jump to navigation Jump to search
m (Fixed a typo)
(Updated info, A LOT!)
Line 1: Line 1:
Not exactly sure what this file does, but judging by what it seems to be on a small sample of the file, it seems to probably be the channel order on the Wii Menu.
+
Alright, I have dumped my NAND now, so I have the full file, and I can guarantee that it is the order that the channels are stored.
  
Here is the dump:
+
Here is the entire dump of the file (Yes I region-freed, hence all the Japanese channels XD):
0000000: 5249504c 00000340 00000002 00000000  RIPL...@........
 
0000010: 01010000 0000000f 00000000 00000000  ................
 
0000020: 03010000 0000000e 00010002 48414341  ............HACA
 
0000030: 03000000 0000000e 00010002 48415941  ............HAYA
 
  
I have a feeling that RIPL is the magic. I'm not sure exactly what the 0x00000340 means, nor the 0x00000002.
+
00000000: 5249 504c 0000 0340 0000 0002 0000 0000 RIPL...@........
However, I am pretty sure the 0x0000000f/0x0000000e is flags, which makes sense considering the first would be the disc channel, which is different then the other 2. Not sure what the 0x01010000/0x03010000/0x03000000 means. Probably more flags.
+
00000010: 0101 0000 0000 000f 0000 0000 0000 0000 ................
 +
00000020: 0301 0000 0000 000e 0001 0002 4841 4341 ............HACA
 +
00000030: 0301 0000 0000 000e 0001 0002 4841 4241 ............HABA
 +
00000040: 0300 0000 0000 000e 0001 0001 4841 5858 ............HAXX
 +
00000050: 0300 0000 0000 000e 0001 0001 5742 514a ............WBQJ
 +
00000060: 0300 0000 0000 000e 0001 0001 5741 524a ............WARJ
 +
00000070: 0300 0000 0000 000e 0001 0001 574f 454a ............WOEJ
 +
00000080: 0000 0000 0000 0000 0000 0000 0000 0000 ................
 +
00000090: 0000 0000 0000 0000 0000 0000 0000 0000 ................
 +
000000a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
 +
000000b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
 +
000000c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
 +
000000d0: 0300 0000 0000 000e 0001 0001 4641 4745 ............FAGE
 +
000000e0: 0300 0000 0000 000e 0001 0001 4641 4d45 ............FAME
 +
000000f0: 0300 0000 0000 000e 0001 0001 4644 4e4a ............FDNJ
 +
00000100: 0300 0000 0000 000e 0001 0001 4642 454a ............FBEJ
 +
00000110: 0000 0000 0000 0000 0000 0000 0000 0000 ................
 +
00000120: 0000 0000 0000 0000 0000 0000 0000 0000 ................
 +
00000130: 0000 0000 0000 0000 0000 0000 0000 0000 ................
 +
00000140: 0000 0000 0000 0000 0000 0000 0000 0000 ................
 +
00000150: 0000 0000 0000 0000 0000 0000 0000 0000 ................
 +
00000160: 0000 0000 0000 0000 0000 0000 0000 0000 ................
 +
00000170: 0000 0000 0000 0000 0000 0000 0000 0000 ................
 +
00000180: 0000 0000 0000 0000 0000 0000 0000 0000 ................
 +
00000190: 0300 0000 0000 000e 0001 0001 4a41 504a ............JAPJ
 +
000001a0: 0300 0000 0000 000e 0001 0001 4a42 4f4a ............JBOJ
 +
000001b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
 +
000001c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
 +
000001d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
 +
000001e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
 +
000001f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
 +
00000200: 0000 0000 0000 0000 0000 0000 0000 0000 ................
 +
00000210: 0000 0000 0000 0000 0000 0000 0000 0000 ................
 +
00000220: 0300 0000 0000 000e 0001 0001 4153 4e45 ............ASNE
 +
00000230: 0300 0000 0000 000e 0001 0001 4e41 4445 ............NADE
 +
00000240: 0300 0000 0000 000e 0001 0001 4e41 4a4c ............NAJL
 +
00000250: 0300 0000 0000 000e 0001 0001 4841 4a4a ............HAJJ
 +
00000260: 0300 0000 0000 000e 0001 0001 4841 5045 ............HAPE
 +
00000270: 0300 0000 0000 000e 0001 0001 4841 504a ............HAPJ
 +
00000280: 0300 0000 0000 000e 0001 0002 4841 4645 ............HAFE
 +
00000290: 0300 0000 0000 000e 0001 0002 4841 4745 ............HAGE
 +
000002a0: 0300 0000 0000 000e 0001 0001 4841 4445 ............HADE
 +
000002b0: 0300 0000 0000 000e 0001 0002 4841 5941 ............HAYA
 +
000002c0: 0300 0000 0000 000e 0001 0001 4841 544a ............HATJ
 +
000002d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
 +
000002e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
 +
000002f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
 +
00000300: 0000 0000 0000 0000 0000 0000 0000 0000 ................
 +
00000310: 1102 0000 9400 0000 0000 0000 0000 0000 ................
 +
00000320: 0000 0000 0000 0000 0000 0000 0000 0000 ................
 +
00000330: 291f f31f 4315 63d7 3f42 82ef e4d1 c17b ).ó.C.c×?B.ïäÑÁ{
  
The ones that appear to be Title-ID's most likely are which channel gets loaded into that slot.
+
Here is my example C structure containing each channel entry.
 +
typedef struct
 +
{
 +
u8 channel_type; // 03 for normal channels, 01 for disk channel, 00 for no channel
 +
u8 secondary_type; // 00 for normal channels; 01 for disk channel, Mii Channel, and Shop Channel
 +
u8 unknown[4]; // Unknown. All my titles have these set to 00.
 +
u16 moveable; // Not really sure, but all titles except disk use 000e, and disk uses 000f.
 +
// Since the disk chan is the only one unable to be moved, I assume that it means whether it is movable or not.
 +
u64 title_id; // Title ID.
 +
} iplsave_entry;
  
Any more info is appreciated! (I'll try to add more later after I dump my NAND) --[[User:SquidMan|SquidMan]] 00:19, 1 October 2008 (UTC)
+
Another example C structure, this time containing the entirety of iplsave.bin
 +
 
 +
typedef struct
 +
{
 +
char magic[4]; // The magic! It is always "RIPL"
 +
u32 filesize; // The size of iplsave.bin. As of now, is always 0x00000340
 +
u8 unknown[8]; // Unknown. Seems to always be 0x0000000200000000
 +
iplsave_entry channels[48]; // The 48 channels on the list.
 +
u8 unknown2[32]; // Unknown.
 +
u8 md5[16]; // Maybe an MD5 sum?
 +
} iplsave;
 +
 
 +
You should be able to understand most of the structure of iplsave.bin after looking at those structures. =D
 +
 
 +
Any more info is appreciated! --[[User:SquidMan|SquidMan]] 03:13, 1 October 2008 (UTC)

Revision as of 05:13, 1 October 2008

Alright, I have dumped my NAND now, so I have the full file, and I can guarantee that it is the order that the channels are stored.

Here is the entire dump of the file (Yes I region-freed, hence all the Japanese channels XD):

00000000: 5249 504c 0000 0340 0000 0002 0000 0000 RIPL...@........
00000010: 0101 0000 0000 000f 0000 0000 0000 0000 ................
00000020: 0301 0000 0000 000e 0001 0002 4841 4341 ............HACA
00000030: 0301 0000 0000 000e 0001 0002 4841 4241 ............HABA
00000040: 0300 0000 0000 000e 0001 0001 4841 5858 ............HAXX
00000050: 0300 0000 0000 000e 0001 0001 5742 514a ............WBQJ
00000060: 0300 0000 0000 000e 0001 0001 5741 524a ............WARJ
00000070: 0300 0000 0000 000e 0001 0001 574f 454a ............WOEJ
00000080: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000090: 0000 0000 0000 0000 0000 0000 0000 0000 ................
000000a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
000000b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
000000c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
000000d0: 0300 0000 0000 000e 0001 0001 4641 4745 ............FAGE
000000e0: 0300 0000 0000 000e 0001 0001 4641 4d45 ............FAME
000000f0: 0300 0000 0000 000e 0001 0001 4644 4e4a ............FDNJ
00000100: 0300 0000 0000 000e 0001 0001 4642 454a ............FBEJ
00000110: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000120: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000130: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000140: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000150: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000160: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000170: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000180: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000190: 0300 0000 0000 000e 0001 0001 4a41 504a ............JAPJ
000001a0: 0300 0000 0000 000e 0001 0001 4a42 4f4a ............JBOJ
000001b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
000001c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
000001d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
000001e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
000001f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000200: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000210: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000220: 0300 0000 0000 000e 0001 0001 4153 4e45 ............ASNE
00000230: 0300 0000 0000 000e 0001 0001 4e41 4445 ............NADE
00000240: 0300 0000 0000 000e 0001 0001 4e41 4a4c ............NAJL
00000250: 0300 0000 0000 000e 0001 0001 4841 4a4a ............HAJJ
00000260: 0300 0000 0000 000e 0001 0001 4841 5045 ............HAPE
00000270: 0300 0000 0000 000e 0001 0001 4841 504a ............HAPJ
00000280: 0300 0000 0000 000e 0001 0002 4841 4645 ............HAFE
00000290: 0300 0000 0000 000e 0001 0002 4841 4745 ............HAGE
000002a0: 0300 0000 0000 000e 0001 0001 4841 4445 ............HADE
000002b0: 0300 0000 0000 000e 0001 0002 4841 5941 ............HAYA
000002c0: 0300 0000 0000 000e 0001 0001 4841 544a ............HATJ
000002d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
000002e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
000002f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000300: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000310: 1102 0000 9400 0000 0000 0000 0000 0000 ................
00000320: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000330: 291f f31f 4315 63d7 3f42 82ef e4d1 c17b ).ó.C.c×?B.ïäÑÁ{

Here is my example C structure containing each channel entry.

typedef struct
{
	u8 channel_type;		// 03 for normal channels, 01 for disk channel, 00 for no channel
	u8 secondary_type;		// 00 for normal channels; 01 for disk channel, Mii Channel, and Shop Channel
	u8 unknown[4];			// Unknown. All my titles have these set to 00.
	u16 moveable;			// Not really sure, but all titles except disk use 000e, and disk uses 000f.
	// Since the disk chan is the only one unable to be moved, I assume that it means whether it is movable or not.
	u64 title_id;			// Title ID.
} iplsave_entry;

Another example C structure, this time containing the entirety of iplsave.bin

typedef struct
{
	char magic[4];			// The magic! It is always "RIPL"
	u32 filesize;			// The size of iplsave.bin. As of now, is always 0x00000340
	u8 unknown[8];			// Unknown. Seems to always be 0x0000000200000000
	iplsave_entry channels[48];	// The 48 channels on the list.
	u8 unknown2[32];		// Unknown.
	u8 md5[16];			// Maybe an MD5 sum?
} iplsave;

You should be able to understand most of the structure of iplsave.bin after looking at those structures. =D

Any more info is appreciated! --SquidMan 03:13, 1 October 2008 (UTC)