Legacy FIRM PXI: Difference between revisions

From 3dbrew
Jump to navigation Jump to search
m Fix stuff AGAIN
No edit summary
Line 55: Line 55:
| This writes the input 0x80-byte ASCII data to [[Flash_Filesystem|nand:/rw/sys/lgy.log]].
| This writes the input 0x80-byte ASCII data to [[Flash_Filesystem|nand:/rw/sys/lgy.log]].
|}
|}
=Command 0x2=
This does the following:
* Waits for an u8 state field to become non-zero.
* Clears DSi memory, etc.
* Loads the DS(i) application specified by the command request titleID. If this fails, it immediately returns the error for this.
* Initializes the DSi memory at 0x02fe7000 and 0x02fffc00.
* Loads the TWL launcher located at physical address [[Memory_layout|0x27C00000]], which was written there by the TwlBg ARM11 process.
* Loads the TWL bootloader, see [[FIRM|here]].
* Initializes DSi memory/keys, [[IO_Registers|0x10018000]] registers, etc.
* Writes value 0x3 to [[CONFIG_Registers|REG_BOOTENV]], and value 0x1 to an u8 state field.
* Uses [[SVC|svcSignalEvent]], then returns.

Revision as of 22:46, 10 March 2015

This page describes the PXI commands for TWL_FIRM/AGB_FIRM.

Command Header Available since system version Description
0x0001.... 1.0.0-0 ?
0x00020080 1.0.0-0 (u64 application_titleID) This launches the specified TWL title. Eventually this will wait for command 0x00040080 to be sent.
0x00030080 1.0.0-0 (u64 application_titleID) This launches the specified GBA VC title.
0x00040080 1.0.0-0 ?
0x0005.... 1.0.0-0 ?
0x0006.... 1.0.0-0 ?
0x0007.... 1.0.0-0 ?
0x0008.... 1.0.0-0 ?
0x0009.... 1.0.0-0 ?
0x000A.... 1.0.0-0 ?
0x000B0040 1.0.0-0 This is used for TWL initialization, prior to using command 0x00020080.
0x000C0800 1.0.0-0 This writes the input 0x80-byte ASCII data to nand:/rw/sys/lgy.log.

Command 0x2

This does the following:

  • Waits for an u8 state field to become non-zero.
  • Clears DSi memory, etc.
  • Loads the DS(i) application specified by the command request titleID. If this fails, it immediately returns the error for this.
  • Initializes the DSi memory at 0x02fe7000 and 0x02fffc00.
  • Loads the TWL launcher located at physical address 0x27C00000, which was written there by the TwlBg ARM11 process.
  • Loads the TWL bootloader, see here.
  • Initializes DSi memory/keys, 0x10018000 registers, etc.
  • Writes value 0x3 to REG_BOOTENV, and value 0x1 to an u8 state field.
  • Uses svcSignalEvent, then returns.