ICONDATA_VMS

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:
OffsetSize (bytes)DatatypeContents
$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.

Monochrome icon

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.

Colour icon

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.

Palette

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:
1514131211109876543210
Alpha Red Green Blue
Alpha 15 is fully opaque, alpha 0 is fully transparent.

Pixel data

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.


Powered by RoxenDreamcast Programming by Marcus Comstedt
Last modified: Mon Mar 27 17:20:05 MEST 2000