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

Hardware/Starlet

From WiiBrew
< Hardware
Jump to navigation Jump to search

The Hollywood includes an ARM9 core, nicknamed the Starlet. This is a very interesting piece of hardware, as it basically does everything that makes a Wii different from a Gamecube.

Note: this page is incomplete. Please expand it as you see fit!

Hardware

Starlet Register List

Tasks

The Starlet handles at least these tasks in the Wii

  • NAND access / filesystem
  • DVD subsystem
  • Authentication (RSA, EC, SHA1, HMAC-SHA1) and encryption/decryption (AES, RSA, EC)
  • USB HCD (generic USB interface), Keyboard driver, Ethernet driver
  • WiFi (both for networking and communication with Nintendo DS devices)
  • TCP/IP and UDP
  • SD card
  • GPIO (Sensor bar, drive LED, power LED, etc)
  • Audio/Video encoder (I2C) bus

Boot

Starlet is the first processor to run code in the Wii.

  • Starlet boots from an internal Mask ROM, BOOT0 (about 1300 bytes of code out of 4K possible)
  • BOOT0 decrypts, verifies, and runs the first few blocks of NAND, BOOT1 (up to the first 48 pages of flash)
  • BOOT1 locates, loads, decrypts, verifies, and runs BOOT2
  • The BOOT2 bootstrap then loads the embedded ELF file.
  • BOOT2 starts the IOS.

At some point, Starlet loads code into an EXI buffer and bootstraps Broadway.

Links

More information about the Starlet:

  • IOS - the OS that runs on the Starlet and handles calls from the Broadway during game execution and while in the system menu.
  • ARM Binaries - the formats used for Starlet executable code
  • WAD Files are used for BOOT2 and the IOS