How Menus Work - Part 1

Video, Subpictures, and Buttons

These are the three main ingredients for any menu. We'll talk about some special features of video and subpictures that make menus possible, and then describe the buttons themselves. All of the information specific to menus is contained in the PCI packet, part of the NAV Pack.

The Video

Video forms the bottom visual layer, and combined with the audio determines the nature of the menu. What is most often considered a menu will have audio/video that is a loop or a still, this includes motion video that eventually freezes. It is also possible to make a menu using normal motion video that does not loop or still. This is rare in the "menu" context, but is the mechanism used for "button over video".

The Subpicture

The subpicture graphic is used by menus to define the four colors of the buttons. What is difficult for most beginners to understand is that the color associated with the pixel value changes according to the "state" of the button. Subpictures can be used in many creative ways to draw attention to the selected button. Some menus use rectangles around text in the video layer to indicate where the button is. Others use icons next to a button graphic (again, in the video level). And others take advantage of the alpha blending to hide and uncover buttons in the video layer.

The color schemes and lookup tables

The base layer of the subpicture is used for buttons in the "normal" state, and for all areas not designated as part of any button. This works like a normal subpicture, using the
CLUT of the menu PGC as indexed by Set Color and Set Contr commands (this is covered in How Subpictures Work, Part 2). However, to find the "selected" or "actioned" button, the pixels take on different color/transparency values. It would be nice, but overkill, if we could define these two other color palettes individually for each button. Instead, there are three color schemes, and each button can be assigned to one of them, or no color scheme (turning of the "selected" and "action" color changes) defined in the Button Information Table.

And now - Buttons

As you can see from the
Button Information Table there's a lot more to a button than just some color changes. The first thing we need to know is where these color changes are to take place. This is a rectangle described by Starting X, Ending X, Starting Y, and Ending Y. These areas can overlap, and combined with different color schemes for the overlapped areas, can be used very creatively.
The next thing that the table contains is used for navigation by the cursor keys (or joystick on some players), it gives the next button above, below, to the left, and to the right of the button being described. As you can see, the player knows nothing of the geometry, and some bizarre navigation can be defined here.
The last thing in the table is one, yes only one, command to execute if the button is actioned. Does this sound restrictive? Well, it's really not. Most commands can do more than one thing, such as go to another menu and define the button to be selected (also called highlighted) on entry.


Normally when a button is selected, it changes color, and waits for the user to press "enter" on the remote. Setting the Auto-Action flag for a button eliminates the need to press "enter", simply selecting the button (usually by the numeric keypad) causes it to execute its command. There are other uses, such as entering a numeric password, as the command (or series of cell commands) need not cause you to leave the menu. A simple numeric entry menu would show a numeric keypad and "enter" key, each numeric button would then execute cell commands to multiply the sum (preset to zero by the pre commands) by 10 and add the value of the new key.

Display Modes

If you read up on subpictures, you know that 16:9 video can have up to three display modes permitted, and there can be a separate subpicture for each. To make sure the button rectangles also end up in the right place, 16:9 menus can have up to three groups of buttons. The groups are formed by dividing the 36 buttons amongst the modes. If there are two display modes, then each has 18 buttons. If there are three display modes, each has 12 buttons. Although conventionally the buttons of each display mode do the same thing, it is not a requirement. So you could make a menu with different capabilities based on the current display mode. This really makes sense if the menu is for selecting the display mode, but can be used anytime.
More articles
DVD-Video info home Copyright © 2003 - 2017 MPUCoder, all rights reserved.