•  Back 
  •  %Main 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help page 
  •  Show info about hypertext 
  •  View a new file 
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        palette
16000 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.