Mii Structure
#1
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];

~Over 100 MKWii Cheat Codes created
~Main Time Updater for the MKWii Player's Page

Reply
#2
Arduino project?!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)