Mini Wii

From GameBrew
Revision as of 10:00, 25 February 2023 by HydeWing (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Mini
Wii2.png
General
AuthorTeam Twiizers
TypeSystem Tools
Version1.1
LicenseMixed
Last Updated2012/11/27
Links
Download
Website
Source

MINI Is Not IOS - but it is a limited replacement that can fulfill many low-level tasks that IOS might interfere with. The name is an allusion to GNU, which stands for "GNU's Not Unix".

It was developed alongside BootMii as a replaceable Starlet executable, however, it was made mostly redundant by the Homebrew Channel and AHBPROT. There are still a few features that cannot be achieved that way, such as arbitrary ARM execution without exploits or NAND modification.

Code from MINI was later re-used for m1n1 as part of a project to boot Linux on the Apple M1.

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.

User guide

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.

Since the discovery of the AHBPROT register, MINI enables direct PPC access to all devices. It is often used together with Wii Linux to enable full hardware functionality and performance.

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).

Changelog

v1.4

  • Fixed integer overflow when calculating SD card free space.

v1.2 Beta 5

  • Compatible with more SD cards.

v1.0 Beta 3

  • Improved the SD card compatibility.
  • Enable HW_AHBPROT to fix RESET issue with CEIL1NG_CAT.

v0.9 Beta 2

  • SD card performance has been improved, decreasing the boot and the NAND backup / restore time.
  • backupmii accepts fragmented SD cards now, reformatting is not performed anymore. Old NAND dumps are still compatible..
  • boot2 patcher now works with boot2v4.

Beta 1

  • First Public Release.

External links

Advertising: