|
The Mark-8 Minicomputer
Last revision: March 21, 1999, Copyright © 1999 Jon Titus |
Why Octal?That's an interesting question, and one I hear every once in a while. First, the PDP-8 minicomputers broke down instructions into four 3-bit words, using an octal digit to represent each 3-bit group. The minicomputer had eight basic types of instructions, so the octal system served well to represent codes and addresses. Second, although you can use almost any system you want to represent binary codes, why remember 16 codes in hexadecimal (0-9 and A-F) when the digits 0 through 7 work just as well. Finally, the instructions for the 8008 microprocessor chip broke down nicely into 2- and 3-bit groups; XXYYYZZZ. Here's an example that shows the beauty of using octal notation with the 8008. The processor has seven general-purpose registers, A, B, C, D, H, and L. A served as the accumulator. Registers H and L operated as general-purpose registers, but they also served as memory-pointer registers, thus the L, for the low-order eight bits, and H for the high-order address bits. These registers were coded in binary as follow:
Note that at this point there's no register associated with code 111. In the 8008, there's an instruction that lets you move the contents of any register to any other register. It's coded in binary as: 1 1 D D D S S SThe three D bits represent the destination register for the data, and the three S bits represent the source register that holds the byte you want to move. So, to move a byte from the C register to the E register, you need an op code of: 1 1 1 0 0 0 1 0If you break this into octal groups you get: 11 100 010or 342. If you want to reverse the order of the transfer, the bits look like this: 1 1 0 1 0 1 0 0or 11 010 100which in octal comes to: 324. You can see how you simply reverse the digits in the octal number to reverse the flow of information. After a short while, a programmer understands that the 300-series instructions are all used to move information to and from registers. Compare these two movements, register C to register E, and then the reverse, as noted in hexadecimal: E2 and D4 No pattern there! Most of the other 8008 instructions broke down nicely into octal groups. It became easy to "converse" in octal codes and to quickly look at a listing of octal codes and immediately see what the instructions were supposed to do. Interestingly, Intel continued with a similar format in the 8080 family, slthough the op codes changed and there were more of them. In 1976, we made up some nice cardboard slide rules that listed the codes for the 8080 and 8085 microprocessors. By sliding the cardboard insert you could quickly come up with the proper op code for any operation. We produced the cards in both octal and hexadecimal versions. In the 8080, the various conditional-jump instructions in octal are 3X2, where X varies from 0 to 7. The octal codes are easy to remember. In hexadecimal, the same codes are: C2, CA, D2, DA, E2, EA, F2, and FA. They don't exactly show an easy-to remember pattern. I guess the computer scientists at Intel got hold of the 8008 and 8080 op codes and decided to force them into hexadecimal notation. One of the early Intel manuals used decimal coding, of all things, but the company quickly switched to hex. Too bad for the users. My colleagues and I stuck with octal for as long as we programmed with Intel and Zilog processors. And we taught using it, too. As far as I can remember, the students caught on quickly and were remembering op codes in no time. I can still remember octal op codes for the 8080 and when I fool around with assembly-language programming for the 8085 or Z-80, I automatically revert to octal. It's a snap. |
Early ReactionsWell, the computer caused quite a stir in the hobbyist-experimenter circles. Remember that at that time there were no--or almost no--hobbyists who had their own computer. Here comes one that they can build for about $350. Experimenters aren't sure what to do with the Mark-8 at first, but lots of people want one. Keep in mind that 4-function 8-digit calculators cost about $100, and the first scientific calculator, the Hewlett Packard HP-35 costs $325 to $350. I liken this to inventing the egg beater when no one knows you can eat eggs, or that eggs are good to eat. It can take years of missionary work to convince people to eat eggs and then the egg beater catches on. The Mark-8 came along at just the right time. Several "user groups" started in the US, and one published the Mark-8 Newsletter, later changed to the Micro-8 Newsletter. One of the founders, John Craig, went on to become the first editor of InfoWorld. My copies of the Mark-8 Newsletter went to the Smithsonian years ago. I can't recall any specific reviews of the Mark-8, because after all it was not a kit, but a collection of circuit-board layouts and information on what to do with them. Radio-Electronics magazine sold several thousand of the $5 supplemental booklets that they offered for sale in the magazine article. I had contracted with a circuit-board company (Techniques) in New Jersey to sell sets of circuit boards for about $50. As best I can recall, they sold a couple of hundred sets of boards. I got a royalty of the booklets and on the circuit boards, and I got paid several hundred dollars for the magazine article. The extra money was nice--I bought an IBM Correcting Selectric typewriter with some of the money. We didn't have word processors yet! We didn't have email either, but I corresponded and talked with many people who needed a bit of help, or who had ideas for projects, improvements, and so on. One of the nice things about the Mark-8 was its robust electronic design. The computer worked flawlessly every time. It never received any criticism for a flawed design, circuit problems, and so on. Other later computers, in particular the MITS Altair (and the S-100 bus), had a reputation for severe electrical and electronic problems. I know of several people who never got their Altairs to run properly. Anyone who knows the details of the S-100 bus can tell you what a mess it was. I have never since seem a poorer bus design. I never received one complaint that the Mark-8 wouldn't run. By the way, a mail-order electronics-parts company in Texas offered a kit of the hard-to-get components. I never received any royalty from them, but I didn't expect to. Anyone could put together a bag of parts and sell it, as far as I was concerned. Plans For ImprovementI had no plans to improve it. I just wanted to show people that they could build their own computer. It was an educational project as far as I was concerned. After R-E published the design, I figured it was up to others to improve it, add to it, modify it, and so on. One fellow in Syracuse, NY (Maury Goldberg?) asked me to send him the printed-circuit tape ups. Those are the layouts that eventually get photographed and reduced to form the basis of the copper traces on the printed-circuit board. He wanted to add edge connector "fingers" to the bottom of the boards so that people could plug them into a real bus. He was going to lay out a simple bus, too. The original boards got connected by wires threaded from board to board along one edge. Soldering in the boards made it difficult to make modifications. But the board-to-board wiring proved very reliable and it was a lot cheaper that using gold-plated fingers on the cards and edge connectors on a bus. The Mark-8, after all, was a low-budget approach to getting your own computer. Maury modified the tape ups to add the fingers, but for whatever reason, he never actually made any boards, nor did he devise the required bus. Later he returned the tape ups to me, but over time they deteriorated and I threw them out. I'm Rich!One thing you didn't ask that others often do is, "Why didn't you get rich?" First, there was no market for small computers, so no one was going to sell a lot of them. Second, I did get rich, but not in terms of money. I'm rich because I enjoyed helping people start using small computers and I made them aware that they could get their hands in them and get the computers to do interesting things. I'm rich because I met and talked with a lot of interesting people. I'm rich because the Mark-8 helped launch me into a new career of developing educational hardware and software, technical writing, teaching, and editing. Overall life has been a lot of fun. Every once in a while I run into someone who remembers some of the early work my colleagues and I did the area of educating them about digital electronics and computers. Hearing them say that we helped them get started in a rewarding career makes me feel really good. I wrote this in one sitting and spent little time editing it or polishing it. By the way, I'm not an electrical engineer. My college degrees are all in chemistry, but I have always been involved with electronics in some way. People are welcome to drop me a note. I can't guarantee a reply, but will try. Cheers, Jon Titus |
| Contents may not be reproduced in any form without permission. |
|