In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

Difference between revisions of "MINI"

From WiiBrew
Jump to navigation Jump to search
m (Wikified)
m
Line 1: Line 1:
 
{{Infobox homebrew
 
{{Infobox homebrew
 
| title      = Mini
 
| title      = Mini
| type        = Limited IOS Replacement
+
| type        = system tool
 
| author      = [[Team Twiizers]]
 
| author      = [[Team Twiizers]]
 
| source      = http://gitweb.bootmii.org/?a=summary&p=mini
 
| source      = http://gitweb.bootmii.org/?a=summary&p=mini

Revision as of 02:32, 19 September 2009

Mini
General
Author(s)Team Twiizers
TypeSystem tool
Links
Source

Mini Is Not IOS -- but it is a limited replacement that can fulfill many low-level tasks that IOS might interfere with.

Features

  • Light-weight -- binary is approximately 50kbytes, 11,673 lines of code as of first release
  • Mostly IRQ driven :)
  • Supports debug output over the GPIO pins and USBGecko
  • Supports loading both ARM and PPC-side binaries over USBGecko (ala Wiiload)
  • Allows any memory address to be peeked or poked from the PPC (via IPC)
  • Contains drivers for the following hardware:
    • OTP, SEEPROM
    • AES engine
    • SDHC (at the sector level, or can load a file from a FAT FS on SD)
    • NAND (read/write at the physical level)
    • PowerPC (can read a PPC ELF file from SD into memory, and kickstart execution on the PPC)
  • Not dependent on IOS in any way -- as long as you can run it, it can do whatever it wants, regardless of what security features Nintendo patches into newer versions of IOS.

Limitations

  • No real kernel architecture; no threading model, but most calls are asynchronous
  • No USB support (including Bluetooth for Wiimotes)
  • No WiFi support
  • No NAND FS support
  • No audio/visual capability (hardware limitation)

All registers are exposed over IPC, so some or all of the missing driver functionality could conceivably be implemented on the PPC side. Note that this cannot execute at the same time as IOS; you can only have one or the other executing at any point in time. Switching back and forth between the two is left as an exercise for the developer.

PowerPC side

There is a PowerPC skeleton at: http://groups.google.com/group/bootmii-devel