### Mnemonic: SetSTN

Hex Code: | 41 | 00 | 00 | SS | PP | NN | 00 | 00 | unconditional, indirect
41 | M0 | 00 | SS | PP | NN | XX | YY | M=1-7, Compare register XX to register YY, indirect
41 | 0K | 00 | SS | PP | NN | HH | LL | unconditional, indirect, K=1,4-7 Set then Link
51 | 00 | 00 | SS | PP | NN | 00 | 00 | unconditional, direct
51 | M0 | 00 | SS | PP | NN | XX | YY | M=1-7, Compare register XX to register YY, direct
51 | 0K | 00 | SS | PP | NN | HH | LL | unconditional, direct, K=1,4-7 Set then Link

Action: | The SetSTN can change the value in any or all of three SPRMs controlling audio (SPRM 1), SubPicture (SPRM 2), and Angle (SPRM 3). For all forms bit 7 is set in "SS", "PP", and "NN" to indicate a new value is specified, otherwise the register remains unchanged. "SS" (byte 3) specifies Audio, "PP" (byte 4) specifies SubPicture, and "NN" (byte 5) specifies Angle. The indirect form uses the lower 7 bits of "SS", "PP", and "NN" to specify one of the general purpose registers (GPRM) for the new value. The direct form uses the lower 7 bits of each byte for the new value itself. If "K" is 1, 4, 5, 6, or 7 the Set is followed by a link command.
Order: | If a compare is specified, it is performed first. If the condition is met the SetSTN is executed.
Comments: | Restricted to Video Titleset Manager (VTSM) and titles. The command can be conditional or be combined with a link command, but not both. See also SPRMs for information on SPRM 1, 2, and 3 values. Values set into SPRM 1 and 2 are track numbers, not stream numbers. See PGC_AST_CTL and PGC_SPST_CTL for the mapping of track numbers to stream numbers.

Optional Link Command details
K | LL | Link Command | Comment
--- | --- | --- | ---
1 | 00 | LinkNoLink | use byte 6 as "HH" in these detailed pages, ignore all other values.
1 | 01 | LinkTopCell
1 | 02 | LinkNextCell
1 | 03 | LinkPrevCell
1 | 05 | LinkTopPG
1 | 06 | LinkNextPG
1 | 07 | LinkPrevPG
1 | 09 | LinkTopPGC
1 | 0A | LinkNextPGC
1 | 0B | LinkPrevPGC
1 | 0C | LinkGoUpPGC
1 | 0D | LinkTailPGC
1 | 10 | RSM
4 | -- | LinkPGCN | use bytes 6 and 7 as "NNNN" in this detailed page, ignore all other values.
5 | -- | LinkPTTN | use bytes 6 and 7 as "HTTT" in this detailed page, ignore all other values.
6 | -- | LinkPGN | use bytes 6 and 7 as "HHPP" in this detailed page, ignore all other values.
7 | -- | LinkCN | use bytes 6 and 7 as "HHNN" in this detailed page, ignore all other values.

Compare operation codes
register to register | Alternate mnemonic | Comments
--- | --- | ---
M | operation
1 | RegX & RegY | BC | Bitwise compare, the two operands are anded, if the result is non-zero the condition is true
2 | RegX == RegY | EQ | If the two operands are equal the condition is true
3 | RegX != RegY | NE | If the two operands are not equal the condition is true
4 | RegX >= RegY | GE | If RegX is greater than or equal to the right operand the condition is true
5 | RegX > RegY | GT | If RegX is greater than the right operand the condition is true
6 | RegX <= RegY | LE | If RegX is less than or equal to the right operand the condition is true
7 | RegX < RegY | LT | If RegX is less than the right operand the condition is true

Register Codes
0x00 through 0x0F | General Purpose registers 0 to 15 (GPRM)
0x80 through 0x97 | System Parameter registers 0 to 23 (SPRM)
all others | do not use

Numerically | Alphabetically | Index | Alphabetically | Numerically

DVD-Video info home | Copyright © 2001 - 2020 STN Software, all rights reserved.