Wiikey Fusion API: Difference between revisions
Jump to navigation
Jump to search
bolded title |
|||
(2 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
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. | 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 == | == Types of Commands == | ||
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 38: | Line 40: | ||
|} | |} | ||
== | === SPI Based === | ||
== Embedded bootable disc layout == | |||
An El-Torito Bootable GC Disc with the following details sits on the Wiikey Fusion Flash | |||
{| border="3" style="margin-left: 3em;" | {| border="3" style="margin-left: 3em;" | ||
|- | |- | ||
Line 53: | Line 57: | ||
| Standard Game Name "WKF!" | | Standard Game Name "WKF!" | ||
| 0x04 | | 0x04 | ||
|} | |||
== Flash Layout == | |||
The flash is basically an El-Torito Bootable GC Disc with some "firmware" related data injected into it. | |||
{| border="3" style="margin-left: 3em;" | |||
|- | |||
! scope="col" | Offset | |||
! scope="col" | Description | |||
! scope="col" | Size | |||
|- | |||
! scope="row" | 0x00000000 | |||
| El-Torito bootable GC disc image | |||
| 0x70000 | |||
|- | |||
! scope="row" | 0x001D2440 | |||
| Custom Apploader Header to extend it for the region override patch ("2009/01/01", 0x81204000 0x00004'''590''' 0x00020000) | |||
| 0x20 | |||
|- | |||
! scope="row" | 0x001D6460 | |||
| Extra apploader data for region free and other settings | |||
| 0x590 | |||
|- | |- | ||
! scope="row" | 0x001E1000 | ! scope="row" | 0x001E1000 | ||
| Firmware(?) | | Firmware(?) | ||
| 0x3800 | | 0x3800 | ||
|- | |||
! scope="row" | 0x001F0000 | |||
| Serial | |||
| 0x10 | |||
|- | |- | ||
! scope="row" | 0x001F1000 | ! scope="row" | 0x001F1000 | ||
Line 63: | Line 92: | ||
|- | |- | ||
|} | |} | ||
== 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 |
Latest revision as of 21:59, 19 July 2024
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
Embedded bootable disc layout
An El-Torito Bootable GC Disc with the following details sits on the Wiikey Fusion Flash
Offset | Description | Size |
---|---|---|
0x00000000 | Standard GC Header "GWKP99" with magic (C2339F3D) at 0x1C | 0x20 |
0x00000020 | Standard Game Name "WKF!" | 0x04 |
Flash Layout
The flash is basically an El-Torito Bootable GC Disc with some "firmware" related data injected into it.
Offset | Description | Size |
---|---|---|
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 |
0x001E1000 | Firmware(?) | 0x3800 |
0x001F0000 | Serial | 0x10 |
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