Topic : ATARI ST Picture formats
Author : David Baggett/Jan K⌐upka
Version : atari_gf.hyp 0.01 (17/09/96)
Subject : Documentation/File formats
Nodes : 52
Index Size : 1328
HCP-Version : 3
Compiled on : Atari
@charset : atarist
@lang :
@default :
@help :
@options : -i -s +y +z
@width : 75DEGAS *.PI1 (low resolution)
*.PI2 (medium resolution)
*.PI3 (high resolution)
1 wordword = 2 bytes
resolution (0 = low res, 1 = medium res, 2 = high res)
Other bits may be used in the future; use a simple bit
test rather than checking for specific wordword = 2 bytes
values.
16 words pallete
16000 words picture data (screen memory)
32034 bytes total
DEGAS Elite *.PI1 (low resolution)
*.PI2 (medium resolution)
*.PI3 (high resolution)
1 wordword = 2 bytes
resolution (0 = low res, 1 = medium res, 2 = high res)
Other bits may be used in the future; use a simple bit
test rather than checking for specific wordword = 2 bytes
values.
16 words palette16000 words picture data (screen memory)
4 words left color animtion limit table (starting color
numbers)
4 words right color animation limit table (ending color
numbers)
4 words animation channel direction flag (0 = left, 1 = off,
2 = right)
4 words 128 - animation channel delay in 1/60's of a second.
[0 - 128]
(I.e., subtract wordword = 2 bytes
from 128 to get 1/60th's of a
second.)
32066 bytes total
DEGAS Elite compressed *.PC1 (low resolution)
*.PC2 (medium resolution)
*.PC3 (high resolution)
1 wordword = 2 bytes
resolution (same as Degas, but high order bit is set;
i.e., hex 8000 = low res, hex 8001 = medium res,
hex 8002 = high res). Other bits may be used in the
future; use a simple bit test rather than checking
for specific wordword = 2 bytes
values.
16 words palette< 32000 bytes control/data bytes
4 words left color animation limit table (starting color numbers)
4 words right color animation limit table (ending color numbers)
4 words animation channel direction flag [0 = left, 1 = off,
2 = right]
4 words 128 - animation channel delay in 1/60's of a second.
[0 - 128]
(I.e., subtract wordword = 2 bytes
from 128 to get 1/60th's of a second.)
< 32066 bytes total
Compression Scheme:
PackBits compression is used. Each scan line is compressed
separately; i.e., all data for a given scan line appears before any data
for the next scan line. The scan lines are specified from top to bottom
(i.e., 0 is first). For each scan line, all the data for a given bit
plane appears before any data for the next higher order bit plane. Note
that this is identical to the IFF 'BODY' image data.
To clarify: The first data in the file will be the data for the lowest
order bit plane of scan line zero, followed by the data for the next higher
order bit plane of scan line zero, etc., until all bit planes have been
specified for scan line zero. The next data in the file will be the data
for the lowest order bit plane of scan line one, followed by the data for
the next higher order bit plane of scan line one, etc., until all bit
planes have been specified for all scan lines.
Caveats:
DEGAS Elite's picture loading routine places some restrictions on
compressed DEGAS files:
∙ Elite uses a 40-byte buffer to store data being decompressed.
∙ Whenever a control command is encountered, bytes are stuffed
in this buffer.
∙ The buffer is only emptied when there are EXACTLY 40
characters in it.
The important conclusion here is that:
No control command may cause the buffer to have more than 40
bytes in it. In other words, all control commands must end on
or before the 40-byte boundary.
Any picture violating the last condition will cause Elite to get a bus
error when the picture is loaded.