Spectrum 512 was a computer paint program by Boris Tsikanovsky that enabled the creation of images with more than 16 simultaneous colors. Boris accomplished this by using a special display algorithm that dynamically reassigned the color palette three times per scan line for a total of 48 unique colors (out of 512) per scan line. Unispec—which was not published by Antic—was basically a second-generation Spectrum 512 that added more sophisticated features, including the ability to do page-flipping animation.
Boris immigrated to the United States in 1979 from the Soviet Union. In college, he studied physics and applied mathematics. Boris began programming in 1985 on the Timex/Sinclair 1000 for fun, and took an interest in graphics. Boris explains:
You had to pull pretty ingenious tricks to get any meaningful graphics out of the Timex/Sinclair. Basically, you had to play with fragments of the 8x8 bitmaps representing text characters to produce lines, curves, etc. Very convoluted. Nothing as straightforward as simply being able to set a given pixel to black.
Boris found gratification in discovering unconventional ways to get a computer (the Timex in this case) to do something well that it wasn't originally intended to do (make pictures). When Boris got an Atari ST in 1986, his first major project was to break down the computer’s 16-color limitation.
By this time (January 1987) I had a pretty good idea what to do. While playing with the ST’s graphics the previous summer it struck me that the color table (CLUT) mechanism offers a very fast method of animating graphics. Normally, to change the image you have to write tens of thousands of pixel values, and this takes time (certainly it took a lot of time back in ’86!). On the other hand, changing CLUT entries takes no time at all, and it produces pretty dramatic changes in the picture! This, of course, is what is known as color cycling animation. Soon I realized that its capabilities as an animation method are very limited and lost interest in the animation angle. But I discovered while experimenting, that the CLUT can be changed an awful number of times while the picture is being displayed by the monitor, line by line, and this led me to the idea that continuously modifying the CLUT allows us to have many more colors on the screen at the same time than the 16 colors in a single CLUT.
The Spectrum project was made possible by friends:
At about this time I met a school friend of mine, Boris Elman, who, like me, also came to the States from Russia in 1979. Unlike me, he had by this time a good-paying job. He and his brother Michael were looking for something to invest money into. We decided that I quit my messenger job, move from New York to Boston and we started Trio Engineering. They didn't have any firm notion about what Trio Engineering should be doing, but for me it was clear: developing software for the Atari ST!
Boris now had the freedom to program, but—typical for someone working on something outside the norm for a system—there were few resources to make his job easy.
Lack of documentation! I spent a couple of months at one point chasing a problem where Spectrum 512, which had to exit [GEM] and drop into TOS, somehow corrupted that GUI when entering it on return, and you had to restart the computer. After two months I found out that I was setting some parameter to 0 instead of 1 when re-initializing the GUI. There was no standard reference, I just stumbled on the solution by accident. I remember buying a book written by some Englishman (or was he German?) containing some extremely valuable (but incomplete and unofficial) information about the inner workings of the operating system. This whole Atari ST thing was so half-baked.
In any case, Spectrum 512 was created in a different era of computing. Nowadays, application programming is almost always done safely distanced from the equipment it runs on. Spectrum 512, on the other hand, was nothing if not the direct manipulation of that hardware.
Actually, as we started to show the program to other people around April ’87, I discovered to my horror that some other ST’s have different timing properties, resulting in an unsteady picture (not the same color for a given pixel in consecutive display frames). I had to start looking again, and eventually discovered another undocumented register, whose behavior turned out to be solid as a rock for all Atari ST’s in existence.
Another problem was that Trio Engineering didn't really know what to do with its first product, as none of the three had any experience with software publishing. Once again, friends came through for Boris:
While still playing with the preliminary version of Spectrum 512 [then called Chameleon] in ’86, I went to Pittsburgh to see a friend of mine (from Russia), who at that time was a visiting professor there. He put me in touch with another university professor, who knew a lot about personal computers and had some idea about software publishing (I didn't have a clue). He told me about Antic. Later, in the Spring of ’87, the Elman brothers called Gary and showed him the early version of Spectrum 512 when he came to Boston soon after. He was enthusiastic and quickly talked them into signing a contract with Antic. I remember them fuming about the 15% royalty, but really, none of us knew anything about software publishing, so we had to go along.
From their outside perspective, Trio’s publishing options must have been vexing. Boris’s candid insight into the commercial software climate of the ST will be familiar to many programmers from that (and this) era:
I suppose [Antic] was by far the smoothest and most professional operation in software publishing for the Atari ST. I have vague memories of some amazingly flaky characters being involved in this business, some of them from England, if I’m not mistaken... and, of course, Atari [Corp.] itself was not exactly blue chip.
After Trio signed the contract with Antic, Gary put Boris in touch with Darrel Anderson.
[Darrel] had a lot of criticisms and suggestions about Spectrum 512. He found the initial version of Spectrum 512 pretty much unusable from the artist’s point of view. I was simply fascinated with the technical idea of delivering 512 colors on the screen and didn't really care about much else. I had to learn about all the things that people expected to find in a paint program, and how to code them.
I have absolutely no art background, and every time I draw a circle in some diagram it comes out lumpy. I think about the only UI philosophy I have, to this day, is to use the type of user interface that will take the least amount of coding. Needless to say, this would not be the best UI. I just remember everybody nudging me to do something that would be more convenient for the user, and me following the path of least resistance by coming up with the easiest (from the programming point of view) solutions to satisfy these demands.
Following the release of Spectrum 512 by Antic, Trio produced a couple of follow-up products. One product—DigiSpec—enabled users of the Digital Visions ComputerEyes video digitizer to capture 512 color Spectrum images. ComputerEyes was an interface box that connected an Atari ST to a video source. The best results were usually from using a color wheel and a monochrome security camera to capture an image in three passes (red, green and blue) to the ST.
[W]ithout Spectrum 512 capabilities ComputerEyes, after obtaining RGB data from video, could only convert it to a pitiful standard 16-color image. They didn't even have any option for saving RGB image to disk, only the 16-color conversion of it. So, DigiSpec grabbed RGB data directly from the ComputerEyes memory buffer, converted it to Spectrum format, and displayed it on the screen.
DigiSpec was a successful product for Trio that was sold through Digital Visions.
The other product was UniSpec. UniSpec probably should have been Spectrum 512 Version 2, but Trio was uncomfortable with the royalty arrangement they had with Antic, so they chose to self-publish UniSpec as an add-on to Spectrum 512. The bind of not competing with their own Antic product led to UniSpec looking just like Spectrum 512, but sporting unique features that were accessed through obscure key combinations and hidden tricks. There was one highly visible difference, however, which was that UniSpec manifested itself as an Atari ST desk accessory. Darrel Anderson, who had by this time adopted Spectrum 512 as one of his tools, wound up writing the manual for UniSpec.
While UniSpec had an assortment of new features over the original Spectrum product, its most prominent feature was that—as a desk accessory—it could sit on top of another program (such as DEGAS or CAD-3D) and acquire the latter’s output. It was in this manner that one could build up a 512 color image from multiple 16 color CAD-3D renderings. And it was by repeating this process many times that a handful of 512 color Cyber Studio animations were produced, because the Spectrum slide show program was capable of buffering and flipping through a stack of Spectrum images very quickly.
After UniSpec and DigiSpec, Boris worked with Darrel Anderson’s brother, Jeff, on a sophisticated automation programming system for the ST, which was a technical success and a commercial catastrophe. By the end of 1988, the ST market was collapsing and Trio collapsed with it. Boris moved to Colorado and began developing Macintosh software. His first Mac product was called Pickture, which integrated document thumbnails into the Mac user interface. From there, he and Jeff Anderson developed an array of image distortion products, Flo, MetaFlo and MovieFlo, which were published by the Valis Group. Nowadays, Boris is experimenting with image recognition and developing 3D rendering software for Darrel Anderson’s Groboto project.
User Interface (UI) and Graphical User Interface (GUI)
Computer programs don't actually do anything visible to the user unless the programmer goes out of the way to include visual features. These features, which often the user can interact with through a mouse or keyboard, constitute a user interface. Graphical User Interfaces further infers a level of visual sophistication in the interface beyond computer terminal text.
GEM and TOS
The operating system of the Atari ST-series of personal computers was called TOS (Tramiel Operating System), which was a superset of Digital Research’s GEM (Graphical Environment Manager) system. In short, it was responsible for the Macintosh-like features (windows, drop-down menus, the mouse pointer) in most of these Antic software products.
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”.
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).