### Mnemonic: SetHL_BTNN

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

Action: | The SetHL_BTNN command sets the selected (highlighted) button number (SPRM 8). The indirect form sets SPRM 8 to the value in GPRM register "S" (byte 5 lower nibble). The value in the GPRM register should be the button number multiplied by 1024. The direct form sets SPRM 8 to "SSSS" (bytes 4&5). 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 SetHL_BTNN is executed.
Comments: | The command can be conditional or be combined with a link command, but not both. See also SPRMs for information on SPRM 8 values.

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

Numerically | Alphabetically | Index | Alphabetically | Numerically

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