Changes

730 bytes added ,  01:31, 13 May 2021
more info on the rube goldberg machine that is shutting down
Line 10: Line 10:  
MIOS is responsible for reading and running [[apploader]]s, but not for configuring the streaming audio (DTK) buffer; the [[System Menu/BS2|System Menu's BS2]] sets that up in state 11.  Neither BC nor MIOS reset the disc drive, as doing so would clear the buffer configuration.
 
MIOS is responsible for reading and running [[apploader]]s, but not for configuring the streaming audio (DTK) buffer; the [[System Menu/BS2|System Menu's BS2]] sets that up in state 11.  Neither BC nor MIOS reset the disc drive, as doing so would clear the buffer configuration.
   −
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 completes the shutdown.
+
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 -->
    
==Version Table==
 
==Version Table==
303

edits