ICONDATA_VMS is a hidden file that can be stored on a VMS to get a
custom icon for the VMS. In addition to the monochrome icon displayed
on the VMS screen, you can also have a 16-colour icon for the DC file
manager.
The ICONDATA_VMS file contains a small header, a monochrome 32×32 pixel
icon, and optionally a 16-colour 32×32 pixel icon. The header contains
a textual description of the file and two 32bit little endian integers:
Offset | Size (bytes) | Datatype | Contents |
$00 |
16 |
Text |
Description of file (shown in VMS file menu) |
$10 |
4 |
Integer |
Offset of monochrome icon |
$14 |
4 |
Integer |
Offset of colour icon,
or 0 if none |
|
The offsets are bytes from the beginning of the file.
The monochrome icon is simply stored as 1024 (32 * 32) consecutive
bits, 1 being black (foreground) and 0 being transparent
(background). The entire icon data is thus 128 bytes.
The optional colour icon has the same format as a regular VMS file
icon. Thus, by placing it at offset $60, it can double as the icon
for the ICONDATA_VMS file itself. (Not that it really needs an icon,
as it's hidden.) The icon data starts with 32 bytes palette
information, and following that 512 bytes of pixel data.
The palette consists of 16 16-bit little endian integers, one for each colour
in the palette. Each integer consists of four four-bit fields:
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Alpha |
Red |
Green |
Blue |
|
Alpha 15 is fully opaque, alpha 0 is fully transparent.
The pixel data consists of one nybble per pixel. Each byte thus
represents two horizontally adjacent pixels, the high nybble being the
left one and the low nybble being the right one. The entire icon
contains 1024 (32 * 32) nybbles, or 512 bytes.
Dreamcast Programming by Marcus Comstedt
Last modified: Mon Mar 27 17:20:05 MEST 2000