This is a full breakdown of what bits, bytes, words, etc effect every aspect of a Mii.
Credits to the Arduino Project for this info.
A Mii is a total of 0x4A bytes in size.
// addr: 0x00 & 0x01 0D D2 0000 1101 1101 0010
invalid:1 ;--| = 0 = valid // doesn't seem to have any effect?
isGirl:1 ;---| = 0 = male // gender
month:4 ;----| | = 0011 = 3 = march // birthday month
day:5 ;---------| | = 01110 = 14 // birthday day
favColor:4 ;----------------| | = 01001 = 9 // 0 - 11 Keep in this range or else things can go wrong
isFavorite:1 ;--------------------| = 0
// addr: 0x02 through 0x15 name[MII_NAME_LENGTH]; 00 41 00 6C 00 62 00 65 00 72 00 74 00 20 00 45 00 00 00 00 Albert E
// addr: 0x16 height; // 0 - 127
// addr: 0x17 weight; // 0 - 127
// addr: 0x18 - 0x1B
miiID1; // Unique Mii identifier. Seems to increment with time. Also can
miiID2; // be used to change colour of Mii Trousers (see 'See Also' links)
miiID3;
miiID4;
// addr: 0x1C through 0x1F
systemID0; // Checksum8 of first 3 bytes of mac addr
systemID1; // mac addr 3rd-to-last byte
systemID2; // mac addr 2nd-to-last byte
systemID3; // mac addr last byte
// addr: 0x20 & 0x21
faceShape:3; // 0 - 7
skinColor:3; // 0 - 5
facialFeature:4; // 0 - 11
unknown:3; // Mii appears unaffected by changes to this data
mingleOff:1; // 0 = Mingle, 1 = Don't Mingle
unknown:1; // Mii appears unaffected by changes to this data
downloaded:1; // If the Mii has been downloaded from the Check Mii Out Channel
// addr: 0x22 & 0x23
hairType:7; // 0 - 71, Value is non-sequential with regard to page, row and column
hairColor:3; // 0 - 7
hairPart:1; // 0 = Normal, 1 = Reversed
unknown:5;
// addr:0x24 through 0x27
eyebrowType:5; // 0 - 23, Value is non-sequential with regard to page, row and column
unknown:1;
eyebrowRotation:4; // 0 - 11, Default value varies based on eyebrow type
unknown:6;
eyebrowColor:3; // 0 - 7
eyebrowSize:4; // 0 - 8, Default = 4
eyebrowVertPos:5; // 3 - 18, Default = 10
eyebrowHorizSpacing:4; // 0 - 12, Default = 2
// addr: 0x28 through 0x2B
eyeType:6; // 0 - 47, Value is non-sequential with regard to page, row and column
unknown:2;
eyeRotation:3; // 0 - 7, Default value varies based on eye type
eyeVertPos:5; // 0 - 18, Default = 12
eyeColor:3; // 0 - 5
unknown:1;
eyeSize:3; // 0 - 7, Default = 4
eyeHorizSpacing:4; // 0 - 12, Default = 2
unknown:5;
// addr: 0x2C & 0x2D
noseType:4; // 0 - 11, Value is non-sequential with regard to row and column
noseSize:4; // 0 - 8, Default = 4
noseVertPos:5; // 0 - 18, Default = 9
unknown:3;
// addr: 0x2E & 2F
lipType:5; // 0 - 23, Value is non-sequential with regard to page, row and column
lipColor:2; // 0 - 2
lipSize:4; // 0 - 8, Default = 4
lipVertPos:5; // 0 - 18, Default = 13
// addr: 0x30 & 0x31
glassesType:4; // 0 - 8
glassesColor:3; // 0 - 5
unknown:1; // when turned on mii does not appear (use not known)
glassesSize:3; // 0 - 7, Default = 4
glassesVertPos:5; // 0 - 20, Default = 10
// addr: 0x32 & 33
mustacheType:2; // 0 - 3
beardType:2; // 0 - 3
facialHairColor:3; // 0 - 7
mustacheSize:4; // 0 - 8, Default = 4
mustacheVertPos:5; // 0 - 16, Default = 10
// addr: 0x34 & 0x35
moleOn:1; // 0 = No Mole, 1 = Has Mole
moleSize:4; // 0 - 8, Default = 4
moleVertPos:5; // 0 - 30, Default = 20
moleHorizPos:5; // 0 - 16, Default = 2
unknown:1;
// addr: 0x36 through 0x49 creatorName[MII_CREATOR_NAME_LENGTH];
Credits to the Arduino Project for this info.
A Mii is a total of 0x4A bytes in size.
// addr: 0x00 & 0x01 0D D2 0000 1101 1101 0010
invalid:1 ;--| = 0 = valid // doesn't seem to have any effect?
isGirl:1 ;---| = 0 = male // gender
month:4 ;----| | = 0011 = 3 = march // birthday month
day:5 ;---------| | = 01110 = 14 // birthday day
favColor:4 ;----------------| | = 01001 = 9 // 0 - 11 Keep in this range or else things can go wrong
isFavorite:1 ;--------------------| = 0
// addr: 0x02 through 0x15 name[MII_NAME_LENGTH]; 00 41 00 6C 00 62 00 65 00 72 00 74 00 20 00 45 00 00 00 00 Albert E
// addr: 0x16 height; // 0 - 127
// addr: 0x17 weight; // 0 - 127
// addr: 0x18 - 0x1B
miiID1; // Unique Mii identifier. Seems to increment with time. Also can
miiID2; // be used to change colour of Mii Trousers (see 'See Also' links)
miiID3;
miiID4;
// addr: 0x1C through 0x1F
systemID0; // Checksum8 of first 3 bytes of mac addr
systemID1; // mac addr 3rd-to-last byte
systemID2; // mac addr 2nd-to-last byte
systemID3; // mac addr last byte
// addr: 0x20 & 0x21
faceShape:3; // 0 - 7
skinColor:3; // 0 - 5
facialFeature:4; // 0 - 11
unknown:3; // Mii appears unaffected by changes to this data
mingleOff:1; // 0 = Mingle, 1 = Don't Mingle
unknown:1; // Mii appears unaffected by changes to this data
downloaded:1; // If the Mii has been downloaded from the Check Mii Out Channel
// addr: 0x22 & 0x23
hairType:7; // 0 - 71, Value is non-sequential with regard to page, row and column
hairColor:3; // 0 - 7
hairPart:1; // 0 = Normal, 1 = Reversed
unknown:5;
// addr:0x24 through 0x27
eyebrowType:5; // 0 - 23, Value is non-sequential with regard to page, row and column
unknown:1;
eyebrowRotation:4; // 0 - 11, Default value varies based on eyebrow type
unknown:6;
eyebrowColor:3; // 0 - 7
eyebrowSize:4; // 0 - 8, Default = 4
eyebrowVertPos:5; // 3 - 18, Default = 10
eyebrowHorizSpacing:4; // 0 - 12, Default = 2
// addr: 0x28 through 0x2B
eyeType:6; // 0 - 47, Value is non-sequential with regard to page, row and column
unknown:2;
eyeRotation:3; // 0 - 7, Default value varies based on eye type
eyeVertPos:5; // 0 - 18, Default = 12
eyeColor:3; // 0 - 5
unknown:1;
eyeSize:3; // 0 - 7, Default = 4
eyeHorizSpacing:4; // 0 - 12, Default = 2
unknown:5;
// addr: 0x2C & 0x2D
noseType:4; // 0 - 11, Value is non-sequential with regard to row and column
noseSize:4; // 0 - 8, Default = 4
noseVertPos:5; // 0 - 18, Default = 9
unknown:3;
// addr: 0x2E & 2F
lipType:5; // 0 - 23, Value is non-sequential with regard to page, row and column
lipColor:2; // 0 - 2
lipSize:4; // 0 - 8, Default = 4
lipVertPos:5; // 0 - 18, Default = 13
// addr: 0x30 & 0x31
glassesType:4; // 0 - 8
glassesColor:3; // 0 - 5
unknown:1; // when turned on mii does not appear (use not known)
glassesSize:3; // 0 - 7, Default = 4
glassesVertPos:5; // 0 - 20, Default = 10
// addr: 0x32 & 33
mustacheType:2; // 0 - 3
beardType:2; // 0 - 3
facialHairColor:3; // 0 - 7
mustacheSize:4; // 0 - 8, Default = 4
mustacheVertPos:5; // 0 - 16, Default = 10
// addr: 0x34 & 0x35
moleOn:1; // 0 = No Mole, 1 = Has Mole
moleSize:4; // 0 - 8, Default = 4
moleVertPos:5; // 0 - 30, Default = 20
moleHorizPos:5; // 0 - 16, Default = 2
unknown:1;
// addr: 0x36 through 0x49 creatorName[MII_CREATOR_NAME_LENGTH];