Changes

159 bytes added ,  04:37, 24 March 2022
Patent correspondence
Line 11: Line 11:     
Once a GameCube game starts, MIOS does not do much, as direct access to GameCube hardware is now enabled. The main function of MIOS at this point is to handle the front buttons on the Wii; pressing the power button at this point shuts down the GameCube game and launches boot2, which launches the [[System Menu]] to complete the shutdown.  It does this by listening to [[Hardware/Hollywood IRQs|IRQs]] 11 and 15, with [[Hardware/Hollywood_GPIOs|GPIOs]] configured to trigger an interrupt on the press of the power button; on IRQ 11, it shuts down with the RSTB_CPU bit of [[Hardware/Hollywood_Registers#HW_RESETS|HW_RESETS]] cleared, while the bit is set on IRQ 15.  Oddly, boot2 only sets [[Memory Map|0x80003164]] <!-- read as c0003164 by the system menu; written as 00003164 by boot2 --> (which the System Menu uses to decide to shut down) if RSTB_CPU is set, which means IRQ 15 must fire first.{{check}} <!-- to make things weirder, MIOS looks for IRQ 11 first, so IRQ 15 needs to trigger before IRQ 11, not just at the same time -->
 
Once a GameCube game starts, MIOS does not do much, as direct access to GameCube hardware is now enabled. The main function of MIOS at this point is to handle the front buttons on the Wii; pressing the power button at this point shuts down the GameCube game and launches boot2, which launches the [[System Menu]] to complete the shutdown.  It does this by listening to [[Hardware/Hollywood IRQs|IRQs]] 11 and 15, with [[Hardware/Hollywood_GPIOs|GPIOs]] configured to trigger an interrupt on the press of the power button; on IRQ 11, it shuts down with the RSTB_CPU bit of [[Hardware/Hollywood_Registers#HW_RESETS|HW_RESETS]] cleared, while the bit is set on IRQ 15.  Oddly, boot2 only sets [[Memory Map|0x80003164]] <!-- read as c0003164 by the system menu; written as 00003164 by boot2 --> (which the System Menu uses to decide to shut down) if RSTB_CPU is set, which means IRQ 15 must fire first.{{check}} <!-- to make things weirder, MIOS looks for IRQ 11 first, so IRQ 15 needs to trigger before IRQ 11, not just at the same time -->
 +
 +
MIOS seems to be described in paragraph 2 of section 2 of the [https://www.freepatentsonline.com/y2005/0132217.html Starlet patent]'s background information.
    
==Version Table==
 
==Version Table==
5,579

edits