langdon@lll-lcc.UUCP (02/03/87)
There were questions about the format of these picture files.
Here it is (below). I also have an Action program that
reads and displays them.
----------------------------------------------------------------------
Bruce Langdon L-472 langdon@lll-lcc.ARPA
Physics Department "langdon#bruce%d@lll-mfe.ARPA"
Lawrence Livermore National Laboratory
Livermore, CA 94550 (415) 422-5444
UUCP: ..{ihnp4,qantel,ucdavis,pyramid,styx,topaz}!lll-lcc!langdon
..{gymble,ll-xn,seismo}!lll-crg!lll-lcc!langdon
----------------------------------------------------------------------
Picture Data Format
for
MicroIllustrator
and
Koala Painter
and
AtariArtist
Each file consists of two sections,
a header and the data.
Header:
Offset Description
------ -----------------------------
$00-03 ID sequence: $FF,$80,$C9,$C7
$04-05 # bytes in header (-1)
usually $1A,$00
$06 Revision #: $01
$07 Compression type: $00=none,
$01=vertival, $02=horizontal
$08 Graphics mode: xx00yyyy where
xx=GTIA bits from GPRIOR and
yyyy=ANTIC mode. Nprmally $0E
$09-0C Active screen area (L,R,T,B)
$00,$2B,$00,$C0
$0D-11 Color register data for
COLOR0 thru COLOR4
$12-13 Total length of file: lsb,msb
$14-15 Unused: $00,$00
$16-19 Reserved: $9B,$9B,$9B,$9B
$1A Unused: $A2
The data follows immediately. If
uncompressed, then it is in screen
RAM order.
In horizontal compression, the data
will fill memory on order (fill each
row on the screen left to right, top
to bottom.
In vertical compression, The data
fills a 1-byte column, every other
row, followed by the skipped row,
then on to the next column.
Compressed data consists of variable
length records. The first byte of
each record determines the type of
record. Format:
1st byte 2nd byte 3rd byte
<--------><--------><--------><....>>
|0|Cnt<>0 | Data |
Cnt bytes of repeated Data
|1|Cnt<>0 | Unique | Data | ...
Cnt bytes of unique data
|0| 0 | msb Cnt | lsb Cnt | Data|
Cnt (>127) bytes of repeated data
|1| 0 | msb Cnt | lsb Cnt |data|..
Cnt (>127) bytes of unique data
The subroutine READPIC.MAC will read
a picture file onto a mode E or F
screen (assumed). It only looks at
the compression type and color values
in the header and assumes that the
picture area and mode are compatible
with a full screen mode E or F
picture.
----------------------------------------------------------------------