Difference between revisions of "Wiikey Fusion API"

From GC-Forever Wiki
Jump to navigation Jump to search
Line 5: Line 5:
  
 
== Commands ==
 
== Commands ==
 +
 +
=== SD Based ===
 
(All commands set DILENGTH (0xCC006018) and DIIMMBUF (0xCC006020) to 0 before running).
 
(All commands set DILENGTH (0xCC006018) and DIIMMBUF (0xCC006020) to 0 before running).
 
{| border="3" style="margin-left: 3em;"
 
{| border="3" style="margin-left: 3em;"
Line 37: Line 39:
 
|-
 
|-
 
|}
 
|}
 +
 +
=== SPI Based ===
  
 
== Flash Layout ==
 
== Flash Layout ==
Line 63: Line 67:
 
|-
 
|-
 
|}
 
|}
 +
 +
== Extra Notes ==
 +
* The Wiikey Fusion only likes to perform reads to 32 byte aligned buffers
 +
* Writing anything to dvd[0] or dvd[1] will make a normal read fail on the WKF
 +
* It is catered around WBFS format and FAT fragmented files may not be an option

Revision as of 18:39, 5 February 2012

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.

Commands

SD Based

(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

SPI Based

Flash Layout

The flash is basically an El-Torito Bootable GC Disc with some "firmware" injected into it.

Offset Description Size
0x00000000 Standard GC Header "GWKP99" with magic (C2339F3D) at 0x1C 0x20
0x00000020 Standard Game Name "WKF!" 0x04
0x001E1000 Firmware(?) 0x3800
0x001F1000 Firmware(?) Backup 0x3800

Extra Notes

  • The Wiikey Fusion only likes to perform reads to 32 byte aligned buffers
  • Writing anything to dvd[0] or dvd[1] will make a normal read fail on the WKF
  • It is catered around WBFS format and FAT fragmented files may not be an option