QTM Services

From 3dbrew
Revision as of 02:49, 7 December 2014 by Yellows8 (talk | contribs)
Jump to navigation Jump to search


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.

Head tracking is not usable when any other process is using any of the cameras, QTM returns error 0xC8A18008 for this.

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.