While all this was going on, Gary was experimenting with making very short animated sequences by loading CAD-3D images into a RAM disk and page-flipping though them quickly. He showed his experiments at the Antic booth at the 1986 Spring COMDEX in Atlanta. Since RAM on the Atari ST was very limited, Gary brought up in conversation how exciting it would be if there was a way to compress the images to increase the length of sequences that could be displayed. Mark Kimball had an epiphany:
I realized that some technology tried for videophones, which was based on very low data rates, might be applied to computer animations. One of the ways that was used to reduce videophone data rate was to transmit the frame-to-frame differences, which is quite similar to the DLT scheme [we ended up with for CAD-3D]. One problem with noisy transmission channels like telephones is that errors can occur [that accumulate and degrade the image]. To avoid that, it is necessary to periodically transmit a full frame. I recognized that a digital storage device would not have errors, so it would not be necessary to deal with the overhead of a periodic full frame so the overall data rate could be pretty low. It turned out to be a pretty good approach for making computer animations for the time.
Difference between frames (logical XOR)
Mark implemented his solution as another ST desk accessory—called Cyber Smash. Cyber Smash hooked into the printer driver interface Tom had built into CAD-3D and managed the compressed animation recording process, the results of which went into a DLT file. Gary adds:
Rendering a stereo animation in CAD-3D 2.0 was simply a matter of pushing a button
What was truly amazing about Cyber Smash was that it would support the creation of stereoscopic animations. There was a switch that the user could set to tell the compressor that multiple eye-views were being used, and it would compress and then decode everything so that the [Stereotek 3D] glasses could play back the sequences correctly. You should've seen the faces of people when they first saw a spaceship flying out of the screen, or a skeleton rotating in 3D so that you could see the relationships between all the bones. It was awesome. And then, in CAD-3D 2.0, Tom built an integrated user interface around Mark’s code that allowed our users to just press a button to produce either stereoscopic or monoscopic 3D animations automatically. This was the first time we used code from multiple developers in the same product, and it lit the way for many collaborations in the future.
Mark Kimball’s delta animation format is noted as one of the first actual implementations of a compressed digital video format, a precursor of digital video systems like QuickTime, and the MPEG-2 format of today’s DVD movies. It was also notable for being able to record (and play back outside of CAD-3D) stereo animations for the 3D glasses.
Now that CAD-3D could render animations, there remained the question of how to present them. CAD-3D itself couldn't play back the files it created, so Gary contracted Mark to produce a playback solution. Mark had already been using Forth—an extremely efficient and lightweight high-level computer language—to develop his 3D glasses, so he made an adaptation of Forth that could manipulate the animation data. The resulting product, Cybermate, married an interactive programming language with both digital video and audio features and is one of the first multimedia authoring environments ever. Cybermate could manage multiple animation files, play back partial or entire sequences at arbitrary speeds, loop, cycle colors, and execute dissolve and wipe transitions. And it could do it stereoscopically, with the 3D glasses. Moreover, it could play sounds in synchronization with the picture.
The end result of this intensely innovative period was the release of The Cyber Studio, which packaged CAD-3D 2.0 and Cybermate together as a $90 product that shipped in early 1987.
A computer program that imitates the behavior of a storage volume (disk drive) for other programs, but actually uses a portion of the computer’s RAM memory for data storage; this technique provides the fastest possible temporary file store at the expense of available memory.
Like many other computer systems of its day, the Atari ST used an indexed color scheme for its color graphics. Indexing meant that each dot (pixel) on the screen referred to any one color in a finite palette, known as a color look-up table (CLUT). Color cycling was nothing more complex than dynamically re-assigning some or all of the colors in the palette, thus affecting all the applicable pixels on the display. The results of color cycling could be quite dramatic.
CLUT (Color Look-up Table)
A set of indexed registers, each containing numbers representing colors. On the Atari ST, the CLUT kept track of whichever sixteen colors were in use on-screen at any given moment.
Different operating systems have used different approaches to managing types of programs that hang around (“stay resident”) while the user is working with an application. Often these co-existing programs are intended to complement applications in some fashion. In the Atari ST’s TOS operating system, such programs were called “Desk Accessories”, because they were often accessed from a drop-down menu on the desktop display. The comparable feature of a modern operating system is a “service” or “daemon”.
A unique, idiosyncratic, but highly efficient computer language created in 1970 by Charles Moore.
The precise technical definition of page flipping depends on the specific display architecture of a computer, but the general idea is that you set up a sequence of images in the computer’s RAM memory (limited by how much RAM the computer has available) and then you instruct the computer to send each image in sequence to the display as quickly as possible. At one time, this sort of technique was one of the only ways to reproduce full-motion imagery on a computer because hard disk storage was much slower (and much more expensive).