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

Go to the source code of this file.

Data Structures

struct  EvmuVms
 

Macros

Sizes and Limits

Sizes for EvmuVms and its fields

#define EVMU_VMS_SIZE   128
 
#define EVMU_VMS_VMU_DESCRIPTION_SIZE   16
 
#define EVMU_VMS_DC_DESCRIPTION_SIZE   32
 
#define EVMU_VMS_CREATOR_APP_SIZE   16
 
#define EVMU_VMS_RESERVED_SIZE   20
 
Palette Colors

RGBA Bitfields for icon pallette color format

#define EVMU_VMS_ICON_PALETTE_BLUE_POS   0
 
#define EVMU_VMS_ICON_PALETTE_BLUE_MASK   0x000f
 
#define EVMU_VMS_ICON_PALETTE_GREEN_POS   4
 
#define EVMU_VMS_ICON_PALETTE_GREEN_MASK   0x00f0
 
#define EVMU_VMS_ICON_PALETTE_RED_POS   8
 
#define EVMU_VMS_ICON_PALETTE_RED_MASK   0x0f00
 
#define EVMU_VMS_ICON_PALETTE_ALPHA_POS   12
 
#define EVMU_VMS_ICON_PALETTE_ALPHA_MASK   0xf000
 
Icons

Sizes and static info for VMS icons

#define EVMU_VMS_ICON_COUNT_MAX   3
 
#define EVMU_VMS_ICON_PALETTE_SIZE   16
 
#define EVMU_VMS_ICON_BITMAP_WIDTH   32
 
#define EVMU_VMS_ICON_BITMAP_HEIGHT   32
 
#define EVMU_VMS_ICON_BITMAP_SIZE   512
 
Eyecatch

Sizes and static info for VMS eyecatches

#define EVMU_VMS_EYECATCH_BITMAP_WIDTH   72
 
#define EVMU_VMS_EYECATCH_BITMAP_HEIGHT   56
 
#define EVMU_VMS_EYECATCH_PALETTE_SIZE_COLOR_256   512
 
#define EVMU_VMS_EYECATCH_PALETTE_SIZE_COLOR_16   32
 
#define EVMU_VMS_EYECATCH_BITMAP_SIZE_COLOR_16BIT   8064
 
#define EVMU_VMS_EYECATCH_BITMAP_SIZE_COLOR_256   4032
 
#define EVMU_VMS_EYECATCH_BITMAP_SIZE_COLOR_16   2016
 

Enumerations

enum  EVMU_VMS_EYECATCH_TYPE
 

Detailed Description

EvmuVms: Decoding and encoding of the .VMS format.

This file contains the structure and API around managing and working with the .VMS file format, whose header is represented by the EvmuVms structure.

Warning
When distributing a .VMS file, there should almost ALWAYS be a corresponding .VMI file providing its metadata information to Web Browsers and the filesystem. While EVMU can load GAME .VMS files without a corresponding .VMI file, this is not something typically supported. Make sure you have one if you choose to distribute a ROM file!
Author
2023 Falco Girgis
See also
evmu_vmi.h

Definition in file evmu_vms.h.

Macro Definition Documentation

◆ EVMU_VMS_CREATOR_APP_SIZE

#define EVMU_VMS_CREATOR_APP_SIZE   16

Size of the EvmuVms::creatorApp field.

Definition at line 37 of file evmu_vms.h.

◆ EVMU_VMS_DC_DESCRIPTION_SIZE

#define EVMU_VMS_DC_DESCRIPTION_SIZE   32

Size of the EvmuVms::dcDesc field.

Definition at line 36 of file evmu_vms.h.

◆ EVMU_VMS_EYECATCH_BITMAP_HEIGHT

#define EVMU_VMS_EYECATCH_BITMAP_HEIGHT   56

Height of a VMS eyecatch.

Definition at line 71 of file evmu_vms.h.

◆ EVMU_VMS_EYECATCH_BITMAP_SIZE_COLOR_16

#define EVMU_VMS_EYECATCH_BITMAP_SIZE_COLOR_16   2016

Size of a VMS eyecatch using a 16-color palette

Definition at line 76 of file evmu_vms.h.

◆ EVMU_VMS_EYECATCH_BITMAP_SIZE_COLOR_16BIT

#define EVMU_VMS_EYECATCH_BITMAP_SIZE_COLOR_16BIT   8064

Size of a VMS eyecatch using 16-bit colors.

Definition at line 74 of file evmu_vms.h.

◆ EVMU_VMS_EYECATCH_BITMAP_SIZE_COLOR_256

#define EVMU_VMS_EYECATCH_BITMAP_SIZE_COLOR_256   4032

Size of a VMS eyecatch using a 256-color palette.

Definition at line 75 of file evmu_vms.h.

◆ EVMU_VMS_EYECATCH_BITMAP_WIDTH

#define EVMU_VMS_EYECATCH_BITMAP_WIDTH   72

Width of a VMS eyecatch.

Definition at line 70 of file evmu_vms.h.

◆ EVMU_VMS_EYECATCH_PALETTE_SIZE_COLOR_16

#define EVMU_VMS_EYECATCH_PALETTE_SIZE_COLOR_16   32

Palette size of a VMS eyecatch using 16 color mode.

Definition at line 73 of file evmu_vms.h.

◆ EVMU_VMS_EYECATCH_PALETTE_SIZE_COLOR_256

#define EVMU_VMS_EYECATCH_PALETTE_SIZE_COLOR_256   512

Palette size of a VMS eyecatch using 256 color mode.

Definition at line 72 of file evmu_vms.h.

◆ EVMU_VMS_ICON_BITMAP_HEIGHT

#define EVMU_VMS_ICON_BITMAP_HEIGHT   32

Height of a VMS icon.

Definition at line 62 of file evmu_vms.h.

◆ EVMU_VMS_ICON_BITMAP_SIZE

#define EVMU_VMS_ICON_BITMAP_SIZE   512

Size of a single icon in bytes

Definition at line 63 of file evmu_vms.h.

◆ EVMU_VMS_ICON_BITMAP_WIDTH

#define EVMU_VMS_ICON_BITMAP_WIDTH   32

Width of a VMS icon.

Definition at line 61 of file evmu_vms.h.

◆ EVMU_VMS_ICON_COUNT_MAX

#define EVMU_VMS_ICON_COUNT_MAX   3

Maximum number of icons within a VMS file.

Definition at line 59 of file evmu_vms.h.

◆ EVMU_VMS_ICON_PALETTE_ALPHA_MASK

#define EVMU_VMS_ICON_PALETTE_ALPHA_MASK   0xf000

Bit mask of the alpha color channel withiin an EvmuVms::palette entry

Definition at line 52 of file evmu_vms.h.

◆ EVMU_VMS_ICON_PALETTE_ALPHA_POS

#define EVMU_VMS_ICON_PALETTE_ALPHA_POS   12

Bit position of the alpha color channel within an EvmuVms::palette entry.

Definition at line 51 of file evmu_vms.h.

◆ EVMU_VMS_ICON_PALETTE_BLUE_MASK

#define EVMU_VMS_ICON_PALETTE_BLUE_MASK   0x000f

Bit mask of the blue color channel within an EvmuVms::palette entry.

Definition at line 46 of file evmu_vms.h.

◆ EVMU_VMS_ICON_PALETTE_BLUE_POS

#define EVMU_VMS_ICON_PALETTE_BLUE_POS   0

Bit positon of the blue color channel within an EvmuVms::palette entry.

Definition at line 45 of file evmu_vms.h.

◆ EVMU_VMS_ICON_PALETTE_GREEN_MASK

#define EVMU_VMS_ICON_PALETTE_GREEN_MASK   0x00f0

Bit mask of the green color channel within an EvmuVms::palette entry.

Definition at line 48 of file evmu_vms.h.

◆ EVMU_VMS_ICON_PALETTE_GREEN_POS

#define EVMU_VMS_ICON_PALETTE_GREEN_POS   4

Bit position of the green color channel within an EvmuVms::palette entry.

Definition at line 47 of file evmu_vms.h.

◆ EVMU_VMS_ICON_PALETTE_RED_MASK

#define EVMU_VMS_ICON_PALETTE_RED_MASK   0x0f00

Bit mask of the red color channel within an EvmuVms::palette entry.

Definition at line 50 of file evmu_vms.h.

◆ EVMU_VMS_ICON_PALETTE_RED_POS

#define EVMU_VMS_ICON_PALETTE_RED_POS   8

Bit position of the red color channel within an EvmuVms::palette entry.

Definition at line 49 of file evmu_vms.h.

◆ EVMU_VMS_ICON_PALETTE_SIZE

#define EVMU_VMS_ICON_PALETTE_SIZE   16

Number of entries within a VMS icon palette.

Definition at line 60 of file evmu_vms.h.

◆ EVMU_VMS_RESERVED_SIZE

#define EVMU_VMS_RESERVED_SIZE   20

Size of the EvmuVms::reserved field

Definition at line 38 of file evmu_vms.h.

◆ EVMU_VMS_SIZE

#define EVMU_VMS_SIZE   128

Size of the VMS header and EvmuVms structure.

Definition at line 34 of file evmu_vms.h.

◆ EVMU_VMS_VMU_DESCRIPTION_SIZE

#define EVMU_VMS_VMU_DESCRIPTION_SIZE   16

Size of the EvmuVms::vmuDesc field.

Definition at line 35 of file evmu_vms.h.

Enumeration Type Documentation

◆ EVMU_VMS_EYECATCH_TYPE

Types of different eyecatch formats.

Enumerator
EVMU_VMS_EYECATCH_NONE 

None.

EVMU_VMS_EYECATCH_16BIT 

16-bit Color

EVMU_VMS_EYECATCH_PALETTE_256 

256-Entry Palleted

EVMU_VMS_EYECATCH_PALETTE_16 

16-Entry Palleted

EVMU_VMS_EYECATCH_COUNT 

Number of Formats.

Definition at line 84 of file evmu_vms.h.

84 {
EVMU_VMS_EYECATCH_TYPE
Types of different eyecatch formats.
Definition evmu_vms.h:84
@ EVMU_VMS_EYECATCH_COUNT
Number of Formats.
Definition evmu_vms.h:89
@ EVMU_VMS_EYECATCH_PALETTE_16
16-Entry Palleted
Definition evmu_vms.h:88
@ EVMU_VMS_EYECATCH_16BIT
16-bit Color
Definition evmu_vms.h:86
@ EVMU_VMS_EYECATCH_PALETTE_256
256-Entry Palleted
Definition evmu_vms.h:87
@ EVMU_VMS_EYECATCH_NONE
None.
Definition evmu_vms.h:85