Dreamcast GUI Screen Explanation

1998/09/21
Sega Enterprises, Inc.
Technical Support Center

 

This document contains information about GUI screens in the BootROM which are necessary for application control.
The document applies to the BootROM Ver. 0.813. Some functions and names may be changed in later BootROM versions.


Main Menu

This screen appears after the opening animation of the BootROM is completed. It is called the Main Menu screen. It gives access to four functions, namely starting a Dreamcast disc, playing digital audio tracks on CDs and GDs, managing backup files, and setting the user configuration.
These four functions allow for various implementations, depending on the Dreamcast disc contents and backup contents.
The following sections explain the functions and their format.
In development versions of the BootROM, version information may appear besides the time and date information at the top right of the screen.


File Management Screen

Selecting "File" from the multiplayer top menu brings up the following screen.

In this example, two memory cards are inserted in port A.
The front side port contains the Visual Memory for the game "Atsumete Gozilla Kaiju Daishugo" (already available), indicated by the Gozilla icon.
This icon is called a Volume Icon. Besides the VM program data for the Visual Memory, dedicated data for this icon must be provided.
The data must be in a file with the name ICONDATA_VMS, which uses the following format.

+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
+0000
VM comment data
+0010
Monochrome icon data offset
Color icon data offset
Reserved
+0020
Monochrome icon data
+00A0
Color icon palette data
+00C0
Color icon pixel data
+02B0

The terms used in the above table have the following meaning.

VM comment data
File attached to a Visual Memory product. Appears on the file management screen.
Monochrome icon data offset
Byte offset to the start point of monochrome icon data in the file
Value to be entered is 00000020h
Color icon data offset
Byte offset to the start point of color icon data in the file
Value to be entered is 000000A0h
Reserved
Fill with 00h
Monochrome icon data
Picture appearing on the LCD of the Visual Memory when the GUI is executed.
The icon size is 32x32 dots, with 1 bit per dot. Therefore one byte contains information for 8 dots. A bit value of "1" means black and a bit value of "0" means white. Pixels are arranged from left to right, with pixel information proceeding from the upper bit to the lower bit.
Color icon palette data
These are palette data for the volume icon. Using ARGB4444 color data, a total of 16 colors are stored.
Color icon pixel data
These are pixel data for the volume icon in palette format.
4 bits form 1 dot, with the upper 4 bits expressing the left side and the lower 4 bits the right side pixel data.
* All data must be expressed in Little-Endian format.


Save Data

Selecting a memory card on this screen and pressing button A brings up the following screen.

This screen shows a list of files saved on the selected memory card, as well as details about the selected file.
The screen contains various useful information which will be explained here.
The various parts of the screen as indicated by numbers and letters are as follows.

1GUI comment
2File name
3VM comment
4Save time
5Number of used blocks
6Data type

The part denoted by "A" is the so-called visual comment. This can be for example a miniaturized scene from the game, or a visual representation of contents such as "Chapter 2".
The graphic can also be animated. If the file management icon has animation information, the icon will be animated on the file management screen. In the above example, an animation of Gozilla spouting fire is used.

Next, let us have a look at the file format of other data besides those for the volume icons.
Besides data or programs, saved files must contain an information fork.
The information fork has the same structure for VM programs and data, but the position in the file is different.
VM program files contain the reset vector and other resource information, followed by the information fork, followed by the actual program. Other files such as saved data contain the information fork followed by the actual data.

Visual Memory programData

+0000hVisual Memory resources (vector information table etc.)
+0200hInformation fork
+xxxxhVisual Memory program data


Information fork
Data

The information fork is divided into two sections.
One is required and the other is optional, depending on the functions that are used.
The format of the data is as follows.

- Required section
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
+0000
VM comment data
+0010
GUI comment data
+0020
+0030
Game name
+0040 Number of icons Animation speed Visual type CRC Saved data size (*)
(*)
+0050
(*)
+0060
Icon palette data
+0070
+0080
Icon no. 1 pixel data
+0270
 

- Function-dependent section
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
+0280
Icon no. 2 pixel data
+xxxx
+xxxx
Icon no. 3 pixel data
+xxxx
+xxxx
Palette and pixel data for visual comment
+xxxx
* All data must be expressed in Little-Endian format.


  The terms used in the above table have the following meaning.

VM comment data
The file name to be displayed on the Visual Memory file management screen. The name uses ASCII characters and can be up to 16 characters long. For information on allowable characters, see the separate table.
GUI comment data
File comments to be shown on the Simple Player file management screen. Up to 32 ASCII characters.
Game name
Character string that is used for sorting the Simple Player file display. Uses special codes that are explained below.
Number of icons
The number of icons used for animation (1 - 3).
Animation speed
The rate at which animation icons are switched. Taking the value specified here as n, the switching interval is n/30 seconds. (The switching sequence is 1 -> 2 -> 3 -> 1 ->...)
Visual type
Specifies the type of visual comment.
0 means that no visual comment is used.
1Type A used
Size72 x 56 dots
Color formatDirect color (ARGB4444)
PaletteNot used
Pixel dataFor 1 dot, 2 bytes specify information from top left to bottom right
Number of blocks to be used
as visual comment data
16
2Type B used
Size72 x 56 dots
Color format256 color palette (8 bit)
PaletteARGB4444 format
Pixel dataFor 1 dot, 1 byte specifies information from top left to bottom right
Number of blocks to be used
as visual comment data
8
3Type C used
Size72 x 56 dots
Color format16 color palette (4 bit)
PaletteARGB4444 format
Pixel dataFor 2 dots, 1 byte specifies information from top left to bottom right
Number of blocks to be used
as visual comment data
4
CRC
Stores CRC data. When the backup utility functions are used, CRC data are generated and checked automatically. User applications are free to use or disregard CRC data.
Save data size
The block size of the data to be saved.
(*)
Reserved. Fill with 00h.
Icon palette data
Stores the icon palette data for animated icons.
The ARGB4444 format with 16 colors (4 bits) is used.
Multiple icons (for animation) use the same palette.
Icon no. 1 pixel data
Defines the file icon in 4-bit palette format.
The pixel size is 32 dots x 32 dots.
For non-animated icons, only this needs to be set.
For animated icons, the following items also need to be set.
Icon no. 2 pixel data
Used for animated icons with two or three images.
Specifications are the same as for icon no. 1.
Icon no. 3 pixel data
Used for animated icons with three images.
Specifications are the same as for icon no. 1.
Visual comment palette and pixel data
Used for adding a visual comment. The data type depends on the visual comment type (type A - C).
When a palette is used, it must be defined first, followed by the pixel data definition.
Because visual comments require a considerable amount of backup space, the decision whether to use comments and which comment type to use should be made after referring to the guidelines for writing Visual Memory software.
0123456 789ABCD EF
0 SP 0@ P`p -
1 ! 1 A Q aq
2 " 2 B R br
3 # 3 C S cs
4 $ 4 D T dt
5 % 5 E U eu
6 & 6 F V fv '
7 ' 7 G W gw
8 ( 8 H X hx
9 ) 9 I Y iy
A *: J Z jz
B +; K[ k{
C ,< L\ l|
D -= M] m} ... "
E .> N^ n~
F /? O _ o
Table: Allowable characters for VM comments and backup file names (characters shown in red in the table).


Game Names and Sorting

To sort files on the Simple Player file management screen, a game name must be set.
Only certain characters are allowed for game names, and the length is limited. The name is converted into special codes using a conversion table. The allowable characters are listed below.
NoChrHex
00なし00
0101
0202
0303
0404
0505
06"06
0707
0808
0909
100A
110B
120C
130D
140E
150F
1610
1711
1812
1913
NoChrHex
2014
2115
2216
2317
2418
2519
261A
271B
281C
291D
301E
311F
3220
3321
3422
3523
3624
3725
3826
3927
NoChrHex
4028
4129
422A
432B
442C
452D
462E
472F
4830
4931
5032
5133
5234
5335
5436
5537
5638
5739
583A
593B
NoChrHex
603C
613D
623E
633F
6440
6541
6642
6743
6844
6945
7046
71...47
7248
7349
744A
754B
764C
774D
784E
794F
NoChrHex
8050
81'51
82'52
83"53
84054
85155
86256
87357
88458
89559
9065A
9175B
9285C
9395D
The maximum length of the file name is 16 characters, using characters from the above table.
Some examples are shown below, along with an explanation of naming conventions.




{Examples of Japanese Language Titles}








Non-Japanese titles should be filled with 00 from the table.
Applications whose name exceeds 16 characters and which use an abbreviation for the GUI comment should be denoted by their abbreviation.


The entries 84 - 93 in the table (numerals) are assumed to be used only at the end of a name. A name should not start with a numeral.




For multi-part games which should be kept together when sorting, use similar names with numerals at the end. If the first part uses an abbreviated name, the same abbreviation should be used for other parts as well.

If years are used in a title, the game name should be set while keeping the 4-digit year 2000 in mind.
Ex.
  1. "Greatest Nine 98"
  2. "Greatest Nine 99"
  3. "Greatest Nine 2000"
As is, these would be sorted in the order 3 -> 1 -> 2. To avoid this, use the names
  1. "Greatest_Nine_1"
  2. "Greatest_Nine_2"
  3. "Greatest_Nine_3"
For titles with volume numbering where dual-digit numbers are to be expected, two digits should be used already from the beginning.
Ex.
"World Literature Collected Works 3" and
"World Literature Collected Works 12" should be named
"World_Lit03"
"World_Lit_12"
etc.
Also if there are no numbers used in the titles of multi- part works, numbers should be used in the game names to achieve proper sorting.




Once the actual game name has been decided, it must be converted into the dedicated code.
The above table also serves as a code conversion table. Convert the names as set according to the rules outlined above into the numbers shown in the table. A name of 16 characters results in 16 byte of data. These data should be passed on to the library function as game name when saving the data.


Format Settings

Next, let's take a look at the settings that can be made when formatting the Visual Memory.
The above illustration mentions an item that has not been explained yet, namely body color.
This item is also called the volume data. It can be set when formatting (initializing) the Visual Memory. It shows up as illustrated above.
The body color is set to the default for all Visual Memory cards when shipping. It can only be changed during formatting.
The formatting process is as follows.

012345 ... 32(bytes)
Initialization flag BlueGreenRedAlpha
Not used

Initialization flag (1 byte)
00h
No color data (factory default)
01h
Color data present
Body color data (4 bytes)
Order is Blue, Green, Red, Alpha (8 bits each).
For Alpha, 00h means fully transparent. Increasing values cause increasing opaqueness, with FFh being fully opaque.
For the other colors, 00h means dark, and increasing values cause increasing lightness.
Specifying 00h for all items results in the default color (white).
When formatting the Visual Memory, there are also other items that can be set.

The illustration above shows one of the setting screens that appear before formatting. A Visual Memory also contains so-called label icons.
The Main Menu file management screen shows icons that represent the Visual Memory cards. The icon can be set on the LCD as an original icon.
This is called the label icon. The BootROM contains 124 types of default icons, which are available for selection during formatting.
The default label icon can be incorporated into a program as picture data, using the BootROM font access function.


Default Label Icons

The icon shape can be obtained using the BootROM font function which is one of the BootROM service functions.
However, if a volume icon is set, that setting will have priority.

 


CD Playback Screen

Selecting "Sound" from the Simple Player top menu brings up this screen.

When a CD or GD is inserted, the demo picture of the CD rises and rotates. This CD picture may also be provided by the application.
When the application on the GD-ROM comprises a file called 0GDTEX.PVR which meets the following conditions, the image will be used in the animated display of the CD player.

  1. 256 x 256 dots
  2. ARGB4444 or ARGB1555 color format
  3. TWIDDLE texture
  4. Global index 0
  5. MIPMAP is optional
Because the texture data must be for a round shape, Sega provides Photoshop data to be used as a guideline in creating original texture data.
After replacing, the image looks as follows.



Setting Screen

Selecting "SET" at the bottom right of the GUI top menu brings up a screen for making various settings.

There are four main settings that can be made and saved here, but the SEGA library can also reference or update some of these settings.
The only settings that can be changed using the SEGA library are the date and time information and the stereo/mono information.
Date and time information can be referenced and updated with the following real-time clock functions:

syRtcGetDate function

syRtcSetDate function

Mono/stereo information can be referenced and updated with the following configuration functions:

syCfgGetSoundMode function

syCfgSetSoundMode function

Note that the stereo/mono information updating only changes the contents of the internal flash memory. It does not automatically switch the output of the application to stereo or mono.
The application should use the syCfgGetSoundMode function to check the setting made by the user and then used the sound function sdSndSetSpace to change the sound driver setting.

 



Return to Overview