TRS-80 architect reminisces about design project
By STEVEN W. LEININGER
Tandy Advanced Products
(Transcript of presentation given the San Diego Computer Society Sept. 17, 1977. Dr. David A. Lien, author of the TRS-80 Level I Basic manual, introduced him, noting that he is a graduate of Purdue University, with bachelor and master’s degrees in electrical engineering, and that he had been with Radio Shack about a year, going there from jobs in the San Francisco Bay area.)
This project started a little over a year ago, really three years ago before I was at Radio Shack, their wanting to get into the blooming computer hobby business. They wanted to build a computer hobbyist kit… When they hired me they were still looking into the kit computer…, a printed circuit board that would perhaps flash some lights.
As they were bringing me on they decided that what they really wanted was something that would work in a higher-level language. They had been working very extensively with a consultant, using the National Semiconductor PACE. As it turned out, the PACE was going to cost far too much. They decided what they really wanted was a less expensive processor, namely the National Semiconductor SC/MP.
That’s where Radio Shack caught me. I was in the National Semiconductor microprocessor system design group, and I was introduced to them as the person who was working on the Tiny Basic for SC/MP. That has since been rewritten and is now distributed as Nible.
After working with Radio Shack about two months, I convinced them that the SC/MP may not be the way to go. It looked like we were taking 4K of ROM to have integer-only Basic, which was the equivalent of about 1.7K Basic, which Dr. Li Chen Wang of Palo Alto had written. So I said maybe we ought to look into some of the other processors that are available. Anything that had anything to do with 16 bits was at that time too expensive. Of the two 8-bit processors that we principally looked at were the 6800 and 8080.
We got into a hair-pulling contest with both the 8080 and 6800. It seemed that for our application they were both suitable in the programming area, but they had less-desirable characteristics, like the MOS-level clocks, and a few other undesirable traits, and I decided it might be good to look at something a little more elaborate. At that time Z-80s were being sold for about $200 each, but I called them and they came back with something that kind of raised our eyebrows a little.
By now we had pretty well determined what our initial system was going to look like, and we had breadboarded certain segments of it which we knew weren’t going to change anyway. I have some of these day-one prototypes here. This stuff is off a card rack, which has since been used for something else, typical but… We had several cards made up. This is the Z-80 CPU card. It’s done on standard Radio Shack breadboard, very high-budget operation (laughs). This was the video character generator. There was another card with the character generator, which has been taken apart. The cassette and keyboard interface (holds up a $2.99 4 x 4.5″ perfboard that takes 44-pin connector). I don’t have the RAM boards with me. We’ve got two different ROM boards here. I showed you the Z-80 CPU board; we had also made a SCMP, a 6800 and 8080 CPU card. At this time it was still my whole ball game and I did all the wire wrapping and everything. It was sort of a one-man show. And we were beginning to get some of the existing Tiny Basics into ROM, just to show that we had a working unit.
The Z-80 decision was made, and we were planning to use 2K of ROM, with a Tiny Basic in it, and 1K of 2102 RAM, for program storage memory. Historically, this would have been maybe a lot of memory to give out with a machine, at the time, considering the original MITS Altair, which came with 256 bytes of RAM, until they figured out that they didn’t even have to give you memory in order to get you to buy the machine. We were planning to give you a very workable machine.
As you may be aware, the Z-80 supports dynamic RAMs, with very little of the hardware overhead which is traditionally required. So we priced out dynamic RAMs and found out that there is a very large price differential between them and the static type. We breadboarded the thing up with the dynamic RAMs and essentially Li-Chen Wang’s Basic with our I/O drivers added. We had all these boards in a little card-cage assembly, screwed under the back end of a table. We had one of the modified televisions and our keyboard on top of that plastic case, and that’s when we showed it to Mr. Tandy.
He came in, and I don’t think he realized we had everything under the table (laughs). What’s even more interesting is that people who really knew about it were all nudging each other “heh heh, you know, it’s all under the table.” When we finally came out with our first pre-production units where everything was inside the case, they said, “Well, let’s see what’s under the table,” and they lifted up the curtain and it’s empty. We had the thing back there and he (Mr. Tandy) looked at it and I suppose he understood the, eh, he didn’t understand all the technical stuff, like everyone here would understand everything that’s going on there, but he I think was starting to understand the financial implications of going into the computer business, and that’s when we really got a go-ahead. I guess that was in February (‘77), and then I didn’t get any sleep for four months.
We went from this stage here, firmed up our specs on the Basic, what we really wanted, and also firmed up a little bit of the hardware, certain things that we had to clarify for the hardware design, the CPU and its supporting circuitry.
THE CPU: of course we had decided on the Z-80, and the supporting circuitry we’ve got around that is: the thing essentially surrounded by buffers. All the control lines have been brought out in the most simplified form, Those of you who have the Altair bus-they’ve got several signals which must be ANDed and ORed, on each memory board, to produce a write or read signal. What we’ve got we’ve produced a negative “L”, write strobe, memory write and memory read strobe, an input strobe and output port strobe. It simplifies interfacing.
We’ve brought out the signals for dynamic RAM refresh. Making a dynamic RAM interface for this computer is super simplicity. Of course you could also make a static RAM interface. That’s even easier because you don’t use the three signals available for dynamic RAM.
We do bring all those buffered signals to the output of the computer. We’ve got what we call the expansion port. It’s got this clever little plastic door here. And if you look inside, there’s a card-edge connector — 40-pin, and it has the following signals on it:
* 16 address outputs
* 8 bi-directional fully buffered data lines
* The four dynamic-memory control signals discussed above
* An interrupt-in and interrupt-acknowledge out
* We’ve got the row-address scan, the column-address scan and the multiplex signals for dynamic RAMs
* And we’ve got system reset
POWER SUPPLY-We’ve diverged a little bit from the standard hobbyist concept We don’t have a 30-amp welding supply built in here like some of these guys do. We’ve got a power supply that looks like something you might hook onto your Lionel train set or something. What it is, is a little transformer box, very simple to get something like that UL approved.
We are currently working on a system where everything is enclosed, but that’s our second and third generation. This (multi-unit packaging) was done essentially for the speed of getting the thing taken care of.
We had another tradeoff to look at in the area of video displays. We could have gone what might be considered the desirable route from the homeowner’s standpoint of down the antenna terminals. Well, there are a couple tradeoffs we have looked at there. One is you’re going to be at the FCC for about five years with your computer. It wouldn’t be five years, but there’s a reasonable chance it would have been longer than six months. And FCC requires you to run your finalized version through FCC testing. And they’ve got way of just shuffling their feet and going awfully slow sometimes.
We are looking at a version that will hook up to the television set. Now we’ve got something to hold our place in the market while we’re working on that. But the other tradeoff involved is that this thing puts out 64 characters per line.
With 64 characters/line you’ve got an approximate video bandwidth of 6 mega-hertz, and on your B/W TVs you’ve got a sound trap at 4.5 megahertz, on a color TV it’s even worse than that – you’re down to a bandwidth of about three megahertz, maybe 2.5, and everything smears, you can’t read it and we figured that was undesirable.
32-CHARACTER LINES – The computer can be expanded to 16 lines of 32 characters. Under software control, you can display 16 lines of either 32 or 64 char- actors per line. Level I Basic does not support 32-character lines, but machine language in Level I machines does, and Level U Basic gives you choice of 32 or 64 characters/line. Characters in 32-space lines are much wider, and they can be run down a standard television antenna. Of course you have all seen articles about how to connect to a TV or you can go out and buy a Pixi Verter. But I’m not supposed to tell you that (laughs). Right now we’ll tell you what the video outputs are but we’re not going to give you a schematic on how to hook it up to your TV. Most people are clever enough or can find someone who is clever enough to do this kind of stuff.
For video display, we are recommending our monitor. It is a monitor made by a famous TV manufacturer, to our specifications. That’s a line-operated television set and to keep people from fritzing our computer or themselves or both, we’ve got a circuit that we did, An optical coupler inside the computer provides up to 3,000 V isolation between the computer and the keyboard (TV! 110V line? Ed.).
The monitor does have a standard 75 Ohm input, and the computer a 75 Ohm output, so if you have a standard video monitor, then you can plug it straight in to the video input. The bandwidth on the monitor is approximately 6 megahertz, suitable for 64-characters/line, might be marginal for anything much beyond that.
We did add graphics to our video capability, and our graphics are very similar to PolyMorphic’s. It was not an intentional – we did not blatantly copy PolyMorphic’s graphics, it’s just that it’s a very inexpensive graphics to come up with.
So essentially, for those of you who are not familiar with those graphics, it cuts down the character cell to two across and three-down squares per character block. Under Basic control we can SET, which is the command, or RESET, given X, Y, coordinates, any section on the display. With those, you can draw lines and fake snowstorms or termites eating up blocks of wood and all that clever stuff.
KEYBOARD – Kind of interesting, we’ve departed from what a lot of people usually do. Many of the existing hobbyist systems have a keyboard scanner that does the keyboard scanning and gives you an ASCII output. We did all ours under software control, essentially setting up a matrix and having the software scan the keyboard. With one quick instruction we can see if any keys are depressed. In some people’s opinion this may not seem the most desirable way to go, but it is by far the least expensive route. We have taken what might be considered a few systems shortcuts, which we feel gives us the best possible product per dollar.
LEVEL I BASIC – it’s in a 4K ROM. We started out by looking at the Li-Chen Wang Basic, it’s in the public domain, of course it’s integer. What we did, we went back through the Wang Basic and completely tore out about 60 per cent of it, the integer overhead and all that kind of stuff. It’s got a full floating-point package in it now, add, subtract, multiply and divide, it doesn’t have the transcendental functions, we’ve got a Level II Basic, which will be available by the end of the year.
Right now, we think this is the easiest entry for somebody who doesn’t know everything about computers. As it’s turned out, we’ve found out that most of our customers know EVERYTHING there is to know about computers (laugh). Everyone keeps calling up and saying, “Why didn’t you do it this way…, that way”. You know, nobody was there to give us input for the first time, so we did it what we felt was the best way.
HARDWARE – (Pointed out the original breadboards, which had been cannibalized, the first pre-production prototype, from which Mr. Tandy gave the go-ahead “it had a professional wire-wrap board in-side it. I had ended my happy wire-wrap days. Dr. Lien has been using that unit for about six months and I guess it still functions. And we have several different versions there, up to our current production model, which is this”).
We’ll take a dumb look at the outside. We’ve got the power switch back there. We made a value judgment you don’t want the power or reset switches on the front panel, because you reach a little too far into a carriage return or something like that and your machine shuts down. You could be disappointed, so we put those switches in the back. We put all connector cords on the back also.
The 53-key keyboard- contrary to a popular rumor it is not the same unit as we sell in the stores, although that’s really not a bad keyboard, they’re both made by the same manufacturer, Rytek.
The case is impact-resistant plastic. And the computer is held together with six screws on the bottom, and comes apart very easily. There are two printed circuit boards inside it. The processor, RAMs and ROMs are in sockets.
The power supply is kind of interesting. It was developed at Tandy Systems Design, another branch of Radio Shack. On both the 12 and 5 Volt there is fold back current limiting. What that does protect you from is that a lot of companies use the three-terminal regulators, which do not have fold back current limiting. That is not so much a problem on S 100-type boards, where you do not have that much logic on one board, but I’ve got a Compucolor where everything is driven off a single three-terminal regulator, which shorted and sort of ate my computer’s lunch. So in our judgment the best bet was to put the current limiting and all that in there. Theoretically, three-terminal regulators will go into thermal shutdown, but that’s in theory and not necessarily practice. So we decided to play it safe there.
The RAMs are in sockets. We’ve got a couple DIP headers (plugs) that go in to tell the computer whether you have 4, 8, or 16 K RAMs on the board.
There are two sockets for 2708-pinout-compatible masked ROMs. We’ve got a few machines right now that are running with 2716s, the 2 K-by-8 EPROM’s, but at $212 per whack, we can’t ship those out to the Radio Shack stores.
The board is laid out for automatic insertion of components. We’re not at that stage yet (Sept. ‘77), but there are indications we might be into that soon.
There is one other signal that I failed to mention, on the bussing. That’s a signal called Test. When that signal is brought low, it tri-states the processor internally, and all its output buses. What this lets you do is go in there, and from somewhere on the external port exercise all the all of the internal RAMs, the ROMs, the keyboard, the cassette I/O, and verify proper operation of the computer. We found this to be helpful in testing our computers in the Fort Worth final assembly station.
CASSETTE – I guess I didn’t mention the cassette. We made another grand value judgment there, and we’ve caught a little flack from it and I thought maybe I should explain why we did what we did.
Our cassette standard is very similar to a method employed by Hal Chamberlin in a newsletter he published called The Computer Hobbyist. It’s something many people are not aware of that’s pre-Byte and pre-Kilobaud, but he had a method in there that’s very similar to the way a floppy disk functions. It records one pulse for a zero and two pulses for a one. On Level I machines our baud rate is about 250. We’ve done this as the best tradeoff between reliability and being able to use low-cost cassettes. The Tarbell standard, with which I’m sure many of you are familiar, is much faster. It unfortunately requires quite a bit of hardware, and will not always run reliably with a $40 Radio Shack tape recorder. What’s a Tarbell interface go for now, $100? That’s about how much it would have impacted our system cost, so that instead of a $600 system you would have had a $700 system. Some people say “Well, it would have been worth it to me”, but one of our judgments was that it wouldn’t be worth it to everybody.
S 100 COMPATIBILITY- The output port here can be adapted to the S100 bus, or the Southwest Tech bus, or just about any bus that exists out there right now, because of the generalized nature of its I/O.
Since we don’t split the data bus, that can all be done externally, you can split it. The S100 bus of course has two data buses, an input bus and output. You’ll have to sort of fake some of the control lines or some of the control signals that, really what you’re doing is un-ANDing them so that when they get all ANDed back on the computer boards it all comes up the same again.
There will be an S 100-bus adapter board available. I’m not sure whether it will be available in the Radio Shack stores or not, but having worked in a Byte shop before, if there’s a chance to make a quick buck out there… I don’t know how many of you guys run a business out of your garages, but it’s a thing I have done and I know it’s something that someone will jump on if we don’t, so we’re going to play it by ear and see who jumps first.
Our chief concern is supplying the higher-level electronics, sort of the base to build upon.
PRINTERS – We’ve got two printers that will be available. One’s less than $1500, the other is less than $700. The more expensive one will be an impact printer, 65 characters per second, the other will use electro sensitive paper and run at 2200 characters per second. There may be two versions of the latter, the one that comes out first will use paper about 4.5″ wide. It can print a page off the CRT in less than a second. We are of course keeping our ear to the ground in case someone comes up with a $100-ilk Diablo-type printer, (laughs).
12 K BASIC – Our 12 K Basic is probably as outstanding a Basic as you can find out there. It’s one that’s been in use for two years now. Some of the more clever of you might be able to figure out whose we’re using. We are using it under a license agreement, as opposed to – there are a few companies out there who would say, “Hey, that’s a good Basic, we’ll just…” it will again be in a ROM, which can be retrofitted into current machines, in the Radio Shack stores. The nearest competitor, one you’ve got this 12K Basic in there, would be the IBM 5100. It’s going to be powerful. There are two ROM sockets. We will be using, in the 12 K Basic, an 8 K-by-8 and a 4 K-by-8 ROM.
MEMORY MAP- Our unit starts at location zero:
1) We start using ROM from location zero up through the first 12 K.
2) The next 4K is reserved for the keyboard and the video-display memory mapping.
3) And then the next 48K is all RAM.
That’s the way we have it set up right now. Of course, anyone can stick RAM up in the top if they want, but that’s not the system that we’re supporting.
At this time we have no specific plans to support high-speed cassette. If we see the demand is out there we’re going to jump on it.
We’ve got some high-resolution graphics coming up. First the system that hooks up to the television set, that’s still in the works, there’s a lot of paperwork.
Guarantee – 90-days, parts and labor. Radio Shacks have 56 service centers coast to coast. We are working on an arrangement so that a maintenance contract can be purchased, similar to what IBM would supply, or Sears would supply on a refrigerator or something. We feel that this is going to be the way to go on computers.
Hardware documentation – initially we had planned on not supplying the logic prints with the thing, and we got into such an uproar that we pretty much changed our mind on that. There was some corporate fear that someone was going to whip open his garage door and crank these things out, you know, beat us to the punch. Since then we have come to the startling conclusion that, you know, we probably get better parts on prices than they do. So the logic diagrams will be available.
Software listings, our 12K Basic, you’ll probably never see a listing of it, because it’s not our Basic.
Keyboard – in hardware, you’ve got 64 possible keying combinations, and you’re decoding 53. Is there a way of adding some extra functions? We’re looking at adding some more. Of course we’ve got a 53-key keyboard there right now. As you’ve seen, the keyboard is on a separate board (from the computer). You can see, we can poke this thing out (bezel next to keyboard, with TRS-80 written on it, not removable in later production models), and put a board on there that has a numeric keypad. There are many things we could do. That was one of the tradeoffs, by the way, that I forgot to mention. Initially we were looking at a calculator keyboard for this thing. One of our competitors is using a keyboard that is not much better than a calculator keyboard. We came to the conclusion fairly early in the ball game that the extra money spent on the keyboard is probably the smartest thing we’ve done. It’s a much better feeling keyboard, and I think we made the right decision here.
Weird peripherals – The TRS-80 bus will support anything. Since it’s really an extension of the Z-80 bus that’s been cleaned up a little bit, it will support anything that you want to put out there – if you want to control your merry-go-round with it. You know, we get those kinds of phone calls: one guy wanted to hook it up to his toaster. And of course every other phone call, a guy wants to hook it up to his lawn sprinkler. That’s going to happen one day, but it’s probably not going to be with this machine, and it probably won’t be with any of the machines out there now. I venture to say nobody really wants to hook up a $2,000 IMSAI to his lawn sprinkler. You know, just let it sit there and sprinkle his lawn. You’ll have dedicated electronic lawn sprinklers some day.
Power supply – The power supply itself, since it’s internal to the thing, I don’t know if the specs mean too much. We don’t support external devices with the power supply that comes with the unit. From just a curiosity standpoint, it draws less than an amp at 5V, and about 200 milliamps at 12V and about 50 micro amps at -5V. One reason for the lower levels of the power supply is that all the TTL possible is in low-power Schottky, it costs a little bit more but it saves a little power.
Clock speed- it’s ballpark 1.8 megahertz, 563 ns on the nose. That was derived from our video timing chain. That’s another big cost-saving feature. And we could also use slower memories. A key to this whole computer is that we designed around existing parts. Sure we can get a microprocessor that will run at 4 MHz, but I defy anybody to build a system like this, at the current prices, and have the thing run full speed with the type memories we’ve got in it. I don’t believe it could be done.
Interrupts – “You only bring out one interrupt, what about external rigs?” You may be familiar with the Z-80. There are two interrupts on there. The non-maskable interrupt we use for our reset. The reason for that is that if you use the traditional reset, while that is low, the whole processor stops processing, and while it stops processing, it quits refreshing dynamic RAMs, and when you do that you lose memory, and customers. So we dedicated that interrupt to our own uses.
Teletype – “Can this system talk to…?” The current version (Level I Basic) does not support the serial interfaces. The next version (12K) will support the serial interfaces or external devices. Converting from ASCII to Baudot is simply a software problem.
Lowercase – Right now we’re not supporting lowercase; we’ve had enough interest that we may be looking into it, though. There seems to be quite an interest from the word processing industry. In similar manner, with lowercase we may also be looking into expanded number of characters per line, 80 or more. Again this is going to take some hardware changes. These are things we are looking at for our second and third versions. We sort of see our current computer as square in the middle of no-man’s land. You know, the high-end consumer and the low-end business, and we’re going to branch in both directions.
Compatibility with later models, “Will you be lost completely?’ You will be for certain applications. For example, this computer, since it is limited to uppercase, is not ideally suited for word processing applications, where you’ve got upper and lowercase. Our upper and lowercase machine is still probably more than a year off. We’re trying to maintain as much upward compatibility as possible. We’re being very careful along those lines, and we feel that the person who buys one of these machines today will not be disappointed in a year from now.
We intend to fully support these things, as long as people still are buying them.
And of course we maintain our spare parts backup on anything we sell for a minimum of 7 years – it’s more like 10 years. Ten years from now, who knows what computers are going to look like?
Factory location – They’re being manufactured in Fort Worth. Part of it is being sub-assembled in Austin Texas; the whole thing though is being assembled in Fort Worth. While Tandy Corp. does have Japanese electronics manufacturing firms under its wing, we feel that the quality control which we wish to exercise over it right now is going to require us to manufacture them in Texas right now.
Marketing- “A lot of us are confused as to how Radio Shack or anyone is going to take on something like this, which is really much more sophisticated than their other products?” We’re looking at different avenues for selling product. Tandy Corp. has recently announced a Tandy Computer Store. Tandy Computers is much like Byte Shop and Computer Land, it’s Don French’s outfit. That’s being opened on an experimental basis on Oct. 1st in Fort Worth, just so we can get a pulse on it. Fort Worth may not be the computer capital of the world, but it’s close enough that Mr. Tandy can walk in and shake a few people if something is going wrong. Marketing computers is getting interesting. We feel that we have a jump over some people. For example I understand that Sears will be marketing a computer, and from what I understand it’s supposed to be the Commodore unit. That’s all hearsay, and I think that’s all you’ll get from anyone now. Macy’s is supposed to be handling the Compucolor. The Compucolor, as you know, is a $2,700 computer. We feel that’s far out of the range of anything Radio Shack could sell. Up until now, the most expensive we’ve had is the STA-2000. That’s a $500 stereo receiver which is one of the better receivers available in that price range today. I realize that (our computer) may not be as flexible as an IMSAI or Altair, or whatever, but for $600 we feel you are getting at least your money’s worth, and we hope to make it maybe more than your money’s worth.
Market target – We originally thought our market was going to be the home consumer. That’s the ideal – we said, wow, if we can get one in every home, at so much, you start seeing all those big numbers, we’d get into buying AT&T by the end of the year. Eventually we’re going to be getting back more towards the consumer. This computer has generated so much business-community activity and interest that we will probably have a spin-off corporation that will do nothing but handle business areas of it. And if we keep our prices the way they are, of course the hobbyist can take advantage of the improvements we make in those areas.
Availability – We are doing everything we can to bring up production. One of the biggest problems we’ve had is that corporate people who make decisions – you know, we’d come in and say “we’ve got the greatest thing since sliced bread, a computer everyone’s going to want”. They didn’t want to commit to it. Radio Shack doesn’t climb out on a limb too often. Too many other companies have; look at Sears with its Cartravision color TV/tape recorder. They lost money on that. They’re being a lot more careful, I would imagine, with their computers. We’re being careful too. What we see right now is that we’ve been much more careful than we should have. It’s a case that if we had 10,000 in the warehouse right now we’d probably have them moved off by the end of the month, with very little effort. We’re not pushing this as hard as we will once we get production up. You’ll see Paul Burke on television with our computer, or something like that. You’re not going to see that this week, or by the end of the year. Next year, it’s a very real possibility.