ColoRIX

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
Line 5: Line 5:
 
|released=≤1986
 
|released=≤1986
 
}}
 
}}
'''ColoRIX''', or '''RIX''', is a raster image file format associated with the ''ColoRIX VGA Paint'' and ''EGA Paint'' applications for MS-DOS, developed by RIX SoftWorks. There are at least two versions of it. Images may be compressed or uncompressed.
+
'''ColoRIX''', or '''RIX''', is a raster image file format associated with the ''ColoRIX VGA Paint'' and ''EGA Paint'' applications for MS-DOS, developed by RIX SoftWorks. There are at least two versions of it.
 +
 
 +
== Format details ==
 +
The "new" format (with "RIX3" signature) consists of a 10-byte header, then a color palette, then the image data. If the image is compressed, the high bit of the byte at offset 9 is set.
 +
 
 +
The "old" format lacks the header. If the image is compressed, the high bit of the first byte of the file is set. The low 6 bits of the first 16 bytes are an EGA-style color palette. The image data starts at offset 16.
 +
 
 +
Both old and new ColoRIX files may optionally be compressed, using a fairly complex compression scheme. The compression scheme starts by splitting the image data into one or more segments. For 256-color images only, an XOR filter is applied. Then comes [[run-length encoding]], followed by [[Huffman coding]]. It is vaguely similar to [[Squeeze]], though the details are different.
  
 
== Identifiers ==
 
== Identifiers ==
Line 63: Line 70:
  
 
== Identification ==
 
== Identification ==
The VGA Paint version of the format begins with ASCII characters "{{magic|RIX3}}".
+
New (VGA Paint) format: Files begin with ASCII characters "{{magic|RIX3}}".
  
 
Note that the VGA Paint distribution includes other files, in other formats, that also begin with "{{magic|RIX}}", but have a different fourth byte.
 
Note that the VGA Paint distribution includes other files, in other formats, that also begin with "{{magic|RIX}}", but have a different fourth byte.
  
''[TODO: Other versions]''
+
Uncompressed old format: There's no robust way to identify the format, though you could check the file size (exactly 112016 bytes for SCR format), and validate the palette.
 +
 
 +
Compressed old format: There's no easy way to identify the format, though it is possible to identify it by reading the file and checking for errors.
  
 
== Specifications ==
 
== Specifications ==
Line 86: Line 95:
 
* https://telparia.com/fileFormatSamples/image/rix/
 
* https://telparia.com/fileFormatSamples/image/rix/
 
* [https://archive.org/details/disc-passage-countriesofthe-world-1991 SCF Samples]
 
* [https://archive.org/details/disc-passage-countriesofthe-world-1991 SCF Samples]
 +
* [https://archive.org/details/SDN1__793 SDN¹ Plus] → demos/colorix.zip → *.SCF
 
* [https://archive.org/details/shareware-grab-bag Shareware Grab Bag] → 008/egaslide.arc - EGA Slide, a component of EGA Paint (?). Includes some .SCR files in an old version of the format.
 
* [https://archive.org/details/shareware-grab-bag Shareware Grab Bag] → 008/egaslide.arc - EGA Slide, a component of EGA Paint (?). Includes some .SCR files in an old version of the format.
  

Revision as of 14:57, 16 April 2023

File Format
Name ColoRIX
Ontology
Extension(s) .sc?, .scf, .sci, .scr, .scx, .rix, .vmg, others
Released ≤1986

ColoRIX, or RIX, is a raster image file format associated with the ColoRIX VGA Paint and EGA Paint applications for MS-DOS, developed by RIX SoftWorks. There are at least two versions of it.

Contents

Format details

The "new" format (with "RIX3" signature) consists of a 10-byte header, then a color palette, then the image data. If the image is compressed, the high bit of the byte at offset 9 is set.

The "old" format lacks the header. If the image is compressed, the high bit of the first byte of the file is set. The low 6 bits of the first 16 bytes are an EGA-style color palette. The image data starts at offset 16.

Both old and new ColoRIX files may optionally be compressed, using a fairly complex compression scheme. The compression scheme starts by splitting the image data into one or more segments. For 256-color images only, an XOR filter is applied. Then comes run-length encoding, followed by Huffman coding. It is vaguely similar to Squeeze, though the details are different.

Identifiers

Many filename extensions have been reported or observed. Most are listed below. Extensions beginning with "SC" are generally used for full-screen images, with the third letter a code for the screen mode.

Ext. Mode Remarks
.RIX  ? Used generically?
.SCA  ?
.SCB  ?
.SCC  ?
.SCD 320x200x16
.SCE 640x200x16
.SCF 640x480x256
.SCG 800x600x16
.SCI 320x200x256
.SCK 320x400x256
.SCL 640x400x256
.SCN 800x600x256
.SCO 1024x768x256
.SCP 640x480x16
.SCQ 360x480x256
.SCR 640x350x16
.SCT 640x400x16
.SCU 1024x768x16
.SCV  ?
.SCW 640x350x256
.SCX  ? Seems to be used for various image sizes.
.SCY  ?
.SCZ Text mode?
.VMG Various Default extension for non-fullscreen images saved by VGA Paint

Identification

New (VGA Paint) format: Files begin with ASCII characters "RIX3".

Note that the VGA Paint distribution includes other files, in other formats, that also begin with "RIX", but have a different fourth byte.

Uncompressed old format: There's no robust way to identify the format, though you could check the file size (exactly 112016 bytes for SCR format), and validate the palette.

Compressed old format: There's no easy way to identify the format, though it is possible to identify it by reading the file and checking for errors.

Specifications

Software

Sample files

The Rolex demo

Apparently, RIX SoftWorks released a "Rolex" clock demo app that loads and displays an included (old-format) RIX file.

And some people modified it to display a custom image. A few of these mods may be found by searching the Internet Archive Software Collection for "rix softworks" (some may be NSFW).

Links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox