libElysianVMU 1.6.0
Full-featured, accurate, cross-platform library emulating the Dreamcast's Visual Memory Unit
Loading...
Searching...
No Matches
evmu_vmi.h File Reference

Go to the source code of this file.

Data Structures

struct  EvmuVmi
 

Macros

#define EVMU_VMI_VERSION   0
 
Sizes and Limits

Sizes for EvmuVmi and its fields

#define EVMU_VMI_FILE_SIZE   108
 
#define EVMU_VMI_DESCRIPTION_SIZE   32
 
#define EVMU_VMI_COPYRIGHT_SIZE   32
 
#define EVMU_VMI_VMS_RESOURCE_SIZE   8
 
#define EVMU_VMI_VMS_NAME_SIZE   12
 
File Mode Flags

Bit positions and masks for EvmuVmi::fileMode fields

#define EVMU_VMI_GAME_POS   1
 
#define EVMU_VMI_GAME_MASK   0x2
 
#define EVMU_VMI_PROTECTED_POS   0
 
#define EVMU_VMI_PROTECTED_MASK   0x1
 

Detailed Description

EvmuVmi: Decoding and encoding of the .VMI format.

This file contains the structure and API around managing and working with the .VMI file format, whose data is represented by the EvmuVmi structure.

The .VMI format basically serves as a metadata file descriptor for .VMS files, and were used as the VMU file format with Dreamcast web browsers.

A web browser would follow a link to the .VMI file, which would then point to a corresponding .VMS file, and the two together would provide enough information to load the file onto the VMU.

Warning
Because the .VMI file is only a metadata descriptor file, it is never standalone, as it has no real data payload of its own. It must have a corresponding VMS file.
Note
At the low level, the .VMI format is essentially providing the filesystem with the same information as an EvmuDirEntry, such as the size of the corresponding file, its filesystem name, file type, copy protection mode, etc.
Author
2023 Falco Girgis
See also
evmu_vms.h

Definition in file evmu_vmi.h.

Macro Definition Documentation

◆ EVMU_VMI_COPYRIGHT_SIZE

#define EVMU_VMI_COPYRIGHT_SIZE   32

Size of the EvmuVmi::copyright field.

Definition at line 50 of file evmu_vmi.h.

◆ EVMU_VMI_DESCRIPTION_SIZE

#define EVMU_VMI_DESCRIPTION_SIZE   32

Size of the EvmuVmi::description field.

Definition at line 49 of file evmu_vmi.h.

◆ EVMU_VMI_FILE_SIZE

#define EVMU_VMI_FILE_SIZE   108

Size of a .vmi file the EvmuVmi structure.

Definition at line 48 of file evmu_vmi.h.

◆ EVMU_VMI_GAME_MASK

#define EVMU_VMI_GAME_MASK   0x2

Mask of the GAME flag within EvmuVmi::fileMode.

Definition at line 60 of file evmu_vmi.h.

◆ EVMU_VMI_GAME_POS

#define EVMU_VMI_GAME_POS   1

Bit of the GAME flag within EvmuVmi::fileMode.

Definition at line 59 of file evmu_vmi.h.

◆ EVMU_VMI_PROTECTED_MASK

#define EVMU_VMI_PROTECTED_MASK   0x1

Mask of the PROTECTED flag within EvmuVmi::fileMode

Definition at line 62 of file evmu_vmi.h.

◆ EVMU_VMI_PROTECTED_POS

#define EVMU_VMI_PROTECTED_POS   0

Bit of the PROTECTED flag within EvmuVmi::fileMode.

Definition at line 61 of file evmu_vmi.h.

◆ EVMU_VMI_VERSION

#define EVMU_VMI_VERSION   0

Value of the EvmuVmi::vmiVersion field.

Definition at line 65 of file evmu_vmi.h.

◆ EVMU_VMI_VMS_NAME_SIZE

#define EVMU_VMI_VMS_NAME_SIZE   12

Size of the EvmuVmi::fileNameOnVms field

Definition at line 52 of file evmu_vmi.h.

◆ EVMU_VMI_VMS_RESOURCE_SIZE

#define EVMU_VMI_VMS_RESOURCE_SIZE   8

Size of the EvmuVmi::vmsResourceName field.

Definition at line 51 of file evmu_vmi.h.