Navigation Commands



This is the list of all Navigation Commands for programming BDMV applications in HDMV mode (also BD-J mode). It's a neutral low-level programming language somewhat "similar" to assembly, that is used to control navigation and menu graphics. The code is stored and compiled into a object code file called a Movie Object. In BD-J mode, an Xlet can be programmed to comtrol these commands. Two examples are provided, one written in Scenarist's syntax and BDedit's syntax.

Branch Command Group

Command
Meaning Operand Opcode
Nop No Operand, Empty command.
No Operand.
00000000  00000000 00000000
GoTo
Jumps to another Command Line

Examples:
     GoTo End — go to the command following the label “End:”.
     GoTo [ 12 ] — go to the command whose number is in register GPR_12.
command_id = Оrder number (from zero) for the next command. 
GoTo GPR 0: 20010000 0000000C 00000000

GoTo PSR 0: 20010000 8000000C 00000000

GoTo Imm 0: 20810000 8000000C 00000000
 
Break Break and exit from the list of the current commands  No Operand. 00020000 00000000 00000000 
JumpObject Jump to the specified Movie Object

Examples:
     JumpObject 1 — jump to the Movie Object with id 1.
     JumpObject [ 5 ] — jump to the Movie Object whose number is in register GPR_5.
mobj_id - Defines the mobj_id value for the Movie Object. JumpObject 1: 21800000 00000001 0000000

JumpObject
GPR 1: 21000000 80000001 00000000

JumpObject
PSR 1: 20810000 80000001 00000000
JumpTitle Jump to the specified Title

Examples:
     JumpTitle 1 — jump to the Title with id 1.
     JumpTitle [ 5 ] — jump to the Title whose number is in register GPR_5
title_number - Defines the title number. JumpTitle 1: 21810000 00000001 00000000 

JumpTitle
GPR 1: 21010000 00000001 00000000

JumpTitle
PSR 1: 21010000 80000001 00000000
CallObject
Stop current playback and jump to the specified Movie Object.

Examples:
     CallObject 1 — jump to the Movie Object with id 1.
     CallObject [ 5 ] — jump to the Movie Object whose number is in register
GPR_5.
 mobj_id - Defines the mobj_id value for the Movie Object. CallObject 1: 21820000 00000001 00000000

CallObject
GPR 1: 21020000 00000001 00000000

CallObject
PSR 1 21020000 80000001 00000000
CallTitle Stop current playback and jump to the specified Title

Examples:
     CallTitle 1 — jump to the Title with id 1.
     CallTitle [ 5 ] — jump to the Title whose number is in register GPR_5.
title_number - Defines the title number.
CallTitle 1: 21830000 00000001 00000000

CallTitle
GPR 1: 21030000 00000001 00000000

CallTitle
PSR 1 21030000 80000001 00000000
Resume Restore previously stopped playback
No Operand. 01040000 000000 000000
TerminatePL Exit from playback of current PlayList
No Operand. 02030000 000000 000000
LinkPI Go to the specified PlayItem

Examples:
    LinkPI 1 — change playback position to the PlayItem with id 1.
    LinkPI [ 5 ] — change playback position to the PlayItem whose number is in
register GPR_5.
PlayItem_id - Defines the PlayItem id.  02040000 000000 000000

LinkPI 1: 22840000 00000001 00000000

LinkPI
GPR 1: 22040000 00000001 00000000
 
 
LinkPI PSR 1: 22040000 80000001 00000000
LinkMK
Go to the specified PlayListMark

Examples:
    LinkMK 1 — change playback position to the PlayList Mark with id 1.
    LinkMK [ 5 ] — change playback position to the PlayList Mark whose
number is in register GPR_5.
PL_mark_id - Defines the PlayList Mark.id. 02040000 000000 000000

LinkPI 1: 22850000 00000001 00000000

LinkPI GPR 1: 22050000 00000001 00000000

LinkPI PSR 1: 22050000 80000001 00000000 
 
 

Compare Command Group

Command Meaning
BC or If & Binary Compare

Examples:
 BC
[5] 7
 If
[5]
& 7

    BC 1, 1: 48C00100 00000001 00000001

    BC GPR 1, 1: 48400100 00000001 00000001

    BC PSR 1, 1: 48400100 80000001 00000001

EQ or If == Equals

Examples:
EQ [5] 7
If [5] == 7

    EQ 1, 1 : 48C00200 00000001 00000001

    EQ GPR 1, 1: 48400200 00000001 00000001

    EQ PSR 1, 1: 48400200 80000001 00000001

NE or If != Not Equals

Examples:
NE [5] 7
If [5] != 7

    NE 1, 1: 48C00300 00000001 00000001

    NE GPR 1, 1: 48400300 00000001 00000001

    NE PSR 1, 1: 48400300 80000001 00000001

GE or If >= Greater Than or Equal to

Examples:
GE [5] 7
If [5] >= 7

    GE 1, 1: 48C00400 00000001 00000001

    GE GPR 1, 1: 48400400 00000001 00000001

    GE PSR 1, 1: 48400400 80000001 00000001

GT or If > Greater Than

Examples:
GT [5] 7
If [5] > 7

    GT 1, 1: 48C00500 00000001 00000001

    GT GPR 1, 1: 48400500 00000001 00000001

    GT PSR 1, 1: 48400500 80000001 00000001

LE or If <= Less Than or Equals to

Examples:
LE [5] 7
If [5] <= 7

    LE 1, 1: 48C00600 00000001 00000001

    LE GPR 1, 1: 48400600 00000001 00000001

    LE PSR 1, 1: 48400600 80000001 00000001

LT or If < Less Than

Examples:
LT [5] 7
If [5] < 7

    LT 1, 1 : 48C00700 00000001 00000001

    LT GPR 1, 1 : 48400700 00000001 00000001

    LT PSR 1, 1 : 48400700 80000001 00000001

Set Command Group

Command Meaning
Move Set value to GPR

Examples:
Move [5] 7 — move 7 in to register GPR_5.

    Move GPR 1, 1: 50400001 00000001 00000001

    Move PSR 1, 1: 50400001 80000001 00000001

 Swap Change values between two GPRs

Examples:
Swap [5] 7 — swap data in registers GPR_5 and GPR_7.

    Swap GPR 1, 1: 50400002 00000001 00000001

    Swap PSR 1, 1: 50400002 80000001 00000001

 Add Add value to GPR

Examples:
Add [5] 7 — move 7 + GPR_5 in to register GPR_5.

    Add GPR 1, 1: 50400003 00000001 00000001

    Add PSR 1, 1: 50400003 80000001 00000001

 Sub Subtract value from GPR
 
Examples:
Sub [5] — move GPR_5 - 7 in to register GPR_5.

    Sub GPR 1, 1: 50400004 00000001 00000001

    Sub PSR 1, 1: 50400004 80000001 00000001

 Mul Multiply value to GPR
 
Examples:
Mul [5] — move GPR_5 × 7 in to register GPR_5.

    Mul GPR 1, 1: 50400005 00000001 00000001

    Mul PSR 1, 1: 50400005 80000001 00000001

 Div Divide value to GPR

Examples:
Div [5] — move GPR_5 / 7 in to register GPR_5.

    Div GPR 1, 1: 50400006 00000001 00000001

    Div PSR 1, 1: 50400006 80000001 00000001

 Mod
Modulus value to GPR
 
Examples:
Mod [ 5 ] — move GPR_5 % 7 in to register GPR_5.

   Mod GPR 1, 1: 50400007 00000001 00000001

   Mod PSR 1, 1: 50400007 80000001 00000001

 Rnd
Store Random number in GPR

Examples:
Rnd [5] — move random value from 1 to 7 in to register GPR_5.

   Rnd GPR 1, 1: 50400008 00000001 00000001

   Rnd PSR 1, 1: 50400008 80000001 00000001

 And Binary AND to GPR
 
Examples:
And [5] — move GPR_5 & 7 in to register GPR_5.

   And GPR 1, 1: 50400009 00000001 00000001

   And PSR 1, 1: 50400009 80000001 00000001

 Or Binary OR to GPR

Examples:
Or [ 5] — move GPR_5 | 7 in to register GPR_5.

   Or GPR 1, 1: 5040000A 00000001 00000001

   Or PSR 1, 1: 5040000A 80000001 00000001

 Xor Binary OR to GPR
 
Examples:
Xor [ 5 ] — move GPR_5 | 7 in to register GPR_5.

   Xor GPR 1, 1: 5040000B 00000001 00000001

   Xor PSR 1, 1: 5040000B 80000001 00000001

 Xor Binary XOR to GPR

Examples:
Xor [5] — move GPR_5 ^ 7 in to register GPR_5.

   Xor GPR 1, 1: 5040000B 00000001 00000001

   Xor PSR 1, 1: 5040000B 80000001 00000001

BitSet
Set bit in GPR
 
Examples:
BitSet [5]   — set 7th bit in GPR_5 in to 1

   BitSet GPR 1, 1: 5040000C 00000001 00000001

   BitSet PSR 1, 1: 5040000C 80000001 00000001

BitClear Set bit to "0" in GPR
 
Examples:
BitClear [5]   — set 7th bit in GPR_5 in to 0

   BitClear GPR 1, 1: 5040000D 00000001 00000001

   BitClear PSR 1, 1: 5040000D 80000001 00000001

ShiftLeft  Zeros are shifted into low-order bit in GPR
 
Examples:
ShiftLeft [5]   — shift left GPR_5 value by 7.

   ShiftLeft GPR 1, 1: 5040000E 00000001 00000001

   ShiftLeft PSR 1, 1: 5040000E 80000001 00000001

ShiftRight Zeros are shifted into high-order bit in GPR

Examples:
ShiftRight [5]   — shift right GPR_5 value by 7.

   ShiftRight GPR 1, 1: 5040000F 00000001 00000001

   ShiftRight PSR 1, 1: 5040000F 80000001 00000001

 ShiftRight Zeros are shifted into high-order bit in GPR
 
Examples:
ShiftRight [5]   — shift right GPR_5 value by 7.

   ShiftRight GPR 1, 1: 5040000F 00000001 00000001

   ShiftRight PSR 1, 1: 5040000F 80000001 00000001

Setsystem Command Group

Command Meaning
SetStream Set Audio, PG, Text subtitle, Angle, and IG streams
Examples:
SetStream ShowPG_textST: Off Audio [4075]  PG_textST: [4076]

SetStream ShowPG_textST: On Audio [5] PG_textST: [6] IG: [7] Angle: [8]

  •    SetStream : 11000001 00000000 00000000
  •    SetStream (GPR 0), (GPR 1), (GPR 0), (GPR 1): 51000001 00000001 00000001
  •    SetStream GPR 4086 , (GPR 0), (GPR 0), (GPR 0): 51000001 8FF60000 00000000
  •    SetStream (GPR 0), GPR 4086, (GPR 0), (GPR 1): 51000001 00008FF6 00000000
SetNVTimer Set Navigation Timer

Examples:
SetNVTimer 1 10
— jump to Movie Object with Id 1 after 10 seconds.
  •    SetNVTimer: 11000002 00000000 00000000
  •    SetNVTimer 1 10: 51C00002 51C00002 0000000A
SetButtonPage Set Button ID and/or Page ID
Examples:
SetButtonPage Button:[5] Page (Effect:On):[6]
  • SetButtonPage GPR 4086, GPR 6: 51000003 80000FF6 C0000FF7
  • SetButtonPage (GPR 1), (GPR 1): 51000003 00000001 00000001
EnableButton Set Button to "normal" state

Examples:
EnableButton 
[5]
  •    EnableButton GPR 3: 31000004 00000003 00000000
  •    EnableButton PS R 3: 31000004 80000003 00000000 
DisableButton Set Button to "normal" state

Examples:
DisableButton [5]
  •    DisableButton GPR 3: 31000005 00000003 00000000
  •    DisableButton PSR 3: 31000005 80000003 00000000
SetSecondaryStream Set Secondary Video, Secondary Audio, and PiP PG / Text subtitle streams

Examples:
SetSecondaryStream ShowVideo: On PlayAudio: On ShowPiP_PG_textST: On VideoSize: 0xf Video: 1 Audio: 2 PiP_PG_textST (Valid: On) : 3

  •    SetSecondaryStream: 11000006 00000000 00000000
  •    SetSecondaryStream (0), (GPR 1) (GPR 0) (GPR 1): 51000006 00000001 00000001
  •    SetSecondaryStream (0), (1) (GPR 0) (GPR 1): 51800006 00000001 00000001
  •    SetSecondaryStream (0), (1) (0) (1): 51C00006 00000001 00000001
PopUpMenuOff Turn off pop up menu
  •    PopUpMenuOff: 11000007 00000000 00000000
StillOn Hold playback
  •    StillOn: 11000008 00000000 00000000
StillOff Restart playback after Hold
  •    StillOff: 11000009 00000000 00000000
SetOutputMode
Sets 3D output
  •    SetOutputMode GPR1: 3100000A 00000001 00000000
  •    SetOutputMode PSR1: 3100000A 80000001 00000000
  •    SetOutputMode 1: 3180000A 80000001 00000000
SetStreamSS Set 3D video (SS file)
  • SetStreamSS (GPR 0), (GPR 1), (GPR 0), (GPR 1): 5100000B 00000001 00000000

Author(s) : Γ† Firestone

on Friday, March 8, 2024 | | A comment?
0 responses to “Navigation Commands”

Leave a Reply

Popular Pages