Wii Hacks

        

Showing posts with label mii. Show all posts
Showing posts with label mii. Show all posts

Saturday, March 03, 2007

Hack your Mii files to get special Mii's

David Hawley has posted lots of interesting observations about certain parts of .mii file that make special mii's with gold pants. Check it out here: http://www.davidhawley.co.uk/blog.aspx

Also if your intrested in Mii hacking you will want to check out Mii Editor.com and AJ's Mii Editor

All of this made possible by the hard work of wiidev and Mii Transfer and other open source wii developers around the world.

Sunday, January 28, 2007

Mii Editors

The first computer based Mii editors have been released. One is on online flash based editor, while the other one is a Windows application. These editor programs will allow you to edit Mii's from binary files on your computer. Then you can use an application such as MiiTransfer or MiiMegaMall to copy those Mii's to your Wii.


Both of these tools are in their beta/alpha stages, so this is for testing purposes only. For more information on the Mii file structure check out the WiiBrew Wiki.

Wednesday, January 17, 2007

Mii Mega-Mall 2.0

SWiitPii really took the Mii sharing idea to the next level. He has just released Mii Mega Mall 2.0. He writes:
"One thing almost every Nintendo Wii owner has in common is an overwhelming attraction to Mii characters. Mii sharing is huge, but the mechanism that Nintendo has provided for exchanging Mii is clunky and slow. That's where we come in. Utilizing the brilliant MiiTransfer technology, we have built the first and only integrated solution to Mii sharing. That solution is the Mii Mega-Mall."

This software allows you to easily transfer Mii's from the internet to your WiiMote (using your computer's bluetooth adapter) to the Wii Console. The software taps into all of the Major Mii downloading websites to being you the latest and greatest Celebrity Mii's and other user submitted Mii characters.

Also, I have heard that progress is being made on figuring out what each bit of a .Mii file means, and how to manipulate the features of the mii by modifying the file. I suspect soon we will see a Mii creator software or API that can generate .mii files dynamically. While this many not be entirely useful to the average user, it will be great for SWiitPii and other website operators such as MiiPlaza and WiiModWii Transfer Station to be able to include an actual image of what the Mii looks like next to each listing.

Tuesday, December 26, 2006

Mii Mega-Mall - Mii Download Application

SwiitPii has released his latest edition of Mii Transfer utilities... The Mii Mega-Mall.

This one has download abilities built right in, so you only need 1 application to load up celebrity Mii's to your wiimote to bus them over to the wii. Check out WiiDomain.net for more info.

The Mii Mega-Mall is an integrated approach to Mii sharing. What does that mean? It means that, now, instead of having to use many separate processes to get those adorable Mii off the Internet; you can use a single, streamlined approach through this one tool.

The Mii Mega Mall provides a single access-point, with a unified, consistent interface for sharing and retrieving Mii over the Internet. Everything that you need is included. It features Image

  • Built-in RSS capabilities
  • Download Mii from the Mega-Mall
  • Multiple simultaneous downloads
  • Transfer downloaded Mii to your wiimote (using Bluetooth)
  • Copy Mii from your wiimote to your PC (using Bluetooth)
  • Upload your own Mii to the Mii Mega-Mall to share with others

Download it from WiiDomain.net

Monday, December 11, 2006

HOWTO: Transfer a Mii from your Wii using bluetooth and the wii-mote

MiiTransfer is a small application for reading and writing data to the internal memory of the wiimote. Using this app you can easily transfer mii's from your wiimote to your pc, and back to your Wii.

This is exciting, because now Wii hackers can begin trading Mii's using sites such as WiiModWii's Mii Transfer Station:
http://www.wiimodwii.com/miis/

This was all made possible due to efforts by marcan and the author of WDML (WiiMote Data Management Library).

Here is how to transfer Mii's from your Wii to your Wii-Mote to your computer. Once on your computer you can upload and download Mii's from the internet, then transfer them back to your wii-mote and back into your Wii.

First you will need a bluetooth adapter and a Wii-mote.
The first release of MiiTransfer ONLY works with the Microsoft Bluetooth Stack. Yes this is the same MS Stack that will NOT work with GlovePie or many of the other wii-mote apps. If you are using another BT you need to go into device manager and update the driver. The next version of MiiTransfer should be more compatible with other Bluetooth Stacks.

If you can not wait for the next release here is how to change you bluetooth stack: Open Device Manager and goto your bluetooth adapter. Right click and goto properties. Goto teh Driver tab and press Update Driver. Select 'Install from a list' then 'Don't search i will choose a driver', now uncheck the box that says 'Show compatible hardware' and find the Microsoft Bluetooth Stack. Select it and press next until it's finished installing. It may tell you to reboot, but I did not need to, just unplug and replug the USB Bluetooth dongle.

Now you should have the Microsoft BT icon on the task tray. Open that icon, and start the BT connection wizard. Have it search for devices, and press buttons 1 and 2 on your wiimote to ut it into discover mode. After it finds the wiimote, you may need to press buttons 1 and 2 again to finish the bluetooth connection process. If it asks you to use a passcode press 'skip' or click the bubble that says not to use a passkey.If everything went well you will now be connected to the Wii-Mote.

You are now ready to launch the Mii transfer program. Download it from here and extract it. There are a bunch of batch files included in the download archive. Simply run the readslotALL.bat file to read all of the mii's from your wiimote.

Next goto the Mii Transfer website and upload your Mii's or download new Mii's you want to put into your Wii. Once you have these Mii's on your computer, transfer them back to the wii-mote using the writeslotX.bat files.

You will need to manually rename each mii to mii0.mii, mii1.mii, etc and put them in the same directory as your batch files.

Finally go into the Mii channel, hit the icon of the wii-mote on the right, and unload all of your new Mii's into your Mii Space.

Please upload your best Mii's to the Mii Transfer Station. They would like to build up a large database of Mii's and eventually have an online Mii generator.

Also, in case you are interested, Mii Data structure can be found here.
It would be nice to have a little editor app to modify the .Mii files from the PC.

Sunday, December 10, 2006

Mii Data Injection / Modification


Here is some info on the Mii data that is found in the wii-mote. There are 2 blocks of Mii Data, but we're not sure if it alternates between the two, or if it uses both. The data is a hash, so it's not as simple as changing the hex bits to change the look of your Mii. There is a way to update the CRC on the data and it's being investigated now. Here is some Mii Data from the WiiBrew Wiki thanks to Marcan and other hackers on IRC EFnet #wiidev:

Block format

Each block begins with a four-byte magic number / ID code 'RNCD'. Six unknown bytes (mostly zeroes) follow. Then follow the individual Mii data blocks. The last two bytes of the block are a CRC-16 CCITT of the previous 750 bytes (polynomial 0x1021, starting value 0x0000). C code to update CRC

Mii format

Strings are apparently stored in Unicode format (UTF-16), big-endian. Each Mii is 0x4a bytes:

  1. 2 unknown bytes (sometimes zeroes)
  2. 10 wide chars Mii Name (zero padded, non-terminated) (20 bytes)
  3. 32 bytes Mii settings and info (not yet figured out)
  4. 10 wide chars Mii creator (20 bytes)

You can test these codes using Simple HID Write. It's some sample program for Delphi programmers, but until someone else writes a more specific app for doing this stuff, it works. You can download it from here if you want to check out what your Wiimote's Mii data looks like.

To read Mii Data block 1:
Report ID: 17
Command: 00 0F CA 02 EF

To read Mii Data block 2:
Report ID: 17
Command: 00 12 BA 02 EF

Info for writing the data block is here:
http://www.ch0p.com/wiiki/index.php?title=Wiimote#Reading_and_Writing

Can someone put together a quick app that will read and write data from the wiimote mii data storage to a file on the computer? Big Red Pimp posted this Wii-Mote Test app which is close, but still does not fully support Mii Data.

Next step: figure out how to rewrite the hash to make our own mii with the info here, but this comes much later, for now it would be neat to be able to trade mii data block with other wii hackers as an easy way to bus multiple wii's around to other wii consoles without messing with friend codes and emails.

UPDATE: WDML Has cracked a good chunk of the Mii Data format off the Wii-Mote

Mii Data Structure (work in progress):

typedef unsigned char u8;
typedef unsigned short u16;
typedef unsigned int u32;

#define MII_NAME_LENGTH 10
#define MII_CREATOR_NAME_LENGTH 10

#define MII_HEIGHT_MIN 0x00
#define MII_HEIGHT_MAX 0x7F

#define MII_WEIGHT_MIN 0x00
#define MII_WEIGHT_MAX 0x7F

typedef struct
{
// addr: 0x00 & 0x01
u16 invalid:1;
u16 isGirl:1;
u16 month:4;
u16 day:5;
u16 favColor:4;
// 0 - 11 (changing to 1111, along with setting the preceeding bit
// results in a grey shirt, some values over 11 will crash the Wii
// when trying to change the favorite color).
u16 unknown:1;

// addr: 0x02 through 0x15
u16 name[MII_NAME_LENGTH];

// addr: 0x16
u8 height;

// addr: 0x17
u8 weight;

// addr: 0x18 - 0x1B
u8 miiID1; // Unique Mii identifier
u8 miiID2;
u8 miiID3;
u8 miiID4;

// addr: 0x1C & 0x1D & 0x1E & 0x1F
u8 systemID0; // Checksum8 of first 3 bytes of mac addr
u8 systemID1; // mac addr 3rd-to-last byte
u8 systemID2; // mac addr 2nd-to-last byte
u8 systemID3; // mac addr last byte

// addr: 0x20
u16 faceshape:3;
u16 skinColor:3; // 0 - 5
u16 unknown:?;
u16 facialFeature:4; // 0 - 11

// addr: 0x22 & 0x23
u16 unknown:7; // Hair type falls in here
u16 hairColor:3;
u16 hairPart:1;

// addr: 0x24 & 0x25
u16 unknown:?; // Eyebrow type falls in here
u16 eyebrowrotation:?;
u16 unknown:?;

// addr: 0x26 & 0x27
u16 eyebrowColor:3;
u16 eyebrowSize:5; // min 0, max 16 (depends on eyebrow type?)
u16 eyebrowVOffset:?;
u16 eyebrowSpacing:?;

// addr: 0x28 & 0x29
u16 unknown:8; // Eye type falls in here
u16 eyeRotation:3;
u16 unknown:1;
u16 eyeHeight:4; // 12 == mid, 0 == highest

// addr: 0x2A & 0x2B
u16 eyeColor:3;
u16 unknown:13;

// addr: 0x2C & 0x2D
u16 noseType:4; // 0 - 11
u16 noseSize:4; // 0 - 8
u16 noseHeight:4; // 0 - 9?
u16 unknown:3;

// addr: 0x2E & 2F
u16 lipType:5;
u16 unknown:11;

// addr: 0x30
u8 unknown:1;
u8 glassesType:3;
u8 glassesColor:3;
u8 unknown:1;

// addr: 0x31 & 32
u16 glassesSize:3;
u16 unknown:1;
u16 glassesHeight:4;
u16 mustacheType:2;
u16 beardType:2;
u16 facialHairColor:3;
u16 unknown:2;

// addr: 0x33
u8 mustacheSize:3; // 0 (max) - ? (min)
u8 unknown:1;
u8 mustacheHeight:4; // 0 (high) - 16 (low)

// addr: 0x34 & 0x35
u16 moleOn:1;
u16 moleSize:3; // ? - 8
u16 moleHeight:5; // 0 -
u16 unknown:4;
u16 moleHorizontal:3; // 0 (left) - ? (right)

// addr: 0x36
u16 creatorName[MII_CREATOR_NAME_LENGTH];

} MII_DATA_STRUCT;

Subscribe to the Nintendo Wii Hacks Blog RSS Feed

Also see:
PSP Hacks
PS3 Hacks
Zune Hacks
iPhone Hacks
Apple TV Hacks