Line 56:
Line 56:
00000330: 291f f31f 4315 63d7 3f42 82ef e4d1 c17b ).ó.C.c×?B.ïäÑÁ{
00000330: 291f f31f 4315 63d7 3f42 82ef e4d1 c17b ).ó.C.c×?B.ïäÑÁ{
−
Here is my example C structure containing each channel entry.
+
Here are some basic C structs for the file.
−
typedef struct
+
<source lang="C">
−
{
+
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 channel_type; // 03 for normal channels, 01 for disk channel, 00 for no channel
−
u8 unknown[4]; // Unknown. All my titles have these set to 00.
+
u8 secondary_type; // 00 for normal channels; 01 for disk channel, Mii Channel, and Shop Channel
−
u16 moveable; // Not really sure, but all titles except disk use 000e, and disk uses 000f.
+
u8 unknown[4]; // Unknown. All my titles have these set to 00.
−
// Since the disk chan is the only one unable to be moved, I assume that it means whether it is movable or not.
+
u16 moveable; // Not really sure, but all titles except disk use 000e, and disk uses 000f.
−
u64 title_id; // Title ID.
+
// Since the disk chan is the only one unable to be moved, I assume that it means whether it is movable or not.
−
} iplsave_entry;
+
u64 title_id; // Title ID.
+
} iplsave_entry;
−
Another example C structure, this time containing the entirety of iplsave.bin
+
typedef struct
−
+
{
−
typedef struct
+
char magic[4]; // The magic! It is always "RIPL"
−
{
+
u32 filesize; // The size of iplsave.bin. As of now, is always 0x00000340
−
char magic[4]; // The magic! It is always "RIPL"
+
u8 unknown[8]; // Unknown. Seems to always be 0x0000000200000000
−
u32 filesize; // The size of iplsave.bin. As of now, is always 0x00000340
+
iplsave_entry channels[0x30]; // Channels, listed in order of position in Wii Menu
−
u8 unknown[8]; // Unknown. Seems to always be 0x0000000200000000
+
u8 unknown2[0x20]; // Unknown. Some may be padding.
−
iplsave_entry channels[48]; // The 48 channels on the list.
+
u8 md5_sum[0x10]; // MD5 sum of the rest of the file
−
u8 unknown2[32]; // Unknown.
+
} iplsave;
−
u8 md5[16]; // Maybe an MD5 sum?
+
</source>
−
} iplsave;
You should be able to understand most of the structure of iplsave.bin after looking at those structures. =D
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)
Any more info is appreciated! --[[User:SquidMan|SquidMan]] 03:13, 1 October 2008 (UTC)