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

Difference between revisions of "Hardware/Starlet"

From WiiBrew
Jump to navigation Jump to search
Line 17: Line 17:
 
* NAND access / filesystem
 
* NAND access / filesystem
 
* DVD subsystem
 
* DVD subsystem
* Authentication (RSA, SHA1) and encryption/decryption (AES)
+
* Authentication (RSA, EC, SHA1, HMAC-SHA1) and encryption/decryption (AES, RSA, EC)
 
* USB HCD (generic USB interface), Keyboard driver, Ethernet driver
 
* USB HCD (generic USB interface), Keyboard driver, Ethernet driver
 
* WiFi
 
* WiFi

Revision as of 01:13, 31 January 2008

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

  • arm926 core.
  • AES and SHA-1 hardware engines
  • Boot ROM
  • OTP key/hash area

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
  • TCP/IP
  • 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
  • BOOT0 decrypts, verifies, and runs the first few blocks of NAND, BOOT1
  • 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