A VMI file is used when a VMS file (either game or data) is to be retrieved
from a web server. The VMI file contains extra information about the file
(such as creation date) and names the resource on the web server that
contains the actual VMS file.
A VMI file is 108 bytes in size, and organized as follows:
Offset | Size (bytes) | Datatype | Contents |
00 |
4 |
Integer |
Checksum |
04 |
32 |
Text |
Description |
24 |
32 |
Text |
Copyright |
44 |
2 |
Integer |
Creation year |
46 |
1 |
Integer |
Creation month (1-12) |
47 |
1 |
Integer |
Creation day (1-31) |
48 |
1 |
Integer |
Creation hour (0-23) |
49 |
1 |
Integer |
Creation minute (0-59) |
4A |
1 |
Integer |
Creation second (0-59) |
4B |
1 |
Integer |
Creation weekday (0=sunday-6=saturday) |
4C |
2 |
Integer |
VMI version (set to 0) |
4E |
2 |
Integer |
File number (set to 1) |
50 |
8 |
Text |
.VMS resource name (without the .VMS) |
58 |
12 |
Text |
Filename (on the VMS) |
64 |
2 |
Integer |
File mode bitfield
15 .. 2 | 1 | 0 |
not used |
GAME (1=game, 0=data) |
PROTECT (1=copy protected, 0=copy ok) |
|
|
66 |
2 |
Integer |
? (set to 0) |
68 |
4 |
Integer |
File size in bytes |
|
Integer fields are stored as little endian binary numbers. Text fields are
padded with nul bytes at the end to the indicated length. Japanese systems
store Shift-JIS in these fields, whereas western systems use ISO-8859-1
(presumably).
The checksum is formed by anding the first four bytes of the ".VMS
resource name" field (offset $50) with the numbers $53, $45, $47, $41 ("SEGA")
respectively.
(Thanks to Loren Peace of
booyaka.com for filling out a few
blanks.)
Dreamcast Programming by Marcus Comstedt
Last modified: Sun Apr 9 20:37:38 MEST 2000