QTM is the New_3DS system module in charge of handling head tracking. A maximum of two sessions can be opened for each QTM service.

QTM services

Command Header Description
0x00010080 (u64 input) Writes an 0x30-byte output structure to the data starting at cmdreply[2].
0x00020080 (u64 input) Writes an 0x40-byte output structure to the data starting at cmdreply[2].
0x00030000
0x00040000
0x00050040 (u8 input)
0x00060000 Writes an output u8 to cmdreply[2].

The commands under this section are available for all QTM services except for "qtm:c".

QTM user service "qtm:u"

The commands available for this are exactly the same as the commands listed under the "QTM services" section.

QTM system service "qtm:s"

Command Header Description
0x04010040 (float input)
0x04020000 Writes float output to cmdreply[2].
0x04030000
0x04040000
0x04050040 (u8 input)
0x04060000 Writes an u8 to cmdreply[2].
0x04070040 (u8 input)
0x040801C0
0x04090000 Writes an u8 to cmdreply[2].
0x040A0040 (u8 input)

See also the "QTM services" section.

QTM service "qtm:sp"

Command Header Description
0x08010040 (u8 input)
0x08020000
0x08030040 (u8 input)
0x08040000

This service has all of the commands listed under the "QTM services" section and the "qtm:s" section, in addition to the above commands.

This service is used by NS and GSP-module, hence no other processes can use this service.

QTM service "qtm:c"

Command Header Description
0x00010000
0x00020000
0x00030040
0x00040000 Writes an output u8 to cmdreply[2].
0x00050040 (u8 input)

The commands for this service are separate from the commands under the "QTM services" section.