<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://temlib.org/AtariForumWiki2018/index.php?action=history&amp;feed=atom&amp;title=Cyber_Paint_Sequence_file_format</id>
		<title>Cyber Paint Sequence file format - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://temlib.org/AtariForumWiki2018/index.php?action=history&amp;feed=atom&amp;title=Cyber_Paint_Sequence_file_format"/>
		<link rel="alternate" type="text/html" href="https://temlib.org/AtariForumWiki2018/index.php?title=Cyber_Paint_Sequence_file_format&amp;action=history"/>
		<updated>2026-10-18T21:00:15Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://temlib.org/AtariForumWiki2018/index.php?title=Cyber_Paint_Sequence_file_format&amp;diff=2914&amp;oldid=prev</id>
		<title>AtariWikiSysop: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://temlib.org/AtariForumWiki2018/index.php?title=Cyber_Paint_Sequence_file_format&amp;diff=2914&amp;oldid=prev"/>
				<updated>2018-06-03T22:51:03Z</updated>
		
		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 22:51, 3 June 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>AtariWikiSysop</name></author>	</entry>

	<entry>
		<id>https://temlib.org/AtariForumWiki2018/index.php?title=Cyber_Paint_Sequence_file_format&amp;diff=2913&amp;oldid=prev</id>
		<title>Lp: New page</title>
		<link rel="alternate" type="text/html" href="https://temlib.org/AtariForumWiki2018/index.php?title=Cyber_Paint_Sequence_file_format&amp;diff=2913&amp;oldid=prev"/>
				<updated>2017-01-03T00:08:38Z</updated>
		
		<summary type="html">&lt;p&gt;New page&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
Cyber Paint Sequence    *.SEQ (low resolution only)&lt;br /&gt;
&lt;br /&gt;
   This format, while fairly complex, yields excellent compression of animated&lt;br /&gt;
images while offering reasonably fast decompression times.&lt;br /&gt;
 &lt;br /&gt;
1 word          magic number [$FEDB or $FEDC]&lt;br /&gt;
1 word          version number&lt;br /&gt;
1 long          number of frames&lt;br /&gt;
1 word          speed (high byte is vblanks per frame)&lt;br /&gt;
118 bytes       reserved&lt;br /&gt;
---------&lt;br /&gt;
128 bytes       total for .SEQ header&lt;br /&gt;
&lt;br /&gt;
for each frame {&lt;br /&gt;
1 word          type (ignored?)&lt;br /&gt;
1 word          resolution [always 0]&lt;br /&gt;
16 words        palette&lt;br /&gt;
12 bytes        filename [usually &amp;quot;        .   &amp;quot;]&lt;br /&gt;
1 word          color animation limits [not used]&lt;br /&gt;
1 word          color animation speed and direction [not used]&lt;br /&gt;
1 word          number of color steps [not used]&lt;br /&gt;
1 word          x offset for this frame [0 - 319]&lt;br /&gt;
1 word          y offset for this frame [0 - 199]&lt;br /&gt;
1 word          width of this frame, in pixels (may be 0, see below)&lt;br /&gt;
1 word          height of this frame, in pixels (may be 0, see below)&lt;br /&gt;
1 byte          operation [0 = copy, 1 = exclusive or]&lt;br /&gt;
1 byte          storage method [0 = uncompressed, 1 = compressed]&lt;br /&gt;
1 long          length of data in bytes (if the data is compressed, this&lt;br /&gt;
                will be the size of the compressed data BEFORE decompression)&lt;br /&gt;
60 bytes        reserved                &lt;br /&gt;
--------&lt;br /&gt;
128 bytes       total for frame header&lt;br /&gt;
&lt;br /&gt;
? bytes         data&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
   Frames are &amp;quot;delta-compressed,&amp;quot; meaning that only the changes from one&lt;br /&gt;
frame to the next are stored.  On the ST, .SEQ files are always full-screen&lt;br /&gt;
low resolution animations, so the sequence resulting from expanding all the&lt;br /&gt;
data will be n 320 by 200 pixel low resolution screens, where n is given in&lt;br /&gt;
the .SEQ header.&lt;br /&gt;
  &lt;br /&gt;
   Since only the changes from frame to frame are stored, image data for a&lt;br /&gt;
frame will rarely be 320x200 (except for the very first frame, which will &lt;br /&gt;
always be a full screen).  Instead what is stored is the smallest rectangular&lt;br /&gt;
region on the screen that contains all the changes from the previous frame to&lt;br /&gt;
the current frame.  The x offset and y offset in the frame header determine&lt;br /&gt;
where the upper left corner of the &amp;quot;change box&amp;quot; lies, and the width and height&lt;br /&gt;
specify the box's size.&lt;br /&gt;
&lt;br /&gt;
   Additionally, each &amp;quot;change box&amp;quot; is stored in one of five ways.  For each&lt;br /&gt;
   of these, the screen is assumed to have the full-screen image from the last&lt;br /&gt;
   frame on it.&lt;br /&gt;
   &lt;br /&gt;
   o uncompressed copy:  The data for this frame is uncompressed image data,&lt;br /&gt;
     and is simply copied onto the screen at position (x, y) specified&lt;br /&gt;
     in the frame header.&lt;br /&gt;
&lt;br /&gt;
   o uncompressed eor:  The data for this frame is exclusive or'ed with the&lt;br /&gt;
     screen at position (x, y).&lt;br /&gt;
&lt;br /&gt;
   o compressed copy:  The data for this frame must be decompressed (see &lt;br /&gt;
     below), and then copied onto the screen at position (x, y) specified&lt;br /&gt;
     in the frame header.&lt;br /&gt;
 &lt;br /&gt;
   o compressed eor:  The data for this frame must be decompressed (see &lt;br /&gt;
     below), and then exclusive or'ed with the screen RAM at position (x, y).&lt;br /&gt;
 &lt;br /&gt;
   o null frame:  The width and/or height of this frame is 0, so this&lt;br /&gt;
     frame is the same as the previous frame.&lt;br /&gt;
   &lt;br /&gt;
   Of the 5 methods above, the one that results in the smallest amount&lt;br /&gt;
   of data being stored for a particular is used for that frame.&lt;br /&gt;
  &lt;br /&gt;
Compression Scheme:&lt;br /&gt;
&lt;br /&gt;
   Compression is similar to that employed by Tiny, but is not quite as&lt;br /&gt;
space-efficient.&lt;br /&gt;
&lt;br /&gt;
Control word meanings:&lt;br /&gt;
&lt;br /&gt;
        For a given control word, x:&lt;br /&gt;
&lt;br /&gt;
        x &amp;lt; 0   Absolute value specifies the number of unique words to&lt;br /&gt;
                take from the data section (from 1 to 32767).&lt;br /&gt;
        x &amp;gt; 0   Specifies the number of times to repeat the next word&lt;br /&gt;
                taken from the data section (from 1 to 32767).&lt;br /&gt;
&lt;br /&gt;
        Note that a control word of 0 is possible but meaningless.&lt;br /&gt;
&lt;br /&gt;
Format of expanded data:&lt;br /&gt;
&lt;br /&gt;
   The expanded data is not simply screen memory bitmap data; instead the four&lt;br /&gt;
bitplanes are separated, and the data within each bitplane is presented&lt;br /&gt;
vertically instead of horizontally.  (This results in better compression.)&lt;br /&gt;
&lt;br /&gt;
   To clarify, data for a full screen would appear in the following order:&lt;br /&gt;
   &lt;br /&gt;
   bitplane 0, word 0, scanline 0&lt;br /&gt;
   bitplane 0, word 0, scanline 1&lt;br /&gt;
   ...&lt;br /&gt;
   bitplane 0, word 0, scanline 199&lt;br /&gt;
   bitplane 0, word 1, scanline 0&lt;br /&gt;
   bitplane 0, word 1, scanline 1&lt;br /&gt;
   ...&lt;br /&gt;
   bitplane 0, word 1, scanline 199&lt;br /&gt;
   ... &lt;br /&gt;
   bitplane 0, word 79, scanline 199&lt;br /&gt;
   bitplane 1, word 0, scanline 0&lt;br /&gt;
   ... &lt;br /&gt;
   bitplane 3, word 79, scanline 199&lt;br /&gt;
&lt;br /&gt;
Note however, that the data does not usually refer to an entire screen, but&lt;br /&gt;
rather to the smaller &amp;quot;change box,&amp;quot; whose size is given in the frame header.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Back to [[ST Picture Formats]]&lt;/div&gt;</summary>
		<author><name>Lp</name></author>	</entry>

	</feed>