VMI files

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

Powered by RoxenDreamcast Programming by Marcus Comstedt
Last modified: Sun Apr 9 20:37:38 MEST 2000