Difference between revisions of "Hardware/Starlet"

From WiiBrew
Jump to navigation Jump to search
(NEC?)
Line 5: Line 5:
 
== Hardware ==
 
== Hardware ==
  
* arm926 core.
+
* NEC ARM SoC.  Might be [http://www.eu.necel.com/products/asic/4_system_on_chip/060_soc_smart/index.html this ARM946E core].  See also [http://www.chipworks.com/seamark.aspx?sm=s4%3BDatedfl14%3BDeviceCategory6%3BMemoryfl10%3BReportCode12%3BCAR-0703-201&cw=detail ChipWorks].
 
* AES and SHA-1 hardware engines
 
* AES and SHA-1 hardware engines
 
* Boot ROM
 
* Boot ROM

Revision as of 14:27, 11 June 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

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