Degas

From MultimediaWiki
Jump to navigation Jump to search

DEGAS (short for Design & Entertainment Graphic Arts System) and DEGAS Elite were image drawing programs for the Atari ST.

16-bit words are stored in big-endian order.

DEGAS

  • Extensions: .pi1, .pi2, .pi3
typedef DEGASFile {
 uint16_t resolution;                    /* 0 = low res (320x200x16), 1 = medium res (640x200x4), 2 = high res (640x400x2) */
 uint16_t hardware_palette[16];
 uint16_t data[16000];
} DEGASFile;

sizeof(DEGASFile) = 32034

DEGAS Elite (Uncompressed)

  • Extensions: .pi1, .pi2, .pi3
typedef DEGASEliteFile {
 uint16_t resolution;                    /* see above */
 uint16_t hardware_palette[16];
 uint16_t data[16000];
 uint16_t left_color_animation[4];
 uint16_t right_color_animation[4];
 uint16_t channel_direction[4];          /* 0 = left, 1 = none, 2 = right */
 uint16_t channel_delay[4];              /* 128 - channel delay, timebase 1/60 s */
} DEGASEliteFile;

sizeof(DEGASEliteFile) = 32066

DEGAS Elite (Compressed)

  • Extensions: .pc1, .pc2, .pc3
typedef DEGASEliteFileCompressed {
 uint16_t resolution;                    /* see above */
 uint16_t hardware_palette[16];
 uint8_t data[];                         /* size depends on compression ratio */
 uint16_t left_color_animation[4];
 uint16_t right_color_animation[4];
 uint16_t channel_direction[4];          /* see above */
 uint16_t channel_delay[4];              /* see above */
} DEGASEliteFileCompressed;

Compression scheme: PackBits RLE

  • The image is compressed from top to bottom
  • Each scanline is compressed separately
  • For every scanline, each bit plane is compressed separately, starting with the least significant bits

Hardware Palette

The Atari ST has 16 16-bits hardware palette registers. All 16 colors are always stored, even if the resolution does not use them all. Each color is specified as:

0000 0rrr 0ggg 0bbb

A standard Atari ST has a 9-bit DAC, which results in 512 colors.

Image Data

The image data is stored in a planar format.

Atarist lowres.png