Wiikey Fusion API
This page will hold information regarding the reversing of the Wiikey Fusion API from the Wiikey Fusion game selection menu. It's purpose is so that Swiss can support booting games from it.
Types of Commands
It appears the Wiikey Fusion has two types of commands. One set is to access the SPI Flash and one is to access the SD card/Settings.
(All commands set DILENGTH (0xCC006018) and DIIMMBUF (0xCC006020) to 0 before running).
|DICMDBUF0 (0xCC006008)||DICMDBUF1(0xCC00600C)||DICMDBUF2 (0xCC006010)||Type||Returns||Description|
|0xDD000000||offset (16bit)||data (16bit)||IMM||Status (?)||Write to Wiikey Fusion RAM (used to store offset locations for the current "disc")|
|0xDE000000||offset (32bit)||0x5A000000||IMM||Status (?)||Set Offset|
|0xDF000000||0x00010000||0x00000000||IMM||No SD Card detected if ((Response & 0x000F0000) == 0x00070000)||SD Card Detect|
Embedded bootable disc layout
An El-Torito Bootable GC Disc with the following details sits on the Wiikey Fusion Flash
|0x00000000||Standard GC Header "GWKP99" with magic (C2339F3D) at 0x1C||0x20|
|0x00000020||Standard Game Name "WKF!"||0x04|
The flash is basically an El-Torito Bootable GC Disc with some "firmware" related data injected into it.
|0x00000000||El-Torito bootable GC disc image||0x70000|
|0x001D2440||Custom Apploader Header to extend it for the region override patch ("2009/01/01", 0x81204000 0x00004590 0x00020000)||0x20|
|0x001D6460||Extra apploader data for region free and other settings||0x590|
- The Wiikey Fusion only likes to perform reads to 32 byte aligned buffers
- Writing anything to dvd or dvd will make a normal read fail on the WKF
- It is catered around WBFS format and FAT fragmented files may not be an option