Hey guys, since Crediar released his MIOS replacement named DIOS-MIOS, I thought I could make a tutorial how to compile and set it up .
First a few questions.
What is DIOS-MIOS?
DIOS-MIOS is kind of a replacement of the Wiis MIOS. With DIOS MIOS you can basicly launch GC games on an emulated NAND from an FAT32 formated USB device (32kb or lower cluster size) via SNEEK.
What is SNEEK?
SNEEK is Crediars SD/NAND ES Emulation Kit. It can emulate a decrypted NAND backup on a SD Card or on an USB device (UNEEK).
Does DIOS-MIOS work on the real NAND?
No, it does not work on a real NAND (yet). You have to install it on an emulated NAND.
How is the compatibility?
The compatibility is currently quite a mess. It's kind of proof of concept. Crediar made it open source because he has run into serious problems and is asking for help.
Click here for the official compatiblity list.
Official DIOS-MIOS website
Official SNEEK website
Make sure you have at least the Homebrew Channel, BootMii and a clean MIOSv10 installed! If you dont have MIOSv10 installed, download it with NUS Downloader and install it.
You need the following downloads:
MIOSInject, DiscEx (and optionaly precompiled dios-mios files)
NUS Downloader
Ben Wilsons Wii NAND Extractor
Microsoft Visual Redistribution Package 2010 (Win32, Win64) (No need to install it if it's already installed )
SlikSVN (Win32, mirror), (Win64, mirror)
devkitPro-Updater
Python (Windows, mirror), (Windows AMD64 / Intel 64 / X86-64 binary, mirror)
Setting up the Development Environment
1. Install SlikSVN in a directory of your choice.
2. Launch devkitpro-Updater and install at least devkitPPC, devkitARM and Programmers Notepad. Or just use full mode install, which will then load and install everything needed.
3. Install python in the directory C:/ (after the installation there will be a C:/Python27 directory.
4. Press the Windows and Pause button. That will open the system properties screen. Go to Advanced --> Environment Variables. Look for "Path" under the "System variables" section and click at Edit. This will open the "Edit System Variable" window. There you see an input field named "Variable Value". Go to the end and add your path to your python directoy. Mine is C:/Python27. Dont forget to put at the beginning and end of the directory name a ";" (;C:/Python27;)
Our Development Environment is now set up.
Downloading and compiling SNEEK
1. Go to your install directoy of SlikSVN. There you can see a folder named bin. Open Windows Command (CMD) in that folder and type the following line into it:
Code: Select all
svn checkout http://sneek.googlecode.com/svn/trunk/ sneek
2. You have now a sneek folder with the source. Open it. There you find a folder named es. Open it as well and look for the Es.c file. Open this file with Programmers Notepad and look for the following lines:
Code: Select all
//if( *TitleID == 0x0000000100000100LL )
// *TitleID = 0x0000000100000101LL;
if( *TitleID == 0x0000000100000100LL )
{
_sprintf( path, "/title/%08x/%08x/content/title.tmd", (u32)((*TitleID)>>32), (u32)(*TitleID) );
Code: Select all
if( *TitleID == 0x0000000100000100LL )
{
*TitleID = 0x0000000100000101LL;
_sprintf( path, "/title/%08x/%08x/content/title.tmd", (u32)((*TitleID)>>32), (u32)(*TitleID) );
3. Launch NUS Downloader, go to Extras --> Retrieve Common Key. This will create the important decryption key. Close NUS Downoader and re-open it. Mark "Decrypt" and download IOS80 v6943 and IOS60 v6174. Open the folder 000000010000003Cv6174 and copy the 00000001.app into the sneek source folder. Then open the folder 0000000100000050v6943 and copy the 0000000e.app into the sneek source folder.
4. Go to your sneek source folder and launch build_boot2.cmd. This will compile SNEEK. After successfully comiling SNEEK, there should be several bin files on the source directory:
- boot2_sd.bin
- boot2_usb.bin
- boot2_di.bin
- di.bin
Rename boot2_sd.bin to kernel.bin and put it with the di.bin in a separate folder named sneek. Put that folder on the root directory of a FAT32 formated SD Card. In the mini-tree-mod folder you can find an armboot.bin. If not, you can grab a precompiled version here. Put the armboot.bin in a folder named bootmii and place it also on the root directory of your FAT32 formated SD Card.
Now we are ready for making a NAND backup and compiling DIOS-MIOS.
Compiling DIOS-MIOS and setting up a NAND backup
1. Go to the BootMii menu and make a backup of your NAND. Open the backup (nand.bin) with Ben Wilsons "Wii NAND Extractor" and click "Extract All" This will decrypt your NAND backup to several folders.
2. Download the source of DIOS-MIOS the same way we already downloaded the source of SNEEK. Type this line into the CMD to retrieve the source:
Code: Select all
svn checkout http://dios-mios.googlecode.com/svn/trunk/ dios-mios
4. Extract the MIOSInject archive to a directory of your choice. Put the iosmodule.elf and dimodule.map in there.
5. Launch NUS Downloader, mark "Decrypt" and download MIOSv10. A folder with the name 0000000100000101v10 should appear. There you will find a 0000000c.app. Rename it to mios.bin and copy it in the MIOSInject directory.
6. Now we should have following files in the MIOSInject directory:
- mios.bin
- iosmodule.elf
- dimodule.map
Open Windows Command in that directory and type the following line:
Code: Select all
MIOSInject.exe iosmodule.elf mios.bin dimodule.map 0000000c.app
7. Open the following directory of your NAND backup and replace the new 0000000c.app with the old one already in the NAND Backup:
Code: Select all
\title\00000001\00000101\content\0000000c.app
Converting GC disc images
1. Dump a GC game with the awesome CleanRip and make sure it's not under- and overdumped.
2. Extract the DiscEx archive and put the GC images in there. Open Windows Command in the DiscEx folder and type:
Code: Select all
DiscEx.exe game.iso
Code: Select all
USB:/games/*whatever discid*/
Have fun
You can report working or non working games here. I already said the compatibility is quite bad, dios-mios has some serious issues. Those are
* ARAM/DSP not working correctly
* DSP problems cause no sound and nintendo memory cards can not be unlocked
* ARAM problems cause games to freeze and/or crash
* All DVDLow* functions except DVDLowRead currently cause a delay
* slow disc loading at certain points
* Only FAT32 is supported with cluster size 32KB or lower
Since emukidid is a skilled developer, maybe he can help crediar a bit out if he finds some freetime