MGV

From MSX Game Library

Revision as of 01:12, 31 March 2024 by Aoineko (talk | contribs) (Header)

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)
│        └────────────── Segment size (0: 8 KB, 1: 16 KB)
└─────────────────────── Include video format data (4 bytes)
(0x0004) 1 Video format - Image
7  6  5  4  3  2  1  0
│  │  │     └──┴──┴──┴── Screen mode (0-15)
│  │  └───────────────── Screen width (0: 256 px, 1: 512 px)
└──┴──────────────────── Bit per pixel (0: 1-bit, 1: 2-bit, 2: 4-bit, 3: 8-bit)

Screen mode:

  • 0: Text 1 (Screen 0 width 40, 40x27)
  • 1: Graphic 1 (Screen 1, 32x27)
  • 2: Graphic 2 (Screen 2, 32x27)
  • 3: Multi Color (Screen 3, 64x53)
  • 4: Text 2 (Screen 0 width 80, 80x27)
  • 5: Graphic 3 (Screen 4, 32x27)
  • 6: Graphic 4 (Screen 5, 256x212, 16 colors)
  • 7: Graphic 5 (Screen 6, 512x212, 4 colors)
  • 6: Graphic 6 (Screen 7, 512x212, 16 colors)
  • 7: Graphic 7 (Screen 8, 256x212, 256 colors)
  • 8: Graphic 7 + YJK + YAE (Screen 10, 256x212, X colors)
  • 9: Graphic 7 + YJK (Screen 12, 256x212, X colors)
  • 10: Graphic 3 mirrored 0000 (undocumented)
  • 11: Graphic 3 mirrored 0101 (undocumented)
  • 12: Graphic 3 mirrored 0022 (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)

At 50 Hz, a frame skip of 1 means 25 fps At 60 Hz, a frame skip of 5 means 10 fps

(0x0006) 1 Video format - Width 1-256 (or 2-512 for Screen mode 6 and 7)
(0x0007) 1 Video format - Height 1-256

Commands

Cmd Options Desc.
00 End of data
01 End of line
x2 Switch to table

x:

  • 0: Pattern table (default)
  • 1: Color table (screen mode 1, 2 and 3)
  • 2: Layout table (tile based modes)
03 End of segment (increment segment index and reset data pointer)
n4 Skip n bytes (1-15)
05 nn Skip nn bytes (1-255)
06 nnnn Skip nnnn bytes (1-65535)
07 Skip a frame / End of frame
n8 vv Fill n bytes (1-15) with vv value
09 vv,nn Fill nn bytes (1-255) with vv value
0A vv,nnnn Fill nnnn bytes (1-65535) with vv value
0B vv Fill a full frame with vv value
nC vv[n] Copy n bytes (1-15) from vv[n] data table
0D nn,vv[nn] Copy nn bytes (1-255) from vv[nn] data table
0E nnnn,vv[nnnn] Copy nnnn bytes (1-65535) 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)

Change log

  • Version 1.0 (2024/02/12)
    • Original version (File format version 0)