Changes

Jump to navigation Jump to search
Free regs →‎Device 3
bit2: reboot (used by mcu sysmodule and LgyBg)
bit3: used by LgyBg to power off, causes hangs in 3DS-mode
bit4: an mcu::RTC command uses this, seems used by PTM to do something with the watchdogsignal that sleep mode is about to be entered
Bit 4 sets a bit at a RAM address which seems to control the watcdog timer state, then this bit is immediately unmasked. This field has a bitmask of 0x0F.
|-
| ds
| rw
| Looping queue Free registerbank address selectWriting Selects the index to first byte resets read from in the queue position free register bank, up to the nth element200 (?). Used with reg 0x61. Reading from this register causes the values seem to shift up by `readsize-1`(needs confirmation) bytes after returning `readsize-1` read N bytes from the top of bank while incrementing the internal index by the stack (first byte is read-onlysame amount. Byte 0: bit0 = "WirelessDisabled", bit1 = "SoftwareClosed", bit2 = "PowerOffInitiated", bit3 = "LgyNativeResolution", so is always zero)bit4 = "LegacyJumpProhibited"Byte 1: Legacy LCD dataBytes 2 and 3: Local Friend Code counterBytes 4 and 5: UUID clock sequenceBytes 6 and 7: UnusedBytes 8 to 175: Play count data for legacy titlesBytes 176 to 199: Unused
|-
| 0x61
| ds(0x100)
| rw
| Writing to this Free register pushes values on top of register 0x60's stack. Reading bank, data is read from this register doesn't advance the stack/written to here.The first byte is used Writing to store flags for managing FIRM/NS state - bit0 = "WirelessDisabled", bit1 = "SoftwareClosed", bit2 = "PowerOffInitiated", bit4 = "LegacyJumpProhibited". This register survives a power-off, but it resides in RAM, so its contents get lost on battery pulls. This register doesn't seem to actually control MCU behaviour by itself, it just here seems to be used for storing arbitrary data.increment the internal index?
|-
| 0x62 - 0x7E
510

edits

Navigation menu