Skip to main content

197509 Byte Magazine Vol 00 01 The Worlds Greatest Toy

  • PublicationBYTE
  • Pages100
  • Source197509_Byte_Magazine_Vol_00-01_The_Worlds_Greatest_Toy.pdf
← Magazines 197509 Byte Magazine Vol 00 01 The Worlds Greatest Toy
/ 100
Source: VintageApple.org — Complete 1975–1998 run, restored by Steve M.
Page 1
Loading…
Text content (OCR)
ISSUE #1 SEPTEMBER 1975 $1.50 the small systems journal Which Microprocessor for you? Cassette Interface — Your key to inexpensive bulk memory Assembling Your Assembler Can YOU use these SURPLUS KEYBOARDS? (You bet you can!) COMPUTERS - now. Since 1947, ACM has served as the educational and scientific society for computing professionals—30,000 strong and growing. Write today For regular and student membership information send the attached coupon to ACM headquarters. With Special Interest Groups covering every major computing discipline and local Chapters in most metropolitan areas, ACM is probably the organization you're looking for. ! would like to consider joining ACM. I | | sso | ox a ] Association for Computing Machinery I 1133 Avenue of the Americas, New York, N.Y. 10036 l Please send more information. Name. Position State Zip The MODULAR MICROS from MARTIN RESEARCH Here’s why the new M/KE 2 and MIKE 3 are the best values in microcomputers to- day! 8008 OR 8080 Martin Research has solved the problem bothering many potential micro users . ++. Whether to go with the economical 8008 microprocessor, or step up to the powerful 8080. Our carefully designed bus structure allows either processor to be used in the same system! The MIKE 3 comes with an 8080 CPU board, complete with crystal-controlled system timing. The M/KE 2 is based on the 8008. To upgrade from an 8008 to an 8080, the user unplugs the 8008 CPU board and plugs in the 8080 CPU. Then he unplugs the 8008 MONITOR PROM, and plugs in the 8080 MONITOR PROM, so that the system recognizes the 8080 instruction set. That's about it! If the user has invested in slow memory chips, compatible with the 8008 but too slow for the 8080 running at full speed, he will have to make the 8080 wait for memory access—an optional feature on our boards, Better still, a 4K RAM board can be purchased from Martin Research with fast RAM chips, capable of 8080 speeds, at a cost no more that you might expect to pay for much slower devices. In short, the MIKE 2 user can feel confi- dent in developing his 8008 system with expanded memory and other features, knowing that his MIKE 2 can be up- graded to a MIKE 3—an 8080 system—in the future. EASE OF PROGRAMMING Instructions and data are entered simply by punching the 20-pad keyboard. Infor- mation, in convenient octal format, ap- pears automatically on the seven- segment display. This is a pleasant con- trast to the cumbersome microcom- puters which require the user to handle all information bit-by-bit, with a confus- ing array of twenty-odd toggle switches and over thirty red lights! A powerful MONITOR program is in- cluded with each microcomputer, stored permanently in PROM memory. The MONITOR continuously scans the key- board, programming the computer as keys are depressed. Say the user wishes to enter the number 135 (octal for an 8008 OUTPUT 16 in- struction). He types 7, and the right- hand three digits read O07. Then he presses 3, and the digits say 073. Finally he punches the 5, and the display reads 135. Notice how the MONITOR program (Continued in column 3.) hamily Introducing the family of modular m from Martin Research! Choose either the economical 8008 proces- sor, or the powerful 8080. Either CPU is compatible with our advanced bus structure! Plus, a convenient monitor program, in PROM memory, allows you to enter instruc- tions with the ease of a handheld calcul- ator. Six large digits display data in octal format. jodularity makes for easy expansion. First quality parts throughout. Professionally made PC boards with plated holes, solder mask protection, 8080 CPU board features jersatile interrupt structure, multiprocessing apability. E: output ports. MIKE 303A board/display 6 monitor O 6 bytes of RAM), breadboard, “hardware, and tuctions: $395.00 kit, $495.00 bled and tested. MIKE 203A: CPU board with 8008, key PROM/RAM, interfacing to input and 4K RAM board $165.00 kit, $190.00 CATALOG! 'S & Canad Master Charge accepted. OEMs: write for quantity prices MARTIN RESEARCH Microcomputer Design 1825 S. Halsted St. Chicago, IL 60 (312) 829-6932 shifts each digit left automatically as a new digit is entered! The value on the display is also entered into an internal CPU register, ready for the next opera- tion. Simply by pressing the write key, for example, the user loads 735 into memory. The MONITOR program also allows the user to step through memory, one loca- tion at a time (starting anywhere), to check his programming. Plus, the Swap Register Option allows use of the inter- rupt capabilities of the microprocessor: the MONITOR saves internal register status upon receipt of an interrupt re- quest; when the interrupt routine ends, the main program continues right where it left off. We invite the reader to compare the pro- grammability of the MIKE family of microcomputers to others on the mar- ket. Notice that some are sold, as basic units, without any memory capacity at all. This means they simply cannot be programmed, until you purchase a mem- ory board as an “‘accessory.” Even then, adding RAM falls far short of a conve- nient, permanent MONITOR program stored in PROM. Instead, you have to enter your frequently-used subroutines by hand, each and every time you turn the power on. EASY 1/0 INTERFACE The MIKE family bus structure has been designed to permit easy addition of in- put and output ports. A hardware inter- face to the system generally needs only two chips—one strobe decoder, and one latching device (for output ports) or three-state driving device (for inputs). A new 1/0 board can be plugged in any- where on the bus; in fact, all the boards in the micro could be swapped around in any position, without affecting opera- tion. 1/0 addresses are easy to modify by reconnecting the leads to the strobe de- coder (full instructions are provided); this is in marked contrast to the clumsy input multiplexer approach sometimes used. POWER & HOUSING The micros described to the left are com- plete except for a cabinet of your own design, and a power supply. The basic micros require +5 V, 1.4 A, and -9V, 100 MA. The 4K RAM board requires 5 V, 1 A. A supply providing these volt- ages, and +12 V also, will be ready soon. OPTIONS A number of useful micro accessories are scheduled for announcement. In addi- tion, the MIKE 3 and MIKE 2 may be purchased in configurations ranging from unpopulated cards to complete systems. For details, phone, write, or check the reader service card. COMPUTER EXPERIMENTER SUPPLIES FACTORY FRESH—PRIME QUALITY PERFORMANCE GUARANTEED MICROPROCESSORS AND MEMORY 8008 ... .$ 35.00 ————— Commercial Grade—up to 35°C. 8080 . . 135.00 ————+ P 2102 . 3.50 |_____—« These units are factory 2102-2 ... 450 ————— fresh, full spec devices. COMPUTER GRADE REGULATED POWER SUPPLIES All units are short-circuit proof, fold back current limited and with over-voltage crowbar protection. MD-15 MD-5-1 MD-5-3 MD-5-6 +15 Volt at 200MA +5 Volt at 1 Amp +5 Volt at 3 Amp +5 Volt at 6 Amp Dual Tracking $24.50 $34.50 $44.50 $30.00 MICRO COMPUTER SUPPLY TTL INTEGRATED CIRCUITS COMBINATIONS All devices are factory fresh, full spec units. For the 8008 7400 -9 at 200 7404 . $75.00 7442 7447 MD-80—+5 volt at6 amp, +12v at 200 ma ...$75.00 7448 For the Fairchild F-8 7475 MD-08--+5 volt at 6 amp. MD-8—+5voltat6amp,+12vat200ma ...$65.00 | 7490 For the M6800 7493 MD-5—+5 voltat6amp ............... ee $44.50 74125 74126 All units are short circuit proof, fold-back current | 74192 limited and with over voltage crowbar protection. 74193. All Prices Subject to Change Without Notice Minimum Order $10.00 Add $1.00 to Cover Postage and Handling Send Check or Money Order (No C.O.D.) To: N. J. Residents Add 5% Sales Tax BOX 413, EDISON, NJ 08817 © (201) 549-2699 In the Queue Foreground RECYCLING USEDICs.............0000 0s 20 Hardware — Mikkelsen DECIPHERING MYSTERY KEYBOARDS ... .62 Hardware — Helmers LIFE Line Applications — Helmers Background WHICH MICROPROCESSOR FOR YOU?.. Hardware — Chamberlin RGS 008A MICROCOMPUTER KIT ......... 16 Review — Hogenson SERIAL INTERFACE ..............0.0005 22 Hardware — Lancaster WRYTE for BYTE seas cives ws oe6 anes ane! 44 For Profit — Ryland WRITE YOUR OWN ASSEMBLER .........- 50 Software — Fylstra Nucleus BYTE magazine is published monthly by Green Publishing, Inc., Peterborough, New Hampshire 03458. Subscription rates are $12 for one year worldwide. Two years, $22. Three years, $30. Second class postage application pending at Peterborough, New Hampshire 03458 and at additional mailing offices. Phone: 603-924-3873. Entire contents copyright 1975 by Green Publishing, Inc., Peterborough, NH 03458. Address editorial correspondence to Editor, BYTE, Box 378, Belmont MA 02178. From inception to press in seven weeks — surely a magazine creation record. Guinness please take notice. What is BYTE?s scses ous m ores wegen Sow a oF 4 How BYTE Started Clubs — Newsletters Book Reviews........ 00. eese cece e eee ed LOCO Siie saci isinmeces sewers owntba oa wore reward Byter’s Digest . . Reader's Service .. BUTE #1 SEPTEMBER 1975 p.22 Carl Helmers: “It could not have been long before some wizard of verbal magic figured out that a group of little bits must con- stitute a mouth water- ing BYTE.” “...the term byte has become part of the lexi- con.” For the hardware per- son, “the fun is in the building.” What is BYTE? This is the first issue of a new publication — BYTE —a monthly compendium of information for the owners and users of the new microcomputer systems becoming widely available at moderate cost. To formal and informal students of computer science, the choice of the name BYTE is quite appropriate. For a_ large number of applications of this new technology of inexpensive computers, character string and text, data (basic unit, one byte) is an important consideration. Bytes are the units of data manipulated by many of the small computer systems designed by readers — or assembled using one of a number of kit products now ‘on the market. The most common definition of a byte is that of a unit of information containing 8 bits. This unit of information can at any time represent one of 2° = 256 possible things — for instance, one of the ASCII or EBCDIC character codes, one of the integers from 0 to 255, a signed integer from -128 to +127, etc. The origin of the term “byte” lies in 1BM’s documentation and terminology for the extremely successful System 360 series. The folk tale has it that IBM needed a more “personalized” (i.e. unique) term for the old standby of earlier generation computers, the “character”. The term had to be less tied to a specific type of data such as character codes — and had to take on a generic meaning as “unit of storage”. With that functional specification for the required term, it could not have been long before some wizard of verbal magic figured out that a group of little bits must constitute a mouth watering byte. With the term’s widespread use in the computer field due to 1BM’s benign influence, the term byte has become part of the Jexicon. The fundamental significance of a byte as a unit of information makes BYTE an appropriate name for the publication. BYTE is your unit of information on the state of the art of small computer systems for individual persons, clubs and classroom groups. Each month you will find information ranging from computer club announce- ments to manufacturers’ advertisements, from technical details of hardware and software to humorous articles and _ editorial opinions. The Home Brew Computing Trilogy The story of computing is a story composed of several elements. A good way to look at the story is as a trilogy of interrelated themes... HARDWARE. SOFTWARE APPLICATIONS... You need the hardware before you can progress through the first gate of a system. A virgin computer is useless so you add some software to fill it out. And the whole point of the exercise — in many but not all cases — is to come up with some interesting and exotic applications. The technical content of BYTE is roughly divided into the trilogy of hardware, software and applications. Each component of the trilogy is like a facet of a brilliant gem — the home brew computer applied to personal uses. The trilogy is not confined to home brew computers alone of course. In the personal computing field as in any endeavor there are people who will have foremost in their minds any one of these three topics to the exclusion of the other two. For instance some of the people | know are interested in software — and pretty exclusively software. They’ll tend to concentrate on software as much as possible and try to get a minimal amount of hardware sufficient to experiment with software. A person with a primary interest in software will oftentimes be the person who purchases a kit computer because the kit minimizes the amount of hardware knowledge the person is required to have. An example of another kind of person — in terms of isolated characteristics — is the hardware kind of person. Here the emphasis of the work with home brew computing is on putting together the hardware, designing the hardware, making things that quote “‘work’’? unquote. A “hardware person” in many cases may not do much else — but he or she certainly will accomplish the design goal. This is the person who builds up a computer system to the state where it might even be able to do a bootstrap off tape — then drops the system and decides to build a better one. The fun here is in the building, not in the using and programming. Then in this description of possible ways of approaching the home brew hobby there is the applications person. This person’s attitude is somewhat a synthesis of the other two types. The applications person is typically interested in getting a particular program up and running. Soa Space War freak would spend a good portion of available time getting the hardware and software needed to play space war. A LIFE addict would spend a fair amount of time getting the hardware and software for the game of LIFE — and fooling around with LIFE patterns. And a person who enjoys other computer games — using the game as a goal — spends much time assembling a hardware/software system for the game. A person interested in toy robots would have a combined hardware/software problem of coordinating and controlling movement — this home roboteer must design the mechanical details, design a control algorithm — and if sophisticated fun is required, must design a pattern recognition input device and algorithm for interpreting scenes. A model railroader requiring a computer controlled layout again has this applications model — computer controlled yard and main line switches — and faces a choice of possible hardware and = software the first components needed to make the application. Now, aspects of the trilogy exist in any particular person who experiments with the computer systems. A common combination is for the application to drive the hardware and software choices. Then there is the person who builds the hardware first — getting caught up in the ‘“‘neatness” of a logical construction in the same way that a mathematician goes off the deep end with a neat theorem. If you're starting as such a hardware hacker, you may come to the point where you say “Hmmm — I’ve built the hardware, so now what do | do with it?” Here the applications are following the design of the computer. It’s the same way with many kinds of programming... the software is an exploration of the possibilities of the hardware. As a software hacker you might turn to the pure logic of programming — writing and trying out routines for things ranging from augmentations of the instruction set to file managers, to games simple and sophisticated. Or you may just foo! around with programming with no specific end in mind in terms of applications, for the sole purpose of seeing what you can do with the machine. As a home brew computer software experimenter, you'll find an emotional kinship with the people who take part in the automotive hobbies. What does a “performance”? automobile buff do with the machine — once all the optional improvements and features have been added underneath the personalized paint job? The auto nut takes his car out to the local drag strip or other test track and opens up the throttle to see what the engine and drive train will do in terms of speed and acceleration (proper spelling: exhilaration). Well, for computer experimenters there is a logical drag strip in every computer — an instruction set waiting to be explored. You exercise this logical drag strip by seeing what you can do in the invention of neat little (and not so little) programs to do useless (equivalent of real drag strip) performance tests in artificial circumstances — or really useful tasks (equivalent to normal transportation functions of autos). | haven’t yet figured out what the computer equivalent of an air scoop hood is — or the equivalent of the weird mechanical contrivances | often see on the derriere of “muscle” cars. You might even be the type of person who wants to do a certain programming technique just for the sake of programming — you say to yourself: “OK — 1 want to write a BLURPTRAN language compiler and code generator, so what hardware do | need to do it?” As sucha person, you would then choose a computer system in packaged and/or self-designed form such that it would fit the compiler writing goal. In truth many will find it best to seek a sort of en editorial “A virgin computer is useless so you add some software to fill it Sophi: quires thought work... icated fun re- sophisticated and hard “Hmmm — I’ve built the hardware, so now what do | do with it?” “Well, for computer experimenters there is a logical drag strip in every computer — an instruction set waiting to be explored...” interactive — balanced — relationship between the three aspects of the computer trilogy. At any given time, almost anyone has some aspects of all three combined within his own philosophy of home brew computing. BYTE — the magazine — addresses this mixture that occurs in various people by providing articles permuting and combining these areas. In this first issue hardware articles include “Deciphering Mystery Keyboards,” an article on recycling used ICs, and Don Lancaster’s article on serial output interfaces. Articles on software include a description of the assembler concept by Dan Fylstra. Applications are found in the first segment of LIFE Line. This application includes information on programming techniques as well as suggestions regarding required hardware. So here in the first issue you find an example of the mixtures of these factors which go into home brew computing. This mixture of aspects is a guiding theme of the current and following issues of BYTE — one of the key editorial goals is to cover a complete range of ideas spanning this triumvirate of concepts. The Impossible Dream The art of home brew computing has come a long way in the past few years. To paraphrase the science fiction author Robert Heinlein, “When it’s time to do home brew computing, people do home brew computing.” That time has come today, with the advances in memory and processor technology inherent in large scale integration. The present devices are not as good as the “Thorsen Memory Tubes” in Heinlein’s Door Into Summer — but it’s getting almost to the point where a basement tinkerer can put together a manufacturable robotic device and plant the economic acorn which will grow into an industrial oak tree. My own first exposure to the idea of home brew computing was about eight years ago when | was attending high school in rural New Jersey. A ham (radio amateur variety) friend of mine at that time was attempting to get a surplus RCA computer card rack into operation as his own 6 conception of a home processor. | didn’t know enough at the time even to ask an intelligent question about its design. The thing was a monstrous 3-level card rack with a heavy wire wrap back plane and_ transistor logic with integration to the level of modular cards. | don’t think this friend of mine ever got his processor working to any significant extent — but the impression was made: “Wouldn’t it be neat to have a computer all one’s own without being as rich as Croesus?” | filed away the thought of a home brew computer as an “impossible” dream at that time — how could | afford a computer if | could barely afford a beat up old Hallicrafters SX-99 receiver and flea power ham transmitter? That did not stop me from having fun with computers — it merely caused a redirection of attention to the use of computers financed by agencies other than myself... for a while. The while lasted several years as | bootstrapped myself through college with or, “Wouldn’t it be neat to have a computer all one’s own without being as rich as Croesus?” FORTRAN, COBOL, PL/I, BAL and a bit of financial aid from a private foundation. Along about 1972 when | started reading about the LSI computers being designed by Intel — the 8008 and 4004 — | began to revive that old dream of “having a personal computer.” Here was a single IC chip — the 8008 — which would give me a real stored program machine at reasonable (‘‘reasonable” = under $1000) cost. After attending an Intel seminar in 1972, | resolved that | would actually build an 8008 computer, The resolution was a long time being turned into reality — 1 did not actually begin design and construction until January 1974. | took my time for numerous reasons... among them being the fact that | had to learn something about the way hardware works, had to equip a laboratory of sorts, got this bug about self-publishing the results along the way*, and so on...1 finally got an 8008 computer which would execute instructions in the middle of the summer of 1974 — and to quote one of the subscribers to my self- published series of articles, “I learned a lot...,’’ just as he did. So much for the personal involvement — I’ve built a kluge of sorts — the software hacker’s first attempt at hardware — and have learned quite a bit as a result. You — the reader of BYTE — can go that route or use a much easier route — there are several manufacturers of kit products advertising in this magazine. And you'll find a magazine full of helpful information which | didn’t have. «+ CARL *1 got the idea of self-publishing from a pamphlet put out by SOL II Publications, Farmington, Maine — which has since been turned into a book entitled The Shoestring Publisher’s Guide — full of useful materials on publishing by individuals and small organizations. $995 Limit: one per customer. OFFER expires September 15, 1975. Two 4,096 word Memory Boards (kit) Altair 8K BASIC Language. This language was chosen for the Altair Computer because of its versatility and power and because it is easy to use (comes with complete documentation). Altair 8K BASIC has many features not normally found in BASIC lan- guage including an OUT statement and corresponding INPut function that allows the user to control low speed devices (machine control without assembly language). Leaves 1750 words in 8K machine for programming and storage. NOTE: Altair BASIC comes in either paper tape or cassette tape. Specify when ordering. Interface Board Options. The Parallel Interface Board is used to connect the Altair 8800 to external devices that send and teceive parallel signals. Many line printers require a Parallel Interface Board. The RS232 Serial Board is used to connect the Altair 8800 to external devices that send and receive RS232 serial signals. Most computer terminals require an RS232 Serial Interface Board. The TTY Serial Interface Board is used to connect the Altair 8800 to an ASR-33 or KSR-33 teletype (20 milliamp current loop), The TTL Serial Interface Board is for custom interfacing. The Audio Cassette Interface Board is used to connect the Altair 8800 to any cassette tape recorder. It works by changing the MINTS 1D Enclosed is check for $_ 1 BankAmericard #3! + 1 $995 BASIC System Special with following Interface Board: CI Pi O Serial R232 € Serial TTY Ci Serial TTL O Audio Cassette O Altair 8800 OO Kit O Assembled Include $8 for postage and handling CG Please send free Altair System Catalog NAME ADDRESS “Creative Electronics” ai Credit Card Expiration date: Altair 8800 Computer Kit Your choice of Interface Boards (kit) Altair 8K BASIC Language electrical ‘signals from the computer to audio tones. It can be used to store unlimited amounts of information coming out of the computer and it can be used to put information back into the computer. PRICES: Altair Computer kit with complete assembly instructions $439 Assembled and tested Altair Computer $621 1,024 Word Memory Board $97 kit and $139 assembled 4,096 Word Memory Board $264 kit and $338 assembled Full Parallel Interface Board: $92 kit and $114 assembled Serial interface Board (RS232) ‘$119 kit and $138 assembled and $146 assembled it and $174 assembled Interface Board (TTL or TTY—teletype) $124 Audio Cassette Interface Board s1 4K BASIC language (when purchased with Altair, ed) 4,096 words of memory and Interface Bo: $60 ‘8K BASIC language (when purchased with Altair, two 4,096 word memory boards and interface Board) 875 COMTER I : $780 kit Teletype ASR-33 $1500 (assembled only) Input Output Devices. The Comter !! Computer Terminal has a full alpha-numeric keyboard and a highly-readable 32-character display. It has its own internal memory of 256 characters and complete cursor control. Also has its own built-in audio cassette interface that allows you to connect the COMTER II to any tape recorder for both storing data from the computer and feeding it into the computer. Requires an RS232 Interface board. The Standard ASR-33 Teletype prints 10 characters per second. It has a built-in paper tape reader and punch. Has standard 120 day Teletype warranty. Requires a Serial TTY Interface board. NOTE: The Altair 8800 can be connected to any number of input/output devices other than the ones listed above. MAIL THIS COUPON TODAY C Options (list on separate sheet) STATE & ZIP MITS/6328 Linn, NE,"Albuquerque, NM 87108 505/265-7553 6328 Linn, N.E., Albuquerque, NM 87108 505/265-7553 Warranty: 90 days on parts for kits and 90 days on parts and labor for assembled units Prices, specifications and delivery subject to change. conesscoscoccersrssecccccccecccsccee es Ne © oa Ze Ab pIT MICROCOMpyre Q Cy MPy FONTESTL * * 2nd prize: ODEO Ir: 6060 cpu BILL GODBOUT ELECTRONICS * > « * BOX 2355, OAKLAND AIRPORT, CA 94614 * We were Ist to offer the 8008 to hobbyists over 6 months ago; now we're setting the pace again with a powerful new 16 bit microcomputer IC ina 40 pin DIP made bye SaGREL MICROCOMPUTER, God YOU MAY WIN ONE OF THESE CHIPS --- SIMPLY: 1)Reveal the Secret Microcomputer Co.'s true identity 2) Tell us in 25 words or less why you should re- ceive a free chip If you can convince our jaded judges, in a form suit- able for use in this family (2) magazine, you win. » A: FINE PRINT: ALL ENTRIES MUST BE POSTMARKED BY AUG. 31 AND BE IN OUR HANDS BY SEP 7, 1975; ENTRIES BECOME PROPERTY OF BILL GODBOUT ELEC- TRONICS. ALL CONTESTANTS RECEIVE A DATA SHEET ABOUT OUR FIRST PRIZE FOR THEIR TROUBLE. WINNER WILL BE NOTIFIED BY OCT. 1, 1975. IF YOU DON'T WIN ANYTHING THIS TIME AROUND DON'T FEEL TOO BAD; ENTER OUR COMING CONTEST FOR A COMPLETE 16 BIT MICROCOMPUTER KIT. THESE CON- TESTS SPOTLIGHT Rees TO BP INTRODUCED BY US IN THE FALL OF '75. from the Publisher... how BUTE started Two series of events came together and triggered BYTE. One was the surprising response | received from the readers of 73 Magazine (amateur radio) every time | published an article involving computers. Being a curious person | decided to learn more about them, only to find my way blocked by formidable obstacles. The more | tried to dig into the subject the more | found that there was a need for information that was not being satisfied. The other event was the success of 73, with more subscriptions and advertising calling for some sort of computerization of the drudgery — the billing, record keeping, reader’s service, indexing, and such. | knew what | wanted done and had a good idea of what | had to spend to accomplish this, so | started talking to computer salesmen... . only to find that | wasn’t even able to read their literature, much less have even a vague idea of what they were saying. Some deep well of obstinacy within me fought back and refused to let me throw a dart to pick out the computer system | needed. | felt that as a businessman running a good sized small business and as the editor and publisher of an electronics magazine, 1 damned well should be able to come to grips with the salesmen and pick out a computer system ‘on some sort of rational basis. But the more | tried to get information, the more | realized that it was going to be very hard to get. Between my professional need to understand computers and my amateur interest in the subject | found myself subscribing to one newsletter after another ... talking at exhaustive length with computer savvy 73 readers ... reading books ...and wearing computer salesmen out. | discovered an interesting thing — few of the hardware chaps could talk software — and vice versa. Further, neither could talk much about applications. There ought to be a magazine covering the whole thing, thought I. A magazine which would help the neophite to grapple with programming lan- guages... would permit the beginner to build microcomputers and peripherals . .. would provide a dialog for the more sophisticated to communicate as well. How about a publication which would cover all aspects of small computer systems? As the computer hobby newsletters arrived | looked them over. Some were very well done, some pretty juvenile. One chap was doing a splendid job... designing his own hardware. . . devel- oping software... plus writing and publishing a monthly magazine on the subject just about single handed. This was Carl Helmers and his ECS Journal, which was in its fifth issue, having just started in January (this at the time being May). I got together with Carl and explained my idea and suggested that it was time to get a good professional magazine going in the field, one which would help computer hobbyists get the information they needed and which might thus encourage manufacturers to come out with more hardware for the growing body. Carl had been building up his circulation to ECS gradually, with it being about 300 in May. We figured to go all out and run off 1000 copies of the first issue of continued on page 96 BUTE staff EDITOR Carl T. Helmers Jr. ASSISTANT PUBLISHER, Judith Havey ASSOCIATE EDITORS Dan Fylstra Chris Ryland CONTRIBUTING EDITORS Hal Chamberlin Don Lancaster EDITORS John Burnett Susan G. Philbrick PRODUCTION MANAGER Lynn Panciera-Fraser ART DEPARTMENT Nancy Estle Neal Kandel Peri Mahoney Bob Sawyer PRINTING Biff Mahoney PHOTOGRAPHY Bill Heydolph TYPESETTING Barbara Latti Marge McCarthy ADVERTISING Bill Edwards Nancy Cluff MARKETING David Lodge CIRCULATION Susan Chandler Dorothy Gibson Pearl Lahey INVENTORY CONTROL. Marshall Raymond DRAFTING Bill Morello Which Microprocessor by Hal Chamberlin Box 295 Cary NC 27511 10 National Semiconductor’s IMP-8 and IMP-16 computers were originally offered as completely populated subsystem cards such as the one pictured here. At this time there are three microprocessor chips or chip sets readily available to the hobbyist: the 8008, the 8080, and the IMP-16. The first two were pioneered by Intel and the last is a National Semiconductor invention. Chips and/or kits utilizing each of the three microprocessors are available from at least two sources catering to hobbyists as of this writing. This level of availability and popularity is not even approached by other microprocessors, therefore this discussion is being confined to these three. Comparing computers is like comparing people: the conclusions depend on the application, the circumstances, and personal preference. The comparisons made will be based on use of the microprocessor as a general purpose computer. For our purposes a. general purpose computer is one which has read-write memory for the bulk of its storage, which is expected to run a variety of programs, and for which the end use is the development and execution of programs written by the user. General purpose computers are also expected to be able to control a variety of input-output equipment. Instruction sets will be compared on the basis of assembly language programming. Speed will be compared on the basis of the time’ necessary for the machine to complete a non-trivial task. Complexity will be compared on the basis of ease of understanding microprocessor operation as well as the sheer number of parts required to implement a system. Finally, cost will be compared on the basis of minimum systems capable of assembling programs for themselves given the existence of suitable 1/0 devices. Before getting into comparisons, we will take a brief look at the leading Reprinted from The Computer Hobbyist, Box 295, Cary NC 27511. The MITS Altair 8800 is one package in which you can purchase an 8080 based system. features of each microprocessor. Then the comparisons will be made in each performance area elaborating on individual features as necessary. The Intel 8008 Processor The 8008 was the first microprocessor to be introduced and the first to be available to the hobbyist. It has an 8 bit instruction and accumulator length. There are essentially only two memory addressing modes: immediate, and zero displacement indexed. Subroutine and branch addresses are full length absolute, allowing branching anywhere with one instruction. Subroutine return addresses are saved on an internal 8 level stack which puts a 7 deep restriction on subroutine nesting. Much of the instruction set power is derived from the six additional 8 bit index registers which may count, save, or address memory. The maximum directly addressable memory is 16k bytes; in addition, 8 input and 24 output devices may be directly addressed with a one byte instruction. CPU speed is modest ranging from 20 microseconds for a register operation to 32 microseconds for a memory operation to 44 microseconds for a jump or call. A selected chip, the 8008-1, reduces these times to 12.5, 20 and 27.5 microseconds respectively. A single level of interrupt is provided but external hardware is necessary for complete status saving during interrupts. Interfacing the chip to the rest of the system is fairly involved and requires from 20 to 70 TTL packages depending on the system performance desired. The lower figure will barely function while the higher one includes a console, complete interrupt system, and dynamic memory interface with direct memory access capability. Most of the interfacing complexity can be blamed on _ overzealous designers trying to make-do with an 18 lead package. Present cost to the experimenter ranges from $40 to $80 with the ‘‘dash one” version bringing roughly 50% more. The Intel 8080 Processor The 8080 is Intel’s sequel to the 8008. Basically it has more of everything. The instruction set contains all of the 8008 instructions making it upward compatible at the assembly language level. Major additions to the instruction set include direct load and store of the accumulator, double precision (16 bits) add and increment for address calculation, and a pushdown stack of indefinite length in memory thus allowing unrestricted subroutine nesting. Addressable memory Comparing computers is like comparing people; the conclusions depend on the application, the circumstances, and per- sonal preference. has been increased to 64k bytes and addressable 1/0 devices have been increased to 256 inputs and 256 outputs at the expense of 2 byte 1/0 instructions. Execution speed has been considerably improved also. Register operations take 2 microseconds, memory operations require about 3.5 microseconds, and subroutine calls consume 8.5 microseconds. Interrupts work the same way as on the 8008 but everything required for complete status saving is provided as well as an interrupt enable/disable flag. Interfacing an 8080 is generally regarded as being simpler than interfacing an 8008. There is only a slight 1 The 8080 is Intel’s sequel to the 8008. Basically it has more of everything . . . improvement in the minimum system, about 15 chips, but a full-bore system may be cut in half to 35 chips. The 40 lead package allows a separate 16 bit address bus and 8 bit data bus, as well as simplified timing and control. Present cost to the hobbyist is about $160. The National IMP-16 The IMP-16 is one of the older microprocessors and for a long time the only one with a 16 bit wordlength. The programmer is supplied with four 16 bit accumulators and a 16 word stack. The instruction set is typical of many 16 bit minicomputers, and in many ways resembles that of a NOVA. Four general address modes are provided, base page direct, program counter relative, and indexed using either accumulator 2 or accumulator 3. In addition, The IMP-16 is the first of the 16-bit micros . . . A good instruction set should be well organ- ized... 12 LOAD, STORE, JUMP, and CALL can be indirect addressed using any of the addressing modes to get to the address pointer. Two memory modification instruc- tions are provided, ISZ (Increment memory, Skip if Zero), and DSZ which allows much counting and indexing to be done in memory freeing the registers for arithmetic. The stack is used for subroutine return addresses but can also be used for saving registers and status. A unique feature is the availability of an extended instruction set chip which provides automatic multiply, divide, double word add and subtract, and byte manipulation. The CPU can address 64k words but this should be held to 32k if the byte instructions are used. The 1/0 instructions can also address 64k devices. Another unique feature is that several bits of input and output are provided by the microprocessor itself making communication with a teletype possible without any interface at all. Speed is good ranging from 4.2 microseconds for a register operation to 7 microseconds for a memory operation. A multiply takes about 160 microseconds which is. still considerably faster than a software routine would be. The IMP-16 provides two priority levels of interrupt and all of the hardware necessary for complete status save/restore. Interfacing is conceptually simple and requires 25 to 50 packages depending on system sophistication. Part of this number is due simply to the fact that 16 bits are to be handled rather than 8. The microprocessor is in the form of five 24 lead packages which for the most part are simply wired in parallel. The extended instruction set resides in a sixth package. Present cost of the standard chip set is about $160. The extended instruction set chip is available only from National at this time for $80. Comparisons — Sets One of the most important performance areas of a microprocessor is the instruction set. A good instruction set should be well organized so that it is easy to learn, powerful so that complex routines can be coded with a small number of instructions, memory efficient so that complex routines require only small amounts of memory, and time efficient so that only a small number of memory cycles is necessary to complete a task. In addition, performance should be equally high on both character oriented tasks and numerically oriented tasks. Instruction set organization is best on the 8080 closely followed by the 8008 with the IMP-16 being somewhat disorganized. Consequently, the beginner will find the 8008/8080 the easiest to learn. Experience has shown that beginners prefer simple instruction sets and that they retain a certain “fondness” for their first machine long after they have graduated into much more sophisticated endeavors. The experienced programmer however should experience little difficulty keeping the Instruction little quirks, distinctions, and special cases straight when working with the IMP-16. Instruction set power is best on the IMP-16, followed by the 8080 with the 8008 a distant third. Based on actual experience, it may require as few as one half as many IMP-16 instructions to program a task as 8008 instructions. The 8080 falls about midway between the extremes. There are many reasons why the IMP-16 is superior. Memory addressing is much more flexible due to the four addressing modes and indirect addressing capability. An additional advantage is that the arithmetic word length is the same as the address length. Since the return addresses are put on a stack in all three machines, multiple entrypoint subroutines are easy but the IMP-16 also allows multiple return points (return to CALL+1 on error, CALL+2 otherwise, etc.) with no additional instructions. The 8080 is a big improvement over the 8008 because registers may be saved on the stack when they are used by a subroutine and then restored unaltered upon return, This allows subroutines to be called as needed without regard to which registers they may destroy. Note, however, that this capability may be added to the 8008 quite simply. The direct load and store instructions of the 8080 reduce the number of lines of code in a program. Memory efficiency of the instruction set is best on the IMP-16 but is closely followed by the 8080. The 8008 is not as bad as might be presumed but is definitely Instruction set organization and memory efficiency are usually conflicting requirements. inferior. In terms of numbers, the 8080 may require 10 to 15 percent more memory bits and the 8008 20 to 40 percent more. Note that these figures are based on optimized programs written by experienced programmers. The spread can be much greater with inexperienced programmers or hastily written programs. It is also interesting to note that instruction set organization and memory efficiency are usually conflicting require- ments. This is because many of the lesser used possible operation combinations have been culled from a memory efficient set in order to reduce the number of bits required to encode the instruction. Implied operands are also utilized in order to free up bits for other uses. Experienced programmers are able to plan ahead and avoid having these restrictions become restrictive. The 8008 and 8080 are as good as they are because many of the instructions are a single word (8 bits) long whereas the minimum instruction length in the IMP-16 is 16 bits. This is somewhat offset by the three word (24 bit) instructions of the 8008 and 8080 which in most cases would only require 16 bits in the IMP-16. A fringe benefit of high memory efficiency is that the shorter programs will load faster regardless of the Joading method. Time efficiency is by far the best on the IMP-16 with the 8008 a distant second and the 8080 a slightly poorer third. On a classic minicomputer, a machine cycle was the same as a memory cycle in most cases. As a result, a time efficient instruction set meant a faster machine without faster hardware. Microcomputers on the other hand may have very few of their machine cycles being memory cycles. As a result, time efficiency may have little relation to actual machine speed but does represent the potential speed with an optimized CPU. Time efficiency can be important in multiprocessor systems with a shared memory where more memory cycles increase the probability that a CPU will have to await its turn. The IMP-16 has a high time, efficiency mainly because twice as much data is fetched in each memory cycle. Further improvement is due to the instruction set power, requiring fewer instructions to be fetched. The 8080 has poorer time efficiency than the 8008 mainly because the stack is in memory. A subroutine call, for example, requires 5 memory cycles, 3 to fetch the instructions and two to stack the return address. Historically some minicomputers were better at handling character oriented tasks and others were well Scelbi Computer Consulting Inc. is one of a number of companies who take the Intel 8008 computer, package it into a system design, and sell the result as a system. The photograph supplied by Scelbi with a press release shows you the result of assembling their new . “SCELBI-8B” version of the 8008. As a supplier to the computer enthusiast market from the start, Scelbi has done a very credible job of assembling a true system product as opposed to a bare-bones CPU which merely blinks its lights after assembly. adapted to number crunching tasks. Microcomputers are no exception. Most micros have been optimized for character handling because of expected high usage in terminals and the 8008 and the 8080 belong to this class. The IMP-16 on the other hand is much better at numerically Most micros have been optimized for character handling because of ex- pected high usage in terminals. oriented tasks and was aimed more toward machine tool control and industrial monitoring. Interestingly, use of the extended instruction set on the IMP-16 greatly improves both character handling and arithmetic capability. How About Running System Software? One performance area of interest to hobbyists is the suitability of a machine for running a BASIC system. The IMP-16 and the 8080 are about equal in their ability to compile BASIC quickly but the IMP-16 without the extended instruction set may 13 Speed in a hobby com- puter system can be a two-edged sword. execute BASIC twice as fast. This is due mainly to the all floating point arithmetic that BASIC requires. The extended instruction set may double the speed again if a lot of multiplies and divides are done. The 8008 can of course run BASIC also but compile and execution speeds are likely to be one tenth of the 8080. One other property of an instruction set is the ease with which it may be assembled, either by hand or with an assembler program. In this respect, the 8008 comes out on top with the 8080 next and the IMP-16 last. Use of the mnemonics and format recommended by the manufacturer is assumed in making this comparison. 8008 code is easy to hand assemble because the octal notation used corresponds to the various fields in the instruction word. Assemblers for 8008 code can also be quite simple because instructions require at most one operand and very few instruction formats exist. Further simplification results from all addresses being absolute and all mnemonics being three characters. 8008 14 assemblers run on an 8008 can be as small as 2.5k bytes for a limited implementation but 4k bytes is more realistic when providing an easy to use assembler. If the hexadecimal notation recommended by Intel is used with the 8080, hand assembly is definitely more difficult. The assembler also has a tougher time with the two operand format and other niceties defined for the 8080. The Intel version of the 8080 assembler requires 8k bytes but it should be noted that it provides macro capability. Hand coding and assembling for the IMP-16 is harder yet due mainly to relative addressing considerations and a wider variety of instruction formats. National’s version of the assembler requires 4k words and can produce relocatable object code and handle external symbols. Is Speed Useful? Speed in a_ hobby computer system can be a two-edged sword. A_ high speed microprocessor requires higher speed in other system components such as memory in order to realize its higher speed. An 8008 for example can run at full speed with memories as slow as 3 microseconds access but the 8080 will have to wait on memories slower than 520 nanoseconds and the IMP-16 requires 420 nanoseconds. If the ready line is used on the 8008 and 8080 to permit the use of slower memories, the wait will be in increments of whole machine cycles which is 4 microseconds on the 8008 and 500 nanoseconds on the 8080. Thus if memory is a tad slow, one cycle will be added to each three cycle memory access sequence slowing the system down an average of 25 percent to 30 percent. The IMP-16 does not have a ready line, rather the user stretches one of the clock periods in a cycle long enough to permit memory access. This scheme has the advantage that the stretch can set to the exact amount needed. The higher time efficiency of the IMP-16 instruction set will greatly reduce the performance impact of a slow memory as compared to the 8080. How Complex is the Interface? The ranking on interface complexity is 8080 (least), IMP-16, and 8008. The comparison is based on sophisticated general purpose implementations having a complete 1/0 interrupt facility, software console using ASCII 1/0, and a generalized input/output memory bus allowing simultaneous direct memory access without affecting the CPU. The ranking is the same whether parts count or conceptual complexity is being considered. The difference between the 8080 and the IMP-16 is primarily due to the wider word of the IMP-16 and less confusing discussion of chip interfacing in the Intel manual. The 8008 is just plain difficult to understand and _ interface correctly but once that is done, either by the user, a magazine, or a manufacturer, the system should operate just as well. Software? Software support is often a big issue among industrial users of microprocessors. Unfortunately, the majority of the software they are fighting over is unavailable to the hobbyist because of high prices. It is not unusual for a program such as an assembler to cost as much as a handful of microprocessors. 8008 and 8080 users can look to Scelbi and MITS for some software at reasonable prices even if they did not purchase their machines from these sources. National has an excellent body of software for the IMP-16 but the package price is $200 for object tapes and source listings. The hobbyist will have to depend on himself, kit manufacturers, and publications for most of his software in the near future. Ultimately, the level of software support will be directly proportional to the popularity of the microprocessor. And Finally ... There are a number of other performance areas that are only of minor interest to hobbyists. Although there is a large spread in the maximum memory size, all three machines are likely to have ample addressing capability for the hobbyist’s memory budget. The same may be said relative to addressable 1/0 devices. Power supply voltages and power consumption are also usually of minor importance. All of the microprocessors can be successfully operated from standard +15, +5 and -15 system supply voltages using simple, - fail-safe, zener regulators. Package size and pinout are unlikely to be factors in hobbyist use. This brings us to a comparison of overall system cost. First, the spread in chip cost is roughly from $50 to $150, so the spread in system cost would be $100 at most. An 8008 requires more interfacing circuitry however which reduces the spread somewhat. After enough memory to do assemblies or run BASIC and a few 1/0 devices are added, the $75 difference left may be small compared to the total investment. Nevertheless, an 8008 system will be the least expensive followed by an 8080 system closely followed thereafter by an IMP-16. Which microprocessor for you? The answer still depends on the application, circumstances, and_ personal preference, but hopefully the decision can be made with more authority after reading this article. Last Chance ~ DON’T MISS THE BOAT! This is the last opportunity to become a CHARTER SUBSCRIBER to BYTE... at the special Charter rate of $10 per year. Perhaps you’ve held off to see the first issue .. . perhaps you've just seen a friend’s copy of. BYTE ... whatever the reason .. . send in your $10 and be sure to get your next issue of BYTE hot off the presses. If you are reading a pass-along copy, just mark the subscription order that you’d like your subscription to start with issue number 1. Name. Address, City. State. Zip. (] it Me Ccheck for $10 enclosed CIBill BankAmericard or MasterCharge # (J start with #1 BYTE Cstart with #2 BYTE My occupation BYTE Peterborough NH 03458 RGS 008A PWR E os ms wo & The RGS OO8A Microcomputer Kit Review by James Hogenson Box 295 Halstad MN 56548 16 The RGS 008A microcomputer is a general purpose machine based on the Intel 8008 CPU chip. The 008A uses a minimum of 1k of random access memory and a bus type of I/O system capable of handling up to 256 peripheral devices. The basic kit consists of 6 printed circuit boards and all components necessary to build the CPU, 1k of memory, the control panel and the power supply. Molex pins or sockets, edge connectors, backplane, front panel switches and LEDs, and a power transformer are included. A cabinet, some hardware, line cord and fuses are not included. The kit sells for $375, making this one of the least expensive kits on the market. Physical Construction The control switches are mounted directly on the control panel PC _ board, together with the LED the system. The control panel indicators. A printed circuit backplane board is connected to the back side of the control panel. Once the control panel and backplane are wired together, anything plugged into an edge connector on the backplane is automatically connected to and backplane measure 4.8” x 6.75”. The double-sided plug-in boards measure 4” x 6’? with 72-pin edge connectors, and have plated through holes. The CPU with all control circuitry included is fitted onto only two of these plug-in boards. Microcomputers, microcomputers and more microcom- puters! The number of options you have for a homebrew system is expanding at a rapid rate - with the corresponding difficulty in picking and choosing among the options. BYTE has an answer to this problem — reviews of kits and equipment from various manufacturers and advertisers in the magazine. The idea of a review is to give the user’s evaluation of the product - and. in the process aid you in the choice of equipment for your own homebrew system. Here is BYTE’s first review of an 8008 product — the RGS 008A microcom- puter kit (made by RGS Electronics, 3650 Charles St., Suite K, Santa Clara CA 95050). James Hogenson provides this review of the RGS product, based upon his own experiences assembling and utilizing the computer. Jim built the kit early this year as part of his high school Science Fair project activities designing an oscilloscope CRT display. I think you'll find Jim’s account to be a useful source of information on the RGS product. .+. CARL The control panel holds three 8-bit binary LED displays. Two of the displays indicate the memory address of the date or instruction presently being operated upon or executed. The third display shows the contents of the memory location indicated by the memory address displays. The two LEDs not used in the upper memory address are used to indicate the second and third bytes in a two and three byte instruction. Two additional LEDs indicate the stopped and waiting state of the CPU. The only switches used on the contro! panel are a common 8-bit binary switch register and 6 control switches. The six control switches and their functions are: Memory Load. A momentary switch which loads the data presently on the 8-bit switch register into “the memory location specified by the memory address register. Load L. A moméntary switch which loads the address set on the 8-bit switch register into the lower memory address register. Load H. A momentary switch which loads the address on the switch register into the upper memory address register. (The three load switches will operate only when the CPU is in the stopped state.) Interrupt. A momentary switch for entering interrupt instructions. Step. A momentary switch for single stepping through a program. The run/wait switch must be set on wait to single step a program. Run/Wait. A toggle switch which is used to set the CPU in either a run or a wait state. During the run state, the CPU operates normally. During the wait state, the CPU does nothing unless being single stepped. The 008A is designed to be panel mounted. The entire system is contained on plug-in boards mounted on the back of the control panel. The entire unit may then be mounted very neatly; however, a nice improvement be for the to offer a would manufacturer cabinet to mount the unit in. The power supply included in the kit will provide enough power to allow for moderate expansion of the system. If necessary, auxiliary power supplies can be purchased from the kit manufacturer. The power supply included in the kit will produce -5 V at 5 Amps and -12 V at 1 Amp. The -9 V for the 8008 is derived from the -12V. The only type of peripheral interface presently offered for the OO8A is a parallel TTL-compatible interface. The parallel interface boards are also 4” x 6” boards which may be plugged directly into the backplane if desired. Up to 256 interface cards may be used. The parallel interface kit sells for $43.75. A 008A cassette tape adapter is offered for $100. The FSK adapter’s data rate is 300 bits per second. The popular 40-pin UART chip is used for parallel-to-serial and serial-to- Is an RGSOO08A the computer for your -*= system? Here is one RGS 008A’s owner’s evaluation. parallel conversion. The cassette adapter cludes a parallel interface kit for interfacing with the computer. Only a cCassete deck with an auxiliary output or earphone plug and an optional remote start/stop plug is required. An ASCII keyboard is also available from RGS. This keyboard and the cassette tape adapter are intended to interface with the RGS 008A microcomputer, so adapta- tion would be a problem if you have some other make of computer. RGS says that a sérial interface is being developed for use with teletype, as well as a TV typewriter. Highlights The 008A uses fewer components, compared to other 8008 systems | have seen. The 008A computer structure is basicatly similar to other 8008 systems, with one exception: The input/ output structure is unusual for an 8008 system. Instead of the more common port 7 system capable of handling only 8 input and 24 output devices, the 008A uses a bus system capable of handling 256 bi-directional data input/output channels. RGS uses several of the 8008 chip’s I/O channels instructions to set up this bus 1/0 System. There are four input/ output instructions in the 008A’s “instruction set:” Select, Control, Input, and Output. To select a peripheral, the device number is loaded into the accumulator and a_ select instruction is executed. This enables the peripheral device. If necessary, a control instruction is available. Upon its execution, the accumulator data is made available at the output and the contro! strobe line is pulsed. Once the device has been selected and initialized, data transfer using the input and output instructions is executed as it is in the port system. Each peripheral interface board is jumper-wired for its own device number. When the device number of a particular unit is selected, data transfer between the unit and the CPU is enabled until another device number is selected. When a control instruction is executed, the accumulator data is placed on the I/O bus. The interface transfers the data from the bus to the interface output. The control strobe line is then pulsed. An output instruction also causes the accumulator data to be placed on the I/O bus. The interface transfers the data to 18 its output. This time the output strobe line is pulsed. On an input instruction, the interface transfers data from its input to the I/O bus. The CPU then transfers the data from the bus to the accumulator. The input strobe line is also pulsed. The bus system has three big advantages. The obvious one is the capability of handling up to 256 devices. The second advantage is that each of the 256 channels will perform both input and output. The third advantage is the ability to send control instruction, thus eliminating the need to use an adjacent I/O channel for device control. Ready and interrupt line expansions may also be brought out through the peripheral interface boards, Assembly Most of the circuitry is completed by soldering the components on the various PC boards. Although most of the PC boards are double sided, components need only be soldered on one side since all holes are plated through. Edge connectors are provided for each plug-in board. These connectors must be soldered on the backplane. Some 68 wires must be soldered between the backplane and the control panel. The backplane and control panel are fastened back to back using spacers on long machine screws. The control panel, CPU boards, memory boards, and parallel interface boards are double sided PC boards with plated through holes. These PC boards seem to be of good quality. The backplane board and the power supply board, however, are single sided and not quite as good. Extreme caution must be used as the foil patterns on these single sided boards will lift with very little excessive heat applied. Only about half the power supply circuitry is included on the power supply PC board. A power transistor and a voltage regulator, both in a TO-3 case, must be mounted in a heatsink (supplied in kit) on a chassis which must be provided by the builder. The power transformer, fuses, filter capacitors and power switch are also mounted on the builder supplied chassis. All of these components must be point to point wired. Wire must be supplied by the builder. Documentation The manuals and instructions provided for the 008A fall short. Anyone planning to write up any documentation in the future should take note of this and use the criticism constructively. The assembly instructions provided for the 008A are brief. The author of the documentation spent very little time on clarifications. Someone who has _ had considerable experience in both electronic engineering and computer science would have very few problems with the OO8A. However, if a product is made with the intention of selling it to everyone, the documentation should be written to be understood by everyone. This includes people who are not experts in hardware or software. Much of the construction has to be done by following the component placement diagrams and_ circuit diagrams. A diagram of the foil pattern line-up for double sided boards should have been included in the 008A documentation. For easier reading, component placement diagrams should be black components on a grey foil pattern diagram rather than black on black. The 008A documentation provides only a brief definition of each software instruction. No information describing the circuit operation of the CPU is provided. A brief description of circuit operation is provided for the parallel interface kit and cassette adapter kit. Only a small amount of information is provided on the use and operation of the computer. Although the 008A documentation does include complete circuit diagrams with IC pinouts, absolutely no troubleshooting information is included. Logic circuit troubleshooting can be followed on the circuit diagram after you have checked wiring and component placement, but test points and voltages should be given on the power supply. Test points and waveforms should be given for devices such as a cassette tape adapter. Even in the logic circuitry, a few major test points and the specifications wouldn’t hurt anyone. This author obtained his troubleshooting information via long distance calls to California, The cause of several problems was narrowed down to about three faulty components which RGS_ cheerfully replaced free of charge. A nice addition to the owners manual for those who may assemble a OO8A in the future would be a series of test routines to verify all operations of the computer. These routines should state specifically, step by step, what is to be done and the results of each step. When starting up a computer for the first time, it is sometimes difficult to determine whether a problem is in the hardware or the software, especially if you are not familiar with the machine in the first place. Software The only difference in the 008A instruction set as compared to other 8008 based systems is the input/output instruction format as mentioned before. Initial program loading is through the control panel. Startup is achieved by setting the restart instruction on the 8-bit binary switch register and depressing the interrupt switch. As in other 8008 systems, the first 64 words of memory are divided into 8 program start-up locations. Any single-byte instruction will be accepted by the CPU at any time when the interrupt switch is depressed. Therefore, if you get your computer into a loop with no exit, set a halt or return instruction and depress the interrupt switch to get out. A software exchange program is slowly getting underway for the 008A. Each user is asked to submit a program to RGS. The programs are compiled as they come in, then sent out to each 008A manual holder. As of yet, exchange has been slow. Ray Stevens, owner and designer, expects the exchange program to pick up somewhat since the cassette tape adapter, ASCII keyboard, and some software for each have recently become available. The available software (sent out to owners of the units) deals with program loading and storage necessary in the development of further programs. Conclusion A generalized statement summarizing the 008A scene would have to be this: The 008A is one of the most economical systems on the market, offering a nearly complete kit and software exchange program. RGS holds good potential for becoming a healthy segment in the growing world of avocational computing. But there is some work yet to be done. In the meantime, if you are inexperienced in either electronics or computer science, you could run into difficulties in assembling a 008A. Those of us who already own a O0O8A microcomputer should work on building up the software exchange program to a point of excellence. In the interest of obtaining a_ revised, updated, improved and rewritten owners manual, let me suggest that all OO8A owners send RGS a letter listing changes and improvements they would like to see. The 008A is one of the most economical systems on the market, offering a nearly complete kit and software exchange program... But there is some work yet to be done. Recycling Used ICs by Carl Mikkelsen 35 Brookline St., No. 5 Cambridge MA 02139 The surplus market is saturated with used printed circuit boards from early computer systems which offer a very inexpensive per ‘chip source of ICs. Used boards typically contain 50-200 chips of small scale or medium scale integration, usually with many simple two input gates and four bit data registers. Common_ part numbers include 7400, 7402, 7404, 7408, 74126, 74174, 74175, etc. Through careful shopping, | have found boards with large numbers of multiplexors such as 74151, 74153, and even scratch pad registers — 7489. After removing chips from the boards and eliminating any non-functional units, cost per chip is from 3 to 8 cents, resulting in an overall cost of about one fourth to one tenth of the individual chip cost through other surplus outlets. Removing chips from boards offers advantages over purchasing chips surplus which makes them attractive for reasons other than price. Primarily, the companies which originally built the boards used top-quality, fully spec’ed components. All chips have already been tested, and most have already served in equipment. Given that you’ve found a serendipity of well soldered chips, it’s necessary to unsolder them without either burning them or cracking their cases. Desoldering individual leads can be done, but usually the chip is made unnecessarily hot by the prolonged application of heat. Also, pulling each lead Sweep the blow torch over the IC’s pins—one complete sweep once or twice a second. out separately results in bent, often broken leads. Devices are available which will heat all 14 or 16 pins of a small IC, but again a long time is needed to melt the solder since the total amount of energy available is limited to a small soldering pencil heating element. Most available boards are two sided and four layer boards aren’t uncommon. Multi-layered boards make the required amount of energy even higher. When a board is built, the ICs are positioned in place with all other components, and the board is soldered by a three step process. 1. The underside is washed by hot, bubbling, liquid flux. 2. The clean board is passed over a small fountain of solder, so that the board just touches it. 3. After cooling, the board is immersed in FREON gas to remove any remaining flux. As you can see, the board is subjected to high temperatures during the soldering phase, which takes around 5-10 seconds. The blow torch method of 1C removal duplicates conditions during board soldering by heating all pins simultaneously; removing the IC is a single step. Equipment Needed To use this technique, you will need: A torch. Non-oxygenated propane and acetylene gas has been used. Clamps or a vise to hold the board fairly rigid during chip removal. A way to grip the chips, depending on how they are packed next to each other. Components, small vise grips, a small screw driver and a fine point awl should be all that are needed. A place where splashed solder will not be serious. Some form of eye protection. WARNING 1 Using this method involves heating PC boards to high temperatures. Some boards release Hydrogen Chloride (HCI), which becomes hydrochloric acid in your lungs. Do this only in a well ventilated area, and stop to allow air to clear if irritation develops. Grip the IC a second after removing the flame and rock it away from the board. It should come free in a couple of seconds. WARNING 2 When an IC is pulled from a board, the board often snaps back to its original position. This is especially true if it isn’t fixed very rigidly in place. When the board flips, solder is often sprayed away from the back side of the board. | ruined a pair of pants by not considering this before | started. |, therefore, wear old clothes and if you don’t want solder on the floor, cover it with newspapers. Enough warnings... following is how | pull ICs from boards: First | clamp the board to my bench so that | can get my vise grips on about half the ICs (this is with a 10” x 14” board). | adjust the vise grips so | can grip a 14 pin IC without the vise grips locking and then light the torch. The flame on my _ Benzo-matic torch with the narrow tip is about an inch long. Beginning with the lowest IC | can reach, | heat it with the torch by sweeping the torch over its pins (you obviously heat the non-component side). Especially when using a torch with a narrow flame it is necessary to move the flame over the pins. One complete sweep should be done once or twice a second. After a second or so, the IC should be gripped, and rocking tension away from the board applied. It helps to rock the IC, especially if corner pins have been bent over to hold the IC in place during assembly. The IC should very rapidly become loose, and in another couple of seconds should come free of the board. When the IC is removed, quickly drop it on the bench and move the torch and pliers to the IC above the one removed. Heating the lower IC pre-warms the board above, making the next removal easier. Also, the board position just heated will cool faster, thereby reducing the amount by which the board will be damaged. As each column of ICs is removed, the next is done. When all ICs on one half have been removed, reposition the board so the other half is accessible. I’ve found that the half-way point often can be a good excuse to let the room ventilate and drink a beer. No matter how carefully and rapidly I’ve worked, | always burn the board at least once because | have trouble removing an IC, or my pliers slip, or for some other reason. If you consistently burn each board position, your flame is probably too hot. If, however, it takes longer than 5 to 10 seconds to remove an IC, your flame is too cool. A certain amount of care is necessary when gripping the ICs. Too much pressure may crack them. Too little pressure will let the pliers slip, costing time to reposition them and marring the cases. When attempting to remove the larger ICs such as 74181s and 74154s, which come in 24 pin DIPs, | have trouble gripping them, so | remove them as a two step process. First, | place an awl under the middle of one side, say between pins 6 and 7. | heat that pin row and, with the awl applying leverage, pull out that row. | then grip the IC on its thinnest dimension, heat the remaining pins, and remove the IC. So far, by using this technique, my friends and | have removed about 1000 ICs from surplus boards which have about 80-100 ICs each. | tend to break 2% of the chips 1 pull by applying too much force with the pliers. But a friend has never broken one, so it clearly is an individual matter. Of those chips removed unbroken, we have tested around 250, and have never found a bad chip. As an unrecommended demonstration of the ruggedness of ICs, I accidentally grossly overheated one, so that when | gripped it in vise grips, the chip was bent in a curve. The plastic case must have softened significantly. After allowing it to cool several minutes to the point where | could handle it by hand, | plugged it into a circuit, expecting it to have failed totally. It worked, although | didn’t check out its ac characteristics. Out of general paranoiac distrust for a device so intensely mistreated, 1 discarded it. After removing ICs from boards it is usually necessary to clean and straighten the pins. Boards with plated through holes often lose their plating around the IC lead. | have found this method useful as a means of quickly building a stock of ICs ready to use in any project. It is limited mainly by the availability of exotic surplus chips, but most standard 7400 series TTL is easily available. The price of 4 cents/chip can’t be beat, and the time required — about 10 to 20 minutes/80 chip board — is rather small. This technique provides a fast, cheap, safe means of removing chips. | hope it proves as effective for you as it does for me. 2 by Don Lancaster Box 1112 Parker AZ 85344 22 SERIAL We all know microcomputers use parallel data for internal operations. Computers - mini, micro or maxi - are often specified with the ‘‘bus data width” as a key parameter. This is the number of parallel bits which participate in operations at one time. Typical microprocessors now available have bus data widths of 4,8,12, or 16 bits. If you employ a used minicomputer in your system you may enjoy a 12,16,18, or 24 or even 32-bit wide bus. When shuffling data to or from memory and peripherals, the parallel lines of the bus are defined simultaneously - and you have to run at least as many physical wires to each interfaced subsystem. When wire is at a premium you can get by with only one channel if the data is sent ina time-ordered sequence, one bit at a time. Communicat- ions and peripheral interfaces thrive on diets of serial bits provided the speed is relatively low. In this article, Don Lancaster provides us with an excerpt from his forthcoming book, TV Typewriter Cookbook, to be published by Howard W. Sams, Indianapolis, Indiana. Don describes the basics of parallel to serial conversion and its inverse, using UART technology to do _ the transformation. His article this month concerns UARTs and serial interfaces which are relatively self-contained - local wires, tape recorders, etc. He also covers the communications aspects of serial data...radio and telephone network modem hardware. While Don wrote the article from the point of view of the TV Typewriter technology which he pioneered, the problems he discusses are just as applicable to the home brew computer context...simply read “computer” every time you see TVT in the text. Don’s comments on the serial cassette interface will provide one input to the discussion of various possible recording interfaces in the pages of BYTE. ... CARL Most TV_ typewriter circuits need all their ASCII character and command bits simultaneously available in parallel form. This is also true of most electronic keyboard encoders and the bidirectional data buses of many minicomputers and microprocessors. In simple systems, we Can connect all these parallel sources and loads together as needed without any further interface circuitry. Sometimes, it’s far more useful or convenient to have the bits march by one by one in serial form. While serial form is much slower, it has one big advantage — only a single wire or com munications channel is needed, instead of multiple signal lines. Another benefit of serial form is that it can be made slow enough to communicate over ordinary phone lines, cassette tapes, radio channels, or electromechanical teletype systems. Some of the places where we'd like to use serial transmission are: Remote Keyboards, where a single pair interconnection gets used instead of expensive multiple conductor cable. Teletypes, where the bits have to be converted to signals based on current or no current in a wire loop. Industry Standard Interfaces, such as the RS232-C and the newer RS422 and GPIB, allowing signals to travel relatively long distances. Cassette Recorders, where we can store and exchange characters and programs with properly designed single channel, speed independent circuitry, Radio Transmission, where only two tones on a single transmitted frequency are often used. This is typical of ham RTTY. Modems, or Modulator- Demodulators that let us exchange data over the telephone line, either one way, or both ways at once. We can call the circuits INTERFACE that get us from parallel to serial and back again serial interface. Usually, there are two distinct parts to the interface problem. The first is to convert from parallel to serial (or vice versa) at logic level, staying compatible with CMOS or TTL integrated circuits. This is often done in an industry standard single integrated circuit called a UART, short for Universal Asynchronous Receiver Transmitter. UARTs will simply and cheaply do the conversion and back again, along with providing all the necessary housekeeping bits, control signals, and noise immunity provisions. The second portion of our conversion process gets us from logic levels to whatever form of signal the serial part of the system uses — such as dc currents for teletypes, bipolar signals for standard interface, and carefully selected tones suitable for cassette recording or transmission over a radio channel or a phone line. We'll be taking a detailed look at most of these techniques later. How Fast? There are two basic types of serial transmission we can use, synchronous and asynchronous. In synchronous transmission, all the characters (called “words”) are locked into system timing. We know the exact time position of each piece of data. If some time is to go by without doing anything useful, do-nothing words called nulls are provided. Timing signals must somehow be supplied to each end of a synchronous serial data system so we can tell when each word is to start. This usually means a_ separate timing channel or track or some sort of elaborate timing recovery circuit. Synchronous systems are usually fast and complex, but they are rarely used in most TV Typewriter applications. With asynchronous transmission, the data words are not locked into system timing and can arrive with almost any spacing between words. To tell the beginning and end of a word, we have to add some new bit groupings, called start and stop bits, to the data. We don’t have to provide any other locking signal between common Baud rates. The most popular of these include 110, 300, 600 and 1200 bits per second. 1200 BPS is usually the fastest that can be handled by the phone company without fully dedicated lines. Inside systems, and where special lines can be provided, faster synchronous standard Baud rates of 2400, 4800 and 9600 bits per second may be used. Should the Baud rate change between transmission and reception, such as when two recorders are used, or the batteries on one recorder age, the receiving end of the system has to be able to adjust itself to the new effective Baud rate if errors are to be avoided. 110 Baud is very popular Serial Uses Remote keyboards Teletypes Cassette recorders Modems the source and destination of for limited speed TV Fig. 1. Standard serial communications speeds. BAUD TELETYPE ODD PHONE RATE TYPE COMPATIBLE? COMPATIBLE? COMPATIBLE? 110 BPS Asynchronous Yes TWO WAY Yes 300 BPS Asynchronous No TWO WAY YES 600 BPS Asynchronous No ONE WAY MAYBE 1200 BPS Asynchronous No ONE WAY NO 2400 BPS Synchronous NO NO No 4800 BPS — Synchronous NO NO NO 9600 BPS Synchronous NO No No the data. Asynchronous data is commonly used in TVT systems. Both ends of a serial transmission system have to exactly agree on a system speed, usually called the Baud Rate. The Baud rate is simply how many bits per second are going to be transmitted, including any start and stop bits. Fig. 1 shows us some Typewriter uses. This rate is compatible with the ASR-33 eight bit Teletype code and corresponds to a 100 word per minute typing rate. While this is the fastest that most teletypewriter systems can be driven, and is easily handled by two-way 103 style phone modems, it takes painfully long to fill the screen. Even with a 512 character screen, FRAME UPDATE TIME TO LOAD 512 CHARACTERS 51.2 SECONDS 18.7 SECONDS 9.3 SECONDS 4.6 SECONDS 2.3 SECONDS 1.2 SECONDS 0.6 SECONDS THE START BIT IS ALWAYS A ZERO THE STOP SIGNAL IS ALWAYS AT LEAST TWO ONES (NEXT WORD) START ]ASC! Bit | BIT o 2 i ]ascii JAScIT BIT 3 ASCII AScIT BIT 5 ASCII BIT 6 ‘ASCII BIT 7 ‘ASCII PARITY BIT BIT 4 STOP START BIT a mi | coomsee (TYPICAL) in ANY AMOUNT OF TIME CAN PASS loomSEC BETWEEN WORDS Fig. 2. 110 Baud, 100 word per minute code. ‘0” isa space or an open line. “‘1"" is a mark or a shorted line. 24 UART = Universal Asynchronous Receiver Transmitter RTTY = Radio Teletype TVT = Television Typewriter it takes 51.2 seconds, or almost a minute to load or retransmit the screen. 300 Baud is equal to 30 characters per second or 300 words per minute. This rate is the fastest normally used by a two frame update cursor system. It is also a rate easily handled by a cassette recorder, and by many two-way or full duplex modem systems. About 18.6 seconds are needed to load or dump a 512 character screen. These frame update and retransmission rates can be minimized by using a “virtual” update where one page is viewed while the other is updated, and by creative use of carriage return commands to return after the last character of each line, rather than going on out to the end of the line. Faster Baud rates usually take more in the way of circuit design, and are usually limited to one-way modem transmission, premium recording techniques, and a Direct Memory Access type of update in the TV Typewriter. A 110 Baud Standard The 110 Baud, 100 word per minute code is an industry standard for slow data exchange. It is compatible with the Model 33 and Model 35 Teletype systems, and other teleprinters using an 8 level code. The code takes 100 milliseconds to send a character. The next character can follow immediately or can be sent any time later. Fig. 2 shows us the standard. The original Teletype notation still carries over to this code. A Mark is a digital “1”, a shorted line, or a completed connection. A Space is a digital “O”, an open line or a_ broken connection. Between words, the teletype line or digital output is constantly putting out ‘1s or marks, and is thus marking time. One of the reasons this was originally done was so that any break in communications is immediately known. There are eleven bits to the code. Each bit is an identical 9.09 milliseconds long for a total code time of 100 milliseconds per word. Each word begins with a start bit. The start bit is always a zero and tells the receiving circuitry that a new character is to begin. The start bit is essential since some ASCII words will begin with one or more “1”s and there is no way to tell a marking time “7 from a “1” bit in an ASCII character code. The ASCII bits follow in sequential order, starting with bit B1 or the least significant bit. After the seven character bits, an eighth bit is sent either as a “1” or providing a parity check bit for the rest of the word. At least two stop bits must follow the word. The stop bits are ‘'1”s. or marks, and any number of additional marking ‘‘1’’s can follow between characters. The stop bits give the receiving circuitry a chance to shut itself down and await a new word. The receiver can be electronic in the case of a UART or electromechanical in the case of a teletype. Between words, the receiver just waits. Since the data transmission is asynchronous, the receiver has no way of knowing ahead of time when a new word is to arrive, so it has to wait for a new start bit before it can do anything. The arrival of this bit activates the receiver, which ~ then goes through a sequential procedure that sorts out the bits, puts them in parallel form, and outputs them. With a UART, sequential time intervals of 9.09 milliseconds each are electronically generated and the center of each interval window is tested against the incoming code to see whether a “1” or a “O” is received. These are accumulated in a shift register, error tested, and output as a parallel word at the end of the interval. The stop bits are used to reset and shut off the circuitry. With an electromechanical teletype, the break in line current caused by the stop bit releases a one-turn clutch on a mechanical scanning commutator that goes once around in 100 milliseconds. It sequentially routes the incoming code to a group of scanning solenoid magnets. These set up the code in parallel form, and at the end of the word, the scanner resets and the code is typed or output on paper tape. Tolerances It’s extremely important that both the transmitter and receiver are clocking bits out at the same 9.09 millisecond rate, and that nothing happens in the channel to speed up or slow down the bits. There are many possible sources of error. If the bit positions jitter around or are differentially delayed to by any tone keying, the filtering, or channel response, we get a bias error. Bias errors put individual bits ahead of or behind where they actually belong. One source of bias in a two tone modem or cassette system occurs when one tone is delayed more than the other in any filtering circuit. This is called the group delay distortion problem. If the basic transmission and reception rates differ so that the bits can get ahead of or behind where they’re supposed to be, we have a skew error. Note that bias errors apply to individual bits, while skew errors are progressive, making each sequential bit decision that much more difficult to detect without error. We get a skew error if there is an absolute timing difference between transmitter and receiver. Cassette recording systems introduce a potential skew error if the record and playback rates differ. This easily happens with cheaper units susceptible to speed variations with battery voltage, and almost is inevitable if the recording is done on one machine and playback on a second. Recording skew errors are correctable if the recording signals are designed to include speed information, and the receiver is capable of using this information to speed up or slow down as needed to eliminate this error source. How accurate do we have to be? This is easy to calculate. Assume temporarily that there are zero jitter and zero bias errors in the channel, and that we are using an_ electronic receiver that very narrowly samples for valid data. The last data bit we are interested in is the parity bit. The center of the parity bit is 8% bits removed from the beginning of the start bit, a delay of 77.26 milliseconds. The receiver delay is also supposed to be 77.26 milliseconds. If our sampling is narrow enough, we can be up to just under half a bit slow or fast and still be able to read the parity bit without error. This corresponds to a time error of 4.53 milliseconds either way, or slightly over 5%. But, this figure leaves no room for bias and jitter errors and doesn’t give the slower electromechanical circuits enough time width to reliably respond to the incoming data. As a practical rule, the receiver and transmitter bit times must match to well within plus or minus one percent. \t is absolutely essential to hold things this close for low-error communications. A 300 Baud asynchronous timing system is very similar to Fig. 2 and uses the same eleven bit code of equally spaced bits. The only difference is that the per-bit time is 3.33 milliseconds, corresponding to a 300 Hertz clock rate. Optionally, only a single stop bit may be used. This rate is cassette and TV Typewriter compatible and may be used for full duplex (two way) operation in most modem circuits, but it is too fast for teletype use. Using UARTs Parallel to serial conversion and back again can obviously be done with CMOS or TTL circuits. Basically, you parallel load a shift register and_ serially clock out data or serially clock in data to a shift register and then latch its parallel outputs when the data is valid. By the time you add all the error testing circuitry, housekeeping bits, synchronization, and so on, the circuits tend to get specialized and complex. Instead of this route, you can use an industry standard MOS integrated circuit called a UART for virtually any serial to parallel conversion and return process. Several pin compatible UARTs appear in Fig. 3. These are general purpose, programmable devices that let you select the number of start and stop bits, the word length, type of parity, and so on to suit your particular system. Dedicated UART-like devices are also available for use with specific microprocessors. The Intel 8201 and the Motorola 6850 are typical of these. The standard UART comes in a 40 pin package, and has supply voltages of +5 routed to pin #1, -12 to pin #2, and ground to pin #3. The later versions of these devices are N channel types that need no -12 supply, and Fig. 3. Pin compatible UARTS. $1883 (American Microsystems} AY-5-1012 (General Instruments) 2536 (Signetics) COM2502 (Standard Microsystems) TMS6012 (Texas Instruments) TR1602 (Western Digital) that pin is left unconnected. The General Instruments AY-5-1014 is one of these. The low number pins (1-20) are the receive portion of the UART, while the high number pins (21-40) are the transmit portion. Except for common word length and parity programming, the two halves of the circuit are separate, although they often are used as a send-receive pair. Both the receiver and transmitter portions of the circuit need a clock. The clock frequency is usually sixteen times the Baud rate. This high frequency lets the UART do things like sample the center of each data interval and recheck for valid start signals and similar good things. For instance, a 110 25 Fig. 4. UART circuit to transmit code of Fig. 2. ASCI| PARALLEL INPUT MSB 6 5 4 3 2158 16x —= cLock INPUT © o SERIAL eouz OUTPUT DATA (M0 BAUD) {MARK= 4800Hz HIGH (300BAUD) BiTs/ ©) cuanacter AY-5-1012 UART TOP view RECEIVER CONNECTION Baud circuit needs a clock of skew error that would 1760 Hertz, while a 300 Baud one uses a 4800 Hertz clock and so on. The clock signals can be derived from a CMOS or 555 type of astable oscillator, but it is far better to digitally derive clock frequencies from TVT system timing or another stable source. Remember these clock signals must be held to well within one percent and_ ideally shouldn’t have any adjustments. If our TVT has a 15,840 horizontal rate, we can divide this by nine to exactly get 1760 for a 110 Baud system. With a 15,720 rate, we get 1746.6 Hertz, a figure a bit low, but still normally result from a change in tape speed from time to time or machine to machine. Fig. 4 shows us the connections for transmission of the 11 unit code of Fig. 2. The input ASCII code goes on pins 26 through 33, with the least significant or b1 bit on pin 26. A 16X clock goes into pin 40, and a KP send command goes to pin 23. The leading edge of this send command starts transmission, but the input data must be valid for the entire time the command is positive. Normally, this is a narrow pulse a few milliseconds wide, derived from a_keypressed command on a keyboard. useful and less than one Serial output data appears on percent under. pin 25. The receiver and Pins 34-39 program the transmitter clock inputs are on separate pins. They are often tied to a common clock source in simple send-receive circuits. One important exception is when a UART is used as part of a speed-independent cassette interface. In this case, the receiver clock frequency is derived from the tape during playback. While it is nominally the same as the transmitter frequency, its exact value is set by speed information recovered from the recorder. This can be used to eliminate much of the UART for different bit lengths and codes. 34 is an enable that normally remains high. Pin 35 provides a parity bit if it is grounded and omits one if it is high. Pin 36 picks the number of stop bits. Ground gives you one and high gives you two, 37 and 38 together decide how many data bits are to be sent, ranging from 5 to 8. Both grounded provide for 5 data bits, useful for Baudot RTTY transmission. The connection shown gives us a seven bit data word. Note that if you use the parity bit, it adds to the number of data words. The code of Fig. 2 uses our start bit, seven data bits, one parity bit, and one stop bit for an eleven unit code. Pin 39 picks even or odd parity with ground giving odd parity. An optional reset input is provided on pin 21. It is normally grounded. Bringing it high resets the UART. Without resetting, the first word transmitted after power is first applied can be wrong. The UART transmitter is double buffered. This means you can load a new character as soon as the one already inside begins its transmission. Two optional outputs are provided. Pin 22 tells you when it is OK to provide a new character by going high. Pin 24 tells you that a character has been completely sent when it goes high. There are two ways you can use a UART transmitter, either unconditionally or handshaking. In the unconditional mode, any time a character arrives, it gets sent. This is the simplest, but you have to make absolutely certain that characters don’t arrive spaced or grouped too closely together. While pairs of inputs can be closely spaced much the same way that two key rollover works in a keyboard, you have to be absolutely certain that the Jong term average is never exceeded by the word rate of the UART. This means a 100 millisecond character spacing for 110 Baud, and around one third that for a 300 Baud system. In the handshaking mode, the UART decides when it wants to receive a new character, using the pin 22 and 24 outputs. Circuits driving the UART are set up to provide characters only when they are asked for them. For most TVT uses, unconditional UART transmission is simpler and easier to use. Fig. 5 shows us the UART. receiver circuit, again set up for the code of Fig. 2. The receiver logic has elaborate noise elimination provisions, made possible by the sixteen times higher clock frequency. Whenever a start bit is purportedly received, that bit is retested later and verified to prevent a random noise pulse from generating an unwanted character output. All data bits are narrowly sampled in the middle of their possible time slots, allowing considerable bias and skew distortion to exist without error. The same pin 34-39 inputs that programmed the transmitter’s word length and format identically program Baud rate, applied to pin 17. In send-receive systems, we can often tie the receiver and transmitter clocks together. In speed-independent cassette interface circuits, the receive clock is reconstructed from speed information recovered from the recorder to eliminate skew errors. The serial input is routed to pin 20 and converted to the equivalent seven bit parallel ASCII output on pins 6 through 12, with the least significant bit on pin 12. When the output is valid, a strobe on pin 19 goes high as an output. This output strobe must be reset before a new character can be output. \f we’re operating in a TRANSMITTER CONNECTIONS invert it, and reapply it to the strobe reset input pin 18. Fig. 5 shows us one way to do this with a RC network and a CMOS inverter. Many UART receiver problems are caused by failing to reset the strobe after each character — watch this particular detail very closely. Several additional outputs are available for use in fancier systems. Parity, framing, and overrun errors produce respective high outputs on pins 13 through 15. These can be used to ask for a repeat or put in a question mark to indicate a transmission error. All receiver UART outputs are tri-state and may be floated in systems where the UART’s Fig. 5. UART circuit to receive code of Fig. 2. Parity, word length, and stop bits set by transmitter programming, pins 34-39. ADDITIONAL CIRCUIT NEEDED FOR UNCONDITIONAL OUTPUT 4049 (CMOS) Fo 16X CLOCK 1760 Hz (110 BAUD) 4800 Hz (300 BAUD) the receiver portion of the UART. Although the receiver and transmitter can be used in totally different circuits and at different baud rates, they have to operate with a common format, set by these pins. The receiver needs its own clock of sixteen times its mse 6 5 4 3 handshaking mode, the TVT circuitry accepting the character sends back an acknowledgement or completion signal that momentarily drives pin 18 low. If we are using an unconditional output mode, you somehow have to delay the pin 19 strobe output, ASCII PARALLEL OUTPUT LPI td) positive disables the ASCII outputs, while making pin 16 positive disables the error outputs. Besides its usual use as a two way serial to parallel converter, there are other 5 ¥ g AY-5-1012 z w UART = 3 TOP VIEW 3s & = = ¢ & N = serial © INPUT DATA I= MARK= HIGH 2 LSB NEXT CHARACTER CHARACTER RECEIVED ENABLE outputs must share a common or a bidirectional data buss. Making pin 4 27 useful circuit tricks you can do with a UART. For instance, by connecting the parallel outputs of the receiver back to the parallel inputs of the transmitter, you can change Baud rates. This is handy in speeding up slow data for use on a fast channel, and for correcting speed errors on cassette systems. If the UART is to accept data from several sources you can either tri-state combine the sources onto a single input buss, or else use an input eight pole, double throw selector switch to pick one of two input channels. This is common in TVT service, where the keyboard forms one channel and the screen retransmission output buss forms the other. 4502 hex tri-state drivers or 4019 four pole selectors are suitable CMOS devices to use. In general, tri-state lines onto a common buss are much preferable to selectors, but few keyboard encoders have inherent tri-state output, and the output buss on the TVT. often has to continously drive the display if we want to view the re

Showing the first 100000 of 354746 characters.

mp.ls