MGV

From MSX Game Library

Revision as of 00:26, 31 March 2024 by Aoineko (talk | contribs)

MGLV is a video format for MSXgl.

Format

Header

Offset Size Desc. Value
0x0000 3 Signature "MGV"
0x0003 1 Flag
7  6  5  4  3  2  1  0
│           └──┴──┴──┴── File format version (0-15)
└─────────────────────── Include video format data (4 bytes)
(0x0004) 1 Video format - Image
7  6  5  4  3  2  1  0
│  │        └──┴──┴──┴── Screen mode (0-15)
└──┴──────────────────── Bit per pixel (0: 1-bit, 1: 2-bit, 2: 4-bit, 3: 8-bit)

Screen mode:

  • 0: Text 1 (40x27)
  • 1: Graphic 1 (32x27)
  • 2: Graphic 2 (32x27)
  • 3: Multi Color (64x53)
  • 4: Text 2 (80x27)
  • 5: Graphic 3 (32x27)
  • 6: Graphic 4 (256x212 16 colors)
  • 7: Graphic 5 (512x212 4 colors)
  • 6: Graphic 6 (512x212 16 colors)
  • 7: Graphic 7 (256x212 256 colors)
  • 8: Graphic 3 mirrored (undocumented)
(0x0005) 1 Video format - Replay
7  6  5  4  3  2  1  0
│  │        └──┴──┴──┴── Frame skip (0-15)
│  └──────────────────── Loop (0: No, 1: Yes)
└─────────────────────── Frequency (0: 50 Hz, 1: 60 Hz)
(0x0006) 1 Video format - Width 1-256
(0x0007) 1 Video format - Height 1-256

Commands

Cmd Options Desc.
00 End of data
01 End of line
02
03 End of segment (increment segment index and reset data pointer)
n4 Skip n bytes (1-16)
05 nn Skip nn bytes (1-256)
06 nnnn Skip nnnn bytes (1-65536)
07 Skip a frame / End of frame
n8 vv Fill n bytes (1-256) with vv value
09 vv,nn Fill nn bytes (1-256) with vv value
0A vv,nnnn Fill nnnn bytes (1-65536) with vv value
0B vv Fill a full frame with vv value
nC vv[n] Copy n bytes (1-256) from vv[n] data table
0D nn,vv[nn] Copy nn bytes (1-256) from vv[nn] data table
0E nnnn,vv[nnnn] Copy nnnn bytes (1-65536) from vv[nnnn] data table
0F vv[] Copy a full frame from data table (raw frame)

Extension

.MGLV (for Windows/Linux) or .MGV (for MSX-DOS)