Difference between revisions of "ErrDisp"

From 3dbrew
Jump to navigation Jump to search
Line 14: Line 14:
 
|-
 
|-
 
| 0x00010800
 
| 0x00010800
| ThrowFatalError
+
| ThrowFatalError(0x80-byte errorinfo)
 
|-
 
|-
 
| 0x00020042
 
| 0x00020042
| Stubbed
+
| (size, <nowiki>(size<<14) | 2</nowiki>, errorinfoptr) This is similar to cmd1, except with this the input buffer is copied to final output errorinfo+0x80 instead of +0x0, via the ARM11 kernel. Max size is 0x100. ErrDisp doesn't do anything in the cmd-handler for this command at all, besides checking the command header and buffer header.
 
|}
 
|}

Revision as of 17:21, 17 July 2013

This system process handles displaying the error screens, such as "An error has occurred, the system needs shutdown". This can also display a register dump for exceptions, and info for fatal errors. (Normally the black-screen errors are displayed on retail, while the latter is displayed on dev units.)

The register dump/fatal error info can also be written to nandrw/sys/native.log. On retail the system does not notify ErrDisp that any user-land exceptions occurred, ErrDisp is only notified for this on dev/debug units. Therefore, on retail native.log only contains info from fatal errors.

The bottom screen displays the error screen like "error has occurred", even with a development 3DS. The top screen can display the development error info, this is only displayed when UNITINFO bit0 is clear, for a development 3DS.

ErrDisp handles "returning" to Home Menu via NSS:RebootSystem, which triggers a hardware system reboot.

ErrDisp error port "err:f"

Command Header Description
0x00010800 ThrowFatalError(0x80-byte errorinfo)
0x00020042 (size, (size<<14) | 2, errorinfoptr) This is similar to cmd1, except with this the input buffer is copied to final output errorinfo+0x80 instead of +0x0, via the ARM11 kernel. Max size is 0x100. ErrDisp doesn't do anything in the cmd-handler for this command at all, besides checking the command header and buffer header.