I2C Registers: Difference between revisions

MarcusD (talk | contribs)
MarcusD (talk | contribs)
Document more interrupts from MCU_FIRM disassembly
Line 337: Line 337:
| rw
| rw
| Interrupt mask for register 0x10 (0=enabled,1=disabled)
| Interrupt mask for register 0x10 (0=enabled,1=disabled)
   bit00: Power button press
   bit00: Power button press (for 27 "ticks")
   bit01: Power button held (the 3DS turns off regardless after a fixed time)
   bit01: Power button held (for 375 "ticks"; the 3DS turns off regardless after a fixed time)
   bit02: HOME button press
   bit02: HOME button press (for 5 "ticks")
   bit03: HOME button release
   bit03: HOME button release
   bit04: WiFi switch button
   bit04: WiFi switch button
   bit05: Shell close
   bit05: Shell close
   bit06: Shell open
   bit06: Shell open
   bit07: Fatal hardware condition([[Services#Notifications|?]])
   bit07: Fatal hardware condition([[Services#Notifications|?]]) (sent when the MCU gets reset by the Watchdog timer)
   bit08: Charger removed
   bit08: Charger removed
   bit09: Charger plugged in
   bit09: Charger plugged in
   bit10: ??? (Power Management related?)
   bit10: RTC alarm (when some conditions are met it's sent when the current day and month and year matches the current RTC time)
   bit11: ??? (HID related)
   bit11: ??? (accelerometer related)
   bit12: HID update
   bit12: HID update
   bit13: Battery dead(?)
   bit13: Battery dead(?)
   bit14: ??? (Power Management related?)
   bit14: Battery stop charging(?) (independent of charger state)
   bit15: ??? (Power Management related?)
  bit15: Battery start charging(?)
Nonmaskable interrupts
Nonmaskable(?) interrupts
  bit16: ???
   bit17: ??? (opposite even for bit16)
   bit22: Volume slider position change
   bit22: Volume slider position change
   bit24: ??? (???)
   bit23: ??? Register 0x0E update
   bit25: ??? (???)
  bit24: ??? (the off event for below bit)
   bit25: ??? (triggered when something related to the GPU is turned on)
   bit26: ??? (???)
   bit26: ??? (???)
   bit27: ??? (???)
   bit27: ??? (???)
   bit28: ??? (???)
   bit28: ??? (???)
   bit29: ??? (???)
   bit29: Battery percentage status change (triggered at 10%, 5%, and 0% while discharging)
   bit30: bit set by mcu sysmodule
   bit30: bit set by mcu sysmodule
   bit31: bit set by mcu sysmodule
   bit31: bit set by mcu sysmodule
Line 485: Line 488:
|-
|-
| 0x38
| 0x38
- 0x3A
- 0x3C
| s
| s
| rw
| rw
| RTC alarm registers
| RTC alarm registers
   byte 0: minutes
   byte 0: minutes(???)
   byte 1: hours
   byte 1: hours(???)
   byte 2: week
   byte 2: day
  byte 3: month
  byte 4: year
|-
|-
| 0x3B
| 0x3B
Line 497: Line 502:
| rw
| rw
| Could be used on very old MCU_FIRM versions to upload [[MCU_Services#MCU_firmware_versions|MCU firmware]] if some conditions are met.
| Could be used on very old MCU_FIRM versions to upload [[MCU_Services#MCU_firmware_versions|MCU firmware]] if some conditions are met.
|-
| 0x3C
| s
| ro
| ???
|-
|-
| 0x3D
| 0x3D