Access VID
- Company: Access Software
- Extension: .vid
This is a simple RLE-based format with 8-bit mono PCM audio used in some games by Access Software.
Container format
Container header
4 bytes - VID\0 1 byte - unknown 2 bytes - unknown 2 bytes - width 2 bytes - height 2 bytes - delay between frames in 1/60th of second 2 bytes - unknown
Known chunks
Each chunk begins with a byte telling its type:
- 0x00 - uncompressed full frame
- 0x01 - skip/raw full frame
- 0x02 - VGA palette
- 0x03 - fill/raw compressed frame
- 0x04 - partial skip/raw compressed frame
- 0x14 - end of file
- 0x7C - first audio chunk
- 0x7D - audio chunk
Video frames
Video frame data starts with 2-byte additional delay field (i.e. how many tertia you have to wait before displaying the frame in addition to the regular delay specified in the container header).
Uncompressed full frame contains raw data for the whole frame. Compressed frames employ RLE in the simplest form: top bit tells whether we should read raw data or perform fill or skip (depending on frame type). Partial frame also contains 2-byte word with a start horizontal position (i.e. if offset is 16 then pixels 0-15 in each row won't be touched).
Audio frames
First audio chunk begins has a three-byte header: 2-byte syncword and 1-byte sample rate index (actual sample rate is calculated as 1000000 / (256 - rate) just like in VOC).
Then there is 2-byte size of actual audio data in bytes and audio data itself.