Cybermate Delta Animation file format
Jump to navigation
Jump to search
Stereo CAD-3D 2.0 Communication Pipeline Specification by Tom Hudson April, 1987 Copyright 1987 Tom Hudson All rights reserved CYBERMATE COMPRESSED DELTA FILE FORMAT The Cybermate animation system uses a "delta" compression technique for storage of animated sequences. A delta compression is a simple technique which compares a frame of animation to the previous frame, storing only the changes (or deltas) that occurred from one frame to the next. In the current application of the delta compression technique, the first frame of the animation sequence is stored in a DEGAS-format picture file, and the remainder of the animation sequence is stored as a series of delta values in a .DLT file. Each frame of the animation is recorded as a series of delta values, each of which is stored as a WORD value from 0 to 31996 which indicate an offset into the 32000-byte display bitmap memory, then a LONG value which must be EOR'ed at the specified point in the display memory. This changes the previous frame's LONG value to the new frame's value. The EOR technique allows animations to be played in reverse as well. Each frame has a WORD which indicates the number of deltas that are present for that frame. When all those are processed, a new frame delta count WORD is read and the process is repeated. The .DLT file has the following format: WORD -- The number of deltas in this frame. A zero in this flag indicates the end of the file. Frames with no deltas (the same as the previous frame) are special cases and a dummy delta offset and LONG EOR value of zero are provided in the delta data which follows. The following structure is repeated the number of times specified in the delta count for this frame. WORD -- Offset into 32000-byte screen RAM for the delta data. This number is a multiple of 4 from 0 to 31996. It should be used as an offset from the start of screen RAM to EOR the following LONG. LONG -- Delta data. This value is EOR'ed with the screen data at [screenbase + offset] to change the previous frame's data to the new frame's. Once all deltas for a particular frame have been processed, the program reads the number of deltas for the next frame, and continues with this process until all frames have been processed (delta count = 0).
Back to ST Picture Formats