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