A Broad Spectrum
An interview with the team behind Spectrum 512
by Andy Eddy and Maurice Molyneaux
A lot was going on at the Northeast Atari Computer Fair, held at the Worcester Centrum, in Worcester, Massachusetts,October 10th and 11th, 1987. Yet, even with attention grabbers like Mega ST4s, laser printers, WordPerfect and others, one particular program seemed to catch almost everyone's eye: Spectrum 512, a graphics program which allows the ST to display its full 512 colors on screen simultaneously. Also at the show was Digispec, software that links to the ComputerEyes video digitizer that makes it possible to digitize pictures into Spectrum format. On the first day of the show, Andy Eddy and Maurice Molyneaux interviewed the people behind Trio Engineering, the developers of Spectrum and Digispec. The primary force behind the Trio efforts is Boris Tsikanovsky, who spent his childhood on a Russian island near Japan and moved to the United States in 1979.
ANALOG: When did you first start using computers. . .what's your background with them?
TRIO: I don't know. . .for a long time (chuckles).
ANALOG: Did you have any contact with computers in Russia or not?
TRIO: Uh, yes. All different kinds of computers, but, uh. . . .
TRIO: I guess so. I don't even know what it was. . . it was kind of big (laughing).
ANALOG: You started on mainframes in Russia, and you moved over here in ’79. What was your progression? What computers have you had since then?
TRIO: One computer I used to have was the ZX-81. You know?
ANALOG: The Sinclair?
TRIO: The Sinclair. I guess we should say that we've been interested in the 68000 computers, and we've been looking for a niche. You know, to do something in this area. And the Atari seemed to us to be the perfect computer to do something. So we've been looking at a variety of different things. . .we have concentrated on Atari, and I guess it worked out very well. So far.
ANALOG: It appears so.
TRIO: So that's the main thing right now. Let me add something, too, talking about general engineering experience with computers. Being in the United States, we worked with the IBM mainframes; we worked with the Prime computers, particularly 850s and 9950s and the newer machines. . .the bigger machines. We worked with the VAXes, DEC computers. We're talking VAXes. . .750 and up. The new VAXes.
ANALOG: So you have a lot of experience.
TRIO: We have lots of experience with inter-computer communications. That's the company profile, not talking work on one particular project. It could go on and on and on, list after list.
ANALOG: As a company, is this really your first delve into the home-based computer or personal-computer market?
TRIO: Yeah, I would say it's not just the first personal computer because we do know Macs and IBMs and IBM PCs, but we never did any home or entertainment-market software.
ANALOG: And this is your first touch into the ST market?
ANALOG: Also, your first graphics program as well?
TRIO: If you're talking about Spectrum, yeah. Spectrum was the first, and the second product right away is the Digispec, which gives you access to Spectrum [through ComputerEyes].
ANALOG: This kind of thing has never been done with an ST before; what you've done is revolutionary. You're the first ones to pull off something like that. And again, we see Eidersoft with their Quantum Paint-box. . .it doesn't seem to compare.
TRIO: [Quantum's interface] is so inconvenient. It's absolutely inconvenient, I would say. You can't just paint. To me, when you work with painting programs, the only result you want to see is nice pictures on the screen. The Quantum approach may be a good approach—but I haven't seen the results yet. Until you see those results, it's hard to say what is what. It's not because I'm trying to be negative, but I want to understand what's the limitation of that ST hardware.
ANALOG: Well, how did you come upon your technology?
TRIO: Just lucky, I guess (laughing).
ANALOG: Just lucky?
TRIO: I would say it took a lot of patience I see the problem with the other guys doing it; they start from the technical point, with interrupts and all of that. But then it remains on a technical level. You just can't have [the software] where you just paint.
ANALOG: What you're saying is that you want to make it simple, for the program not to get in the way of what the artist is trying to do. It should be transparent.
ANALOG: Where did the idea for this particular program come from? Did you look at a picture on a screen and decide this could be better? Atari has set down what they say are the specifications for the machine. I heard that Leonard Tramiel saw Spectrum and said, "Well, you can't put 48 colors on a scan line. . . ." and sat down and placed 48 colors with the zoom mode, and walked out. But they know the specifications of the machine and said it was impossible.
TRIO: Well, we just didn't pay any attention to that. We worked from the 68000 side. We saw what it can do—how much time it takes to change so and so (laughing). Maybe if we'd asked him, and he said, "No," maybe then we would have gotten discouraged.
ANALOG: It would have changed your mind?
TRIO: Yeah. I want to add that to be a programmer [alone] is not enough to do this. One has to know physics: the way things work, the way things are displayed, to be able to measure the times of a particular operation, things like that. So you have to know a lot of the technical details from the physics side of it—not just the programmer's side of it—and incorporate it and integrate it. That's the only way to do it.
ANALOG: Sort of like measuring a room before you move the furniture in?
TRIO: Yes, that's the way it was. That's why the hardware is working at its limit now.
ANALOG: I did hear that you actually oscilloscoped how the machine performed and worked from the inside out rather than tried to program something.
ANALOG: Can you go into detail at all about what you did? Your preparation for actually doing the programming?
TRIO: Well, that was mainly related to the [system] timings...measuring the timings. That's all. Look at it as simply a machine that works in real-time and [does] things. You must understand the machine. Programming comes later.
ANALOG: Were you looking at specific sorts of applications, more than just a paint program?
TRIO: It was kind of curious, because we were thinking first about doing some animation stuff. Some flight simulators and those things. When you start to do this, you realize that it is too slow. When you redraw images, it's a lot of pixel movement. Okay, so you've got to move blocks. You move not just a couple of objects, but the background, and it's hard.
ANALOG: Is that a limit of the ST or is that a general limitation?
TRIO: It's general in that the microprocessor is only so fast. There's so much data. And there was an idea that to change the background maybe you shouldn't redraw it... to do it a little better, you have to change colors on the fly.
ANALOG: Because you need more colors?
TRIO: Yeah. And that's where it starts.
ANALOG: So, at that point you decided to do a paint program?
TRIO: Yes, to do a static display program.
ANALOG: Were you thinking about writing a full-featured paint program, or just an enhancement to take pictures from other paint programs?
TRIO: Well, it was clear that we had to do it from scratch, because you have to have all the painting routines and block-moving routines and everything.
ANALOG: What's the maximum number of colors you can have on the screen with Spectrum?
TRIO: Non-interlaced? Atari hardware has 512 particular colors. All this stuff about 4096, and so forth...it's interlaced, it's dithering, it's all kinds of tricks. All we can get is 512, and that's the maximum. By the way, we explored the [interlace] idea—when you show one picture in even numbered frames and another in the odd numbered frames. But, you know, the flicker.
ANALOG: Right. How do you think these other programs—that are coming out with these multiple palettes and these interlaced tricks—are going to affect Spectrum?
TRIO: The thing is that there was a lot of experimentation. But nobody liked the flickering. So the [interlace] idea was dropped right there. In principle, I would say, with not much modification, we can show the same number [of colors] as theirs. But, again, you lose quality. We think that you can do pretty well with 512 colors.
ANALOG: You didn't use interlace because you said that the flicker was unacceptable. Do you think that that will affect the other programs?
TRIO: Let me put it this way: We had our choice of which way to go. I can see two perspectives here: Number one is the final result of the quality of that display, on the screen; and number two is the user-friendliness, and how comfortable you are working with all these tools. Now, we think that from both of these perspectives, our product is on a much higher level. If someone else wants to do something like that, it's perfectly all right to explore the machine or your own ideas or whatever. It has to be convenient. It's a paint program.
ANALOG: And how long did it take to develop this program entirely from the actual starting point? Actually working on it?
TRIO: From about February .
ANALOG: So we're talking about six, seven months.
TRIO: Yeah. It was ready in August, I guess.
ANALOG: That's a really incredible turnaround. I've seen some graphics software sit for six months to a year.
TRIO: If you consider that we have pretty good backgrounds—Ph.D. in physics, and background in electronics, electrical engineering and in software—then you wouldn't be wondering that the technical level of this program is higher than the average.
To do something like Spectrum 512, you have to have knowledge about how the display is working, how the image is created, how the computer is working, about all kinds of signals, about all kinds of software. When we're talking about creating software these days, people think that to write a program you have to know a particular programming language; either you know BASIC or you know C or you know Assembler. To write something like Spectrum 512, you've got to be pretty diversified. You've got to know something about video images; you've got to know a lot about assembly; you've got to know about the machine.
It's like you're working on a mainframe You've got to be able to work with the equipment available, to use that oscilloscope or analyzer to get those signals which make sense. To do software, you've got to know the languages; to do hardware, you've got to be an electrical engineer. You've got to have a pretty good idea about electronics.
ANALOG: People will look at this program and think, What routines are they using there? They're going to be thinking about system calls or calling the graphics chips; they're not actually figuring how you would address the hardware to make it do things it normally isn't designed to when you go outside of the realm of defining Atari possibility as defined by Atari. They see the demos and they think, How?"
TRIO: That's right. That was the idea. We are engineers; we're not just software people, and we're not just hardware people. We're an engineering outfit. We consider that the best way to approach a problem is to get a broad scope of that problem; to use the best available state-of-the-art hardware which will work with the 68000 processor, get right to the nitty-gritties of that machine. And you've got to be a bit of an artist, too, to use the imagination as we've tried to do.
ANALOG: I wanted to get into some specifics on Spectrum, per se. Are you addressing certain chips, but not in a normal way, or bypassing the normal video hardware?
TRIO: We are addressing the color palette, what is called the video shifter [chip], and changing the color registers inside it, like with display line interrupts.
ANALOG: It seems like you must be doing it in the middle of a scan line rather than at the end.
TRIO: Yeah, yeah.
ANALOG: Which is why you need all the tight system timing. You have to know exactly how fast the machine is going, so you know how long it takes you to draw an electron beam across the screen.
TRIO: Yup. I think the idea itself is rather obvious, but, implementation....
ANALOG: The most obvious things are often the hardest ones to pin down. George Lucas once said that he spent years trying to find the obvious. Without knowing the hardware as intimately as you do, there's no possible way of doing this. That's how you do something that's technically impossible to many, because they are trying to get around what they perceive as limits, rather than seeing what the actual limits of the hardware are and how the hardware actually works.
TRIO: Our idea was like this: We will change the maximum number of colors as is physically possible. It will create a lot of complications (chuckling), but we'll deal with that somehow later.
ANALOG: You want to implement the basic plan first, then work out the little rough spots.
TRIO: Exactly. And there are plenty of them.
ANALOG: And now you've got this working. But with the amount of overhead and the tight timing, I imagine it would be difficult to do very, very complex animation at this point, at the speed that the computer is running.
TRIO: You never know. It certainly is an open question, but we think there is a good potential.
ANALOG: How is Spectrum programmed? Was it in C or what language?
TRIO: It's Assembly... all Assembly.
ANALOG: Do you think you could have pulled off the speed or the ability with any other language?
TRIO: Well, some, I guess—70% of it has to be done in Assembly. It's real-time alone. You have to know how long each instruction takes.
ANALOG: The machine only goes so fast, you have to do it at the machine's full speed in order to do what you want to do. If you have the overhead of a compiled language, you won't be able to do it.
TRIO: Yeah, in other programs when you use a high-level language, it will just slow down. Here, the picture will be destroyed (chuckle).
ANALOG: In order to do the system timing, you have to be able to go inside and run at the proper speed.
TRIO: Yeah, some other parts of the program could have been done in... (pauses) but not too many of them, so better integration on the whole thing, I guess. Assembler is much richer in the number of instructions, and that gives you more....
ANALOG: More power?
TRIO: To make that little machine work perfectly, you've got to beat the hell out of it, so you better go into the instruction level. To illustrate a little bit what I just said—as you can see when we made another step to [Digispec], what we did first, we really improved [ComputerEyes]. We gave them better abilities to use their own hardware, and then we jumped in and made another step further when we improved the software, which was possible to pull from the Spectrum side.
ANALOG: Can you expand a little bit on how Digispec came about? I realize that you approached the Digital Vision people because they had an existing digitizer, that, again, the market was there; there were a lot of people who had the product already.
TRIO: First of all, we don't have anything exclusive with Digital Vision. At this point, well, their product is improved. Particularly, software-wise. It doesn't mean that it's the best hardware available on the market, so we do have something in the works with other people, particularly working from scratch—combination hardware and software. So we think another digitizer could be done, although we don't have anything certain here.
ANALOG: With regard to the ComputerEyes digitizer: Did you dissect that the same way you did the computer by analyzing the actual hardware—to see what it could do?
TRIO: They have specialized hardware. We didn't go into that. Not in the special hardware side. Starting with the video, the raw video data acquired, and what to do with it, we took over from that.
ANALOG: You just used the device to pull it in; and basically once the data came in, you totally handled it differently than what they did originally.
TRIO: Yes, absolutely.
ANALOG: So, the hardware is the same, but you worked with them to have their software enhanced to a level that you could work with it. It improved their product; and also, now you have another branch on the tree—the Spectrum tree, we could call it—because you instantly have an application for the program. People who have the digitizer now have a reason to buy your program. Or people who have the Spectrum program have a reason to buy the digitizer. It handshakes very nicely, doesn't it?
TRIO: It's a. . .what they call these days, a popular expression: a "win-win" situation. They win, and we win, and everybody wins. I think the user will win because you can see the result right there on the screen. Another thing we applied here, you've got to know simple things—simple from the physics standpoint—you've got to know optics, and we planned a few ideas from the area of optics. And that's how we improved their software too.
ANALOG: In a way, by using the techniques you have, you've managed to smooth out the system's graphics that people would otherwise have considered inferior quality for doing certain types of displays. What this does is put into the hands of people with very inexpensive computers the power to do the kind of graphics work that normally costs a lot more.
TRIO: Oh, yeah (chuckle).
ANALOG: For the small fee of a piece of software, users can now generate graphics of a quality that were impossible previously. So do you see this as affecting ST sales potential?
TRIO: The smoothing is done by introducing additional colors, so the ability to have that many colors in one picture will probably affect the sales of the computers and everything else. Because you can do much more.
ANALOG: At any rate, Spectrum again is a paint program, but now you have a basis. Where do you expect to take it from here?
TRIO: CAD 3-D.
ANALOG: So you expect to work that in with some of the other products?
TRIO: Yeah, we've had pretty good luck, I should say—talking about the marketing side of the picture. We're pretty happy working with Antic. And we think that we can really improve their line of graphic products. From another hand, we can expand our own experience going with different types of hardware, and going to different kinds of applications like, for example, digitizers. That's another possibility. The first step may be as some kind of an animation market, limited. Further down the road, we could make it available for some people, to a lot of developers.
ANALOG: Is part of what attracted you to working with, in this case, The Catalog, that they are trying to make a broad-based graphics system with all these various parts? You have sort of fit in there, and you have people who have other parts conceived where eventually they can use your program. Because even if you cannot right now use Spectrum images with CAD 3-D, people will be expecting you to add that somewhere down the line. So you have a built-in market there, if you decide to do that. Is that part of the appeal?
TRIO: Yes, I think that's the next thing to do.
ANALOG: So you are going to license the technology for integrating with other products? It's not limited to your paint program or use with a digitizer. Do you think the process that went into Spectrum—of timing the computer and all—will enhance other people's work. . .and the ST market as a whole?
TRIO: Absolutely. We're saying that [the ST is] a good machine. It has the potentials there, and we'd really like to participate in expanding and improving, and have a much better user base.