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

Difference between revisions of "/dev/stm/immediate"

From WiiBrew
< /dev‎ | stm
Jump to navigation Jump to search
(wow, this is old)
Line 1: Line 1:
this handles the shutdown/reset button on the front of the Wii, maybe it handles more.
+
The State Transition Manager handles transitioning between power states (idle, on, standby, reset, etc).
(Perhaps It's An APM Like Sub-System?)
 
  
 +
<!-- this isn't true .. fixme
 
In all code that has been studied, the ioctls take in an input buffer of 0x20 bytes and an io buffer of 0x20 bytes, e.g.
 
In all code that has been studied, the ioctls take in an input buffer of 0x20 bytes and an io buffer of 0x20 bytes, e.g.
  
Line 10: Line 10:
  
 
The contents of the buffers do not seem to matter for the shutdown / reset functions. You should not expect to actually receive a return code, due to the nature of the functions -- any return value can then be treated as some sort of error.
 
The contents of the buffers do not seem to matter for the shutdown / reset functions. You should not expect to actually receive a return code, due to the nature of the functions -- any return value can then be treated as some sort of error.
=== Shutdown To Standby ===
+
-->
 
STM_ShutdownToStandby: ioctl 0x2003
 
This will power the Wii off (red LED).
 
  
=== Shutdown To Idle ===
+
=== Ioctls ===
+
{| class="wikitable"
STM_ShutdownToIdle: ioctl 0x2004
+
|-
This will put the Wii into idle mode (yellow LED). This might be useful, but not for known Homebrew-related purposes.
+
! Ioctl
 +
! Function
 +
! Notes
 +
|-
 +
| 0x2001
 +
| STM_HotReset
 +
| This will reset the Wii.
 +
|-
 +
| 0x2003
 +
| STM_ShutdownToStandby
 +
| This will power the Wii off (red LED).
 +
|-
 +
| 0x2004
 +
| STM_ShutdownToIdle
 +
| This will power the Wii off (yellow LED), leaving IOS running to service WC24 events.
 +
|-
 +
| 0x2005
 +
| STM_Wakeup
 +
| This will turn the Wii on (green LED), generally launching the System Menu.
 +
|-
 +
| 0x3001
 +
| STM_GetState
 +
| Determines whether or not IOS is currently running in idle mode (yellow light on)
 +
|-
 +
| 0x3002
 +
| STM_UnregisterStateEvent
 +
| tbd
 +
|-
 +
| 0x5001
 +
| STM_SetVIForceDimming
 +
| The 32-bit parameter changes the brightness it sets the screen to. The parameter is the first word of inbuf. The brightness change stays until either the Wii reboots, or it is changed back.
 +
|-
 +
| 0x6001
 +
| STM_FlashLED
 +
| Please figure out what I do and update me! 32-bit parameter is passed in as the first word of inbuf.
 +
|-
 +
| 0x6002
 +
| STM_SetIdleLEDMode
 +
| Please figure out what I do and update me! 32-bit parameter is passed in as the first word of inbuf.
 +
|}
  
=== Hot Reset ===
 
 
STM_HotReset: ioctl 0x2001
 
This will reset the Wii.
 
 
=== Force Dimming ===
 
 
STM_SetVIForceDimming: ioctl 0x5001
 
The 32-bit parameter changes the brightness it sets the screen to. The parameter is the first word of inbuf. The brightness change stays until either the Wii reboots, or it is changed back.
 
 
=== Set Idle LED Mode ===
 
STM_SetIdleLEDMode: ioctl 0x6002
 
Please figure out what I do and update me! 32-bit parameter is passed in as the first word of inbuf.
 
 
=== Unregister State Event ===
 
STM_UnregisterStateEvent: ioctl 0x3002
 
 
Please figure out what I do and update me!
 
 
== Get state ==
 
#define ISTM_CMD_GETSTATE 0x3001
 
 
Found in IOS37 KD driver 0x13db0710 and on.
 
 
Please figure out what I do and update me!
 
 
== Wake up ==
 
#define ISTM_CMD_WAKEUP 0x2005
 
 
Found in IOS37 KD driver 0x13db0746 and on.
 
 
Please figure out what I do and update me!
 
 
== LED Flash??? ==
 
0x6001
 
 
Found in IOS37 KD driver 0x13db0660 and on.
 
 
Please figure out what I do and update me!
 
  
 
[[Category:IOS API documentation]]
 
[[Category:IOS API documentation]]

Revision as of 14:03, 4 May 2010

The State Transition Manager handles transitioning between power states (idle, on, standby, reset, etc).


Ioctls

Ioctl Function Notes
0x2001 STM_HotReset This will reset the Wii.
0x2003 STM_ShutdownToStandby This will power the Wii off (red LED).
0x2004 STM_ShutdownToIdle This will power the Wii off (yellow LED), leaving IOS running to service WC24 events.
0x2005 STM_Wakeup This will turn the Wii on (green LED), generally launching the System Menu.
0x3001 STM_GetState Determines whether or not IOS is currently running in idle mode (yellow light on)
0x3002 STM_UnregisterStateEvent tbd
0x5001 STM_SetVIForceDimming The 32-bit parameter changes the brightness it sets the screen to. The parameter is the first word of inbuf. The brightness change stays until either the Wii reboots, or it is changed back.
0x6001 STM_FlashLED Please figure out what I do and update me! 32-bit parameter is passed in as the first word of inbuf.
0x6002 STM_SetIdleLEDMode Please figure out what I do and update me! 32-bit parameter is passed in as the first word of inbuf.