###############################################
# #
# FAQ's by Douglas Christensen Jr #
# #
###############################################
# The Contents of the VMI file #
# v0.1 #
###############################################
Created On: 12/18/2001
Revision On: 12/18/2001
Basic Questions
What is a VMI file?
The VMI file contains basic information regarding the VMS file to be downloaded. When you select a Dreamcast game save to download to your VMU from the internet, it must go thru a VMI file.
Why go through a VMI file?
This was a process developed by SEGA and Netfront (makers of DreamKey and DreamPassport). The VMI file was used to display the save’s version information, copyright holder, and a description. the VMS file does not contain this information.
Planetweb followed suit most likely for compatability.
The Advanced Stuff
What does a VMI file look like?
The VMI file is 108 bytes (108 characters), and contain the information used by the browser to decide what to do with the data.
The following is a list of the data present in the VMI file, it’s location, and length.
| Hex | Length | Type | Description |
|---|---|---|---|
| 000 | 04 | int | The VMI Checksum |
| 004 | 32 | tex | Description |
| 024 | 32 | tex | Copyright |
| 044 | 02 | int | Year |
| 046 | 01 | int | Month (1 to 12) |
| 047 | 01 | int | Day (1 to 31) |
| 048 | 01 | int | Hour (0 to 23) |
| 049 | 01 | int | Minute (0 to 59) |
| 04A | 01 | int | Second (0 to 59) |
| 04B | 01 | int | Weekday (0 to 6) |
| 04C | 02 | int | VMI version |
| 04E | 02 | int | File Number |
| 050 | 08 | tex | VMS Name (without .vms) |
| 058 | 12 | tex | File name on system |
| 064 | 02 | int | File Mode |
| 066 | 02 | int | Unknown, set to 0 |
| 068 | 04 | int | File Size |
What does it all do?
The Check Sum
In theory, this is supposed to validate if the save is real or not, and that it is a valid save. It is supposed to be the numerical value of SEGA added with the numerical value of the first 4 letters of the VMI name.
However; there seems to be a shortcut around this process… setting the checksum value to 16,0,0,0 seems to get thru any browser.
Description
This is a bit misleading. The VMI specification declares this the description, however, on the DreamKey browser, this is displayed as Created By.
Planetweb does not display VMI information on screen.
Copyright
This, too, is misleading. The VMI specification declares this the copyright, however, on the DreamKey browser, this is portrayed as something different (update later with exact DK title).
Planetweb does not display VMI information on screen.
The Dates Section
This is where the dates are supposed to be at. Here, the browser should detect what date and time the file was created… however; I’ve not seen a browser use this information yet. The VMU Uploader developed by me just fills this section with random numbers.
The VMI Version
On the DreamKey/DreamPassport browser, when you download a VMI file, this displays as the version number (Example: Version 1.5). On the VMU uploader developed by me, this is filled with 0’s
File Number
This is set to 1. It is unknown what it truly does. I speculate this is how to create multiple downloads (example: you click on one VMI link and it’d download two or three VMS files).
VMS File Name
This is the name of the VMS file on the webserver. DO NOT INCLUDE THE .VMS extension. (Example: if you want the vmi file to load MYSAVE.VMS, this should be filled in as MYSAVE.)
This can only be 8 characters long. If the file name is less then 8, the reset should be padded with 0’s (null).
File Name on System
This is what the file will be saved as on the VMU when downloaded. This is the part that allows the VMU renamer to work.
Example: I upload my Tony Hawk Pro Skater 2 custom park to the server. (TONYHWK2.P00) I could have the script write MONKEYMAN in this spot and when someone downloads the file, it will be saved to the VMU as MONKEYMAN, not TONYHWK.P00 (however, they will not be able to use the file cause most games are told to only recognize a certain type of file name)
File Mode
This declares if the file is a game or game save and if it can be copied or not.
The VMU uploader I developed will only save as the following: Game save that is not copy protected. (meaning, it’s a game save and you can copy it to another memory card).
Unknown
The unknown section is just that. It is unknown and has no specification. Set this to null (0’s)
File Size
This tells the browser how large the file is. Each of the four digits represents a number. However, the VMU Uploader I developed ONLY uses the second digit (the 256 byte column). A one block game save would set this column to 2, 2 blocks is 4, 3 blocks is 6, etc.
Permission granted to be displayed on the following sites.
http://kefka.hypermart.net/ (Dead Link)
http://dc-network.hypermart.net/ (Dead Link)
http://groups.yahoo.com/group/DreamcastBrowsers/ (Dead Link)
and all directories therein.
Version History
1.0 12/18/2001 First Version