Difference between revisions of "MGV"

From MSX Game Library

Line 63: Line 63:
 
| <tt>01</tt> || || End of line
 
| <tt>01</tt> || || End of line
 
|-
 
|-
| <tt>02</tt> || || End of table (for tile-based screen mode)<br>
+
| <tt>x2</tt> || || Start of table (for tile-based screen mode)<br>
Order:
+
x:
* Pattern table (all modes)
+
* 0: Pattern table (default)
* Layout table (tile based modes)
+
* 1: Color table (screen mode 1, 2 and 3)
* Color table (screen mode 1, 2 and 3)
+
* 2: Layout table (tile based modes)
 
|-
 
|-
 
| <tt>03</tt> || || End of segment (increment segment index and reset data pointer)
 
| <tt>03</tt> || || End of segment (increment segment index and reset data pointer)

Revision as of 00:48, 31 March 2024

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 16, 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)
(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 Start of table (for tile-based screen mode)

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-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)