File Types
Jump to navigation
Jump to search
Author: Andress Barajas
Introduction
This guide will focus on file types that are associated with the Visual Memory Unit (VMU). The files types covered in this guide are .VMI .VMS and .DCI. First, some facts about the storage specs of the VMU:
- Officially has 200 blocks of free storage space where each block is 512 bytes. Files saved to the VMU take up a number of blocks so the file size is always a multiple of 512 bytes.
- Can only store one vmu game per VMU at one time.
- You can unlock 41 more blocks of storage by running this code here(include link)
VMI
Visual Memory Information File or VMI is just a link-type file that sits on a web server and is not stored/saved on the VMU at all. If you were to try and download a file with this extension using a web browser on the dreamcast, you will instead download a .VMS with the filename located at offset $58 to your VMU.
File Header
Source: [1]
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 (see table below) |
$66 | 2 | Integer | ? (set to 0) |
$68 | 4 | Integer | File size in bytes |
File mode bitfield:
15..2 | 1 | 0 |
---|---|---|
not used | GAME (1=game, 0=data) | PROTECT (1=copy protected, 0=copy ok) |
VMS
Visual Memory System File or VMS is a data-type file that contains either a game save, a vmu game, or special data (See EXTRA.BG.PVR and ICONDATA_VMS below).
File Header
Source: [2]
Offset | Size (bytes) | Datatype | Contents |
---|---|---|---|
$00 | 16 | Text | Description of file (shown in VMS file menu) |
$10 | 32 | Text | Description of file (shown in DC boot ROM file manager) |
$30 | 16 | String | Identifier of application that created the file |
$40 | 2 | Integer | Number of icons (>1 for animated icons) |
$42 | 2 | Integer | Icon animation speed |
$44 | 2 | Integer | Graphic eyecatch type (0 = none) |
$46 | 2 | Integer | CRC (Ignored for game files.) |
$48 | 4 | Integer | Number of bytes of actual file data following header, icon(s) and graphic eyecatch. (Ignored for game files.) |
$4C | 20 | Reserved (fill with zeros) | |
$60 | 32 | Integers | Icon palette (16 16-bit integers) |
$80 | 512*n | Nybbles | Icon bitmaps |
... | depends on type | ... | Graphic eyecatch palette and bitmap |
EXTRA.BG.PVR
- VMS Data file with pvr inside
- Not shown in DC Boot ROM file manager
- Used as sky texture during the bios menus
ICONDATA_VMS
- Not shown in DC Boot ROM file manager
- Hold Monochrome(vmu) and palette image (DC File manager) Include screen shots
- ALTERNATE 3D Bios Menu if at offset 0x2c0: DA 69 D0 DA C7 4E F8 36 18 92 79 68 2D B5 30 86
- Press start to switch over to a 30fps mode with light source shaded models. Can press start again to switch back.
DCI
Unlock 41 extra blocks
// Increase to 241 blocks
{
vmu_root_t root;
if(vmufs_root_read(dev, &root) < 0)
return -1;
root.blk_cnt = 241;
if(vmufs_root_write(dev, &root) < 0)
return -1;
}