ST:n piirto-ohjelmien kuvaformaateista:

Seuraavassa jutussa on tietoa ST:n eri piirto-ohjelmien käyttä-
                     
        mistä talletusformaateista. Mukana ovat Neochrome, Degas, 
                     
        Degas Elite ja Spectrum-formaatit.    
                     
        Ajan puutteen takia en ruvennut suomentamaan kyseistä juttua, 
                     
        vaan tässä se on alkuperäisessä muodossa. 
                     
                     
                     
                     
                     
                     
                     
                     
                     
                     
                     
Date: Tue, 3 May 88 12:09:43 EDT
                     
From: David M. Baggett <dmb@TIS.COM>
                     
To: info-atari16@score.stanford.edu
                     
Subject: Picture Formats!!
                     
     
                     
   A while back I asked about picture formats.  Thanks to all who responded.
                     
Since *lots* of people have being asking about formats, I compiled all
                     
the format descriptions and rewrote them.  Hopefully, they're coherent and
                     
correct.  Please report errors in the file to me (dmb@tis.com).
                     
   Here 'tis:
                     
     
                     
---------------------------Cut Here----------------------------------------
                     
                           ST Picture Formats
                     
                           ------------------
                     
     
                     
                        Introductory information
                     
     
                     
word    = 2 bytes
                     
long    = 4 bytes
                     
palette = Hardware color palette, stored as 16 words.  First word is
                     
          color register zero (background), last word is color register
                     
          15.  Each word has the form:
                     
     
                     
          Bit:  (MSB) 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 (LSB)
                     
                      -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
                     
                       0  0  0  0  0 R2 R1 R0  0 G2 G1 G0  0 B2 B1 B0
                     
     
                     
          R2 = MSB of red intensity
                     
          R0 = LSB of red intensity
                     
     
                     
          G2 = MSB of green intensity
                     
          G0 = LSB of green intensity
                     
     
                     
          B2 = MSB of blue intensity
                     
          B0 = LSB of blue intensity
                     
     
                     
          Intensity ranges from 0 (color not present) to 7 (highest
                     
          intensity).
                     
     
                     
          Example: ä red = 7, green = 3, blue = 5 } -> 0735 (hex)
                     
     
                     
     
                     
                             The Formats
                     
     
                     
     
                     
<NEOChrome>
                     
     
                     
1 long        resolution (0 = low res, 1 = medium res, 2 = high res)
                     
16 words    palette
                     
12 bytes    filename ("        .   ")
                     
1 byte        Left color animation limit (starting color number)
                     
1 byte         Right color animation limit (ending color number)
                     
1 byte        color rotation speed
                     
1 byte        color rotation direction
                     
1 word        color rotation duration (number of iterations)
                     
18 longs    reserved for expansion
                     
16000 words     picture data (screen memory)
                     
-----------
                     
32128 bytes    total
                     
     
                     
     
                     
<DEGAS>
                     
     
                     
1 word         resolution (0 = high res, 1 = medium res, 2 = low res)
                     
16 words    palette
                     
16000 words    picture data (screen memory)
                     
-----------
                     
32034 bytes    total
                     
     
                     
     
                     
<DEGAS Elite>
                     
     
                     
1 word         resolution (0 = high res, 1 = medium res, 2 = low res)
                     
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        animation channel delay in 1/60's of a second. [0 - 128]
                     
-----------
                     
32066 bytes    total
                     
     
                     
     
                     
<C.O.L.R. Object Editor Mural>
                     
     
                     
16000 words    picture data (screen memory)
                     
-----------
                     
32000 bytes    total
                     
     
                     
     
                     
<Tiny>
                     
     
                     
1 byte        resolution (same as NEO, but +3 indicates rotation
                     
        information follows)
                     
     
                     
If resolution > 2 ä
                     
1 byte        left and right color animation limits.  High 4 bits
                     
        hold left (start) limit; low 4 bits hold right (end)
                     
        limit
                     
1 byte        direction and speed of color animation (negative value
                     
        indicates left, positive indicates right, absolute value
                     
        is delay in 1/60's of a second.
                     
1 word        color rotation duration (number of iterations)
                     
}
                     
     
                     
1 word        number of control bytes
                     
1 word        number of data bytes
                     
16 words    palette
                     
3-10667 bytes    control bytes
                     
2-32000 bytes    data bytes
                     
-------------
                     
42-32044 bytes    total
                     
     
                     
Control byte meanings:
                     
     
                     
    For a given control byte, x:
                     
     
                     
    x < 0    Absolute value specifies the number of unique words to
                     
        take from the data section (from 1 to 127)
                     
    x = 0    1 long is taken from the control section which specifies
                     
        the number of times to repeat the next data word (from
                     
        128 to 32767)
                     
    x = 1    1 word is taken from the control section which specifies
                     
        the number of unique words to be taken from the data
                     
        section (from 128 - 32767)
                     
    x > 1    Specifies the number of times to repeat the next word
                     
        taken from the data section (from 2 to 127)
                     
     
                     
     
                     
<Spectrum 512 (Uncompressed)>
                     
     
                     
80 words    First scan line of picture (unused) -- should be zeroes
                     
15920 words    picture data (screen memory) for scan lines 1 through 199
                     
9552 words    3 palettes for each scan line (the top scan line is
                     
        not included because Spectrum 512 can't display it)
                     
-----------
                     
51104 bytes    total
                     
     
                     
     
                     
<Spectrum 512 (Compressed)>
                     
     
                     
1 word        5350 (hex) ("SP")
                     
1 word        0 (reserved for future use)
                     
1 long        length of data bit map
                     
1 long        length of color bit map
                     
<= 32092 bytes    compressed data bit map
                     
<= 17910 bytes    compressed color bit map
                     
--------------
                     
< 50014 bytes    total
                     
     
                     
Data compression:
                     
     
                     
   Compression is via a modified run length encoding (RLE) scheme.  The
                     
data map is stored as a sequence of records.  Each record consists of a
                     
header byte followed by one or more data bytes.  The meaning of the header
                     
byte is as follows:
                     
     
                     
    For a given header byte, x:
                     
     
                     
    0 <= x < 127    Use the next x + 1 bytes literally (no repetition)
                     
    -128 <= x < 0    Use the next byte -x + 2 times
                     
     
                     
The data appears in the following order:
                     
     
                     
    1. Picture data, bit plane 0, scan lines 1 - 199
                     
    2. Picture data, bit plane 1, scan lines 1 - 199
                     
    3. Picture data, bit plane 2, scan lines 1 - 199
                     
    4. Picture data, bit plane 3, scan lines 1 - 199
                     
     
                     
Decompression of data ends when 31840 data bytes have been used.
                     
     
                     
Color map decompression:
                     
     
                     
   Each 16-word palette is compressed separately.  There are three
                     
palettes for each scan line (597 total).  The color map is stored as a
                     
sequence of records.  Each record starts with a 1-word bit vector which
                     
specifies which of the 16 palette entries are included in the data
                     
following the bit vector (1 = included, 0 = not included; i.e., stays
                     
the same).  The least significant bit of the bit vector refers to
                     
palette entry zero, while the most significant bit refers to palette
                     
entry 15.  Bit 15 must be zero, since Spectrum 512 does not use palette
                     
entry 15.  Bit 0 should also be zero, since Spectrum 512 always makes the
                     
background color black.
                     
   The words specifying the values for the palette entries indicated in
                     
the bit vector follow the bit vector itself, in order (0 - 15).
                     
     
                     
                     
                     
                     
                     
                Jutun Kopioi Juhani............
                     
                     

Takaisin

(C) Marko, Suomen Atari-sivut / ArkiSTo 2003