ISSUE NUMBER 14 $1.50 IN NORTH AMERICA ($2.50 elsewhere) OCTOBER 1976 the small systems journal PRINTED IN USA urzi If Ul Our computer is a bore- There is simply no point in trying to hide it, everyone is going to find out sooner or later anyway. TheSouthwest Technical Products 6800 computer is a big bore. Discussions with customers and dealers have confirmed our worse suspicions. At first people thought that perhaps owners of our system were just a bit shy because they were outnumbered at local computer club meetings. But then as the number of owners rose it be- came clear that this was not the pro- blem. And it wasn't that they were un- sociable or anything like that; they were simply just bored because they had nothing to talk about. Here they were, just sitting there while all the other members with other brands of computers exchanged data on circuit board errors, secret schemes of adding extra bypass capacitors to make the thing reliable, tricks to keep the clock phases from overlapping, cor- rections to manual errors and other fun subjects. Can you imagine the frustra- tion this caused? All our customers could do was to sit and be bored. They had nothing to talk about. Our 6800 has an internal monitor ROM that automatically puts the boot- strap loader in memory and refers con- trol to the terminal, when you power up. This feature deprives you of the chance to tell sad stories of how many times' you had to go back and flip the console switches before you got the loader program in right. Since you can do machine language programs direct- ly from your video terminal or teletype in hexidecimal form, you will not have a chance to exchange horror stories with your friends about how you for- got the last zero when you entered 10100110 from the console on your 374th Byte and messed up the program that had just taken you two hours to put into memory. It just isn't fair. Since we use full buffering on all data, address and control lines on all boards in our system and since we use low power 2102 static memories in our system, there are no noise sensitivity problems that can lead to hours of fun trying to figure out why a program "bombed". Dynamic memories that some others use can drop bits, fail to refresh random cells, cause programs to do crazy things by going into a refresh cycle at the wrong moment and all kinds of interesting things. Our poor customers will never have a chance to have these interesting experiences. Even our documentation and software is no help. Not only do we have the most complete and thorough set of instructions available for any system, we are supplying software either free, or at crazy low prices. Our big documentation notebook for instance is just full of information on the sys- stem. There are complete sections on software with sample programs and information on programming. We have no assembly instructions in that big yellow notebook. They are packed with the kits themselves. The note- book is completely devoted to instruc- tion on using your computer system. You are therefore not going to be spending day after jolly day trying to find out how to put a program into your machine; researching all available outside literature in an attempt to dis- cover just how you write software for the beast. Sorry about that folks, we didn't mean to spoil all your fun. So please, have a heart, when you see those poor lonely souls that have pur- chased our systems say "hello". All they have to keep them interested in computers is writing and running pro- grams. Our editor, assembler, 4K and 8K BASIC programs work so well that even this is quick and easy. So be kind to those poor bored SwTPC-6800 owners, it's not their fault that they have nothing to talk about. Computer System with serial interface and 2,048 words of memory $395.00 ... COMPUTE" g-jjli! 6800 s v STeM □ I don't like puzzles anyway and have no free time to be bored so send information on your 6800 computer system and peripherals. LJ Thanks for warning me. Send names of manufacturers of "interest- ing" computers. ADDRESS. CITY . .STATE. Southwest Technical Products Corp., Box 32040, San Antonio, Texas 78284 2 or 4 MHz switch -Z80/4CPU The only CPU card to give you 4 MHz speed 2 - 5X MORE THROUGHPUT Here is by far the most powerful CPU card now available. It's Cromemco's new ZPU™ card. It uses the slick new Z-80 chip — in fact, it uses the even faster Z80/4 high speed version of the Z-80 — and it's the only card that does. The Z80/4 is certified by its manufac- turer for 4 MHz operation. The Z80/4 has all the advantages of the 8080 and 6800 — and enor- mously more. And Cromemco's new ZPU does enormously more. 4 MHz CLOCK RATE First, the ZPU lets you choose either a 2 or 4 MHz crystal-controlled clock rate. Right away that means you can have twice the throughput. Cuts program running time in half. Then the instruction set of the Z80/4 reduces software even more. The 2 or 4 MHz clock rate is switch-selectable as shown in the above photo. POWER-ON MEMORY JUMPS Cromemco's ZPU also has some neat design innovations of its own. For example, you'll like the simpli- fied operation you get because upon power turn-on the ZPU will jump to any desired 4K boundary in mem- ory. No switch flipping to go through to begin your program. SELECTABLE WAIT STATES Cromemco engineers have also arranged that your present systems will always be useful with the new ZPU. To do this, the ZPU has been designed to have jumper-wire-se- lectable wait states on the card. These simplify interfacing with your present memory or I/O even at 4 MHz operation. 80 ADDITIONAL INSTRUCTIONS You've probably heard that the Z-80 with its 80 new additional in- structions is by far the most power- ful chip around. It's true. That means with the ZPU you will be able to devise much more power- ful (as well as faster) software than before. ALTAIR/IMSAI COMPATIBLE WITHOUT MODIFICATION Yes, the new ZPU is plug-com- patible with the Altair 8800 and IMSAI 8080. Just remove the exist- ing CPU, plug in the ZPU card, and you're up and running. Further, the Cromemco ZPU is the only card guaranteed to work with all present and future Cromemco peripherals. (Cromemco manufac- tures the popular BYTESAVER'" memory, the TV DAZZLER™, the D + 7A™ analog interface board, a joystick console, and others. INCLUDES FREE SOFTWARE The ZPU comes with our powerful Z-80 monitor, complete documenta- tion, source code, and paper tape object code. The monitor is also available in PROM ($75) for use in our BYTESAVER memory board. STORE/MAIL The new ZPU is available as a kit or assembled. Look into it now be- cause you can see demand will be strong. Present delivery is 30 days. ZPU kit (Model ZPU-K) $295 ZPU assembled (Model ZPU-W) $395 California users add 6% sales tax. Q Cromemco Specialists in computer peripherals 2432 Charleston Rd., Mountain View, CA 94043 • (415) 964-7400 About the Cover In the Queue is on page 7 this month. As a way to highlight the history of electronic digital signalling, we dug up a picture of one of Joseph Henry's original telegraphy keys, circa the early 1800s. Robert Tinney then placed the key in the frame and wall setting you see on the cover, using a photo supplied by Brian McCarthy. In This EITE Once you sit down and Build This Mathematical Function Unit as de- scribed in part one of R Scott Guthrie's two part article, the world of high level mathematical functions is opened to your microcomputer. In part two this month, the software needed to interface with the calculator is described, as well as several test loops used to adjust timing parameters with an oscilloscope. As a final illustra- tion of the calculator's use, the author provides a program called CALCULA which enables a Teletype (or other ASCII) port to drive the calculator and print results, simulating the ordinary hand calculator level of operation. The problem of decoding arbitrary hand generated Morse code is not a trivial one. It requires some care and thought in the design of adaptive algorithms. As one contribution to this issue's sub theme of computerized Morse code, Lt William A Hickey, USN, provides some background infor- mation and suggestions on the subject. W J Hosking, W7JSW, is an amateur radio operator in search of applica- tions hardware and software. Read about A Ham's Application Dreams and find out how to implement one aspect of his dream with the Morse code input and output conversion technology described in detail in the balance of this issue .... A theme of this October issue is the application of microcomputers to the decoding of Morse code. One approach to the problem is detailed in Robert Grappel and Jack Hemenway's article on MORSE R ... a program to read Morse code, implemented with a Motorola 6800 computer. Lawrence Krakauer describes a tech- nique to store Morse characters as a packed table of bit patterns for ma- chine generated outputs - or for machine decoded inputs. If Only Sam Morse Could See Us Now. He'd have a fistful of problems trying to copy radio transmissions at 1000 wpm generated by programs such as Wayne Sewell's CWBUFFER subroutine. But, using one of Wayne's set of sundry drivers for CWBUFFER, Mr Morse could potentially learn to copy — or at least have his computer copy — in a code practice mode. One application of the Morse code problem solvers is documented in Bruce Filgate's article on Morse Code Station Data Handler. This is an appli- cation program which handles direct sending of Morse outputs, from character text, adaptive interpretation of Morse inputs, storing of fixed mes- sages (eg: ' CQ CQ CQ DE W1 AW ') in a message buffer for later transmission or repetitive transmission, etc. Bruce has put it all together in the form of a comprehensive 1536 byte program for an 8008. National Semiconductor announced the PACE computer some time ago, but until recently it has been some- what hard to obtain. Now that this 16 bit minicomputer is beginning to enter its volume production stage, we Keep PACE With the Times by offering Robert Baker's Microprocessor Update on this processor. If you missed the convenience of your familiar 16 bit minicomputer when you started reading about and "dry run program- ming" for personal computing, then the PACE processor might be a logical choice for a homebrew or kit system. The advent of the personal system portends a fundamental change in the ways computers are used. In Home- brewery vs the Software Priesthood, David Fylstra and Mike Wilber make some comments about the impact of widespread use and knowledge of com- puters. Looking for ideas for meetings of your local computer group? Dr Charles F Douds has a few suggestions to make in his background article on the subject this month. KIT-A-MONTH The Altair kit-a-month plan allows you to own an Altair mainframe without taxing your pocketbook. Mits has made it easy for you to purchase an 8800a, 8800b or 680b computer in monthly installments where you receive compon- ents with each payment. There are no financial charges because we have made each monthly shipment a kit in itself. This will give you time to read up on com- puters and/or gain knowledge from friends. We have set up an Altair kit-a-month payment desk to service your needs. When writing or calling the factory for information about your shipment or account, just refer to the "kit-a-month payment desk'' OWN YOUR 680b IN FIVE EASY PAYMENTS 1st month 680b Manuals, Main and Display PC Boards, and membership in users group 2nd month 680b Case and Power Supply 3rd month Parts for 680b Display Board 4th month Parts for 680b Main Board less Integrated Circuits 5th month 680b Chips $93.20 plus $2.00 per month make your payments $95.20 per month and you have your complete kit in five easy payments. This plan gives you the full 680b with memory and I/O. The BAUDOT Option is still $42.00 extra and may be purchased with Time Payment #4 or #5. Remittance of $95.20 will start you on your way to owning your own computer. Alaska, Hawaii, APO and FPO customers include $3.00 per month for Air Parcel Post charges instead of $2.00 for regular Parcel Post shipment. This would make your payment $96.20 per month. Canadian customers include $3.00 per each month for postage and handling fees. NOTE: This plan does not apply to foreign sales other than Canada. NEW ALTAIR 8800B Available on Time Payment Plan $105.00 payment per month plus $2.00 postage and handling for each kit makes an easy $107.00 per month to own the newest of the Altair processors. Send in your first $107.00 money order and start receiving your 8800B Kit by August 1, 1976. 8800B Month #1 Manuals #2 EC- 18 #3 Power Supply Board 8c Parts #4 Transformer #5 Display Board a Parts #6 Case #7 Main Chips #8 CPU Board a Parts Less 8080A Alaska, Hawaii, APO and FPO customers please include $4.00 for shipping charges (making $109 per month payments) for Air Parcel Post shipment. Otherwise, shipment will come Parcel Post, not insured. Canadian customers must accept month #6 Emery Airfreight Collect. All other months must include $4.00 postage and handling making monthly payments of $109.00. $79.00 / Month ALTAIR 8800A TIME PAYMENT PLAN 8800A Time Payment #1 8800A Manuals and Users Group Membership »2 EC-18, PC Board and Hardware #3 8800A Power Supply Kit #4 8800A case #5 CPU PC Board and Bag of Parts less the main chip #6 Main Processor Chip #7 Display Control Board and Parts The price of the Altair 8800A mainframe is $539.00. Seven easy payments plus $2.00 per month for postage and handling charges make this plan equal $79.00 per month. Upon receipt of your first $79.00 payment you are on your way to owning your own 8080A basic computer system. A list of available com- patible peripherals is enclosed to let you plan your system as you learn about your microprocessor. By 8800A Time Payment #7 you're ready to go. Alaska, Hawaii. APO and FPO customers please include $4.00 for shipping charges (making $81 per month payments) for Air Parcel Post shipment, otherwise, shipment will come Parcel Post, not insured. Canadian customers must accept month #4 Emery Airfreight Collect. All other months must include $4.00 postage and handling making monthly payments of $81.00. KIT-ArMONTH ORDERING INSTRUCTIONS In order to smoothly and efficiently expedite your orders, we ask that you note the following helpful hints: 1 . Send all payments other than BankAmericard or Master Charge in the form of a cashier's check or money order. Personal checks are acceptable, but clearance time will delay your order by 2-3 weeks. 2. The kit-a-month plan has been set up to proceed in order and we cannot deviate from that order. You can help us by noting with your payment what month you are on. 3. When calling or sending in orders, refer to your customer name on the original order and also your Mits order number. 4. If you change your address, keep your name as it is on the original order to keep records straight. 5. Please note special instructions for Alaska, Hawaii, APO, FPO and Canadian customers. If these are not followed, it could result in delays in proc- essing your order. 6. The Kit-a-Month desk has been set up to help expedite your orders because of the overwhelming response we've had with previous time payment plans. Please feel free to use this service whenever you have questions. When writing letters to Mits, simply note "Kit-a-Month desk" on the outside of the envelope. NOTE: Once you start the Kit-a-Month plan you are guaranteed the existing price at the time of your first order. You will not be affected by price increases. Enclosed is my payment of for the first shipment of my Altair kit-a-month. Master Charge # or BankAmericard #_ Altair 680bQ Altair 8800aD DAItair 8800b NAME ADDRESS CITY STATE & ZIP 0§ IjuQK§©/2450 Alamo SE/Albuquerque, NM 87106 505-243-7821 Prices, specifications, and delivery subject to change. 1 0J5 IXiOK§©/2450 Alamo SE/Albuquerque, NM 87106 505-243-7821 In the Queue BITE #14 OCTOBER 1976 staff Foreground 30 42 52 74 12 26 36 82 90 118 ADD THIS 6800 MORSER TO YOUR AMATEUR RADIO STATION Applications — Grappel-Hemenway IF ONLY SAM MORSE COULD SEE US NOW Applications — Sewell A MORSE CODE STATION DATA HANDLER Applications— Filgate BUILD THIS MATHEMATICAL FUNCTION UNIT-Part2 Software — Guthrie Background THE COMPUTER . . . VERSUS . . . HAND SENT MORSE CODE Applications — Hickey A HAM'S APPLICATION DREAMS Speculation — Hosking EFFICIENT STORAGE OF MORSE CHARACTER CODES Applications — Krakauer KEEP PACE WITH THE TIMES Hardware — Baker HOMEBREWERY VS THE SOFTWARE PRIESTHOOD Philosophy— Fylstra-Wilber MEETING ACTIVITIES FOR COMPUTER CLUBS Organizations — Douds Nucleus 2 In This BYTE 9 The Concertina System 16 Letters 41 Software Bug of the Month 5 81 Some Historical Notes 86, 110, 126 What's New? 95 BYTE's Bits 96 Classified Ads 99 Programming Quickies 100 Book Reviews 106 Kil O'Byte 107 Travelogue 116 Excerpts from Future History 130 Clubs, Newsletters 144 BOMB 144 Reader Service BYTE magazine is published monthly by BYTE Publica- tions Inc, 70 Main St, Peter- borough New Hampshire 03458. Subscription rates are $12 for one year, $22 for two years, $30 for three years in North America. Elsewhere: $15 one year, $25 two years, $33 three years. Second class postage paid at Peterborough NH 03458 and at additional mailing offices. Phone 603—924-7217. Entire con- tents copyright 1976 BYTE Publications Inc, Peterborough NH 03458. Address editorial correspondence to Editor, BYTE, 70 Main St, Peter- borough NH 03458. 1 PUBLISHERS Virginia Peschke Manfred Peschke EDITOR Carl T Helmers, Jr GENERAL MANAGER Manfred Peschke PRODUCTION MANAGER Judith Havey CIRCULATION Deborah R Luhrs DEALER CIRCULATION Deena Zealy PUBLISHERS ASSISTANTS Cheryl Hurd Julie Nelson Carol Nyland Kim Place ADVERTISING Elizabeth Alpaugh Virginia Peschke TYPOGRAPHY Custom Marketing Resources, Inc Goodway Graphics Mary Lavoie Taimi Woodward PHOTOGRAPHY Ed Crabtree Custom Marketing Resources, Inc ART Matthew Arnold Mary Jane Frohlich Lynn Malo Bill Morello PRINTING The George Banta Company Custom Marketing Resources, Inc ASSOCIATES Bob Baker Dan Fylstra Harold A Mauch Chris Ryland PRODUCTS COORDINATOR Floyd W Rehling TECHNICIAN Melvin G Weir CONSTRUCTION Walter Pence If you thought a rugged, professional yet affordable computer didn't exist, think IMSAI 8080. Sure there are other commercial, high-quality computers that can perform like the 8080. But their prices are 5 times as high. There is a rugged, reliable, industrial com- puter, with high commercial-type performance. The IMSAI 8080. Fully assembled, it's $931. Unassembled, it's $599. And ours is available now. In our case, you can tell a computer by its cabinet. The IMSAI 8080 is made for commer- cial users. And it looks it. Inside and out! The cabinet is attractive, heavy-gauge aluminum. The heavy-duty lucite front panel has an extra 8 program controlled LED's. It plugs directly into the Mother Board without a wire harness. And rugged commercial grade paddle switches that are backed up by reliable debouncing circuits. But higher aesthetics on the outside is only the beginning. The guts of the IMSAI 8080 is where its true beauty lies. The 8080 is optionally expandable to a substantial system with 22 card slots in a single printed circuit board. And the durable card cage is made of commercial-grade anodized aluminum. The IMSAI 8080 power supply produces a true 28 amp current, enough to power a full system. You can expand to a powerful system with 64K of memory, plus a floppy disk con- troller, with its own on-board 8080 -and a DOS. A floppy disk drive, an audio tape cassette input device, a printer, plus a video terminal and a teleprinter. These peripherals will function with an 8-level priority interrupt system. IMSAI BASIC software is avail- able in 4K, that you can get in PROM. And a new $139 4K RAM board with software IMSAI 8080 iii«— ««« ~ ~ - memory protect. For the ultimate in flexibility, you can design the system for low-cost multiprocessor, shared memory capability. Find out more about the computer you thought didn't exist. Get a complete illustrated brochure describing the IMSAI 8080, options, peripherals, soft- ware, prices and specifications. Send one dollar to cover handling. Call us for the name of the IMSAI dealer nearest you. Dealer inquiries invited. wmm IMS Associates, Inc. Dept. B-10 14860 Wicks Boulevard San Leandro, CA 94577 (415) 483-2093 The Concertina System Editorial by Carl Helmers The often asked question of the personal systems cynic is "What on earth do people do with home computers?" In many ways this question is analogous to what might have been asked by automotive skeptics in the early part of this century: "What on earth do you expect people to do with automobiles?" Fifty to 60 years of history have answered the latter question in numerous concrete demonstrations, and one can only expect the coming decades of computer evolution to answer the former question in numerous ways. Of course the simplest reply to the first question is "Compute!" and is as empty of content as the analogous reply for auto- mobiles, "Drive!". Computing without a purpose is like driving without a destination, an intrinsically enjoyable pastime on occasion but hardly touching upon the set of possibilities inherent in digital computation and control. The key to a broadened per- spective on the computer and its place in human activities is the concept of the application. An application for the computer is like a destination for an automotive trip. If I set in my mind the goal of driving down to Boston for an evening in Symphony Hall with Arthur Fiedler, the Boston Pops and company, my automobile has now acquired an "application." Similarly, if I decide to customize my computer system as a vehicle for editing and playing music, a very ordinary and garden variety Motorola 6800 plus memory and peripherals has acquired an "application" whenever I choose to use it for that purpose. (Like an automobile that can be driven anywhere without reason, the true general purpose computer need not be exclusively dedicated to one applications goal.) The concept of music played using com- puters is an excellent focal point to demonstrate practical uses for personal computers. Here is a specific application of the computer technology for very human purposes, a concrete argument to throw at the skeptic and cynic. The choice of a musical application goal, like the decision to drive to a concert with an automobile, makes the technology come alive with human values. The traditional concertina is a simple pneumatic acoustical instrument similar to an accordion. The pneumatic concertina is hardly a widely known or used instrument. In a hand held package with control buttons, it gives the player an ability to create a fairly rich timbre similar to a reed organ or a harmonica. Like all instruments, it requires an element of virtuosity to play at all well, but within its limitations it makes an interesting vehicle for musical expression. The relative obscurity of the original concertina instrument, the harmonically rich nature of its timbre, noting its use by a single (good) artist in creating a polyphonic output, and most of all, falling in love with the smooth sound and etymological roots of its name leads me to propose the name "concertina system" for a musical instru- ment based on a personal computing system integrated with musical software and peripherals. The concept of the digitally controlled musical instrument is not new, but the technology which makes it possible at a reasonable price is as new as the whole LSI computer technology. For about the same price that you or I would pay for a virtuoso quality home electronic organ, it is possible to add a music playing peripheral to a computer system which will allow the owner to accomplish musical performance feats unheard of on an organ or traditional instruments. As of this writing, I know of two companies which are in the process of preparing products which can simply convert an existing computer system into a polyphonic synthesizer with the potential (with software) of becoming a truly playable concertina system. One company is located in Arizona and is said to be designing an Altair compatible plug-in card with several polyphonic channels of digitally controlled music output. Another company, ALF Products, 2130 Bell Ct, Lakewood CO 80215, is in the preproduction prototype stages of preparation to market a modular computer controlled synthesizer which inter- faces to any existing computer by using the two programmable ports of a single PIA chip. (Most existing computers have pro- visions for a "PIA card" with one or more such "parallel interface adapters" together with appropriate plugs.) The ALF design has 8 fully programmable music channels with an option to add 8 less versatile "back- ground" channels to achieve the potential for a truly orchestral sound. There are undoubtedly additional in- dividuals and companies working on similar systems and products which can simply and inexpensively (relative to costs two to three years ago) add a minimal concertina system capability to the typical home computer system. Readers will find more information on this subject as the products become better defined and reach the marketplace; we also expect to publish articles on the technology of computer controlled musical instruments (experimenters and potential authors: take note). If you have a computer, you have 75 to 90% of such a "concertina system" already available. All the control and data manage- ment power needed to implement a rela- tively simple and quite functional polyphonic music interpreter is present in a microprocessor system using chips such as the 8080, Z-80, 6800 or 6502 with several K of applications program memory (I use 12 K myself for interpreter and text area, but it would certainly be possible to program a usable system with as little as 4 K memory.) The system also requires a video output Word Gets Around . . . The personal computing field is getting some attention as the amount of activity creates some micro ripples in the big pond of things people do. An article in the July 12 issue of Business Week featured Paul Terrell's Byte Shop computer store in Mountain View CA. Paul's shop is one of the largest retail outlets among the more than 250 stores coast to coast which regularly stock BYTE. Also, Ivan Berger, electronics and photog- raphy editor of Popular Mechanics magazine, reports in phone conversation that he has scheduled a short feature article on home computers, their present and future prospects, in the September Popular Mechanics. There have of course been several local and national newspaper stories lately. As products improve and the market expands, we should see more and more examples of public awareness of computers documented in the press and other media, a welcome trend indeed." display, ASCII text keyboard and a pair of audio cassette drives with motor control via relays and a data rate of at least 300 baud. Obtaining better mass storage peripherals such as floppy disks, 3M cartridge drives or high speed electronically controlled Philips cassette decks is of course highly desirable. This use of the computer system, while requiring a dedicated peripheral, is com- pletely consistent with the concept of the general purpose personal system, for when the system is not being used for music, programs with other purposes can be employed. Many typical uses require such a peripheral specific to the application; many other applications such as record keeping, calculation, text processing, mathematical and simulation games, and so on merely require the general purpose computing sys- tem composed of processor, programmable memory, text keyboard, video display and mass storage on magnetic media. The "concertina system" concept is but one of innumerable answers to the critic's question of "What do you really do with a home computer?"" Size and Finesse Perhaps you've noted a moderate expan- sion in the size of your monthly mouthful of BYTE_, along with the addition of some colorful spices to make each BYTE more flavorful. Switching metaphors, a magazine such as BYTE is in many respects like a very large and complicated program design. The first concern was and is to fill a high quality technical magazine with good useful infor- mation and fun, once a month. This is the algorithm we have used very successfully and continue to use. But, like the large program, although the basic algorithm design is not subject to major changes there are always new features, incremental improvements and parameters to adjust. Striving for the "best possible BYTE" is an ingrained part of our philoso- phy, where "best" is defined as serving the needs of our customers in this specialized field. In the area of improving the product, recent increases in the size of each BYTE reflects a synergistic combination of sub- scriber and advertiser support. The added spice of color printing on interior pages is directly a result of support from advertisers, who make such support possible because of our readership. We're still experimenting with this new possibility of highlighting and enhancing technical articles but the presenta- tion should continue to improve." 10 And now minis too! All from a catalog, at discount prices. Digital's Direct Sales Catalog — the first catalog to offer com- puter products by mail with off-the-shelf delivery — was such a success, we've come out with an expanded second edi- tion that includes the PDP-8A, the newest member of the world's most popular mini- computer family. We've also added the L A180 line printer and expanded the sections on microcomputers, logic modules, terminals, cab- inets, connectors, accessories, and supplies from the first edition. Of course, you still get our 5% catalog discount, plus another 4% for cash with your order. You also get a 10- day free trial period, plus our stand- ard 90- warranty. (Since we're selling by mail, you do have to install the equipment yourself.) If you were among the thou- sands who ordered our original catalog, you'll get the new one automatically by mail. If you weren't, why not sign up now? For your free copy, call 800- 225-9480 (Mass. 617-481-7400 ext. 6608). Or write: Components Group, Digital Equipment Corp., MR2-2/M59, One Iron Way, Marlborough, MA 01752. (Catalog sales to U.S. only.) The Computer... Versus... Lt William A Hickey USN c/o US NSGA Edzell FPO New York NY 09518 Hand Sent Morse Code INPUT FROM RECEIVER rh LEVEL 5000 l M F T ^h NE567 PLL Rl 5000 FREQUENCY ADJUST 6800 < ,-p, ^p U-7 M F ]2.2 M F .l/iF m TIMING AUDIO BFO OUTPUT — MlWIIWr^ — WW^ — PLL LOCKUP TIME DELAY-» f- TTL OUTPUT SPACE - MARK INTERRUPTS REQUIRED 1 r Figure 1 : A suggested circuit to decode the audio output of an amateur radio receiver. The receiver produces an audio tone burst corresponding to the keyed continuous wave (CW) signal being received. This tone has a frequency which depends on the tuning of the receiver. The 567 PLL circuit is a tone decoder, which can have its center frequency adjusted by Rl. The receiver output frequency and the NE 567 frequency should be the same for the desired signals. Noise and garbage (such as other stations nearby) will complicate the actual receiver output waveform. So you've been reading all about these marvelous new microcomputers, and think- ing about how nice it would be to have one that would translate Morse code for you. Well, it certainly sounds reasonable; it really depends upon what you expect from your computer. If you are expecting error free code translation under even the best signal conditions, you are in for a rude awakening. First of all, a computer (by today's standards anyway) cannot beat or even meet the standards set by a good human operator receiving code. You say you'll concede that point? Why should it be so difficult to design a translator that would work most of the time? That's the purpose of this article! I am not trying to discourage all the code copying enthusiasts out there; I am trying to prepare you for some of the not so obvious problems you might expect. For the purpose of this article, I will have to assume that you have somehow managed to translate the audio (code signal plus noise plus garbage) into a digital format of 1 's and O's. There are many ways to do this, but probably the most simple is shown in figure 1. This is a straightforward tone decoder using a 567 integrated circuit. (Remember that when a tone is present and decoded, the output is a zero.) Now that you have this nice (hopefully free of noise) digital signal, what do you do with it? The answer to this one is sim- ple ... . Anything you want to do! In all seriousness, I will now branch into a discus- sion of hand sent Morse code characteristics. Assuming that you all know that a dot is assigned a relative time duration of (1.0), it follows that you also know that the dash is ideally (3.0), the letter space is (3.0) and the word space is (7.0). (If you are a ham, you do know that, don't you?) At this point I can safely say that the problem of transla- ting machine sent Morse code is relatively trivial. I use the word trivial because it is really just one machine talking to another machine; the intervals are all fixed and are constant, making translation merely a matter 12 of a table lookup assuming both machines use the same Morse code data rate. At this point, it will be convenient to illustrate the hand sent Morse translation problem. Figure 2 is a histogram of a very short message sent with a hand key. CQ CQ CQ DE OPERATOR NUMBER ONE The largest single distribution in the shorter mark group has been assigned the relative time value of (1.0). Keeping in mind the very small size of this sample, you can see that there is a wide variation in mark lengths. (This variation will increase pro- portionately with an increase in sample size.) Space lengths are not as clearly defined, and it is very difficult to decide where the decision should be made between letter spaces and word spaces. This won't be a serious problem though, since an extra space or the lack of a space between words rarely damages the message context. The decision problem will become acute when the space interval within characters begins to spread toward the lower boundary of the space interval between characters. This will be one of the primary sources for decoding errors. This article vvill not and should not specifically address such problems as: (1) gradual frequency drift from either the transmitter or receiver, (2) rapid transmitter frequency drift ("chirp"), (3) atmospheric fading, (4) noise from natural or human made sources, or (5) the presence of many other Morse and non-Morse (SSB, RTTY, etc) signals in the same receiver passband. The reason for this is simple: These factors are just too complex to be within the correction capability of simple algorithms. Remember that these problems are common to machine sent and hand sent Morse code signals. Translating hand sent code really begins to get sticky when the sending operator gets sloppy. (He or she might send a "special" signal like - -- [73, a signoff greeting] which tends to give receiving operators problems too!) Let's face it, there are a lot of really bad "fists" out there. Of course, there are some pretty good ones too, but frequently the contact you want falls into the bad group! The reason automatic decoders are usual- ly unsuccessful at decoding hand sent Morse code is: they are unable to adapt to the time AVERAGE = 1.0 AVERAGE = 3.81 H 1 I i il i I II ' I'flll I AVERAGE = 1.13 varying properties of the statistical Morse signal. (This means the signals change charac- teristics from time to time .... usually just as the machine was ready to adapt to the previous change.) These statistical changes are reflected only partly in the mark and space timing characteristics of different operators or those of the same operator over an extended time. One of the advantages a human has is the ability to make contextual analysis on what is sent. For example, an operator might hear C? Q? N N MA and understand the signal ["CQ"] ; the machine would translate NNMA (just as it was sent). Examples of this phenomenon are endless and are available on the airwaves daily. There are three primary approaches to a solution of the hand sent Morse translation problem: 1. Macro: You can accumulate statistical information on a particular operator and use this data to make decoding decisions. 2. Micro: You can make your decisions on a mark to mark basis. 3. Averaging: You can compromise these two methods and come up with a hybrid algorithm. Approach (1) requires a long sample time to develop the statistical information, and during this time the decoded output would probably be unacceptable. Even after the statistics become valid, the decoder would operate only on operators with similar mrrn AVERAGE = 4.97 Figure 2: A histogram of a typical hand sent message, the text "CQ CQ CQ DE OPERATOR NUMBER ONE". The terms "mark" and "space" refer to the low and high TTL levels out of the detector of fi- gure 1, respectively. 13 Data Definitions: 8 bit registers or programmable memory X AVGDOT Duration of the previous input state. Running average of the previous "n" dot times. OUTCH Output ASCII character tempo- rary buffer. MORSREG Morse code pattern input shift register. PREVSTATE Previous mark or space input state. STATE Current mark or space input state ENTRY I | FOLLOWING j 1 INTERRUPT AT ! I CHANGE OF ' I STATE I I J / MORSE \ 1 DECODER ) COMPUTE X: - (DURATION OF PREVIOUS STATE SPACE « r» AVGDOT LTLJT_ k — — w* 5 * AVGDOT morse: MARK i u INTERRUPTS MORSE DECODER EXECUTION innnni - JUUUU1_ u n « u nn i OUTCH KO REAL TIME - ~l_ V --END OF CHARACTER DETECTED BY X> 2 * AVGDOT | CONCLUDE: I END OF L_CHARACTER -ThAVE DOT OR | I DASH I I I I CONCLUDE: 1 '^y°i:. \ CLEAR MORSREG S M I FOR AN AVGDOT | INCLUDING DASH I — 1 AND SPACE READ- I »* INGS INSERT CALCU-i LATIONS HERE SHIFT O INTO MORSREG AVGDOT: > (NEW RUNNING AVERAGE); f RETURN ] Note: This routine is intended to be executed following an interrupt generated by both the rising and falling edges of the TTL Morse code input from a detector. An applica- tion routine to receive the output of this routine must have a wait loop which con- tinually tests OUTCH for zero. After an interrupt is com- pleted, a non zero character will be in OUTCH and the application routine will leave its idling loop and can use the character after copying it and setting OUTCH back to zero. Figure 3: The flow diagram of a relatively unsophisticated Morse decoder program. The adaptive features of this program are contained in the calculation of a new running average of the dot length whenever a dot is detected. The speed of the algorithm 's response to a change in the keying rate of the Morse input is a function of the number of dots maintained in the running average. A more complex algorithm could take into account the nominal dash spacing of three dots as part of the average, as well as the spacing between signal elements within characters. idiosyncracies. This is a nice idea, and it works well for individual operators; but it is not very workable for a broad collection of operator characteristics. Approach (2) is the easiest method — sometimes called the "ideal dot" method — but it is very suscep- tible to noise pulses and rapid code speed changes. (It tends to generate an excessive number of errors and is not really that good for decoded output.) For now, approach (3) seems to offer the best chance of working. Many individuals and commercial manu- facturers have tried variations on approach (3); but they all boil down to: Sample from four to eight characters, average the lengths of the dots, and use that average to make decoding decisions. After the initial average is set, you can update the average each time a dot is detected; or you can average both dot and dash lengths and settle on a median Continued on page 106 14 Cabinets clockwise from top: CPU, Dual-cassette drive, Keyboard, 9" Monitor. The Digital Group covers up. (Beautifully) For many months the Digital Group has been hard at work on the heart of our microcomputer system, insisting on quality where it counts in every product we've designed. Now, we have turned our attention to the outside and cov- ered up . . . with a complete line of custom cabinetry that will enhance your Digital Group system for all the world to see. The result is beautiful. Sleek and sophisticated, but rugged enough to take all the hard knocks you hand out, Digital Group cabinets are made to be used and not just admired. Extra-heavy-duty eighth-inch aluminum is utilized throughout with a special tough-texture commercial-grade paint in Computer Beige. All front panels are anodized aluminum in dark brown. Even the front panel switches are lighted. The Digital Group offers a beautiful cover-up for each part of your system — from the CPU to the video monitor. What's more, every new Digital Group product will get cov- ered, too, so each piece will maintain that unmistakable Digital Group image. We're sure you've already fallen madly in love with our cover-ups, but just wait until you take a peek inside. That's where the real beauty lies. Our video-based systems, including 8080, 6800 and the super new Z-80, are state-of-the-art, high quality and totally integrated designs. Digital Group systems are com- plete and fully featured and are specifically designed to be easy to use. Merely power on, load cassette and go! (And with our new cover-ups, you go in style.) Best of all, Digital Group systems are available now. And affordable. Prices for a complete Z-80 based CPU start as low as $645, including the cover-up. So write or call us for all the beautiful details. And then head for cover! } The Digital Group P.O. Box 6528 Denver, Colorado 80206 (303) 777-7133 Letters MORSE CONVERSION BACKGROUND INFORMATION A letter from W A Hickey regarding Morse translators appeared on pages 92-93 of your July issue. For the further edifica- tion of your readers, perhaps including Mr Hickey, I provide the following additional references on this topic: Althoff, W A, An Automatic Radio- telegraph Translator and Transcriber for Manually Sent Morse, NTIS AD-772 745, Dec 1973. Ball, Edison L, Processing of the Manual Morse Signal Using Optimal Linear Filtering, Smoothing, and Decoding, NTIS AD-A019 493, Sept 1 975. Bedzyk, W L, Machine Translation of Morse Code Using a Microprocessor, NTIS AD-785 130, June 1974. Guenther, J A, Machine Recognition of Hand-Sent Morse Code Using the PDP-12 Computer, NTIS AD-786-492, Dec 1973. McElwain, D K and M B Evens, "The Degarbler — A Program for Correcting Machine Read Morse Code," Informa- tion and Control, March 1959. McNaney, J T, and Richard R Tice, System for Converting Telegraphic Code into Characters, US Patent 2,840,637, June 1958. Powers, B L, and F R Scalf, The Design of a Morse-to-Te/etype Signal Converter Using Integrated Micrologic Circuitry, NTIS AD-840 255, June 1968. Shenk, E R, and J C Phelps, Auto- matic Code Signal Discriminating Device, US Patent 2,534,388, Dec 1950. Smith-Vaniz, W R, and E T Barret, "Morse to Teleprinter Converter," Electronics, July I 1957. Tevis, R, Printing Telegraph Receiver, US Patent 1,805,1 14, May 1931. Thomas L A, Morse Code Printing System, US Patent 2,534,387, Dec 1950. Winter, A C, Code-Controlled Appa- ratus, US Patent 2,384,513 Sept 1945. I doubt that this list is complete; I have not been interested enough to do a really thorough literature search. On a different topic: May I suggest that you provide the magazine name, the volume number, and the date, at the bottom of each page. Despite your predominantly hobbyist readership, this small professionalism would be useful. E Douglas Jensen Principal Research Engineer Computer Systems Technology Section Research Department Honeywell Aerospace & Defense Group Minneapolis MN 55413 The current issue of BYTE adds a bit to the applications literature. Thanks for sending along an excellent list of further sources. MORE ON MAKING PC BOARDS I would like to add a few things to James Hogenson's article on making printed circuit boards [July 1976 BYTE, page 58]. Readers who wish to make their own PC boards will find that the spray resists are messy and often difficult to use. We have found that a dry film resist made by Dynachem Corporation, Santa Fe Springs CA 90670, works very well and is easy to use. The material is called Laminar and comes in various thicknesses. The one mil thickness is the best for general use. One of the nice things about it is that it is developed in a water solution of sodium carbonate (Arm and Hammer washing soda) made to a concentration of 2 to 3%. It is moderately sensitive to light and may be used in room lighting without difficulty. It is easily ap- plied by heating the PC board and rolling it on with heating. A hard rubber roller works the best. These are available from art supply 16 How you can cook up hot programs on your own 8080" Software. Gourmet Quide Scelbi offers you a gourmet's delight of all new second generation soft- ware for your own "8080". Now you can cook up delectable pro- grams to satisfy your own appetite for "8080" mouthwatering applications. Best of all, Scelbi's "8080" Software Gourmet Guide & Cook Book can be yours for only $9.95 ppd. OVER 200 PAGES . . . only $9.95 You'll eat up everything that's in this action- packed, information-crammed book. Gobble up practical "how to" facts. The description of the "8080" instruction set. How to manipulate the "8080" stack. Flow charts and source listings. General purpose routines for multiple precision operation. Programming time ^delays for real time applica- tions. Random number generators. And many other basic pro- gramming function comestibles. Master Charge, Postal and Bank Money Orders preferred. Personal checks delay shipping up to 4 weeks. Pricing, specifications, availability subject to change without notice. Prices for U.S. and Canadian delivery at book mailing rate. Add $2.50 for each publication if Priority Air Service (U.S.) desired. Foreign orders add $6.00 for each publication. FLOATING POINT ARITHMETIC ROUTINES The Scelbi "Cook Book" even includes a com- pletely assembled floating point arithmetic pro- gram . . . plus input/output processing for your basic I/O programming through interrupt proc- essing. There are code and numeric conversion routines. Real time pro- gramming. Search and sort routines. And too many more finger-lickin' goodies to mention here. If you're into the "8080", you must own this complete, compact book. It has everything the good computer chef needs And, you can't beat the price! Only $9.95 ppd. Order your copy of Scelbi's "8080" Software Gourmet Guide & Cook Book today. Read it over. Then start cookin' on all four burners! Bon appetite! ICELBI COIHIIIIED CONIULIING INC. 1322 Rear Boston Post Rd. t Milford, CT 06460 Telephone: 203/874-1573 If we credit Charles Bab- bage with the first pro- grammable digital com- puter design, we should likewise consider Lady Lovelace as the first programmer. stores. The Laminar also has protective plastic coatings on both sides. The soft, flexible coating is removed before laminating to the clean copper clad. The inflexible coating is removed before developing. The E I du Pont Company also has a similar type of resist material. The PC boards must be very clean before resist is put down on the copper surface. A dip in dilute hydrochloric acid or muriatic acid followed by a scrubbing with Ajax or steel wool will prepare the surface. Hogen- son's photo 9 looks like the result of resist put on a dirty board. Printed circuit boards shouldn't be drilled with regular steel drills. They will wear out quickly and will leave ragged holes. Try carbide drills made for PC drilling. Most PC material houses should stock these. The type with an eighth inch shaft will fit in most tools. Bishop Graphics Inc, 20450 Plummer St, Chatsworth CA 91 31 1 , has a wide variety of PC layout and tape-up aids. I would suggest that readers get a copy of their catalog since the last 32 pages are a technical manual on PC layout and related techniques. I hope this will help your readers to improve their PC board technique. Jonathan A Titus Tychon Inc POB 242 Blacksburg VA 24060 ON BLANKS, CHARACTERS AND WOMEN IN COMPUTING I am glad to see BYTE is developing as a stable but flexible medium for the computer hobbyist. There are, however, three points which should be addressed early in your history: 1. Invent a "blank character." Variable spacing for uniform column width is fine for reading, but poor for showing significant blanks. Programmers have long used special symbols to represent spaces or blanks, much as zeros act as placeholders for Arabic numerals. Examples are the lower-case b with overstruck slash or dash, and a square- cornered U. If no special character is available, perhaps just a lower-case b would do (eg: "LIMb+l" to show a blank as necessary) f Only necessary in the limited context of character text string examples . . . CHl 2. Publish your character set. Testing the character set is often one of the first acts performed with a new medium (such as a keyboard, video display, or printer). It appears that you do not have, for example, Greek letters, although you have quite a variety of fonts and styles. (This suggests using a different typeface to spell out symbols that may be single characters in the original, such as THETA or UP- ARROW). Many of us are no longer limited to 47 computer symbols, but use 128 character ASCII. [Our text character set is published by IBM, in its literature on Selectric Composer balls; for computer graphics we gener- ally assume 7 bit ASCII unless noted. ] 3. While it is awkward in English to avoid masculine pronouns (he, him, etc), I do think we should try to avoid the masculine assumption about readers (eg: having a wife). This is a new field, which is developing at a time in our history when women (and men) are outgrowing their traditional roles. I think we can expect to see a gradual increase in the number of women interested in computers, and should encourage the trend. In this light, it may be relevant that if we credit Charles Babbage with the first pro- grammable digital computer design, we should likewise consider one of his chief advocates, the Lady Lovelace, as the first programmer. She wrote instructions for set- ting up the Analytical Engine to perform certain calculations. (This was, of course, working in the abstract, as the machine was never completed.) Zhahai Stewart POB 1637 Boulder CO 80302 As to the last point, we're all for it. But it is a fact that most BYTE readers are male. Where is the other 50% of the human race in computing? As a rule, we try to keep things relatively free of stereotypes in the hopes that the other 50% will start finding out about the wonderful attractions of com- puters and computing. . . . CH IDENTITY CRISIS This is just a short note to say that I am enjoying BYTE and to offer a suggestion in the form of a question: "What do we call ourselves ? " Radio amateurs call themselves hams and I am sure other people have other names for them. However, in BYTE to date, I find that writers are grasping for words to use to describe the computer hobby. Perhaps you 18 Microcomputers are highly complicated devices. When you buy one you want to make sure the manufacturer has a solid repu- tation for reliability and support. You want to make sure he'll be in your corner a year or two down the road. The Altair ,M 8800 from MITS was the first general-purpose microcomputer. Today, there are more Altair computers up and running than all the other general-purpose microcomputers combined. Today, Altairs are successfully used for literally hun- dreds of personal, business, scientific, and industrial applications. Because we are so popular, many people have tried to copy us. The pages of microcomputer magazines are full of advertisements for Altair compatible devices and Altair imitation computers. Because we are NUMBER ONE, we offer a much broader range of products and services than any of our competitors. One manufacturer might be able to copy one of our computers. Another might be able to produce a working memory card. But no one can copy the overall Altair concept. The Altair concept is a system concept aimed at practical, cost effective applications. That's why we offer three mainframes includ- ing the Altair 680b, Altair 8800a, and Altair 8800b; ten peripherals including a multi-disk system; and over 20 plug compatible modules including our new, low power 16K static memory board. That's why we are the only microcomputer manu- facturer to go to the extra expense of providing our customers with quality, higher language software. When you buy an Altair, you're not just buying a piece of equip- ment. You're buying years of reli- able, low-cost computing. You're buying the support of the NUMBER ONE manufacturer in the micro- computer field. ft 2450 Alamo SE/ Albuquerque, NM 87106/505-243-7821 could run a contest of sorts to promote a name for those active in the small computer hobby. Looking through some past BYTEs I find words such as microists, kluge, hacker, amateur computer, digital, analytical engine, cyber(nuts) that may be altered, adapted or crossed to coin some new word to describe a computer hobbyist. Then we can say: "Hi I am a ?????????????????????" Do you suppose this will help people under- stand what we are up to? Bryan Patterson Box 1 726 Port Elgin Ontario CANADA NOH2CO Well, if we wanted to sound self aggran- dizing, we could of course suggest "Byters" as a term. Actually, in spite of the negative connotations in computer science circles, I [CH] tend to prefer the traditional term "hacker." At the start of amateur radio, "ham" as used previously also had somewhat negative connotations. (I make an etymo- logical assumption here that the term as used in radio circles evolved from the tendency to "ham it up" on the air as in the usage of "ham actor. ") I like hacker as a term for the serious amateur computer nut (who is also typically professionally involved as well) because it has implications of digging into the subject matter and really learning it at multiple levels of detail. The "compleat modern hacker" is the renaissance man (oops . . . person) of computing. WHO SAYS THEY AREN'T? With respect to BYTE covers, you blew it. The phrase "Computers — the world's greatest toys" told it like it was and still is. Truly, the only difference between men and boys is the price of their toys. A co-worker commented, "If computers are the world's greatest toys, then are programmers the world's biggest kids?" How can I argue with logic like that? Julius T Marinaro 725 Cricklewood Dr State College PA 16801 VIDEO TAPE AND COMPUTERS? I was very pleased to find out about the existence of your journal. I have had an interest in small system uses for several years. At present I am working with video tape systems within a school district in Flint Michigan. I am interested in finding various small computing systems to use in video tape editing and special effects for CRT displays. Enclosed is my check for a three year subscription to BYTE. I am looking forward to my subscription. Also I would like to ask for your assistance in answering two ques- tions. I would like to find out if I could obtain back issues of BYTE since it was first published, and I would also like to find out if you can give me any information on the use of small computing systems with video tape systems. Any information that you can give in these areas would be greatly appre- ciated. Thank you for your time and trouble. William D Wolverton 10320 Henderson Rd Otisville Ml 48463 September, October and November 1975 BYTE back issues are sold out at present, as is May 1976. Remaining back issues are now being serviced at a price of $1 .50 per copy, plus 25 £ for postage and handling. Send in your requests, but send no money with your request. If we have what you 're looking for, we'll bill you for what we ship. As to the use of computers with video tape applications, it sounds like an excellent use. However, we have no articles in house on the subject . . . . yet. Perhaps you'd like to write about your results. HELP! I have some surplus ICs from our local IBM factory and would like to identify them. I hope you can help me. I have three types: 2709400 JUQ V 721304 7324FQ 2709401 Q Korea 721304 7432 FO 2709170 JUK V 721186 733180 Mi Mi Mi They are all ceramic chip with 14 pins gold plated in each side and in the top a gold square with the numbers and a ground line to pin one like in the MOS devices. Jose Vincente Caiza Postal 764 13100 Campinas S P Brazil 20 Jk Sir*! 0$ ""%»', m*L~- S %M f '>■ .'V ■•., 4 (it I mi ill 1 1 Hi Sir lit lit itj 1i I Milium • Wllllllt'lllhi Rickey^ tackling the SDK-80 microcomputer kit for his next science project. Rickey likes soccer, lizards, hot fudge sundaes, skateboards and microscopes. He can't decide if he'd rather be Franco Harris, Bobby Fischer or Jonas Salk. When his Dad brought home the Intel SDK-80 microcomputer systems kit, Rickey helped him put it together. It took only four hours. Everything was there. The 8080 CPU, RAM, PROM, programmable, I/O, a printed circuit board with all those capacitors and resistors and the other things that go with it. The best part was the instruction manuals. Every step was clearly explained. It was easy. The programming part looked especially interesting. So simple. Just imagine talking to a computer. The big thrill came on Saturday when they went to his Dad's office to use a terminal. When they connected the SDK-80 to the teletypewriter they got a printout. That was excit- ing. Within an hour they were talking to the computer, then inventing games. They stayed all day. Now Rickey is building a micro- computer of his own. He may be the first kid on his block with his own computer. Thanks to a $350 low interest loan from his Dad. If you're interested in being the first on your block to have a micro- computer, contact your Intel distri- butor: Almac/Stroum, Component Specialties, Components Plus, Cramer, Elmar, Hamilton/Avnet, Industrial Components, Liberty, Pioneer, Sheridan, or L. A. Varah. Microcomputers. ■■<%!■ I s First from the beginning. II I Lol 3065 Bowers Ave , Santa Clara, California 95051. A BIT OF CIRCULATION Attention: Circulation Dear Ms Luhrs: Thank you very kindly for making avail- able the lifetime subscription to BYTE magazine which I won at the First World Altair Convention in New Mexico. Of all the door prizes given, I firmly believe I won the best. It was generous of your firm to make it available. I would appreciate your conveying my gratitude to Mr and Mrs Peschke and Mr Helmers. Since I already have a subscription to your fine magazine, I am presently receiving two copies. I am passing one along to non-subscribers and hopefully it will gen- erate additional subscriptions. I commend you on the many fine articles which have appeared in past issues. Being a novice in hardware applications, I parti- cularly look forward to tutorial type hard- ware articles. Gene Straub 5723 Shasta Cir Littleton CO 801 23 THE IEEE 488 BUS Regarding your comments about a stan- dard interface for microprocessors, etc, on page 96 of the April issue: I imagine you are familiar with the IEEE 488 which is being used by HP, Tektronix, Fluke and many others to interface microprocessors, calcula- tors, disks, cassettes, DVMs, counters, etc. 488 is not as complex as the standards document would lead you to believe. It is achieving rapid acceptance because it is well suited to microprocessor manipulation. For various reasons it may not be ideal for personal computing, but it seems to be an excellent starting point. One drawback is that HP has the handshake patented. Their license fee is quite reasonable for some organizations but perhaps not for hobbyists. Other drawbacks include the question of common availability of the connector, etc. However it would be nice if there could be some degree of commonality between 488 and any hobbyist standard that might evolve. Bob Huenemann 4209 Armand Dr Concord CA94128 Yes, 488 might be a good place to start. For those unfamiliar with the issue, the full name is IEEE Standard Digital Interface for Programmable Instrumentation, published by the Institute of Electrical and Electronic Engineers, Inc, document number IEEE Std 488-1975. Quoting from the IEEE standards document, "The Hewlett-Packard Company has assured the IEEE that it is willing to grant a license under these patents on reasonable and nondiscriminatory terms and conditions to anyone wishing to obtain such a license. " To obtain a copy of the 80 page standards document write IEEE Service Cen- ter, 445 Hoes Ln, Piscataway NJ 08854. TEXT PROCESSING OUTPUT VIA CONVERTED TYPEWRITERS? Jim Lang's letter in the August BYTE on hard copy and IBM Selectric typewriters aroused a responsive chord. I too have been interested for some time in using the ubiqui- tous Selectric typewriter to obtain high quality hard copy. It seems to me that any- one familiar with both Selectrics and Tele- types would prefer the former — half again higher speed, much higher print quality, and both upper and lower case. The clincher would seem to be that most XYLs would look more favorably on the idea of spending half a kilobuck or so on something that can also be used as a good typewriter instead of something that can't. As some readers are probably aware, there is a commercial firm that markets a (rather expensive) applique that attaches to a standard Selectric and makes it into a terminal. (Tycom Systems Corp, 26 Just Rd, Fairfield NJ 07006.) In this connection, I'd like to point out that the US Patent Office is a veritable gold mine of technical information that can be obtained for a very modest price. For example, the patent documentation covering the Tycom system consists of 26 pages of diagrams and 50 fine print pages of descrip- tive text. An appreciable fraction of this consists of a very detailed description of the internal workings of the Selectric type- writer — it seems to collect details from the myriad of IBM patents on the Selectric into a single place. A copy of the printed version of this (or any) US patent can be obtained by speci- fying the patent number (#3,453,379 for the one mentioned above) and remitting 50 cents to "Commissioner of Patents, Wash- ington DC 20231." Obviously one cannot duplicate a patented item in making a product for sale. Nor, in this case, would one want to, since with new ICs and components, the circuitry involved is verging on obsolescence. Never- Continued on page 136 22 altair 8800a TECHNICAL INFORMATION The Altair 8800a is a parallel 8-bit word/16-bit address computer with an instruction cycle time of 2 fis. Its central processing unit is the 8080 LSI chip. It can accommodate 256 inputs and 256 outputs, all directly addressable, and has 78 basic machine instructions. It is capable of directly addressing up to 65,000 bytes of memory. As well as the LSI chip, the CPU board contains the two-phase clock, status latch, buffers and the various lines going to the bus. (The buffers are tri-state devices.) The CPU contains six general-purpose registers, P counter, arithmetic unit, accumulator, stack pointer, instruction decoder, and miscellaneous timing and control circuits. The arithmetic unit contains the circuitry required to perform arithmetic in both decimal and binary forms. The stack pointer defines the current address of the external stack, which resides in memory. The stack is used to service interrupts and provides virtually unlimited subroutine nesting. The instruction decoder decodes the instructions and sets up the various registers, gates, etc., in the CPU for proper functioning. There are 36 LED status indicators on the front panel, 1 6 of which are used for the address bus, 8 for the system status latches, and 8 for the data bus. The four remaining LEDs are used for indicating memory-protect, interrupt-enable, system-wait and hold status. Address line inputs AO through A15, data lines DO through D7, and the various status lines originate on the CPU board. The front panel control board contains the circuitry for interfacing between the control switches located on the front panel and the CPU. In addition to the interconnections to the actual processor, this board accepts memory address switches AO through A1 5 (also on the front panel). The first eight of these switches (DO to D7) are used to put data into the CPU. The front panel logic permits the following functions: STOP — stops the processor immediately after it completes the current instruction; RUN — starts the processor at the current address; EXAMINE — causes the data stored at the location (set by the switches) to be displayed in binary by LEDs; EXAMINE NEXT— steps the P counter once and displays the word stored at the next location; DEPOSIT — causes the information preset by the switches (A0-A7) to be stored in memory; DEPOSIT NEXT— steps the P counter and loads the memory; SINGLE STEP — steps the program one machine cycle; RESET — clears the CPU and sets up a starting address of O; PROTECT/UNPROTECT— allows selective write protection of blocks of memory. When a block of memory is protected, it is impossible to write over that block, but its contents can be read out. With proper adjustments, any memory speed can be used in the 8800a computer, although memory access time must be 500 nanoseconds or less if it is to be run without wait states. In addition to semiconductor RAMs, the processor will also service ROMs and PROMs. NEW FEATURES POWER SUPPLY The power supply provides three voltages to the 8800a bus: +8V pre-regulated at 8 amps; + 15V at 500mA; -15V at 500mA. FAN A fan has been mounted on the back panel of the 8800a to provide cooler operating temperatures. 18 SLOT MOTHERBOARD The four-slot expander cards in the Altair 8800 have been replaced with a single-piece 18-slot motherboard. The 18-slot motherboard contains the 100 solder lands that comprise the 100 pin bus. FRONT PANEL SWITCHES The front panel toggle switches have 50% longer handles that are flat (instead of round) for easier use. An assembled Altair 8800a may be ordered with six, twelve, or eighteen sets of edge connectors. The Altair 880Oa kits include an edge connector with every plug-in module purchased. •Fan -New 18-Slot Motherboard New Front Panel Switches The four boards, along with the power supply, mount in an 18" deep x 17" wide x 7 ' high (45.7 x 43.2 x 17.7-cm) metal cabinet. SPECIFICATIONS Number of Boards Up to 18 Microprocessor Model 8080A Technology NMOS Data Word Size, Bits 8 Instruction Word Size, Bits 8 Clock Frequency, 2MHz Add Time, Register to Register, Microsec. Per Data Word 2 Number of Instructions 78 Input/Output Control I/O Word Size, Bits 8 Number of I/O Channels 256 Direct Memory Access Optional Interrupt Capability Std. one level Vectored Interrupt (8 priority I evels) Optional Software Resident Assembler Yes Cross Assembler No Simulator No Higher-level Language BASIC Monitor or Executive Sys. mon.; text edit. Software Separately Priced Yes (Sddqla^ 2450 Alamo S.E. Albuquerque, New Mexico 87106 Consider what ir ill buy in M97S: or 5iX7££N SLacK&WrtiTe PQ5feK5 OF cnm.it chan xi zooms on aN AWUKHE FLIGHT CrtETZELS £XWQ T£N HOUH5 Of RWiNS IN DOVWoWNJ W/15H1NQTON, DC. rZ/\ ONE FULL-YEAR 1 V J MEMBERSHIP IN THE IEEE COMPUTER SOCIETY and with it, an automatic subscription to COMPUTER magazine. Special introductory offer: join now and receive FREE the one-volume collection of COMPUTER reprints, "Microprocessor Architecture and Applications." Fill out and mail the form below. Find out why membership in the IEEE Computer Society is one of the wisest investments you'll ever make. (At 24 bucks, can you afford NOT to?) 25 YEARS OF SERVICE IEEE COMPUTER SOCIETY Quick — send me everything I need to know about joining the IEEE Computer Society. You can send me my free copy of "Microprocessor Architecture and Applications" when I join. Name Address MAIL THIS FORM TO: IEEE Computer Society • 5855 Naples Plaza • Long Beach, California 90803 A Ham's Application Dreams o o o WJ Hosking W7JSW 8626 E Clarendon Scottsdale AZ 85251 I'm writing this article for a selfish motive. I want to build some things and the construction articles aren't here yet, parti- cularly in state of the art. I just finished a television typewriter (TVT) which has alphanumeric character generation and storage capacity plus capa- bility of serial or parallel ASCII (plus con- trol) interface. Now that it is finished, I want more than a plaything. I would like to have the following capabilities: a) Keyboard Morse code (CW) transmit and receive encoding with CRT dis- play. b) Keyboard RTTY transmit and CRT RTTY read. c) Alphanumeric slow scan TV transmit and receive. d) Computer terminal operation with a telephone coupled to a timeshared computer system. Description My envisioned system is shown in figure 1. Let's tackle that drawing block by block, considering the TVT and CRT to already exist and applying the constraint of a mini- mum hardware (low cost) implementation. FAST TO SLOW SCAN CONVERTER CRT ri VIDEO V i— ► CW KEYER AND CONVERTER KEY MIC RCVR 1 i r >d ' h -n V y ' TTL i DATA i TVT ^ SMALL COMPUTER SYSTEM WITH SOFTWARE 4— PARALLEL KEYBOARD i L SERI V DAT A TRANSCEIVER AL — ► FSK KEYER AND CONVERTER ACOUSTIC COUPLER i 1 Figure I: An ideal ham station configuration, •^PH UNE where "ideal" is defined by the author in the ac- companying text. 26 i 766/649 HOW A COMPUTER SYSTEM WORKS by J. A. Brown & R. S. Workman Pub. price, $8.95 Club price, $7.60 767/98X THE PROGRAMMER'S INTRODUCTION TO SNOBOL by D. Maurer Pub. price, $13.50 Club price, $11.40 767/246 A COMPUTER PERSPECTIVE by C. Eames & R. Eames Pub. price, $15.00 Club price, $12.75 768/03X MICROPRO- GRAMMABLE COMPUTER ARCHITECTURES by A. B. Salisbury Pub. price, $13.50 Club price, $11.40 768/307 CONTENT ADDRESSABLE PARALLEL PROCESSORS by C. C. Foster Pub. price, $11.95 Club price, $9.95 768/641 MINICOMPUTER SYSTEMS: Organization & Programming by R. H. Eckhouse Pub. price, $15.95 Club price, $12.50 introductory otter to new members ot the COMPUTER PROFESSIONALS' BOOK CLUB anyone of these great professional books for 3 only values up to $29.95 Special $1 .00 bonus book comes to you with your first club selection The Sun Never 770/271 BUCHSBAUM'S COMPLETE HANDBOOK OF PRACTICAL ELECTRONIC REFERENCE DATA by W. H. Buchsbaum Pub. price $17.95 Club price, $13.50 767/815 GAMES & PROGRAMS: Mathematics for Modeling by R. R. Singleton & W. Tyndall Pub. price, $13.00 Club price, $10.75 767/203 DATA PROCESSING MANAGEMENT by D. H. Brandon, A. D. Palley, & A. M. O'Reilly Pub. price, $29.95 Club price, $21.50 767/661 INTERACTIVE COMPUTER GRAPHICS by B. S. Walker, G. R. Grund, & E. A. Drawneck Pub. price, $14.50 Club price, $12.30 766/479 THE U.S. COMPUTER INDUSTRY: A Study of Market Power by G. W. Brock Pub. price, $15.00 Club price, $12.50 353/387 MINICOMPUTERS FOR ENGINEERS AND SCIENTISTS by G. A. Korn Pub. price, $23.45 Club price, $15.50 767/084 THE SUN NEVER SETS ON IBM by N. Foy Pub. price, $7.95 Club price, $6.75 766/053 SYSTEMS SIMULATION: Methods and Applications by A. M. Colella, M. J. O'Sullivan, & D. J. Carlino Pub. Price, $16.00 Club price, $12.95 save time and money by joining McGraw-Hill's new COMPUTER PROFESSIONALS' BOOKCLUB m THIS new professional club is designed to meet your day-to-day on-the-job needs by providing practical books in your field on a regular basis at be/ow publisher prices. If you're missing out on important technical literature — if today's high cost of reading curbs the growth of your library — here's the solution to your problem. The Computer Professionals' Book Club was organized for you, to provide an economical reading program that cannot fail to be of value. Administered by the McGraw-Hill Book Company, all books are chosen by qualified editors and consultants. Their understanding of the standards and values of the literature in your field guarantees the appropriateness of the selections. How the Club operates: Every month you receive free of charge The Computer Profess/ona/s' Book Club Bulletin. This announces and describes the Club's featured book of the month as well as alternate selections available at special members' prices. If you want to examine the Club's feature of the month, you do nothing. If you prefer one of the alternate selections — or if you want no book at all — you notify the Club by returning the card enclosed with each Bulletin. As a Club Member, you agree only to the purchase of four books (including your first selection) over a two-year period. Considering the many books published annually, there will surely be at least four you would want to own anyway, By joining the club, you save both money and the trouble of searching for the best books. MAIL THIS COUPON TODAY COMPUTER PROFESSIONALS/Book Club P.O. Box 582 Princeton Road, Hightstown, New Jersey 08520 Please enroll me as a member of the Computer Professionals' Book Club and send me the two books indicated below. I am to receive the bonus book for just $1, and my first selection at the special Club price. Actual postage, plus 250 handling charge will be added (sales tax, also, if appli- cable). These books are to be shipped on approval, and I may return them both without cost or further obligation. If I decide to keep the books, I agree to purchase as few as four additional books (including this first selection) during the next two years at special Club prices (guaranteed 15% discount often more). This order subject to acceptance by McGraw- Hill. Orders from outside the continental U.S. must be prepaid. All prices subject to change without notice. Offer good for new members only. Write Code # of $1.00 bonus book selection here Write Code # of first selection here CITY- STATE- -ZIP- P39161 MICROPROCESSOR 216X8 ROM Morse (CW) Transmit and Receive Looking back through previously existing magazines on electronics and amateur radio, I have found several articles on Morse keyboards, most using bulky diode matrices. The literature on Morse code readers is much harder to find, and as this is written I found nothing approaching state of the art. It would seem that, with the rapidly dropping prices of microprocessors and their associated memories and peripherals, the way to go on this project would be a computer using minimum hardware imple- mented with an LSI microprocessor. I have presented a very basic approach to such a system in figure 2. All that would be required from the hardware standpoint would be the microprocessor, a read only memory for permanent program storage, a programmable random access memory for POWER SUPPLY 256 X 8 PROGRAMMABLE MEMORY I/O (PIA) ■T> CW OR RTTY INTF Figure 2: For a dedicated "black box" ham radio data processor, the use of a microprocessor system with as much as 2 K by 8 bits of program ROM with perhaps 256 bytes of pro- grammable memory for data buffering. | Exact amounts of ROM will depend upon the com- plexity and features of the software loaded; 2 K should be reasonable for Morse and radioteletype support .... CH] working storage, and a peripheral interface adapter (PIA) for input and output. Some other items such as power supplies and clocks are also required. I would hope that the microprocessor interface unit cost could be kept under $100. Now for the required design work. This black box ! am planning would have to accept a seven bit ASCI! code (serial or parallel) plus a data present strobe. The box would convert the input character to serial Morse code and output the code over some suitable keying circuit to the station trans- mitter. Since we are talking about a small computer, the Morse code speed desired could be ordered by an appropriate input code sequence from the keyboard. The box then has to send a character or flag back to the TVT to say it is ready for a new character. The reverse or receive mode is the Morse to ASCII conversion. However, here a special conversion device will be needed to change the audio out of the receiver to some kind of signal that the computer can recognize and convert. The software which drives the converter must also recognize intercharacter versus interword spacing and provide space characters to the TVT where required in the received text. The end result would be Morse code sent by the keyboard through your transmitter and the Morse code heard by your receiver being displayed on the TVT CRT. This is a job for both hardware and software de- signers. [See the articles elsewhere in this BYTE for technical details . . . . CH] Radioteletype (RTTY) Transmit and Receive The same basic microprocessor described above could be used to provide the radio- teletype function instead of or, with more Editor's Note Here is a short article on a theme of "wouldn't it be nice to have X" v/nere X is defined as some automation applications for the amateur radio station. It is timely, in the context of this month's Morse code theme, in that one of the author's application goals is detailed in several different technical articles In this issue. There's still plenty of room for further explorations of computer application to amateur radio technology of course .... CH 28 ROM, in addition to the Morse code function. Here, the transmit conversion would be from parallel ASCII (or serial) to serial Baudot at a transmission speed programmed into the computer. The system could easily include niceties such as automatic line feed, etc. The Baudot output would be serial signals sent to an FSK transmit terminal unit. When the FCC finally gets around to approving ASCII on the air, a simple ROM change would reconfigure the hardware to reflect this improvement. On the receive side, a standard RTTY terminal unit would be used to convert the received FSK signal to a serial binary signal for the microprocessor. This keying signal would be routed to the processor which would convert it to either serial or parallel ASCII, whichever your TVT or terminal interface requires. This system would work just as a regular teleprinter does, except that the received copy would be on a CRT instead of hard copy on a printer. For those desiring hard copy, a printer can easily be interfaced to the computer system. The development here is mostly software since really good terminal unit and keyer designs are readily available. Slow Scan TV This is another area eagerly awaiting new developments. The TVT already has fast scan composite video as an output and the CRT involved accepts composite video. The problems and areas for new development are mostly in the area of conversion from fast scan to slow scan and reverse. It is highly likely that the microprocessor box we have already discussed can do at least part of this job for us. I think this one is really ripe for new breakthroughs. Computer Terminal Operation This is probably the easiest task. There are those out there who, had they the terminal, could make use of one or another timeshared computer system. This use re- quires coupling in one way or another to a telephone line. The easiest way to do this without angering Ma Bell is with an acoustic coupler. Conclusion As I said earlier, this was an idea article and now I'm going to sit back and eagerly await the neat ideas generated by all you experts out there. There's room for much development in both hardware and software. If you have designed something to do one of these jobs, then publish it for the rest of us." Meet the new OSI400 Computer System. Now more performance and more flexibility actually cost you less. Ask yourself how much system you need. Or how little. Whatever the answer, even if you want to change it later, you get more system for less money with the OSI 400. Start with the OSI Superboard. Add your choice (!) of a 6502, 6512 or 6800 microprocessor; eight 2102s for 1024 bytes of RAM; and an external front panel. Power it up and you have a working CPU. Or populate the board with a processor, system clock, 512 bytes of PROM, 1024 of RAM, an ACIA with RS-232 or 20 ma loop interface, a PIA with 16 I/O lines and full buffer- ing to as many as 250 system boards for system expansion. Even fully populated, Superboard costs less than $140 with a 6502, less than $160 with a 6800. But take a look at what you can have for $29. Our special offer includes a plated-through-hole G-10 epoxy Superboard, bare, plus a 50-page theory of operation and construction manual including complete chip documentation in an attrac- tive OSI binder. And Superboard is just the beginning of the OSI 400 system. You can expand its memory; interface to many l/Os including plotters, cas- settes, FSK, ASCII, Baudot and more; go video, includinggraph- ics; even add floppy disk. And bare boards are just $29each, com- plete with in-depth manuals. But first things first. 400 me now! SPECIAL —$29 postpaid with this coupon only. Name Address . State City _ .Phone . Enclose check or money order or supply Bank Card information below. Card No. (include all digits) — Interbank No. (Master Charge) Good thru . Ohio residents, please add tax. OSI Sign your name Ohio Scientific Instruments 11679 Hayden Street Hiram, Ohio 44234 Dept. B 29 Add This 6800 MORSER to Your Amateur Radio Station Robert D Grappel 148 Wood St Lexington MA 02173 Jack Hemenway 151 Tremont St Boston MA 021 11 A great many amateur radio operators find Morse code operation a nuisance. It isn't easy to develop proficiency in copying code, and it often seems that those stations one wants to work are just those whose operators send code too fast to readily copy. There must be hundreds of Morse coding aids developed over the years, ranging from mechanical keys and paper tape transmitters to fancy code memories and typewriter like automatic transmitters. Nearly every ad- vance in electronic componentry has spawned a new series of Morse code aids. Nearly all have been designed to help the operator send more effectively; the problem of reception has been more difficult to solve. Some complex circuits have been devised which can copy code, provided that it follows strict timing requirements. Truly general code followers, circuits which can copy code with performance approaching that of a skilled human operator, are rare. They are very complex, using dozens of integrated circuits, large diode matrices, etc. The recent advent of inexpensive yet power- ful microcomputers can make the dream of a relatively simple yet very general code fol- lower possible. Why a computer? First of all, it allows one to develop and improve an algorithm by simply changing program, instead of rebuilding complicated circuitry. Second, since the computer is not restricted to running only the Morse programs, one can use the computing power for any number of other uses, limited only by the operator's creativity. This article describes a code fol- lowing computer program as implemented on a Motorola 6800 microcomputer. It can copy any code speed from 3 to 60 words per minute, and can adjust to the irregularities Development of MORSER The program for MORSER shown in this article was produced by a relocating assembler designed and written by Jack Hemenway and described somewhat humorously in the August BYTE article "Jack and the Machine Talk" /page 52/ by authors Grappel and Hemenway. The relocatability feature allows one to put assembled code anywhere in memory without reassembly, a feature which is most useful for building large programs. One drawback of this is that relocatable addresses (denoted "R" in the listing) are always two bytes, so the programmer cannot generally make use of Motorola's direct addressing mode, which requires addresses to be in the base page, the first 256 bytes of memory address space. Since MORSER was programmed so that both data and program code are relocatable, it is not the most compact form in which the algorithm could be expressed on a 6800. If one rewrote the program to keep all the variables in the first page of memory and used direct addressing wherever possible, about 75 bytes of storage could be saved. 30 Photo I: Author Robert Grappel, shown at the con- sole of Jack Hemenway's computer system with a hand held switch used to test Morse code inputs to MORSER during the de- velopment of the program. of hand sent code. A minimal amount of external hardware is needed, and the program only takes about 600 bytes of memory. The algorithm can be converted to run on almost any 8 bit microprocessor. Since you are still reading this, you are hooked. Let's begin to dissect the program. MORSER consists of five segments: initialization, decoding, delay timer, sampler, and terminal driver. In the program listing, lines 001-068 are initialization, lines 069-200 are decoding, 200-213 form the delay timer, 214-250 form the audio sampler, and lines 251-277 drive the output terminal. Each segment will be described in turn. The major function of initialization is to define the variables in the program and to give them appropriate initial values. The operating system of Jack Hemenway's machine performs some of the initialization automatically at loading time, such as clear- ing the peripheral registers and setting the stack pointer. If the program is to be run on a system without these features, then state- ments to perform these functions must be added to initialization. The values of DTIME and MAXCNT must be set, based on the computer running the program. DTIME adjusts the program timing to the processor cycle time, and MAXCNT adjusts the ter- minal driver to the data rate of the terminal in use for output. These values are not very critical, and the program comments list typical values for these. constants. As assem- bled, MORSER assumes a 6820 PIA at addresses 8040-8043 (hexadecimal). The peripheral interface can be relocated to suit the particular hardware configuration in use. Only one input bit is needed; the rest of the PIA may be used for other functions. The listing also shows that an external sub- routine, OUTCRT, is being used to drive a CRT terminal for output. This program is part of Jack Hemenway's system. The user of MORSER must provide a suitable routine for his or her own system. For example, the OUTEEE routine in Motorola's MIKBUG will work. The idea is that some way must be found to take a character from the A accumulator and place it appropriately on the output device. An automatic carriage return and line feed is required, as MORSER does not count the characters in a line. Initialization also sets up the decoding table DECTAB. The ordering of this table is the heart of MORSER. The ASCII repre- sentation of a character is placed in DECTAB at an offset generated as follows: Generate a byte with a binary 1 for every dot and otherwise; generate another byte with a binary 1 for every dash and otherwise. For example, the letter A (Morse • -) generates 00000010 and 00000001 respectively. Multiply the dash byte by two with a left shift and add the bytes. The result is the character offset. Using this algorithm, il is seen that A is at an offset of 4. All other Morse characters are generated in the same manner, and the rest of the table is filled with blanks. It is the function of the remainder of MORSER to convert the incoming audio signal into offsets into DECTAB, and to transfer the character representations found there to the output device. MORSER decides which inputs are dots, dashes or word spaces by sampling the audio 31 Listing J: The MORSE R program, as assembled for the 6800 at location 0000 hexadecimal using Jack Hemenway's assembler. The program is written in a relocatable fashion, so no data references are made to page of the 6800 address space. In Jack's assembler, the col- umn immediately follow- ing the hexadecimal code output sometimes has the letter "R" in it. This indi- cates a reference to a re- locatable symbol. input at intervals. The delay timer section controls the period of the sampling. This tiny section of code (only six instructions) actually consumes more than 75% of the running time of MORSER. In fact, the time spent in all other parts of MORSER is considered negligible in the design. A rough "rule of thumb" states that one word per minute of Morse code is equivalent to one dot length per second. All other code ele- ments have lengths nominally equal to integer multiples of the dot length. MORSER is designed to sample each dot length time unit four times. Since the range of code speeds is 3 to 60 words per minute, this implies that the sampling period should range from 100 to 4 ms. The delay timer is adjusted by DTIME to count time in milli- second intervals. The variable TIMER de- termines how many milliseconds will be spent in the delay loops. This time is roughly the sampling period, since the longest path through the rest of the program is at most 0.3 ms. TIMER is adjusted in the decoding section to suit the speed of the code being processed. The formula 250/TIMER gives the approximate input code speed in words per minute, after the program has been running for several characters and has ad- justed itself to the code. The sampling section repeatedly tests the status of the audio input signal against its 0B5 R RFGIN JMP INI1 FFtIN INI II ALIZP7IUN 0002 0083 0003 72F0 0004 0003 8040 0005 0003 8040 0006 0003 8041 0007 0003 8042 0008 0003 8042 0009 0003 8043 0010 001 1 0003 0020 0012 0013 0023 00 001 4 0024 FF 0015 0025 42 0016 0011 0018 0019 002 0026 FF 002 1 0027 FF 0022 0028 0C 0023 0029 09 002^ 0020 14 002 5 002 6 0027 0028 002E 00 0029 002C. 00 0e30 0020 00 0031 002F 0C 0032 002F" 00 0033 0030 00 0034 0031 1 0035 0032 1 4 0036 0033 18 003 7 0034 00 00 36 0039 0040 004 1 0042 0043 0044 0045 0046 0047 00 48 0049 0050 0035 20 0051 0036 45 0052 0046 46 0053 0056 20 0054 0066 2F 0055 0076 20 005 6 0079 04 0057 007A 20 0058 007F 20 0059 008F 20 0060 009F 3F 0061 00AF 20 0062 0063 0064 006 5 00P5 86 04 0066 00F7 P7 8H41 0067 0068 0e69 007 007 1 0072 007 3 007 4 007 5 007 6 0077 0078 0079 OUTCRT E&U S72F0 SYSTEM CRT HANDLER MAI E&U 56 040 PERIPHERAL LOCATION? DDR1 F.OU *8040 CRRi FCU «8F41 M A2 FGU 58042 DDR2 EhV 58042 CRR2 E6U T8 043 * AUDIO INPUT ON SIDE \> PIT PUFF1 COUNT RMF 32 DECODED OUTPUT PUFFER FCB H OUTPUT 1 [mfr DFLAC FCF TFF "DATA-READY" FLA1_ DT1MF FCF 66 DFLAY LOOP TIMER * ADJUST DTIMF FOR PROCESSOR CYCLF 1IMF * D1IMF=I6S FOR 1.0 USFC PW0CF550R * DTIME = 88 FOK £•6 USFC FROCFSSOR * DTIMF= 66 FUR 2.5 USFC PROCESSOR LDATA FCfc *FF LAM DATA LMARK FCF TFF LAST MARK TYPF LMLEN FCF 1? LAST MARK LEN(.-IH LlftS? FCF 9 LFTTFR-SRACF L F M t 1 H MAXCNT FCF 2 TERMINAL CONSTANT * MAXCNT=40 FOR 110 PAUU OUTPUT TERMINAL * MAACNT=20 FOR 300 PAUD OUTPUT TERMINAL * M£XCNT= 8 FOR FASTER TERMINAL MLFN FCF U MARK LFNCTH 0LPSTA FCF OLD KARK/SFACF FT AT -US OUTXCV FCF FUFFFF POINTER SPL^N FCF 12 SPATF LFNCTH STLDul FCF i, DOT RFCISTFR STLDAS FCF DASH RFC I SI FR TCNT'R FCF 1 1 IMF COUNTFR TIMFR FCH 2» CLOCK ADJUST VALl'P HD5P FCF 24 WORD-SPAC^" LFNC T -i wosxcv FCF C» FUFFFR FOI vT Ffc DFC0DING TAFLF GENERATED AS FOLLO'/S: TAKF MOR.SF. CODF FUR CHfRACT Fk GENERATE 6-EI 1 VALUF. l=OUT> fc=DA5H CFNFRATE 6-FIT V/ALUF, 1 = DASH . P = DO T SHIFT 5FCGND VALUE LEFT ONE PLACE ADD VALUES THE RESULT IS THF OFFSET OF THAT CHARACTER IN DEC TAP FLANKS OCCUR WHERE THFRE IS NO' VALID CHARACTER RFF: JO RC EN SON. HAM RADIO, MAY 72 DECTAF FCC • FCC ET I ANMSURUDKGGHV ' FCC F LJF EXCYZG 5*' FCC 3 2 16 ' FCC / 7 8 90 FCC FCF P04 END OF IRAN FCC FCC ? • • FCC FCC t < » : ' FCC * CONFIGURE PERIPHERAL INTERF I N I T L DA A • 504 STA A Ckhl END OF INITIALIZATION SECTION DECODING ALGORITHM HAS EI VF RULFS: 1. IF NEk MARK 15 AT LEAST TWICF THE LAS! ONE, 1HFN IT IS A DASH 2. IF NEW MARK IS LFSS THAN HALF THE LAST ONE. THEN II ISA DOT 3. IE MARK IS MORE THAN HALF. PUT LESS THAN TWICF, IT IS SAMF AS THE LAS! MARK 4. IE A SPACE IS MORF THAN 3/4 LIE LAST DASH LENGTH, IT IS LFTTER SPACE 5- IF A SPACF IS MORF THAN TWICE THE LAST DASH LFNCTH, IT IS WORD SPACE 008 2 008 3 008 4 00B5 008 6 0087 0088 0089 009 009 I 0092 009 3 009 4 009 5 009 6 009 7 009 6 009 9 0100 010 1 0102 0103 0104 0105 P106 0107 0108 0109 ES110 01 1 1 01 12 01 1 3 01 1 4 01 15 01 16 01 17 01 18 01 1 9 0120 0121 PI22 0123 012 4 0125 B126 U127 012b 0129 0130 013 1 0132 0133 0134 0135 0136 01 37 0138 0139 0140 0)41 0142 01 43 01 44 ei4s 0146 01 47 0148 01 49 0150 0151 0152 01 S3 01 54 01 55 0156 01 57 01 58 0159 0160 0161 0162 P^F: PETIT, GST. 00PA 7p 0024 P0FD 2A 03 00PE 7F 01C5 00C2 7D 0026 0BC5 ?A 03 00C7 7E 0166 00CA F6 0028 00CD 48 00CE El 002P 00D1 2F 50 00D3 E6 0028 00P6 -57 00D7 Fl 002P 00DA 2A 05 M0DC 7D 0027 00DE 2P 42 00 Fl 00E3 00F.6 00F9 00FC 00ED 00FF PEFH 00F2 00F3 00F6 00E9 00EC 00.FE 1 00 01 03 0105 0108 010F 010D 010F 0111 0114 117 01 19 01 IF 01 ID 0120 86 01 B7 0027 B6 002 F E6 0030 46 25 6E 58 25 6C 4C 61 002F E7 0030 E6 002P C0 03 2 0D 7A 0032 ?F 0F 7F 0032 7C 0032 20 07 CI 02 PF 3 IV. R03? E6 0032 CI 76 ?D pip C6 78 F7 ££32 7F 0150 0123 F6 002P 0126 47 0127 16 012B 57 0129 IP 012A F7 0f,29 012D 66 FF U12F P7 0C27 0132 B6 et-2F 0135 E6 0030 0138 48 0139 2 5 2 3 013B 58 013C 25 20 13F 5C 13F F7 002F 142 F7 0030 0145 P6 002F 0148 48 0149 2A 02 014B 8 6 7F 014D F7 0033 TST FPL JMP TST FPL JMF LDA ASL CMP PLE LDA ASR CMP PPL TST PMI STA LDA LDA ASL PCS ASL E-CS INC STA STA LDA SUE PGF DEC PCI CLR INC FRA CMP PLC INC LDA CMF PLT LDA RELOAD STA F JMF DFLAC J 10 WAI T LDATA J 1 1 SFACP LMLEN ML EN DASH LMLEN MLFN DOT LMARK DASH LMARK SILIiUT STL DAS STLDOT STLDAS ML EN #3 NFAST TIMER PUT TIMFR TIMER PUT #2 PUT TIMFR TIMFR *\P? R EL n A n * 120 TIMER STORF J AN 19 7 1 NEW DATA RFADY? WAI I FOR DATA LAST DATA MARK OR SPACE? MLFN .CE. 2*LMLFN? MLFN .LT. LHLFN/g? LAST DATA MARK OR SPACE? R J 12 LDA ASR TAP ASR ABA S1A Lnr STA LDA LDA ASL PCS ASL PCS INC STA STA LDA ASL FFL LDA STA PUT DOT INTO RFCISTFR TOO MANY BITS FOR REGISTER INSERT POT REC-FNFRATF CLOCK RAT F PASED ON DOT LFNCTH IF LESS THAN 3, CLOCK SLOW IF MORF THAN 5, CLOCK FAST IF EFTWEEN 3 AND 5, O.K. LIMIT T IMFR TU 1- 120 SET LTRSP=3/4*MLEN PUT DASH INTO RFC ISTER LTRSF *«FF LMARK STLDOT STLDAS LENFhR TOO MANY FITS FOR REGISTFR STLDOT STLDAS MLFN J 12 ft 127 WDSP INSERT CASH SET WDSP=2*MLEN 0150 F6 PF2F R STORF LDA A MLFN 0153 P7 P.VPP, R STA P LMLFN 0156 86 FF RFSFT LDA A **FF 0158 P7 0024 R STA A DFLAC- 01 5E 7E 0IC5 R JMF WAIT 015F 7F 002E R LENFRR CLR STLDOT 0161 7F 0030 R CLR STLDAS 0164 20 E0 BRA RESET RFSFT "DAT A-RFAPY" FLAG ELIMINATE PAD DATA C I VE UP ON CHARACTER 32 0163 01 66 f'6 0C.2E ft SPACE LDA A 5PLEN IS SPLEN -CE. LTKSP? 016-0 0)69 PI 0029 k CM* A LThSP 0165 016C 2D FR FLT F- F S F T 0166 ei6E F6 C030 i; LDA P STLDAS DECODE L^TT^R FROM F-FCS- 0167 0171 C4 3F AND F *'3E RESTRICT TO 6 PITS 0168 0173 B6 002F ft LDA A STL DOT 0169 0176 84 3F AND A * *. 3 F 0170 0178 56 ASL P 017 1 01 79 IP AFA 0172 01 7A 84 7F AND A #<7E ftFSTftlCT TO 7 FITS 0173 017C CF 0035 R LDX #DFCTAF 0174 01 7E B7 0183 R STA A iwnrx i + i 0175 0182 E6 00 IN HEX 1 LDA P 0»X RETRIEVE ASCII CODF 0176 0184 £6 00 34 ft LDA A WDSXCV PUFFER FULL? 0177 0187 81 a e CMP A #32 0178 0189 2C CP BGE RESET I F SO* P(>NT 0179 018B BP 002D ft ADO A OUTXCV GENERATE BUFFER POINTER 0180 018E 84 IF AND A ^TlF RESTRICT RANCF 0161 0190 7C 0034 R INC WDSXCV 0182 0193 CE 0003 R LDX #BH3FFI 01B3 0196 F7 019A k STA A 1NDEAP+ 1 0161 0199 E7 00 IN DFX 2 STA P 0>X PUT CHAR. IN10 EUFFER 0185 019E 7F 002F ft CLft STLDOT CLEAR ftECISTERS 0186 019E 7F 0030 K CLR STLDAS 0187 01 Al E6 002E R LDA A SPLEN IS SPLFN .OP. WDSP? 0188 01A4 PI 0033 R CMF A WDSP 0189 01A7 2D AD BLT RESET NOT A WORD SPACF 0190 01 A9 F6 0034 R LDA A WDSXCV/ INSFRT PLANK FOR WORD SPACE 0191 01AC 81 20 CMP A #32 IS PUFFFR FULL? 0192 eiAF. 2C A6 POF RESET I F SO* PUNT . 0193 1F0 FE> 002D R ADD A OUTXGV GFNFRATF PUFFFR FOI\'TER 0194 01E3 8^ IF AND A #«"1F RES1RI CT KA.-.CE 0195 01P5 7C 0034 ft INC WDSXCV 0196 01B8 C6 20 LDA P #S20 ASCII BLANK CHAftACTFF 0197 01 PA CF 0003 ft LDX #EUFF1 0198 01PD P7 01C1 ft STA A INDFX3+ 1 0199 01C0 F.7 00 INDFX3 STA B 0»X PUT FLANK INTO PUFFER 0200 01C2 7F R1 56 ft JMP RFSFT 020 1 ******: ***** >****-*********#******************** C202 * 0203 * END OF MAIN PROGRAM 0204 + BFG1N DELAY TIMER 0205 * C-FNERATE "TIMER" MSECS. OF RFLAY 0206 * 0207 + *****: *** *i <**************#******#***#***»*** 0208 01C5 B6 0032 ft WA1 1 LDA P T IMFR 02 09 01C8 F6 0025 R DLOOP1 LDA F D T IMF 0210 01CF- 5A DL00P2 DEC P 021 1 01CC 26 FD PNF DL00P2 0212 01CE 4A DEC A 0213 01CF 26 F7 ENE DL00F1 02 1 4 ******: ***** .A****************************** 0215 * 0216 END OF :)FLAY TIMFR 02 17 * if: ?T AUDI INPUT HERE 0218 * H AN DL F 01 JTPUT TO TERMINAL 0219 * 0220 *********** *•■* ;**************************+*** 022 1 1D1 B6 6040 LDA A MAI LET AODIO INPUT (.'222 eiD-'i 84 /"1/3C an interest in combining computing with ^j-'V'LJd) their radio hobby, BYTE seems an appro- priate place for this short note on a tech- nique for storing Morse character codes in a minimal amount of memory space. It may not be immediately obvious that all of the possible Morse characters, up to six elements per character, can be stored using a maxi- mum of only seven active bits per character stored. A typical program using such a stored representation would be a programmed auto- matic keyer. As the user typed at a key- board, the computer would receive the characters typed in some code (typically ASCII code). The computer would then use this code to index into a table of Morse character codes, retrieving a coded repre- sentation of the Morse character to be transmitted. With a suitable interface, the computer could then directly key the radio transmitter. A good program of this type would buffer the user's typing, allowing the Lawrence Krakauer 15 Orchard Ln Way land MA 01778 operator to be some large number of char- acters ahead of the code actually being transmitted. Another similar program would be a Morse code teaching machine, which could use a programmed pseudorandom number generator to create arbitrary "code groups." Such artificial text is customarily used for Morse code training, so that the student does not recognize words and thus anticipate the next letter to come. The computer in this case would key a practice oscillator, and the student would attempt to accurately receive what it sends. If the student types what he receives directly on the computer keyboard, the computer could notify him immediately of any errors. In addition, the computer could adjust its transmission speed for a fixed error rate, always sending at the upper limit of the student's reception speed, which would hopefully produce rapid learning. A Morse character is a string of from one to six Morse elements, where each element is a dot or a dash. Since there are only two types of elements, Morse characters seem to Table I: Morse Code Patterns and ASCII Equivalents for Selected Graphics. Note: The representation of Morse characters de- scribed in this article is also used by Bruce Filgate in his extensive Morse code applications program described on page 52 of this issue. The information in this table (with some minor changes) is found at addresses 20/225 to 20/366 of listing I in Bruce 's article. Graphic ASCII Code Morse 'attern Char Hex Octal Hex Octal Binary A 41 101 60 140 01100000 B 42 102 88 210 10001000 C 43 103 A8 250 10101000 D 44 104 90 220 10010000 E 45 105 40 100 01000000 F 46 106 28 050 00101000 G 47 107 DO 320 11010000 H 48 110 08 010 00001000 1 49 111 20 040 00100000 J 4A 112 78 170 01111000 K 4B 113 B0 260 10110000 L 4C 114 48 110 01001000 M 4D 115 E0 340 11100000 N 4E 116 A0 240 10100000 4F 117 F0 360 1111 0000 P 50 120 68 150 01101000 Q 51 121 D8 330 11011000 R 52 122 50 120 01010000 S 53 123 10 020 00010000 T 54 124 CO 300 11000000 U 55 125 30 060 00110000 V 56 126 18 030 00011000 aphic ASCII Code Morse 3 attern liar Hex Octal Hex Octal Binary w 57 127 70 160 01110000 X 58 130 98 230 10011000 Y 59 131 B8 270 10111000 z 5A 132 C8 310 11001000 30 060 FC 374 11111100 1 31 061 7C 174 01111100 2 32 062 3C 074 00111100 3 33 063 1C 034 00011100 4 34 064 OC 014 00001100 5 35 065 04 004 00000100 6 36 066 84 204 10000100 7 37 067 C4 304 11000100 8 38 070 E4 344 11100100 9 39 071 F4 364 11110100 2E 056 56 126 01010110 , 2C 054 CE 316 11001110 ? 3F 077 32 062 00110010 = 3D 075 8C 214 10001100 3A 072 E2 342 11100010 3B 073 AA 252 10101010 / 2F 057 94 224 10010100 — 2D 055 86 206 10000110 This table assumes that for machine generated Morse, data is shifted out through the most significant bit with shifted into the low order. This process continues until the binary pattern 10000000 remains in the working memory location. For input, data is shifted in through the LSB. At end of character, a 1 is appended, and the code is left justified. 36 EXAMPLE Sending an L . . . . Morse Encoded in binary: 01001000 Iteration /" ^\ I ENTER WITH MORSE BIT ( SENDCHR 1 1 PATTERN IN TEMPORARY Data After ASHL Morse A v/ CY \ Out 10010000 / \ dot 00100000 1 dash 01000000 dot 10000000 dot 00000000 1 end char. Figure I: Flow chart of the SENDCHR routine and the SENDEL routine, used to generate Morse code outputs. The key element of the method is use of an arith- metic left shift operation to interpret the code which is presented to the routine. The codes are determined by a table lookup prior to calling SENDCHR, using an internal table equivalent to table 1. An example of the operation of the routine on a letter L is illustrated. be a natural for a binary representation, simply letting represent a dot, and 1 represent a dash. The catch is that all of the characters are not the same length, so that the number of elements in the character must also be included in its representation. However, the simple approach of directly including a number giving the length requires too many bits. Since there are up to six elements in a Morse character, we would need six bits for the character elements, plus three bits to represent the length, for a total of nine bits. Since most small computer systems are presently oriented around eight bit bytes, it would be convenient if all the Morse characters could be represented by eight, or fewer, bits each. Let's try counting. There are two Morse characters of length 1 element ( ■ and — ), four characters of length 2 (•• • ■ and ), and so on. So extending this sequence, the total number of possible characters of length six or less is: N = 2 + 4+8 + 16 + 32 + 64 =126 Since N is less than 2' = 128, we ought to be able to represent all the Morse characters in seven bits. Perhaps it should be mentioned here that this includes all combinations of up to six elements, including those which do not actually represent legal Morse characters. Since we want a representation which will make it easy to transmit the character, we need a simple form that encodes all arbitrary combinations. And, indeed, such a simple form exists. r 1 I TEST CARRY FLAG I- I ARGUMENT I ( SENDEL J YES \ ? s' x>^ NO GENERATE GENERATE DASH DOT OUTPUT OUTPUT ' L ( RETURN ) Listing I: The SENDCHR routine defined as symbolic assembly language for the 6800 and 8080 architecture; (a) shows the 6800 code, and (b) shows the 8080 code. These routines assume that a subroutine called SENDEL (see figure I ) is available which sends either a dot or a dash based on the state of the carry (CY) flag. Since temporary data is maintained in A, SENDEL must not alter the contents of A. (a) 6800 Code: Label Op Operand Commentary SCHRLOOP JSR SENDEL Send dot or dash; SENDCHR ASLA Entry point and shift left; BNE SCHRLOOP If more data then reiterate, RTS Else return; (b) 8080 Code: Label Op Operand Commentary SENDCHR ADD RZ A Shift left by adding A to A If no data then return; CALL SENDEL Send dot or dash; JMP SENDCHR Reiterate 37 ( RCVCHR V A: - 00000001 CY: - (received dot or dosh )-, A:- R0L(A,l); CY: . '|'| J ' YES A: = ROLtA.I); < CY:- '0' > r 1 I ENTER TO FORMAT ONE CHARACTER I I I I 1 | SETS UP END OF I CHARACTER MARKER I IN LOW ORDER BIT I I i ; 1 | REFERENCES "SET NEXT 1 ELEMENT" SUBROUTINE "J WHICH MAY HAVE ADAPTIVE RECOGNITION FEATURES | 1 MORSE | ROTATE LEFT: INPUT I / I I I I I I I I H D" X I I I A CY ) I L I r 1 | END OF CHARACTER [ J CONDITION IS SET \ BY "GET NEXT ELEMENT" I SUBROUTINE I I r 1 SET UP END _! OF CHARACTER MARK : I I L I i LOOP TO LEFT ) 1 JUSTIFY INPUT PATTERN f RETURN J — | RETURN WITH — I PATTERN IN Figure 2: Flow chart of the RCVCHR routine which is used to format incoming dots (binary 0) and dashes (binary 1) into an 8 bit code. Reference is made to a routine loosely described as "get next element" which is used to receive a Morse code element. This "get next element" input routine will have adaptive speed interpretation features required if the program is to be used with hand sent Morse code. After the end of character indication is returned by the input routine, the RCVCHR routine must left justify the code so that it is in the same form as found in the code genera- tion table (see table I). Control returns with the input code contained in register A. The Morse character is represented from left to right, one bit per element, using for dot and 1 for dash. At the end of the character, after the last element, a 1 is placed as a stop bit. The remaining bits, if any, are filled out with zeros. Some examples are: Character Morse Code Binary Representation E • 0100000 T - 1100000 A ■ - 0110000 L ■ - • ■ 0100100 • 1100111 _ _ . . . _ 1000110 Table 1 is a complete list of alphabetic characters, numerals and selected special characters shown as hexadecimal and octal ASCII along with the equivalent hexa- decimal, octal and binary code for the Morse pattern. Given the representation, transmis- sion of the character is easy. Working from left to right, simply transmit each bit as a Morse element, until all that remains is a single 1 followed by all zeros, at which point the character has been completed. This operation is easily done using the "rotate" or "shift" instructions of the typical micro- computer. A flow chart for this procedure is given in figure 1. It is so simple that it reduces to only a four line subroutine in a typical microprocessor. Listing la gives a suggested program for the Motorola 6800 and listing 1b gives a program for the Intel 8080 (or 8008). These programs use an eight bit representation, which can express a code of up to seven elements, although no seven element characters are actually used in the Morse code. Note that there are two binary represen- tations which represent the null character; that is, they result in the subroutine re- turning without transmitting anything at all. These are the codes 00000000 and 10000000. If desired, they could be spe- cially decoded. For example, one of them could be used to represent the special Morse character , which is used as a delete character. It would have to be trans- mitted as a special case, since it contains eight elements. If the all zero code were to be used for this purpose, it could be tested for by a branch-on-zero instruction at the subroutine entry point. The representation proposed here is also easy to build up while receiving Morse code. A receive subroutine flow chart is given in figure 2. The possibilities inherent in the combina- tion of small computers and amateur radio are enormous. The challenging task of machine reception of hand sent code is now receiving much more attention due to the low cost of microprocessors. The pos- sibilities of computer station control, ama- teur radio data communications networks, and microprocessor control of repeaters have barely begun to be explored. The large number of radio amateurs who are now beginning to experiment with small com- puters should produce some rather in- teresting results in the near future." 38 altair 8800b TECHNICAL INFORMATION The ALTAIR 8800b computer is a general purpose byte-oriented machine (8-bit word). It uses a common 100-pin bus structure that allows for expansion of either standard or custom plug-in modules. It supports up to 64K of directly addressable memory and can address 256 separate input and output devices. The ALTAIR 8800b computer has 78 basic machine language instructions and is comprised of a power supply board, an interface board, a central processing unit (CPU) board, and a display/control board. Power Supply Board The Power Supply Board provides two output voltages to the ALTAIR 8800b computer bus, a positive and negative 18 volts. It includes a bridge rectifier circuit and associated filter circuit, a 10-pin terminal block connector, and the regulating transistors for the positive and negative 18 volt supplies. Interface Board The Interface Board buffers all signals between the display/ control board and the ALTAIR 8800b bus. It also contains eight parallel data lines which transfer data to the CPU from the Display/Control board- CPU Board The CPU board controls and processes all instruction data within the ALTAIR 8800b computer. It contains the model 8080A microprocessor circuit, the master timing circuit, eight input and eight output data lines to the ALTAIR bus, and control circuits. Display/Control Board The Display/Control Board conditions all ALTAIR 8800b front panel switches and receives information to be displayed on the front panel. It contains a programmable read only memory (PROM}, switch and display control circuits, and control circuits to condition the CPU- NEW DESIGN FEATURES Several new design features have been incorporated into the electronic and mechanical areas of the ALTAIR 8800b computer. Some of the new design features include additional front panel capabilities, redesigned power supply, and various electronic and mechanical design advancements. New Front Panel Switches Five new front panel switch positions have been added to the ALTAIR 8800b computer to expand the front panel capability. 1 . SLOW position: Permits execution of a program at a rate of approximately 2 machine cycles per second or slower. The normal machine speed is approximately 500,000 machine cycles per second. The ALTAIR 8800b operates in the slow mode as long as the SLOW switch is depressed on the front panel. 2. DISPLAY ACCUMULATOR position: Displays the contents of the CPU accumulator register on the ALTAIR 880Ob front panel. 3. LOAD ACCUMULATOR position: Loads the information present on the lower eight front panel address switches into the CPU accumulator register. 4. INPUT ACCUMULATOR position: Inputs the information present at an Input/Output device into the CPU accumulator register. The Input/Output device is selected on the upper eight front panel address switches. 5. OUTPUT ACCUMULATOR position: Outputs the contents of the CPU accumulator register to a selected input/output device. The input/output device is selected on the upper eight front panel address switches. New Power Supply The new power supply in the ALTAIR 8800b contains an 8 volt, 18 ampere tapped secondary supply which permits the addition of up to 16 printed circuit cards, and pre-regulated positive and negative 18 volt, 2 ampere supplies. A multiple tapped primary transformer provides for 110/220 volt operation and a 50/60 Hz operation. Electronic Design Advancements The electronic design advancements on the ALTAIR 8800b are in the CPU and front panel circuit boards. 1 . CPU. The new CPU circuit board uses the Intel 8224 clock generator integrated circuit (IC). The 8224 IC provides a specified clock frequency to the ALTAIR 8800b using an external crystal and dividing the crystal frequency down to 2MHz. Therefore, both the clock pulse widths and phasing (as well as frequency) are crystal controlled. 2. Front Panel. All front panel data lines are connected to an interface which buffers them from the rest of the ALTAIR 8800b. The front panel circuits also use a programmable read only memory (PROM) which contains programs for the following eight functions: EXAMINE EXAMINE NEXT ACCUMULATOR DISPLAY ACCUMULATOR LOAD DEPOSIT DEPOSIT NEXT INPUT ACCUMULATOR OUTPUT ACCUMULATOR The front panel circuits also have a wiring option which allows the CPU to perform a complete instruction cycle or a single machine cycle during the single step or slow operation. Mechanical Design Advancements The mechanical design advancements on the ALTAIR 8800b are incorporated for ease of assembly and maintenance. 1 . The wiring harness connection which exists on the front panel of the ALTAIR 8800 is replaced with ribbon cables. These ribbon cables connect the front panel circuits to the interface circuits. 2 The four slot expander cards in the ALTAIR 8800 have been replaced by a single piece 18-slot motherboard. The 18-slot motherboard contains 100 solder lands which comprise the 100 pin bus. 3. A new multi-color and redesigned dress panel is used in the ALTAIR 8800b. The front surface of the dress panel has a protective sheet of mylar to insure that the graphics are not rubbed or scratched off. CPU ADDRESS IA0-AI5) STATUS Memory or I/O Device RDY (D0-D7I IDI0-D17I BI-DATA v^L DATA IN ac v L 4. The real trouble is that we are using a "FORTRAN loop" - that must be executed at least once - rather than an "ALGOL loop" that might be done zero times. Thus, when N = 2, the first value of I, namely 2, is already larger than the maximum value, namely the square root of 2, and so no cases should be tested. We can make this into an ALGOL loop by putting a statement number — say 3 — on the last IF statement, and then writing GO TO 3 just before statement number 1. There is one further acceptable answer. Suppose that we called PRIME(L, L). This does make sense; we are testing L to sec if it is prime, and then, after we test, setting L equal to either zero or one. Unfortunately, the first thing thai PRIME dors is to set K = 1, which sets L equal to I (if parameters are called by reference). In other words, the program is now testing whether 1 is prime, not whether L is prime. This can be fixed by moving the statement K = 1 (which is otherwise perfectly good) down to the end of the program, just before the second RETURN statement." W Douglas Maurer University Library Room 634 George Washington University Washington DC 20052 Only $59.95 Assembled Tested f • PerC.nm — PerCom FINALLY - A CASSETTE INTERFACE THAT WORKS! The PerCom Cl-810 • Easily connected to any computer • An 8-bit parallel interface • 'Kansas City' Standard • Load a 1k byte program in 40 seconds • Little or no software required • Easily upgraded to 218 byte/sec • Operate 2 tape units simultaneously • 18 page Instruction Manual PerCom Data Co. 4021 Windsor, Garland, Texas 75042 (214) 276-1968 'peripherals for personal computing' 41 If Only Sam Morse Could See Us Now Wayne Sewell WB5NYC 9277 LBJ #253 Dallas TX 75243 COUNT FIELD When dealing with personal computers, it is necessary for a person to be familiar with his machine from both the hardware and software point of view. It has been my observation that hardware people often tend to stay in hardware and software people in software, each faction learning just enough about the other side to get along. I am guilty of this myself — I never do in hardware what could feasibly be done in software. Hope- fully, this situation will change as my knowl- edge of microcomputing increases, but for the time being I am assuming that the computer runs because of the little elves pushing electrons around in the processor and putting most of my effort into programming. This article is for people with a similar bent. There are several electronic Morse code keyers on the market, but rather than spend precious cash, why not use that little digital demon of a small computer that you paid all of that money for. You've probably been 7 6 5 4 3 2 1 C C C D D D D D li 7 COUNT FIEL 6 D 5 4 DATA (l-DASH ,0- 3 2 DOT) 1 1 1 D D D D D SHIFT OUT DATA ( I- DASH, 0» DOT ) Figure I : Data Formats. The number of ways to represent data within a computer can sometimes be equated to the number of programmers there are in the world. Here is another way to represent Morse codes internally, which differs from several other articles in this issue. The format is supported by table 3 which lists the equivalent hexadecimal codes for each Morse code graphic. trying to find a valid use for it anyway. Think of the glory as you transmit a message in Morse code several hundred characters long at a speed of 1000 wpm. (While there is a legal speed limit for radio Teletype, to my knowledge Morse Code bandwidth is not explicitly mentioned in FCC regulations.) Then comes a real challenge: Find someone whose computer can receive at that speed. Finally, the ultimate goal: Read the response sent back to you at the same speed. [See articles by Robert Grappel and Jack Hemen- way, by Bruce Filgate, and by Lawrence Krakauer in this issue. } This article describes a software Morse code generator. The program listed is for a 6800 system (specifically the one sold by Southwest Technical Products); but a com- plete description of the generator is included to facilitate conversion to other systems. Data Format The data format used in my Morse code generator makes it possible to pack any of the "dot" and "dash" combinations asso- ciated with a Morse code character into a single byte. The rightmost 5 or 6 bits (throughout this article, "rightmost" and "least significant" are synonymous) contain the pattern of dots and dashes, and the upper 2 or 3 bits contain a count which informs the program how many of the data bits are actually associated with the charac- ter. The remaining bits are set to zero arbitrarily. Out of all of the characters in international Morse code, there are only two which will not work in this system: space and the error code. It is not surprising that the space is a maverick in any data repre- sentation, since it is not really data at all, but a lack of data. It is simply a lengthening of the normal interval between characters to form an interval between words, and must be handled as a special case. Similarly, the error code is not really a character either. 42 When an error is made during a Morse transmission, due to a spasmodic twitch of the operator's hand or similar cause, the errant operator sends a string of 8 dots, meaning: "Oh I'm sorry I made an error please disregard the last character I sent please will you huh." Both the space and the error code, since they don't fall in the normal scheme of things, are treated as special cases: Immediately upon detection, the program intercepts them, modifies them to a compatible format, and inserts them back into the main logic flow. For all characters five elements long or less, the format is absurdly simple, as shown in figure 1a. The high order 3 bits contain a binary number from 1 to 5 corresponding to the number of dots and/or dashes in the character. The rightmost 5 bits contain the data elements themselves, where is a dot and 1 is a dash. They are stored from right to left so that when the byte is shifted to the right, they are transmitted serially in the proper sequence. As an example, the Morse code character Q is transmitted as" ■ — ". The element count is four, so a binary TOO string is stored in the leftmost 3 bits of the byte. Using the coding scheme above, the equivalent Morse bit pattern for Q (the binary string 1 01 1 ) is stored in the rightmost 4 bits. In this case, bit 4 is not needed so it is a "don't-care" bit which is set to zero arbitrarily. Therefore, the code for Q stored in the table is the binary string 1 0001 01 1 or hexadecimal 8B. If all Morse code characters contained five elements or less, the coding system would be much simpler. However, many of the special characters, uncooperative cusses that they are, contain six elements. At first glance, this doesn't seem to be an obstacle, since the 3 bit count field can contain a binary number up to 7, inclusive. However, there are only 5 bits left over within the byte, which means that although the count can keep track of more than five elements, there is no place to store them. The one fact that keeps the entire system from collapsing into a pile of random logic is that there are no characters with seven elements. There arc several special codes with six elements, but I have been unable to come up with one containing seven. Since the difference be- tween a count of six, the binary string 110, and a count of seven (111) is one bit; and since there will never be a count of seven, then bit 5 becomes a "don't-care" and can be used as a data bit if bits 6 and 7 are both 1. We simply consider any count greater than five (leftmost 2 bits on) to be equal to six, shift our wild card bit right with the others, and the problem is solved, as seen in figure lb. When the count is extracted in this case, bit 5 is forced to a zero, making the count equal to six. When Morse transmission actually starts, the data bits are shifted right one at a time. If the rightmost bit is a zero, the weight factor for a dot is loaded; if the rightmost bit is equal to 1, the dash weight factor is loaded, normally exactly three times that of a dot. The key is turned on, and the timing subroutine, controlled by the value stored in ELESPEED, generates the proper delay for that element. The key is then turned off and the timing subroutine is reentered, this time to generate the space between elements, normally equal to a single dot time. This loop is repeated for every element in the character, shifting right each time. The space between elements is added to the last element in the character, also. If a string of characters is being trans- mitted, rather than a single character, the ru r -A— I— B — I C 1— B — I — A — I — B — I D 1 — A — 4— B — 1 — A — I — B — I D 1 — E — t— B — I D 1 I F 1 I F 1 I F 1 I G 1 Time Interval Explanation A : Dot, key on; basic timing element; duration is number of milliseconds contained in ELESPEED. B Space between elements, key off; duration is one dot; also controlled by ELESPEED; generated automatically after every dot or dash. C : Dash, key on; duration is three times dot in normal weighting. D : Character space synchronizer, key off; generated automatically after every character; added to B to form total space (F) between characters; duration is twice the dot interval for normal spacing but can be increased for greater character separation; controlled by CHRSPEED. E Space character (ASCII hexadecimal 20), key off; duration is one dot; added to character space (F) before and after to form total space (G) between words. F : Space between characters, key off;duration is B + D; if ELESPEED and CHRSPEED are synchronized this is equal to three dots; if not, duration is longer. G : Space between words, key off; duration = twice F plus one dot; if ELESPEED and CHRSPEED are synchronized, this is equal to seven dots; if not, duration is longer. Figure 2: Time Relation- ships. The Morse charac- ters Rl sent in succession, followed by a space. The intervals identified by capital letters are ex- plained in the notes below. 43 Listing 1: CWBUFFER Subroutine. This listing gives the complete absolute hexadecimal assembled code qnd symbolic repre- sentation for the CWBUFFER routine. Data in this listing was prepared using the author's SPUCA assembler program. SOURCE STATEMENT 0040 67 CHRSPEED RMB 2 0042 68 69 ELESPEED * RMB 2 0044 70 INITMASK RMB 1 0045 71 HOLDBYTE RMB 1 0046 72 MASK RMB 1 0047 73 COUNT RMB 1 0048 74 CWPTR RMB 2 0100 75 ORG H'100 0100 76 CWBUFFER EQU * 0100 A6 00 77 LDAA 1,0 0102 81 03 78 CMPA «3 0104 26 01 79 BNE CONTINUE 0106 39 80 RTS 0107 81 CONTINUE EQU * 0107 08 82 INX 0108 DF 48 83 STX CWPTR 010A 8D 08 84 BSR TRANSMIT 010C DE 40 85 LDX CHRSPEED 010E 8D 46 86 BSR MILDELAY 0110 DE 48 87 LDX CWPTR 0112 20 EC 88 BRA CWBUFFER 0114 89 TRANSMIT EQU * 0114 8D 5C 90 BSR CliARTOCW 0116 4D 91 TST A 0117 26 06 92 BNE NOTSPACE 0119 C6 01 93 LDAB 11 011B D7 47 94 STAB COUNT 011D 20 25 95 BRA SPACENT 011F 96 NOTSPACE EQU * 011F 16 97 TAB 0120 98 RPT 4 0120 59 99 ROL n 0121 59 100 ROL B 0122 59 101 ROL B 0123 59 102 ROL B 0124 C4 07 103 ANDB • 7 0126 81 FF 104 CMPA IH'FF 0128 26 04 105 BNE NOTERR 012A 4F 106 CLR A 012B 5C 107 INC B 012C 20 06 108 BRA COUNTOK 012E 109 NOTERR ECU * 012E CI 06 110 CMPB #6 0130 21) 02 111 ELT COUNTOK 0132 C4 06 112 ANDB 16 0134 113 COUNTOK EQU * 0134 D7 47 114 STAB COUNT 0136 115 BITLOOP EQU * 0136 D6 44 116 LDAD INITMASK 0138 D7 46 117 STAB MASK 013A C6 01 118 LDAB tl 013C 46 119 ROR A 013D 24 02 120 BCC SEND 013F C6 03 121 LDAB #3 0141 122 SEND EQU * 0141 73 00 45 123 COM HOLDBYTE 0144 124 SPACENT EQU * 0144 8D 22 125 BSR ELDELAY 0146 7F 00 46 126 CLR MASK 0149 7F 00 45 127 CLR HOLDBYTE 014C C6 01 128 129 , LDAB 11 014E 8D 18 130 BSR ELDELAY 0150 7A 00 47 131 DEC COUNT 0153 26 El 132 BNE BITLOOP 0155 39 133 RTS 0156 134 MILDELAY ECU * 0156 D6 46 135 LDAB MASK 0158 D8 45 136 EORB HOLDBYTE 015A D7 45 137 STAB HOLDBYTE 015C F7 80 04 138 STAB L,H'80O4 015F C6 8F 139 LDAB «H'8F 0161 140 LOOP 2 EQU * 0161 5A 141 DEC B 0162 26 FD 142 BNE LOOP 2 0164 09 143 DEX 0165 26 EF 144 BNE MILDELAY 0167 39 145 RTS 0168 146 ELDELAY EQU * 0168 DE 42 147 LDX ELESPEED 016A 37 14 8 PSHB 016B 8D E9 149 ESR MILDELAY 016D 33 150 PULB 016E 5A 151 DEC B 016F 26 F7 152 BNE ELDELAY 0171 39 153 RTS 0172 154 CHARTOCW EQU * 0172 84 7F 155 ANDA »H'7F 0174 80 20 156 SUBA • 32 0176 2D 17 157 BLT INVALAS 0178 81 40 158 CMPA •LASTASCW 017A 2C OD 159 BGE NOTFNDAS 017C 160 GETENTRY EQU * 017C 5F 161 CLR B 017D 37 162 PSHB 017E 37 163 PSHB 017F 30 164 TSX 0180 A7 01 165 STAA 1,1 0182 EE 00 166 LDX 1,0 0184 A6 00 167 LDAA 1,0 0186 31 168 INS 0187 31 169 INS 0188 39 170 RTS 0189 171 NOTFNDAS EQU * 0189 80 20 172 SUBA • 32 018B 81 20 173 CMPA • H'20 018D 2E ED 174 BGT GETENTRY 018F 175 INVALAS EQU * 018F 4F 176 CLR A 0190 39 177 RTS I OF MILISECONDS BETWEEN CHARACTERS LENGTH OF ELEMENT (DIT) DURATION IN MILISECONDS OSCILLATOR CONTROL BYTE POINTS TO 1ST BYTE IN STRING GET CHAR IS THIS THE STOP BYTE? BE IF NO RETURN INCRE PTR STORE POINTER CONVERT THE CHAR TO CW AND TRANSMIT LOAD DELAY CONSTANT FOR CHAR SPACING DELAY PROPER I OF MILISECONDS GET ADDR OF CHAR STRING GET NEXT CHAR CONVERT CHAR TO CW TRANSMIT CODE A = ? ER IF NO (VALID NON-BLANK CW CHAR) SET NUMBER OF ELEMENTS AT 1, AND MAKE THE WEIGHT SAME AS A DIT BYPASS KEY-ON INSTRUCTION SAVE A IN B ROTATE BIT COUNT ROTATE BIT COUNT ROTATE BIT COUNT ROTATE BIT COUNT SET COUNT AT < OR = 7 IS THIS SPECIAL ERROR CODE 7 BR IF NOT SET DATA TO ALL DITS INCRE COUNT FROM 7 TO 8 STORE COUNT BIT COUNT = 6 ? BR IF NO SET COUNT AT 6 STORE EIT COUNT INITIALIZE THE OSCILLATOR MASK LOAD WEIGHT FACTOR FOR DIT ROTATE DATA BIT' INTO CARRY BR IF CARRY CLEAR (DIT) LOAD WEIGHT FACTOR FOR DAH TURN ON KEY GENERATE DELAY FOR ELEMENT LENGTH CLEAR OSCILLATOR MASK TURN OFF KEY LOAD WEIGHT FACTOR FOR BREAK BETWEEN ELEMENTS GENERATE DELAY FOR ELEMENT LENGTH LAST ELEMENT IN CHAR 7 BR IF NO RETURN HOLD THE KEY OUTPUT CONSTANT AND FLIP-FLOP THE OSCILLATOR OUTPUT IF KEY IS ON LOAD MILISECOND LOOP CONSTANT COUNT DOWN BR IF NOT FINISHED DECRE MILISECOND COUNT BR IF NOT FINISHED RETURN LOAD DELAY CONST FOR ELEMENT SPACING SAVE I OF INTERVALS DELAY PROPER # OF MILISECONDS RESTORE # OF INTERVALS DECRE t OF INTERVALS BR IF NOT FINISHED STRIP PARITY BIT SUBTRACT OFFSET IF INVALID CHAR OR » CHARACTER IN TABLE J BR IF NO BRANCH OUT ALLOCATE AND ZERO OUT A TEMPORARY 2-BYTE AREA ON TOP OF THE STACK POINT INDEX REGISTER TO IT STORE TABLE OFFSET INTO SECOND BYTE LOAD CONSTRUCTED POINTER INTO INDEX LOAD CW CODE DELETE TEMPORARY HOLD AREA i REALIGN STACK RETURN POINT TO LOWER CASE CHARS BETWEEN UPPER (, LOWER CASE 7 BR IF NO (USE LOWER CASE AS UPPER) SET A TO CW NULL RETURN 44 Figure 3: Output Signals from the Morse code generation program. This program will produce either or both of a tone burst "oscillating" output which can be used to drive a speaker for code prac- tice, or a steady logic level output (during each dot or dash) used to control the keyer of a typical radio frequency transmitter. IrnS (TOME BURST) space between them is generated according to the value stored at location CHRSPEED. If element and character speeds are syn- chronized, the delay caused by CHRSPEED is exactly twice the space between elements, which has already been generated after the last element. Combining the two causes the total space between characters to be exactly the length of a dash, the established spacing between Morse code characters (see figure 2). If a space (in ASCII, hexadecimal 20) is detected, it is treated as a phantom character consisting of one dot length with the key off. When added to the 3 dot interval following the previous character, and the equal interval following itself, a total interval of 7 dot times is generated, the standard spacing between words. (ASCII codes with no Morse code equivalents are also treated as spaces.) Speed Control There are two separate controls for Morse code spacing: element speed and character speed. The element speed is the time dura- tion of the smallest element of the Morse pattern. The time duration of dashes, dots, and the breaks in between are based upon it. If normal weighting is used, a dot is equal to one of these intervals, a dash is equal to three of them, and the space between dots and dashes within a character is equal to a single dot interval. The 2 byte field labelled ELESPEED contains a 16 bit binary number specifying the element delay as an integer number of milliseconds. With normal weighting, the duration of a dot will be exactly the number of milliseconds con- tained in ELESPEED, and the duration of a dash will be exactly three times that. If you wish the element and character speeds synchronized (20 wpm characters sent at 20 wpm intervals, etc), the binary value stored in CHRSPEED should be exact- ly double the binary value stored in ELE- SPEED. In this configuration the program will generate perfectly synchronized Morse code according to the established standard (dash duration three times that of dot, duration of space between elements equal to one dot, duration of space between charac- ters equal to that of one dash, and duration of space between words seven times that of one dot). When you change speeds, change the values of ELESPEED and CHRSPEED (once again, the value of the latter should be twice the value of the former.) If you wish to lengthen the interval between characters without changing their internal speed, simply increase the value of CHRSPEED. For instance, if you wish to practice copying code, you can set the ELESPEED field at the value for 20 wpm and the CHRSPEED field to the 5 wpm value. This will cause 20 wpm characters to be sent at 5 wpm intervals. You can tweak either speed to any 1 6 bit value you want (except zero), but the value of CHRSPEED must never be equal to less than two times that of ELESPEED or the spacing will be demolished! And It Comes Out Here The Morse code generator program is designed to output the Morse signals through a parallel IO port. Two different types of output are available simultaneously: logical and oscillating. The logical output cor- responds to the Morse signal as it is broad- cast — the output is high during a dot or dash and low in the times between. This corresponds to the telegraph key itself and may be fed to the transmitter directly or via a relay or other driver. The oscillating output changes state once every millisecond while the logical output is high and is held low during the times the logical output is low. This output, when connected to a speaker, produces a 500 Hz tone and can be used as a sidetone or a code practice oscillator. Both types of output can be 45 produced simultaneously, as seen in figure 3. Which of the lines in your parallel port are to be used at logical outputs and which are oscillators is determined by the control byte labelled INITMASK. For every bit in INITMASK which is equal to zero, the corresponding bit in the parallel port is a logical output. Every bit in INITMASK which is in an on state causes the corres- ponding line in the output port to oscillate. I am not a hardware type person; there- fore, I am not going to attempt describing the interface necessary to take the Morse code output of the nonoscillating line and transfer it to your ham rig, especially since every transmitter has its own keying system. In a classic copout I say, "It is up to the user to take the logical output of the PI A (0=key off, +5 V=key on) and get it onto the air without blasting the PIA output driver." Viva Southwest Tech This Morse data generator was written for a Southwest Technical Products 6800 sys- tem, which uses the Motorola MC6830L7 ROM (MIKBUG Revision 9). A complete cross assembly of CWBUFFER is printed in listing 1. The program was written to be configuration independent, however, and will work for any 6800 system having programmable memory at locations hexa- decimal 00 to 49, at least 190 bytes of programmable memory elsewhere, and one PIA. The ASCII to Morse conversion subroutine is completely relocatable and reentrant, although the main generator routines (CWBUFFER and TRANSMIT) are not. All of the timing loops are calibrated for the Southwest Technical Products System, which has a 1.797 MHz master oscillator crystal. If your clock runs at a different speed, you may want to tweak the loop constant so that the output of one of the oscillating lines is exactly 500 Hz (each outer loop of the MILDELAY subroutine is supposed to last exactly one millisecond). The loop constant is at hexadecimal location 0160; incrementing or decrementing it by Listing 2: Various and Sundry Drivers. Three dif- ferent driver routines oc- cupy the remainder of the assembled code prepared by the author. These drivers are ASDRIVER, SINGLECH, and CODE- PRAC. ASDRIVER is used to load a buffer, then call CWBUFFER to transmit the data as Morse signals. SINGLECH is a simple routine to read a character from the keyboard then call the TRANSMIT sub- routine (bypassing CWBUFFER) to output that character as its Morse equivalent. CODEPRAC is a routine used to generate a random series of Morse data for code practice. (Note that the instruction at 01 D5 should be patched to reference a random number routine specific to your own computer system.) L0C L'OUE 51M1 SOUHCt SUTtMtNT 0191 1 78 ASDHIVE" E»U t» 0191 7F 00 45 1 79 Clh HOLUBYTE CLEAR OUTPUT 0194 7F 80 04 180 ClH M'8004 POKT 0197 CE 01 F7 181 Lux WBUFFlH LOAD BUFFER ADDRESS 0194 182 1SJ 184 LUaULOOH l«U BRANCH TO A SUBROUTINE »HICH INPUTS AN ASCII CHARACTER AND PLACES IT 019A BU El AC 185 188 187 188 189 a H o s jaH H'tlAC MIKBUG THIS SUBROUTINE IS LOCATED AT HEX 'EUC (INEEEI NON-MIKBUG SYSTEMS SUBSTITUTE A COMPAHABLE ROUTINE 019D A7 00 190 ST* A ltO STORE INTO BUFFER 019F 0B 191 J.1X INCRE POINTER out 81 03 192 CnP A • 3 IS THIS A CONTROL C (STOP BYTEI 7 0142 27 10 19J Bt.U N0NEEU3 BR IF YES 01A« HI 0A 19, CMPA • Hi 0A IS THIS AN ASCII LINE FEED 7 01A6 27 OB 195 ULU SENU1T BR IF YES 01A8 HI 08 198 CnP, •H' 08" IS THIS AN ASCII BACKSPACE COMMAND 7 0UA 26 tt 197 B'lE LUAULUUP BR IF NO 01AC 09 198 BEX BACKSPACE POINTER 2 BYTES 1 FOR lilt 09 199 UtX DATA BYTE (, 1 FOR BACKSPACE CHAR out 20 EA 200 »ha LUADLUOP CONTINUE 01B0 (01 SEW IT fc-u « 0160 86 03 202 LUAA • 3 LOAD AND STORE 0162 A7 00 CUJ SUA 1.0 DELIMITER (STOP BYTE) INTO BUFF o lb- CC4 N0NEEU3 EUU • 01B- CE 01 F7 e05 LUX •BUFFEH RELOAD BUFFER ADDRESS INTO INDEX 01B7 BU 01 00 cub JSM LoBUFFth CALL C» GENERATOR ROUTINE OltIA 20 1)9 eu7 UHA AbUMvtK START CYCLE ALL OVER AGAIN 01CA 215 COUEPHAC b>u <* 01CA 7F 00 45 £16 CLR HOLUBYTt CLEAR OUTPUT OICU 7F 80 04 217 CLrt H'8004 PORT 01D0 CE 01 F7 ele LUX •BUFFER STORE ADDRESS OF BUFFER 01D3 DF «B Cl9 SIX CWPTK INTO START-OF-BUFFER POINTER 010a 220 toENLUUP E*U • 01D5 BL> 00 00 £21 222 . J5K • ~0 CALL A ROUTINE TO GENERATE A 1-BYTE RANDOM NUMBER 01D8 3b 823 P^HA SAVE ORIGINAL ASCII CHAR 01U9 BU 01 72 »24 J8H CHAHTuCK TEST FOR VALID CX CHARACTER 01UC 32 225 PULA GET ORIGINAL ASCII CHAR 010D 27 F6 226 ecu GLNLOUP BR IF NOT VALID 01DF DE 48 227 LUX C«PTH LOAD BUFFER POINTER 01E1 A7 00 228 SUA IiO STORE CHARACTER INTO BUFFER 01 LJ 0B cc* Inx INCRE POINTER 01F4 DF 48 H.lli six C*PTH SAVE NEH BUFFER POINTER 01EG ec 7F FF 2J1 cPx •bUFFENu END OF BUFFER OR END OF MEMORY 7 01E9 26 EA 132 0h£ GENLOOP BR IF NOi GET ANOTHER CHARACTER 01EB B6 03 233 LVAA • 3 LOAD AND STORE 01ED A7 00 234 SUA ltO DELIMITER (STOP BYTE) INTO BUFF 01EF CE 01 F7 235 LUX «BUFFtH RELOAD BUFFER ADDRESS INTO INDEX 01F2 BD 01 00 J^2_( RETUR N ) Tyes INITIALIZE ■INCHAH" UPDATE TIMER TIMER \ NO V SAYS "DOT"JT ? SPEED UP CODE RATE SLOW DOWN CODE RATE UPDATE TIMER PUT SPACE INTO PRINTER LEFT JUSTIFY 'INCHAR" AND TRANSLATE PUT INPUT INTO PRINTER FIFO ( RETURN J 53 Table 1: The list of ASCII character graphics and their equivalent speed set- tings when used with the speed change command. The command sequence is: escape character, W, speed character. Thus the se- quence escape, W, + sets the speed to 18 words per minute. Speed Rale Character (wpm) SP 120 ! 89 " 63 # 48 $ 44 0/ /o 37 ' 27 ) 22 + 18 / 14 3 12 > 7.6 ? 7.2 Software Availability in Machine Readable Form The software for this program in source and binary form has been submitted to the DECUS library. DECUS is the Digital Equipment Corpora- tion User's Society, managed by a board of directors composed of DEC equipment users. Free membership in the society is open to users of DEC equipment. The group periodically publishes indices of currently available programs with abstracts. The documentation for this program is listed under the number 8-801. Since it is expected that some users will want to modify this program, the source in ASCII is available on paper tape from the DECUS library. To order copies of the ASCII source tape or the binary tape, write to: Program Libarian DECUS 146 Main St Maynard MA 01754 as of apply: the time of writing, the following prices 8-801 Binary paper tape $2 8-801 ASCII source paper tape $8 8-801 DECUS writeup $1 8-801 Assembly listing $10 output speed is selected by this method it will remain constant until a new value is selected. Since the DEC M7341 processor card uses a variable speed clock, table 1 is calculated assuming that the clock be operated at the same speed as the clock on the author's system. If the clock for the processor on which the software is running is operated at a different rate, then table 1 must be recalculated. If it is desired that the user's clock be set at the same speed as the clock found in the author's processor, a method of calibrating the clock is offered here: If the program is set up to transmit a sequence of dots, for instance the character "five" which is five dots sequentially, a string of "fives" will generate five dots followed by three dot times between characters, five more dots for the next "five" and so on. This, in considera- tion with the equation: Speed (wpm) = dots pe^mjnute = 2.4 * dots per second can be used to compute the effective code rate in words per minute. The code input speed is never actually calculated but instead a rather heuristic tracking technique is used to update what Photo 1: The Digital Equipment Corporation's MPS starter set used by the author for running the Morse code program. Fur- ther detail of the central processor board is shown in photo 2. Photo 2: The Digital Equipment Corporation Ml 341 central processor board. The 8008 processor is socketed at the lower right. This board also in- cludes a UART for serial interface and the random logic needed to buffer and drive an 8008. Information about the Hardware Used This program is designed to generate and decode Morse code. Although the program is intended to be executed on Digital Equip- ment Corporation's MPS M7341, it should also execute on almost any Intel 8008-1 based microprocessor with only slight mod- ification. Photos 1 and 2 are supplied by Digital Equipment Corporation. The following literature is available from: Digital Equipment Corporation Communications Services 444 Whitney St Northboro MA 01532 General Interfacing Techniques for the M7341 Microprocessor Module Interfacing The TU60 to the MPS M7341 Microprocessor M734 1 Processor Module Data Sheet M7344-YA, -YB, -YC Read-Write Memory Module Data Sheet M7345 Programmable Read Only Memory Data Sheet M7346 External Event Detection Module Data Sheet M7328 Evoke Decoder Module Data Sheet M1501 Bus Input Interface Module Data Sheet M1502 Bus Output Interface Module Data Sheet Logic Handbook KMP01A Microprocessor Series (MPS) Pre- wired Backplane Appl. No te MR873 Microprocessor ROM Programmer Product Bulletin 1976 Direct Sales Catalog 54 the processor "judges" the current code rate to be. Therefore, the processor arbitrarily selects the initial code speed to be about 15 words per minute and, if it deems that the input code speed is other than that, a change will be made in the appropriate direction until the processor is able to synchronize against the incoming code speed. At this time, small changes in the code rate will be made to insure that the code speed remains within the tracking range. In addition to decoding the dot and dash times, the pro- gram must also be able to decode the times between characters, between symbols and even at the end of sentences. Additionally an arbitrary time is selected which is deemed to be an end of message; these times are set to be a function of a dot time. Thus, as the processor works to synchronize the code speed, all that is required is to keep track of a counter which represents the length of a dot. If the dot time is increased, thus decreasing the code speed, all the other times will be affected in a similar direction. Keyboard Monitor In general, characters typed on the key- board are immediately translated to the Morse code bit string and then transmitted f CMMNDR J GET NEW KEY INPUT GET NEW KEYBOARD INPUT OPEN MESSAGE 1 -< BUFFER /LA <^CHAR/ S L^\YES CLOSE MESSAGE BUFFER J s' NO PUT NEW CHARACTER IN MESSAGE BUFFER NO /deleteV -*-— — ( RETURN J I YES DELETE LAST CHARACTER OF MESSAGE BUFFER Figure 2: The command interpreter routine, CMMNDR, represented as a flow chart. The com- mand interpreter is de- signed to test for the several commands possible and take appropriate actions. The commands in- clude exiting the com- mand mode, loading the message buffer, printing the message buffer, send- ing the message buffer out as Morse code, testing the Morse code output by re- peatedly sending the mes- sage buffer and changing the speed of the machine generated Morse code out- puts. COPY MESSAGE BUFFER INTO OUTPUT BUFFER ERROR MESSAGE ' ?' YES COPY MESSAGE BUFFER INTO PRINT BUFFER COPY MESSAGE BUFFER INTO OUTPUT BUFFER ( RETURN J SET NEW SPEED FROM INPUT f RETURN J 55 ( KYBD ) .TlSTING 2 1 ADDRESS 22/227 Figure 3: The keyboard service routine, K YBD, specified as a flow chart. This routine is simple: Look at the UA R T and see if data is available. If so, then stuff the data into the keyboard input buffer, or ring the bell and ignore if the buffer was full. Figure 4: The printer ser- vice routine, PNTR, speci- fied as a flow chart. This also is very straightfor- ward: Look at the UART and see if it is ready to transmit. If so, then if the printer buffer is not empty send a character to the UART and remove the character from the printer buffer. f RETURN j out in Morse code. There are some special commands interpreted as shown in figure 2 to modify this normal mode: • L is used to reload the message buffer until an escape (). (LOAD command) • is used to return to normal keyboard mode. (EXIT command) • P causes the message buffer contents to be printed. (PRINT com- mand) • S is used to ship the message >- iTlSTING 2 "'.ADDRESS 22/316 ["TlART TRANS- MITTER BUFFER H EMPTY < \. NO Tyes /'PRINTER^^ fES J I \FIFO EMPTY/ \?/- Tno PRINT A CHAR !*CTER DELETE CHAR FROM FIFO J • f RETURN ) buffer out, translated in Morse code. (SEND command) • T is a test to do S until an escape is typed. (TEST command) • W loads a new rate constant for WPM output. A character obtained from table 1 sets the rate, and should follow the W. (Speed change command) • The delete (rub out) can be used in a buffer loading mode to remove pre- vious characters back to the beginning of the buffer. Software Buffer This program uses overlaid IO to allow several operations to be done at the same time. First in, first out buffering is imple- mented to keep track of data transferred from or to the buffer locations. Four effec- tive sources or destinations are involved: the message holding buffer, the code output buffer, the keyboard buffer (see figure 3 for the keyboard buffer service routine), and the printer buffer (see figure 4 for printer buffer service routine). Each buffer uses its first location as a byte count of the number of locations occupied by valid data. Since this is an eight bit machine, and single precision arithmetic is used, it is obvious that the maximum number of available data locations in a buffer can not exceed octal 377; any attempt by the user to exceed octal 377 locations or to exceed the maximum buffer size results in an error due to buffer over- flow. When the program senses a buffer overflow condition, the terminal bell (or bell indicator) will be rung and the character that would have caused the overflow will be ignored. Since the user may choose to modify the sizes of these buffers, the fol- lowing advice is offered: The message buffer should be as large as practically possible, followed by the keyboard buffer and then the printer buffer in priority. Hardware Configuration This piece of software has been designed and constructed so it can operate without modification on DEC Logic Products Starter Set 1 (KMP01 based). This starter set con- tains adequate memory, hardware, and inter- facing to allow the software to execute properly. When executed on the starter set, the least significant bit of the input byte from input device 2 is used as the sense line for code input. The entire byte on output device 4 is used for code output (any particular bit on this output channel may be Text continued on page 70 56 Listing 2: Complete Assembly of the Morse Code Program for an 8008. This listing was prepared using a cross assembler available to the author at Digital Equipment Corporation. The listing is reproduced here in its entirety, with an absolute origin picked for the hardware available to the author. The listing is well commented and includes a symbol table found at the end. // THIS PROGRAM. CONSISTING OF A PROM SECTION OF /SUBROUTINES % MAINLINE TASKS AND A RAM /SECTION OF BUFFERS- GENERATES AND DECODES MORSE CODE. /THE DECODING SECTION IB DESIGNED TO BE SELF TRACKING /AS TO CHANGING SPEEDS. DUE TO THIS SELF TRACKING /FEATURE. A FEU ILLEGAL CODES MAY BE DECODED AS THE /PROGRAM ATTEMPTS TO LOCK ONTO THE INPUT CODE SPEED. /THIS PROGRAM IS DESIGNED TO RUN ON THE INTEL BOOB-l BASED /MPS STARTER SET AVAILABLE FROM THE DEC COMPONENTS GROUP. / WRITTEN 1-29-76 BY BRUCE FILGATE OF COMPONENTS /APPLICATIONS ENGINEERING AT DIGITAL EQUIPMENT /CORPORATION IN MARL .BOUGH MASSACHUSETTS FOR THE /LOGIC PRODUCTS MPS PRODUCT LINE /WEIGHTING IS 1 DASH W 3 DOTS. /JUST A FEU UORDS ABOUT THE STACK STRUCTURE /THE STACKS USE THE FIRST LOCATION AS A COUNT OF THE /NUMBER OF OTHER USED LOCATIONS IN THE STACK. /THE LSB OF THE INPUT BYTE FROM I/O CHANNEL #2 IS RESERVED FOR /THE SENSE LINE FOR CODE INPUT. /THE BYTE ON I/O CHANNEL *4 IS USED FOR CODE OUTPUT /KEY SENSE FOR CODE INPUT AND OUTPUT IS GROUND FOR KEY DOWN /CONDITION AND LOGIC HIGH FOR THE KEY UP CONDITION. /********** ******************************** / / PROGRAM SHOULD BE STARTED AT STRT / / PROGRAM MAY BE RESTARTED AT RESTRT /****************************************** /THE TERMINAL BELL WILL BE RUNG WHENEVER A BUFFER /OVERFLOW IS CAUSED BY THE USER. THE CHAR /THAT WOULU HAVE CAUSED THE OVERFLOW IS TRAPPED /AND DELETED. /NORMALLY THE KEYBOARD DATA IS TRANSMITTED OUT TRANSLATED /BUT ALT MODE (ESC) KEY USED FOR SPECIAL COMMANDS. /L=RELOAD THE MESSAGE BUFFER UNTIL ESC /ESC=RETURN TO NORMAL MODE /P=PRINT THE MESSAGE BUFFER CONTENTS /S=SHIP THE MESSAGE BUFFER TRANSLATED /T=TE5T BY DOING S UNTIL AN ESC IS TYPED /UNLOAD BAUD CONSTANT FOR UPM OUTPUT / SP 120 UPM 89 63 20 124 20 125 20 127 20 131 20 133 20 136 20 140 20 141 20 145 20 146 20 152 20 153 20 157 20 160 20 164 20 166 20 170 20 171 370 056 024 066 301 076 03f 106 046 021 076 035 250 056 024 066 305 370 056 025 066 364 370 056 024 066 275 370 106 046 021 370 056 025 066 304 370 131 LMA LHI BAUD LLI BAUD LMI 35 CAL INCLI 8TRTJ . XRA LHI LMA LH.I LMA LHI /SET OUTPUT BAUD AT ABOUT 15 UPM INCLH /LIKEWISE WITH INPUT BAUD /RESTART FOR "C AND CLEAR THE A REG KYFIFO" /CLEAR THE KYBD CHAR COUNT OTFIFO" /CLEAR THE OUTPUT BUFFER OTFIFO CMMND" /INITIALIZE THE MODE BYTE CMMND INCLH /INIT THE CHAR COUNT /SET FOR CRLF INITIALIZATION PNFIFO" /INITIALIZE THE PRINTER CHAR CNT /ZERO PRINTER CHAR COUNT /CLEAR THE TONE AND OTHER BITS /MONITOR ENTRY AND SUPERVISOR MAIN TASK 20 172 106 RESTRT. CAL 034 024 20 175 106 CAL 20 200 106 316 022 20 203 056 024 20 205 066 275 20 207 250 20 210 207 20 211 110 150 021 20 214 106 360 023 20 217 106 230 023 20 222 104 172 020 LHI LLI XRA ADM JFZ INPEND /TRY CODE INPUT LINE KYBD /TRY THE KEYBOARD TASK PNTR /TRY THE PRINTER TASK CMMND" /TEST THE MODE BYTE CMMND /ZERO THE A REG AND FLGS /MODE BYTE TO A REG AND FLGS CMMNDR /ENTER COMMAND MODE IDLE /NON COMMAND CHARACTER FEEDTHROUGH OTPUT /ANYTHING MORSE TO OUTPUT? RESTRT /AND LOOP (?) ALONG 7.6 7.2 /AND THE DELETE /ENTER COMMAND MODE (ASCII ESC=175) /LOAD MESSAGE BUFFER (ASCII L=114) /PRINT THE MESSAGE BUFFER (ASCII P=120) /TRANSLATE8SEND MESSAGE (ASCII S=123) /TEST DO S UNTIL ESC TYPED (ASCII T=124) /ECHO A * FOR ESC /QUESTION MARK FOR BAD COMMAND /CHAR THAT REPRESENTS THE DELETE /PRINTABLE CHAR FOR A DELETE /CONTROL C EXIT TO STRT /REQUIRED TO ECHO ETX. "C /REQUIRED TO ECHO ETXi "C /ASCII SPACE CONSTANT 120 056 026 122 066 044 *20#120 /START UP TIME HOUSEKEEPING LHI MSSGBF" /CLEAR THE MESSAGE BUFFER 20 225 101 ASCIABt BLOCt 102 103 104 105 106 107 110 111 112 113 114 115 116 117 120 121 122 123 124 125 126 127 130 131 132 20 257 061 062 063 064 065 066 067 070 071 BLOC) 20 270 060 DATA 20 271 055 DATA 20 272 056 DATA 20 273 054 DATA 20 274 077 DATA 20 275 057 DATA 20 276 072 DATA 20 277 050 DATA 20 300 051 DATA 20 301 047 DATA 20 302 042 DATA 20 303 012 DATA 20 304 012 DATA 20 303 073 ASCEND. DATA /ASCII TABLE OF DATA 32.101.1 /A THROUGH Z /l THROUGH 9 /END OF MESSAGE(CRZLF) /END OF UORK(CRZLF) 57 AN EDUCATIONAL EXPERIENCE.. THE FD-8 FLOPPY DISK SYSTEM is designed for use with 8 bit microcomputer systems including the ALTAIR 8800, IMSAI, and SWTP 6800. JUST COMPARE THESE FEATURES: • Full sector buffering for both read and write operations. • Both single and double density models available. • Up to 4 drives may be daisy-chained together. • Complete software documentation for MSI-FDOS and disk driver routines provided for 8080 and 6800 systems. • Resident I/O software for disk operation of assembler/editor. • Easy interface, just two 8 bit parallel I/O ports required, or one PIA chip! • Furnished complete with cabinet, power supply, drive, controller and cables. • LOW COST, only $950.00 for this introductory offer. THE MSI PROM/RAM BOARD WITH SYSTEM MONITOR SOFTWARE -for use in ALTAIR and IMSAI systems. Free yourself from the drudgery of keying in bootstrap programs on front panel switches. Our monitor software contains all the common bootstrap loaders for assembler/editor software as well as basic. Just examine the proper starting address and press run! That's all there is to it! The monitor software takes over and all further selection of programs is done via your terminal. The monitor contains many other time saving features which will allow you to program and debug with ease! • Examine and change memory contents using either octal or hex as desired. • Dump and reload your programs to either paper tape or cassette using either hex or BNPF formats as desired. • Execute user's program at any desired starting address. • Trap functions display register contents at desired breakpoints inserted in user's program. • List programs on your terminal. • Look function scans a specified page of memory for a desired value or instruction displaying all memory locations where it is found. • Relocator which moves a program from one area of memory to another, changing reference values thus allowing the program to run in its new location. • Disassembler program which processes object code residing in memory displaying mnemonic with arguments, addresses, location values, and ASCII representation if applicable. • Board accepts 15 1702A ROMs providing 3,840 bytes of Read-Only-Memory. 256 bytes of scratchpad RAM allow monitor software to be operated without the utilization of existing system memory. PROM/RAM Board complete less PROMS * 95.00 Software listings only S 45.00 PROM/RAM Board complete with 1702A PROMS containing monitor software $245.00 *%' : ~ i s ~^ m »> H^l 'sSt MSI introduces two versions of 6800 BASIC for use with our new low cost DOUBLE DENSITY floppy disk system AND... Other BASIC products which will give you everything you ever wanted in a microcomputer system... for less. THE 6800 LEARNS THE BASICS... AT MSI, We needed a flexible programming language for our 6800 based data acquisition systems. That's why we developed MSI BASIC. Its many outstanding features will help you get the most out of your 6800 system: • Full floating point arithmetic capability, decimal based for increased precision. • Handles strings, subroutines, arrays, and multiple statements per line. • User defined verbs. • Operates from ROM or RAM and is relocatable anywhere in memory. • Compatible with MSI-FDOS software and FD-8 floppy disk system. Available in 5K and 12K versions. ^-% -dfe MSI Software Products: fl ^0$&ir*\\* 5K 6800 Basic S45.00 ,^1 BttHJH 12K 6800 Basic S65.00 ^■P^!**^*^ Both Versions $85.00 ",r"» ,r ^ Relocating loader program SI 5.00 Disassembler program S25.00 1K Mini Assembler program S25.00 Additional Products for the SWTP 6800 WIRE WRAP BOARD Accepts 40 pin, 24 pin, 16 pin and 14 pin sockets as well as discrete components. Contains 7805 on-board regulator for + 5V power bus. Plugs into the SWTP 6800 mother board. Price S25.00 PROM/RAM BOARD Contains 3,840 bytes of 1702A ROM and 256 bytes of RAM on one board. May be used to contain MSI-FDOS software and scratchpad area. Price S95.00 Master Charge a BankAmericard order accepted. WHO IS MSI? For the past 6 years MSI has been a leading manufac turer of microcomputer data handling systems for medical laboratories, so we're not new to the business. Four years ago we introduced the first floppy disk system for program mable calculators, which is still in production today. We manufacture CRT terminals, PROM programmers, and a large selection of instrumentation interfaces. For more comprehensive product information, write MSI at the address below. Incidentally, our products are ready for immediate delivery. 'TttuUvett Scientific *)«t4tnu(Hettt4, 220 WEST CEDAR. OLATHE. KANSAS 66061 PHONE 913 764-3273 • TWX 910 749 6403 (MSI OLAT) /MORSE TABLE*.l=DASH,0=DOT,WITH A 1 TO END THE CHAR 20 306 140 MORTAB, DATA 140 /A 20 307 21.0 DATA 210 /S 20 310 250 DATA 250 /C 20 311 220 DATA 220 /Ii 20 312 100 DATA 100 /E 20 313 050 DATA 50 /F 20 314 320 DATA 320 /G 20 315 010 DATA 10 /H 20 316 040 DATA 40 /I 20 317 170 DATA 170 /J 20 320 260 DATA 260 /K 20 321 110 DATA 110 /L 20 322 340 DATA 340 /M 20 323 240 DATA 240 /N 20 324 360 DATA 360 /O 20 325 150 DATA 150 /P 20 326 330 DATA 330 /a 20 327 120 DATA 120 /R 20 330 020 DATA 20 /s 20 331 300 DATA 300 n 20 332 060 DATA 60 /u 20 333 030 DATA 30 /y 20 334 160 DATA 160 /w 20 335 230 DATA 230 /x 20 336 270 DATA 270 tt 20 337 310 DATA 310 /z 20 340 174 DATA 174 /l 20 341 074 DATA 74 /2 20 342 034 DATA 34 /3 20 343 014 DATA 14 /4 20 344 004 DATA 4 /5 20 345 204 DATA 204 /6 20 346 304 DATA 304 /7 20 347 344 DATA 344 /8 20 350 364 DATA 364 /9 20 351 374 DATA 374 /O 20 352 206 DATA 206 /- 20 353 126 DATA 126 /. 'JO 354 316 DATA 316 /, 20 355 062 DATA 62 /? 20 356 224 DATA 224 /(SLASH) 20 357 342 DATA 342 /: 20 360 266 DATA 266 /( 20 361 266 DATA 266 /) 20 362 172 DATA 172 /' 20 363 112 DATA 112 /■ 20 364 124 DATA 124 /END DF MESSAGE $8.95 TTLData Book @ $3.95 .Supplement to TTL Data Book (s> $1 .95 .Linear and Interface Circuits @ $3.95 .Semiconductor Memory Data $2.95 .Transistor and Diode Data Book (§> $4.95 .Power Semiconductor Handbook @ $3.95 .Understanding Solid State Electronics @ $2.95 .Optoelectronics Data Book $2.95 Please add 75 cents for postage and handling. Please allow six weeks for delivery. Send to: Name Address City State Zip EITE n Check enclosed □ Bill MC # □ Bill BA # .Exp. Date. .Exp. Date. PETERBOROUGH, NH 03458 Signature J 22 167 106 227 022 22 172 106 230 023 22 175 056 024 22 177 066 305 22 201 250 22 202 207 22 203 053 204 106 046 021 22 207 347 22 210 106 052 021 22 213 106 014 021 22 216 204 22 217 007 LHI LLI XRA ADM RTZ CAL LEM CAL ADE RET KYBD /KEYBOARD HAPPY? OTPUT /OVERLAY THE CODE OUTPUT KYFIFO" /POINT AT KEYBOARD STACK KYFIFO /CLEAR THE A REG /CHAR COUNT TO A REG /IF EMPTY. RETURN A REG=0 INCLH /POINT AT CHAR /GET CHAR TO E REG TEMP DCRLH /POINT AT KEYBOARD FIFO POP /OUT OF FIFO. RETURNS A = /CHAR TO A REG AND FLGS /RETURN WITH A REG=CHAR /SUBROUTINE TO WAIT FOR THE TBMT FLAG /GET TBMT FLAG 22 220 103 UAITMTt STATU! 22 221 044 020 NDI 20 22 223 150 220 022 JTZ UAITMT 22 226 007 RET 22 227 103 230 044 040 22 232 053 22 233 101 22 234 044 177 22 236 074 003 22 240 110 267 022 22 243 250 22 244 131 22 245 106 220 022 22 250 006 136 22 252 121 22 253 106 220 022 22 256 006 103 22 260 121 22 261 106 220 022 22 264 104 140 020 22 267 056 024 22 271 066 305 22 273 310 22 274 026 377 22 276 106 367 020 22 301 112 22 304 056 025 306 066 304 22 310 026 060 22 312 106 367 020 22 315 007 22 316 103 22 317 044 020 22 321 053 22 322 056 024 22 324 066 276 22 326 250 22 327 207 22 330 110 347 022 22 333 006 015 22 335 121 22 336 106 /OK* HAVE TBMT /KEYBOARD HANDLER SUBROUTINE STATUS /GET THE SERIAL LINE STATUS NDI 40 /MASK RTZ /NEXT TASK /PUT KEYBOARD CHARACTER IN KYBD FIFO READ /GET CHAR FORM KEYBOARD TO A REG NDI 177 /GET RID OF ASCII PARITY BIT CPI JFZ ETX /CONTROL C NETX /NO XRA OUTPUT CAL UAITMT /SEND OUT /YES. CLEAR OUTPUT PRINT CAL LHI LLI UAITMT /WAIT FOR TBMT UAITMT /UAIT FOR TBMT STRT1 /GO RESTART FROM ALMOST ZERO KYFIFO" /POINT AT KYFIFO KYFIFO /CHAR TO B REG BUFSKY /BUFFER SIZE TO C REG ENTPAK /PUT CHAR IN BUFFER UHTJOP /IF OVERFLOW. TELL THE USER /FALL THROUGH AND RETURN IN NEX1 ROUTINE /PUT CHAR IN PRINTER F- IKO FROM B REG /RETURNS WITH A REG =0 IF NO ERROR) =ERCHAR IF ERROR LHI LLI LCI CAL PNFIFO" /POINT AT PNFIFO PNFIFO BUFSPN /BUFFER SIZE TO C REG ENTPAK /PUT CHAR IN FIFO /PRINTER HANDLER SUBROUTINE TASK STATUS NDI 20 RTZ LHI TUIDTH 1 LLI TUIDTH XRA ADM JFZ PRT2 /GET THE PRINTER STATUS /MASK FOR TBMT /IF BUSY. TRY SOMETHING ELSE /FIND PRINT POSITION /CLEAR THE A RED /COUNT TO FLGS AND A REG /NO LINE OVERFLOW /LINE OVERFLOU. FIX JT 22 343 22 344 22 346 22 347 22 353 22 354 22 355 22 356 22 361 22 362 22 364 22 366 22 371 22 373 22 375 22 376 22 377 23 000 23 001 23 003 23 006 23 010 23 013 23 015 23 020 23 022 23 027 23 030 23 031 23 033 23 034 23 036 23 037 006 012 121 076 110 007 056 025 066 304 250 207 053 106 046 021 347 066 304 056 025 106 014 021 056 024 066 276 317 Oil 371 304 074 012 150 031 023 074 015 150 031 023 074 177 150 034 023 074 175 110 027 023 006 044 121 007 076 000 007 006 134 121 007 PRINT LMI RET LHI LLI WIDTH /RESET PRINT POSITION COUNT PNFIFO" /POINT AT CHAR COUNT PNFIFO XRA ADM RTZ /CLEAR THE A REG /CHAR COUNT TO A REG AND FLGS /NOTHING TO PRINT. NEXT TASK /IF HERE THERE IS PRINTING TO BE HONE!!!!!!! /POINT AT CHAR TO PRINT AND PRINT IT CAL INCLH NXTPNT. LEM /CHAR TO E REG TEMP /NOW UPDATE THE CHAR COUNT LLI PNFIFO /POINT AT CHAR COUNT LHI CAL LHI LLI LBM DCB LMB LAE CPI CPI JTZ CPI JTZ CFI JFZ PNT1. PRINT RET INCRLF. LMI RET DEL. LAI FRINT RET PNFIFO" POP /RIPPLE THE FIFO TUIDTH" /UPDATE PRINT POSITION TUIDTH /COUNT TO B /-I /BACK TO MEMORY /CHAR BACK TO A REG LF /IS IT A LF"' INCRLF /YES. INSERT A CRLF CR /IS IT A CR"? INCRLF /YES. INSERT A CRLF DELETE /IS IT A DELETE? DEL /YES. INSERT A BACKSLASH ESC PNT1 /IS IT AN ESC /NO ESCSYM /YES. SUBSTITUTE A PRINTABLE CHAR /PRINT THE CHAR /DONE. PRINTED A CHAR /SET FOR CRLF NEXT DELSYM /SUBSTITUTE A PRINTABLE CHARACTER /END TO THE PRINTER TASK PRINT CAL UAITMT /UAIT FOR TBMT 23 040 056 020 XLATER. LHI 23 042 066 225 LLI 23 044 277 THISIT. CPM 23 045 150 074 023 JTZ 23 050 106 046 021 CAL 23 053 310 LBA 23 054 006 020 LAI 23 056 275 CPH 23 057 140 122 023 JTC 23 062 006 305 LAI 23 064 276 CPL 23 065 140 122 023 JTC /IF 23 070 301 LAB 23 071 104 044 023 JMP 23 074 006 306 CONVT. LAI 23 076 024 225 5UI 23 100 100 104 023 JFC 23 103 051 DCH 23 104 206 OKI. ADL 23 105 100 HI 023 JFC 23 110 050 INH 23 111 360 0K2. LLA 23 112 006 020 LAI 23 114 034 020 SBI 23 116 205 ADH 23 117 350 LHA 23 120 307 LAM 23 121 007 RET 23 122 006 200 NTFUND. LAI 23 124 007 RET /THIS SUBROUTINE TRANSLATES A REG TO OUTPUT MODE /COMPUTE THE DISPLACEMENT IN ASCTAB ASCTAB" /POINT AT ASCTAB CONVT /IS THIS THE CHAR? /GO CONVERT THE CHAR INCLH /TRY NEXT CHAR /SAVE THE CHAR IN B REG TEMPORARILY ASCEND" /GET HIGH LIMIT TO A FOR COMPARE NTFUND /PAST END OF TABLE"-' /PAST END OF TABLE AND NO MATCH ASCEND /OET LOU LIMIT TO A FOR COMPARE /PAST END OF TABLE? NTFUND /PAST END OF TABLE AND NO MATCH /IF HERE. STILL IN TABLE. TRY CONTENTS AGAIN. /RETURN CHAR TO A REG THISIT /LOOP FDR NEXT TABLE ENTRY CHECK MORTAB /COMPUTE REL DISPLACEMENT LOU ASCTAB OKI /HANDLE THE BORROW /ADD IN THE LOU POINTER /HANDLE THE CARRY /L IS NOW POINTING IN THE OUTPUT TABLE /COMPUTE RELATIVE DISPLACEMENT HIGH /ADD IN THE HIGH POINTER /H NOU POINTS IN THE OUTPUT TABLE /REPLACEMENT CHAR TO A REG /CODE IN A REG RETURN /CHAR NOT FDUND LOAD OUT A 200 /ERROR RETURN 64 THE POLY 88 MICROCOMPUTER A Complete Microcomputer System with Keyboard Input and Video Output The Hardware: The heart of the POLY 88 microcomputer, the CPU circuit card, features an 8080A central processor, 512-byte RAM, space for 3K of PROM, vectored interrupt and real time clock, a dual serial port with software-selectable baud rate, and single-step logic that allows the processor to execute one instruction at a time. The POLY 88 also includes our video terminal interface circuit card, which is both a video display device and an input port for a keyboard. Sixteen lines of up to 64 characters may be displayed on a standard TV monitor or modified receiver. In addition to the 128 ASCII characters which are displayed in an ftufnjj* easy-to-read 7x9 font, there are 64 graphic characters available for plotting on a 48 x 128 contiguous grid. These two circuit cards fit into a compact "Altair- compatible" chassis with room for up to five cards. A 6 amp power supply is built right on the mother board. The front panel consists of just two switches, on/off and reset; the monitor software with video screen and keyboard eliminates the need for a hardware front panel. As your system grows, you can plug chassis together for easy expansion. (The expansion connector also eliminates the need for an extender card.) Cassette, RS-232, and current loop interfaces are available which connect via ribbon cable to the CPU board and mount on the backpanel. The Software: Supplied with the POLY 88 microcomputer is a 1024-byte monitor on ROM. The program is there when the power is turned on, so you don't need to key in a loader. The monitor is designed to use a keyboard entry and TV display, with a casstte or paper tape as the storage medium. With the monitor you can: load data into memory in hex, display memory in hex, dump or read data from a storage device, and execute program one step at a time, displaying the contents of each of the 8080 registers as well as the values in memory at the address of each of the registers. All of these functions A r B c 3BC3 0DF0 (BC) C3 3B (DC) 80 21 00 00 (SP) 8D 21 (PC) 00 00 .C08V 0C00 00 00 0C88 78 01 0C10 47 36 0C18 A5 C4 0C20 38 0C 0C28 IF DA 0C30 48 0C • D E H L 0CFF 0C80 F0 0D FF 00 88 75 00 00 00 00 88 75 00 41 00 00 00 41 00 20 CD 08 19 36 25 0C 3E C3 08 0C 32 0C 01 01 FE FF SP 0CFF 0C01 0C 80 BC 23 7C FE 00 00 00 23 7C FE 06 80 78 00 06 80 4D 0C 00 8E 3E 20 03 A4 CC 78 07 3F 02 00 C3 C3 48 0C are available the instant you turn on the power. Future software available with this system will include BASIC, an assembler, and games. Prices: Basic kit including chassis, CPU and video cards — $595, $795 assembled. Cassette option — $90 kit and $125 assembled. 8K of RAM — $300 in kit form or $375 assembled. We also sell the video and other "Altair-compatible" circuit cards separately. Dealers: This system sells itself. All prices and specifications subject to change without notice. Prices are USA only. California residents add 6% sales tax. Prepaid orders shipped postpaid. BankAmericard and MasterCharge accepted | 737 S. Kellogg, Goleta, CA 93017 (805) 967-2351~[ □ Please send more information □ Order and check enclosed I Name I Address BankAmericard Master Charge _ L .J PolyMorphic Systems 23 125 074 377 23 127 022 23 130 100 127 023 23 133 074 000 23 135 110 143 023 23 140 006 134 23 142 007 23 143 056 020 23 145 066 306 23 147 277 23 150 150 177 023 23 153 106 046 021 23 156 310 23 157 006 020 23 161 275 23 162 140 023 23 165 006 366 23 167 276 23 170 140 /THIS SUBROUTINE TRANSLATES A REG TO PRINT MODE XLATt CPI 377 /SET C FLG (GUARD BIT) RAL JFE /ROTATE /IF NO LEFT GUARD. LOOP /IF A REG CONTAINS A 000. ERROR CHAR WAS SEEN, CPI /SET FLGS /NOT FRROR. TRANSLATE DELSYM /SET UP FOR DELETE SYMBOL RET LHI CPM JTZ LBA LAI CPH jrc /EXIT MORTAB" /POINT AT MORTAB /IS THIS THE CHAR? MCONVT /YES. GO CONVERT I HE CHAR INCLH /TRY NEXT CHAR /SAVE CHAR IN B REG TEMP MOREND" /GET HIGH LIMIT TO A FOR COMPARE /PAST END OF TABLE? NTFND /YES. UITH NO MATCH MOREND /GET LOU LIMIT TO A FOR COMPARE CPL /PAST END OF TABLF''' JTC NTFND /YES. NO MATCH /IF HERE. STILI 23 173 301 LAB 23 174 104 147 023 JMP THIS 23 177 006 MCONVT. LAI ASCTAB 23 201 024 306 SUI MORTAB 23 203 140 207 023 JTC MOM 23 206 051 DCH 23 207 206 M0K1. ADL 23 210 100 214 023 JFC H0K2 23 213 050 INH 23 214 360 HQK2. LLA 23 215 006 020 LAI ASCTAB' 23 217 034 020 SBI MORTAB' 23 221 205 ADH 23 222 350 LHA 23 223 307 LAM 23 224 007 RET 23 225 006 040 NTFND. LAI BLANK 23 227 007 RET IN TABLE. TRY CONTFNTS AGAIN /RETURN CHAR TO A REG /LOOP FOR NEXT TABLE ENTRY CHECK /COMPUTE REL DISPLACEMENT LOW /HANDLE THE BORROU /ADD IN THE LOU POINTER /HANDLE THE CARRY /L IS NOU POINTING IN OUTPUT TABLE /COMPUTE RELATIVE DISPLACEMENT HIGH /ADD IN THE HIGH POINTER /H NOU POINTS IN THE OUTPUT /REPLACEMENT CHAR TO A REG /ASCII CODE IN A REG RETURN /CHAR NOT FOUND t LOAD OUT A 23 230 056 025 OTPUT. LHI 23 232 066 364 LLI 23 234 250 XRA 23 235 207 ADH 23 236 053 RTZ 23 237 106 046 021 CAL 23 242 307 LAM 23 243 074 177 CPI 23 245 110 264 023 JFZ 23 250 036 007 LDI 23 252 106 120 021 OTERR. CAL 23 255 031 DCS 23 256 110 252 023 JFZ 23 261 104 342 023 JMP 23 264 106 040 023 0TPUT1 . CAL 23 267 330 LDA 23 270 074 200 CPI 23 272 no 311 023 JFZ /IF 23 275 036 006 LDI 23 277 106 061 021 SPACE. CAL 23 302 031 DCD 23 303 110 277 023 JFZ 23 306 104 342 023 JMP 23 311 074 200 GOOPCH. CPI /ERROR RETURN /SUBROUTINE TASK TO OUTPUT CODE OTFIFO- /POINT AT STACK OTFIFO /CLEAR THE A REG /CHAR COUNT TO A AND FLGS /NEXT TASK. IF NOTHING TO DO INCLH /POINT AT THE DATA /CHARACTER TO A REG DELETE /ERROR CHARACTER? 0TPUT1 /NO. GO TRANSLATE 7 /YES. DO 8 DOTS DOT /l DOT /-l THE COUNT OTERR /NOT DONE.... DO IT AGAIN OUTEND /DONE. POP AND EXIT XLATER /TRANSLATE /SAVE THE CHAR IN D REG 200 /IS IT A BAD CHAR (OR A SPACE)? GQODCH /CHAR OK. SO DO IT UP RIGHT /UAIT ONE UNIT /DECREMENT THE UNIT COUNTER SFACE /LOOP UNTIL DONE /IF A=200 THEN DONE 3 313 150 342 023 JTZ 3 316 100 327 023 JFC '3 321 106 120 021 CAL !3 324 104 332 023 JMP !3 327 106 126 021 DKH. CAL 13 332 303 OTLOOP. LAD !3 333 044 177 NDI !3 335 002 RLC '3 336 330 LDA !3 337 104 311 023 JMP '3 342 106 061 021 OUTEND. CAL '3 345 106 061 021 CAL /SE !3 350 066 364 LLI !3 352 056 025 LHI !3 354 106 014 021 CAL !3 357 007 RET OUTEND /DONE! 23 360 23 362 23 364 23 365 23 366 23 367 23 372 23 373 24 001 24 002 24 007 24 Oil 24 013 24 014 24 024 24 025 24 027 24 031 24 033 /DOT OR DASH? /YES A DOTf SO KEY OUT A DOT OTLOOP /NEXT SYMBOL /MUST BE A DASH, SO KEY A DASH /GET THE CHAR BACK TO THE A REG 177 /THROW OUT THE USED BIT /ROTATE IN AN UNUSED BIT /SAVE THE NEU IMAGE IN D GOODCH /LOOP FOR OTHER SYMBOLS /INTER LETTER SPACE SET UP TO POP THE STACK OTFIFO /POINT AT STACK OTFIFO" POP /POP THE STACK 056 024 066 305 053 106 046 021 347 106 052 021 106 014 021 304 074 175 150 025 024 056 025 066 364 310 026 060 106 367 020 112 305 021 007 056 024 066 275 076 001 007 /NEXT TASK /END OF THE OUTPUT ENCODED DRIVE TASK SUBROUTINE /KEYBOARD DECODER FOR NON COMMAND MODE IDLE. LHI KYFIFO" /POINT AT CHAR COUNT /CLEAR THE A REG /CHAR COUNT TO A REG /BUFFER EMPTY. TRY SOMETHING ELSE /POINT AT CHAR /SAVE CHAR IN E REG TEMP /POINT AT START OF BUFFER LLI KYFIFO XRA ADM RTZ CAL INCLH LEH CAL DCRLH CPI ESC JTZ IDLE1 LHI OTFIFO' LLI OTFIFO LBA LCI BUFOUT CAL ENTPAK /POP THE CHAR OFF THE BUFFER /OUTPUT IN CODE /SET UP FOR ENTPAK /DATA IN B REG /SIZE IN C REG /BUFFER FULLf TELL USER /DONE /SET FOR CDMMAND MODE RET IDLE1. LHI CMMND" LLI CHMND LMI 1 RET /SUBROUTINE TO SERVICE MORSE CODE INPUT /GET CODE INPUT LINE /UE USE THE LSB 24 034 105 INPEND. SENSE 24 035 044 001 NDI 24 037 013 RFZ 24 040 056 024 LHI 24 042 066 304 LLI 24 044 076 001 LMI 24 046 056 INTIMEi LHI 024 24 050 066 303 LLI 24 052 076 000 LHI 24 054 106 INSENS. CAL 107 021 24 057 056 024 LHI 24 061 066 303 LLI 24 063 317 LBM 24 064 010 INS 24 065 371 LMB 24 066 105 SENSE 24 067 044 001 NDI 24 071 150 054 024 JTZ /IF Hi 24 074 046 000 LEI /NOTHING PENDING. EXIT INCHAR" /POINT AT HOLDING REG TIMER" TIMER TIMER- TIMER /SET UP TO SHIFT IN MORSE /POINT AT TIMER REG /INITIALIZE FOR TIME=0 /UAIT FOR PART OF A BAUD (1/B) /UPDATE TIMER /+1 /TIMER+1 /KEY DOWN? INSENS /UAIT FOR KEY UP 66 MERLIN THE INTELLIGENT VIDEO INTERFACE HARDWARE SPECS. * Altair/IMSAI Plug-in Compatible * 40 Character by 20 line ASCI I Display Format * 5 by 7 font, 64 Character Generator ROM Dual Resolution Graphics: 100 V by 80 Ho/- 160 H * Mixed ASCII/Graphics Mode * Program Control of: Cursor: On/Off Control Characters: Inverted/Blanked Carriage Returns: Displayed/Blanked FIXED or FREE (Memory Saver) Format Video: Black on White or Reversed ASCII, Graphics or Mixed Mode * Plug-in Keyboard Port * DMA makes MERLIN the fastest display available — over 48 K characters per second * Sockets and Decoding for on-board Memory: Two 2708 1 K X 8 EPROMs, or Two 2 K X 8 Mask ROMs, and One 128 X 8 Scratch Pad RAM FIRMWARE SPECS. MERLIN'S BASIC INTELLIGENCE (MBI) ROM Contains: Monitor Functions Editing Functions — Memory Fill with HEX value — Winking Keyboard Cursor — HEX Memory Dump — Cursor up, dwn, rt, It, & Home — ASCII Text Input — Insert and Replace Modes — HEX Memory Input or Modify — Delete Character — Set Display Format — Delete to end-of-memory — Examine/Modify CPU registers — Four Slave Cursor Functions — Copy Memory Blocks — Auto or Manual Scroll — Define Display Memory Area — Home/Clear — Four User Defined Functions — Six User Defined Functions Built-in linkage, through on-board RAM, to user defined routines creates an indefinitely expandable system. 1 The MBI ROM also includes decoding and direct linkages to our MEI (MERLIN's EXPANDED INTELLIGENCE) ROM and to our forthcoming Cassette-Modem Interface on-board ROM. The MEI ROM contains additional Monitor/Editor software, plus Graphics subroutines. Besides the direct Monitor and Editor commands, the MBI ROM contains many general purpose subroutines including general purpose, selectable I/O drivers and KYB and Display drivers. PRICING SPECS MERLIN: kit containing PC boards, IC sockets, User Manual and all parts except memory $249.00 MBI: MERLIN'S BASIC INTELLIGENCE - 128 X 8 RAM and 2 K X 8 mask ROM containing Monitor/Editor software . . .$3 4.95 MEI: MERLIN's EXPANDED INTELLIGENCE - 2 K X 8 mask ROM with more Monitor/Editor functions and Graphics subroutines $ 34.95 MERLIN User Manual: over 100 pages of detailed hardware and software documentation $ 8.00 Special Offer: All prepaid MERLIN orders received before 1 November 1976 will receive the MBI ROM FREE. All prices subject to change without notice. Mass. Residents please add 5% sales tax. Dealer inquiries invited. MimTerm Associates Box 268, Bedford, Mass. 01730 24 076 301 24 077 074 020 24 101 100 131 024 24 104 074 006 24 106 100 156 024 24 111 056 024 24 113 066 302 24 115 307 24 116 074 LAB CPI /TIMER TD A REG (B** OF BAUD) INDASH /IF DASH. SERVICE DASH /SEE IF CLOCK MUCH TOO SLOW FOR DOT CPI 6 /SHOULD BE A 10 IDEAL JFC INPOK /CLOCK IS GOOD ENOUGH LHI BAUDI" /NOT GOOD ENOUGH. FIX WFH CONSTANT LLI BAUDI LAM /UPM TD A CPI 2 /UPM TOO LOU TO TRACK? JTC INPOK /DON'T TRY TO FIX? ALREADY 100 FAST. 310 106 304 022 104 176 024 /SET UP FOR PPAK PPAK /PRINT THE CHARACTER UPTIME /KEEP TIMING THE UP TIME 024 24 123 034 001 24 125 370 24 126 104 24 131 24 133 24 135 24 136 24 143 24 144 24 153 24 154 24 156 24 160 24 162 24 163 24 164 24 166 24 167 24 170 24 172 24 174 24 176 24 201 24 202 24 211 24 213 24 214 24 215 24 216 24 217 24 221 24 234 24 235 24 242 24 244 24 247 24 251 24 254 24 256 24 260 24 261 056 024 066 302 301 074 034 140 154 024 307 074 376 100 154 024 004 001 370 046 001 056 024 066 304 307 022 044 376 264 370 056 024 066 303 076 000 106 107 021 105 044 001 150 046 024 056 024 066 303 317 010 371 301 074 377 110 235 024 016 012 106 304 022 106 304 022 007 074 060 110 247 024 006 001 104 263 024 074 024 110 176 024 056 024 066 304 307 076 001 106 125 023 /-l /BAUDI-1 /IF HERE* SYMBOL IS DASH. UPDATE BAUDI FOR TRACKING INDASH. LHI BAUDI" /POINT AT INPUT UPM LAM /YES CPI 376 /TIMER REALLY TOO TOO SLOW? INPOK. LHI LLI LAM RAL NDI ORE LMA OKDASH /YES. BAIL OUT! /BAUDI+1 1 /SET E=l FDR DASH INCHAR" /POINT AT CHAR HOLDING REG INCHAR /GET PARTIAL CHAR TO A REG /SHIFT UP ONE FIT 376 /JUNK THE OLD CARRY BIT /BRING IN NEU SYMBOL FROM E REG /NEU PARTIAL CHAR TO INCHAR /TIME THE INTERSPACE TO FIND UHAT TYPE IT IS. LHI TIMER" /RESET THE TIMER LLI TIMER LMI UPTIME. CAL TICKI SENSE NDI /TIMER RESET /DELAY 1/a OF A BAUD TIME /GET THE KEY STATUS JTZ INTIME /KEY DQUN. GET NEXT SYMBOL LHI TIMER" /UPDATE THE TIME LLI TIMER LBM INB LMB LAB CPI 377 /+1 /TIMER+1 /GET TIMER TD A FOR COMPARE /END OF MESSAGE? JFZ LBI CAL RET NOTEOM. CPI LAI JMF ENDLET. CPI JFZ LHI LLI NOTEOH /KEEP LOOPING. /END OF MESSAGE. CR-LF-CR-LF /EXIT TO MAINLINE 60 /END OF WORD? ENDLET /NO. 1 /YES. OUTPUT A SPACE MPAK /DO IT OUT RIGHT. 24 /END DF LETTER? UPTIME /NO. KEEP TIMING THE UP TIME INCHAR" /POINT AT HOLDING REG INCHAR /MORSE FROM HOLDING REG TO A REG 1 /RESET THE HOLDING REG FOR NEXT CHAR XLAT /ASCII TO A EGUIV OF HORSE /***ANYTHING BEFORE THIS POINT CAN BE IN PROM*** /***EVERYTHING AFTER THIS POINT MUST BE IN RAM*** /0=NORMAL MODE. OTHERUISE COMMAND MODE /UHEN BYTE IS ZERO. GENERATE A CR/LF /TEMP CHARACTER COUNT FOR MESSAGE DUMP /BUBMODE FOR DMPSUB 0=PRINT 1=SEND /UPM CONSTANT (SEE HEADING ON PROGRAM) /INPUT UPM VALUE (GETS MODIFIED) /TIME BAUD *FJ (10 OCTAL) COUNTER /INPUT CHAR HOLDING REG 275 000 CMMND. DATA 276 000 TUIDTH. DATA 277 000 MSSCNT. DATA 300 000 SOH. DATA 301 000 BAUD. DATA 302 000 BAUDI . DATA 303 000 TIMER. DATA 304 000 TNCHAR. DATA KYFIFD. HLT /INPUT BUFFER *KYFIFO+BUFSKY PNFIPD. HLT /PRINTER BUFFER *PNFIFD+BUFSPN OTFIFO. HLT /OUTPUT BUFFER FOR CODE *OTFIFO+BUFDUT MSSGBF. HLT /MESSAGE BUFFER ASCEND 20 305 ASCTAB 20 225 BAUD 24 301 BAUDI 24 302 BLANK 00 040 BUFOUT 00 060 BUFSKY 00 377 BUFSPN 00 060 C 00 103 CLRMD 22 153 CMMND 24 275 CHHNDR 21 150 CONVT 23 074 CR 00 015 DASH 21 126 DCRLH 21 052 DEL 23 034 DELETE 00 177 DELSYM 00 134 DMPSUB 21 333 DOT 21 120 DSH 23 327 ENDLET 24 247 ENTPAK 20 367 ERCHAR 00 007 ERROFL 21 on ESC 0.0 173 ESCSYM 00 044 ETX 00 003 FINDOT 21 137 GOODCH 23 311 IDLE 23 360 IDLE1 24 025 INCHAR 24 304 INCLH 21 046 INCRLF 23 031 INDASH 24 131 INPEND 24 034 INPOK 24 156 INSENS 24 054 INTIME 24 046 KYBD 22 227 KYFIFO 24 305 L 00 114 LDNXT 21 224 LDNXT1 21 232 LDNXT2 21 272 LF 00 012 MCONVT 23 177 M0K1 23 207 M0K2 23 214 MOREND 20 366 HORTAB 20 306 MPAK 24 263 MSQSZ 00 377 MSSCNT 24 277 MSSGBF 26 044 NETX 22 267 NDTEOM 24 235 NTFND 23 225 NTFUND 23 122 NXTPNT 22 361 DK 21 006 OKDASH 24 154 OKI 23 104 0K2 23 111 OTERR 23 252 OTFIFO 25 364 OTLOOP 23 332 OTPUT 23 230 0TPUT1 23 264 OUTEND 23 342 P 00 120 PNFIFO 25 304 PNTR 22 316 PNT1 23 027 POP 21 014 POPLOP 21 023 POPY 21 036 PPAK 22 304 PRT 21 317 PRT1 21 341 PRT2 22 347 PR2 22 004 PR3 22 035 PR4 21 372 QUEST 00 077 RESTRT 20 172 S 00 123 SNDNX 22 060 SOH 24 300 S0H1 22 024 SPACE 23 277 STRT 20 120 STRT1 20 140 T 00 124 TEST 22 074 TEST1 22 120 THIS 23 147 THISIT 23 044 TICK 21 061 TICKI 21 107 TIMER 24 303 TUIDTH 24 276 UNPAK 22 164 UPARRO 00 136 UPTIME 24 176 U 00 127 UAITMT 22 220 UAIT1 21 070 UAIT2 21 067 UHOOP 21 305 UIDTH 00 110 UPH 22 133 XLAT 23 125 XLATER 23 040 XLAT1 23 143 68 YourAltair, IMSAI, or Poly 88 will love our Frugal Floppy! It makes program development and loading 100 times faster! $1195 plus interface card iCOM disk drive Cable to your Microprocessor The affordable floppy You've made a big investment in your computer. Here's how to make that investment really pay off. Order iCOM's low cost Frugal Floppy® Disk Subsystem. Just $1195 for the disk drive, field proven controller and cables. And you can order our Altair, IMSAI, and Polymorphic bus compatible plug-in interface, with on-board RAM, in kit form or fully assembled. What it will do for you With our Frugal Floppy,® you can load and store programs hundreds of times faster than with paper tape, cassette, or teletype. Example — 8K of memory can be loaded in just 7 seconds! Plus, you can store up to 256 programs on a single disk. That's why we say our Frugal Floppy will turn on your computer. And fast! Here's what you get The Frugal Floppy includes: • Disk drive with daisy chain capability • Proven IBM compatible controller • Interface cable to your computer • Controller-to-disk drive cable • All required connectors If you need a power supply and software, we've got that too. FDOS-II software iCOM's famous FDOS-II software is now available for the Altair/IMSAI compatible bus. There's nothing anywhere to compare with our disk based Intel compatible macro assembler and string oriented text editor. With super features, such as named variable length files, auto file create, MICROPERIPHERALS open and close, multiple file merge and delete. Use our software either in your development system or integrate it into your applications package. In either case, it's easy to do. And low cost too. Fast delivery See your iCOM dealer today to find out how our $1195 Floppy can turn on your micro — and fast. If you have any questions, or would like the name of your local dealer, phone us at 213-348-1391. You'll find that when it comes to Microperipherals® iCOM has the answers. We should. We've delivered thousands of systems to date. 6741 Variel Avenue, Canoga Park California 91303 • (213) 348-1391 DEALERS .... FOR COMPLETE INFORMA TION ON HANDLING OUR LINE OF MICROPERIPHERALS PHONE OR WRITE iCOM TODA Y Figure 5: The input circuit used by the author in de- veloping the Morse code interpreter. This circuit works but is not optimal. The operational amplifier saturates if any A C signal is present on the input to the bridge rectifier, so the frequency selectivity of this circuit is virtually non- existent (ie: all stations heard in the pass band of your receiver will be logi- cally "ORed" leading to garbled copy if you oper- ate in a crowded band). 3.2 /8fl TO 500J1 TO MI50I (COMPUTER NPUT) 7404 POWER + 5V ■ 14 6ND * 7 ARCHER 273-1381 OR EQUIVALENT Some Thoughts on Improvements and Adaptations The Morse code interpreter described here has been implemented and used by the author. As in any design, there is room for improvement and expansions of the capacity of the program. Here are some suggestions: • Design a good input filter to pick up audio and output digital (phase locked loop?). See figure 6. • Add multiple message buffers. • Use multiple precision arithmetic to provide a larger message buffer. • Modify the program for RTTY (Replace Morse table with Baudot table, add single byte flag to keep track of FIGS vs LTRS modes). • Wire 6.3 VAC at 60 Hz into the DEC M7346 module and write a real time clock routine to keep track of time of day. For individuals with 8080 processors, or the new Z-80, the source code for this Morse code inter- preter (see listing 2) can be translated on a one to one basis into code for these newer computers. Such code will work without major changes, but will not make optimal use of the expanded instruction sets. INPUT (O TO <3 SINGLE BIT INPUT PORT CODE (ANALOG TONE BURST) m Figure 6: A suggested selective input filter for better performance. This circuit is adapted from the Signetics Catalog, page 6-97. The design equations are shown. The phase lock loop "latches up " when the signal is detected in the filter's band, typically after several tens of cycles. C3 determines the time taken for the filter to detect this condition. The time taken to unlatch after the signal disappears is determined by R2 and C4, with some effects from C3. Text continued from page 56 used since they are all driven in the same sequence). In both of the above cases the keying sense for input and output is a TTL low level for a "key down" condition ("mark") and a TTL high level for a "key up" condition ("space"). This program has been tested on a starter set and has successfully operated in both PROM and programmable memory. When used in programmable memory, it should be noted that a DEC M7344YB (or an extra 1 K of programmable memory over the starter set M7344YA) is the minimum memory requirement. When the program is assembled and programmed into PROM, approximately 4 1/2 EROMs (1702A) are required. Experience to Date The program has been tested in gene- rating Morse code over the speed range of 7.2 wpm to 120 wpm and appears to function properly. The program has been tested in receiving Morse code over the speed range of 7.2 wpm to 96 wpm: up to about 63 wpm the decoding function is fairly acceptable; at 89 wpm the number of erroneous characters is considered to be unacceptable by the author in this particular test. It is the author's opinion that the error rate at the higher code input speeds is probably related to the design of a particular input processing circuit that was used (see figure 5). In general, a phase locked loop, or a similar highly selective decoding scheme, would be useful, particularly to an amateur radio operator working the crowded bands of a field day type event. One such circuit is illustrated in figure 6. This would provide the amateur with a printout of communica- tions in both directions from the station operating. In fact, with sufficient comment being transmitted to and from the stations involved, the printout from a hard copy terminal would provide a log for the field day events." 70 Introducing A Remarkable New Microcomputer: The Astral 2000 You're reading this ad, so you're obviously interested in getting a microcomputer. You're probably also a bit confused by the number of different microcomputer kits around today. So, think about the things you want in a microcomputer. Ease of assembly, quality power supply, well designed cabinet and interconnect scheme, peripheral and memory options for an expanding system. Some Kit! Although we have called the Astral a "kit", it actually arrives over 70% assembled. The power supply, processor board and RAM board are fully assembled, burned in and tested before shipment. There is no complicated wiring harness. In fact, there is no front panel wiring harness at all. The front panel plugs directly into the backplane. Additional circuit boards are inserted through the rear of the chassis directly into the backplane. Complete System The Astral 2000 is shipped with power supply, cabinet, front panel components, mother board, processor board and one 8K RAM board. The processor is 6800-based and operates in serial and in parallel. Both RS-232 and 20mA current loop are provided by a ser- ial I/O socket on the processor. This processor is shipped with our own 16K monitor ROM and has provisions for "cycle-stealing" DMA. The memory board contains 8K of low power, 500ns static RAM and uses less than 1.5A at 5V. Lots Of Options A computer isn't much fun if you can't talk to it. But you can talk to the Astral with the VID-80 video terminal board for only $189.95 unassembled ($245 assembled). The VID-80 has a selectable line length of 64, 72 or 80 characters per line. It displays 16 lines of upper case characters but gives you the option of installing a lower case character ROM as well. We also have someplace for you to put your programs. Our 8K EPROM board ($59.95) is designed for the 5204 and will allow in- system program storage even during power-down. This board is assembled with all components except the EPROMs, however sockets are provided for the memory chips. We've solved program loading, too. The I/O tape interface unit ($49.95) plugs into the I/O socket on the processor board and allows programs to be loaded from any inexpensive, non-digital tape deck. But if tape cassette isn't fast or big enough, a floppy disk with an Astral bus-compatible controller will be available for under $1,000 in the last quarter of 1976. A New And Powerful BASIC A unique and powerful version of BASIC with features never seen before in an 8K version has been designed especially for the Astral system. Astral BASIC contains all the features of competing BASICs and then some; Astral BASIC is also very fast. With the User Selectable Floating Point package, the user chooses the degree of precision from the four choices of 6, 9, 13 or 16 digits. Fewer digits use less memory and is faster, however higher precisions are useful for scientific and mathematic applications. The Astral BASIC'S DO statement is unique; it has never appeared in any other version of BASIC. The DO statement is a simple and flexible way to subroutine without the restrictions of formal subroutines. DOs can be nested, too and —of course — Astral BASIC has all the other standard subroutine procedures as well. The Trace Mode is another feature rarely found in other BASICs. The Trace Mode is used in program debug to list statement line numbers as executed. This feature may be programmed to Trace On only for routines still needing check-out. Pressing the escape key halts the trace and returns control to the terminal. The Astral BASIC string facility permits variable length strings of unlimited length and includes the ability to search for a substring within another larger string, a particlularly useful feature for word processing applications. Powerful program editing capabilities allow loading, listing and saving of programs. Blocks of statements may be deleted or renum- bered. The RENUMBER statement may be used to increment all specified line numbers and it automatically adjusts the numbering of any GO TOs, etc. Another feature never seen before in an 8K version is the pop- ular PRINT USING statement. PRINT USING permits floating "$", "+" and "-" signs as well as floating commas, so numbers such as $1,000,000+ can be printed in the standard accounting format. m&r enterprises P.O. box 61011 . sunn|/rale , California 94088 «St l .---Mi*''***" «»^mS? The Astral 2000 is $995 partially assembled ($1250 fully assembled) plus $14 for shipping and handling ($18 for Canadian orders). Additional 8K RAM boards are $245 each. California residents add 6% sales tax. The Software Package includes Astral Basic on magnetic tape cassette or paper tape, the game of Star trek, complete documentation and a free one year subscription to the Astral Newsletter, all for $35. For more details, send a self-addressed, 8'A by 11 stamped envelope to M&R Enterprises, P.O. Box 61011, Sunnyvale, Ca. 94088. Allow approximately 8 to 12 weeks for delivery. Make a Giant of li 3P+S Input/Output Module Our 3P + S is a simple inexpensive answer to handling a variety of peripheral devices. It has two 8-bit parallel I/O ports, with full handshaking logic. Plus, it has a serial I/O port, with a data rate range from 05 to 9600 Baud. Simultaneously handle a paper tape reader, a keyboard, a TV terminal, a tape punch, and a telephone coupler! Available with premium grade low-profile IC sockets, $149. Owner's Manual, $4.95.* ALS-8 Assembly Language Operating System" Just turn on the switch, and instantly you have the power to write, edit, assemble, de-bug, and run your own programs. The ALS-8 is the most useful software development tool available today Optional firmware includes SIM-1, an interpretive simulator, that simulates programs without running them in real time. Thus, errors encountered during testing do not endanger your entire system. The TXT-2 firmware adds the dimension of text editing. Insert, delete, move entire lines or single characters, and much more! ALS-8 (assembled only), $425. SIM-1, $95.TXT-2, $95. VDM1 Video Display Module If you're setting up just the system you really want, don't fall short by limiting its com- municating ability. The VDM-1 is an ultra- highspeed video output device. Its 16 display lines have 64 characters each, upper and lower case. 1 024 bytes of random access memory are on the card. It scrolls up or down, even to 2000 lines per minute! Any combination of the 1024 cursors can be displayed as black-on-whife or vice versa. Free terminal mode software is included, along with premium grade, low-profile IC sockets. $199. Owner's Manual, $4.95.* 8KRA Static Memory Module We now offer a low-power static memory module, with a full 8192 bytes of memory. It has an exclusive KSET™ address selection DIP switch, so you can conveniently set address boundaries in increments of IK. Our low-power RAM's typically require one- third less power than those commonly used by our competitors. They'll even retain memory for 4-5 hours when powered by two "D" flashlight cells. On-board recharging circuitry and battery connectors make it possible to protect your data against sudden power loss. Each RAM has its own IC socket, too, for easier assembly and repair. $295. Owner's Manual, $4.95* 2KROEPROM Module The 2KRO Read Only Memory will accept up to eight 1702A or 5203 EPROM's (not included), providing 2048 eight-bit words of non-volatile storage for monitor, executive, loader and other programs. Programming services available from your dealer or write us for details. $65. Owner's Manual, $4.95* 4KRA Static Memory Module The 4KRA (4096 bytes) was our first static memory module. It's still very popular, and uses the same low-power static RAM's as the 8KRA. Plus, we've added a DIP switch, and every RAM now has its own premium grade, low profile IC socket. Onboard recharging circuitry (with battery backup) makes if possible to retain memory for 8-10 hours during power failure. $159. Owner's Manual, $4.95.* MB-1 MotherBoaid Our single piece Mother Board for the Altoir 8800 gives you 16-cord capacity in one single installation. Available with 12 (MB-1 2) or 16 (MB-1) slots. $70. (Discontinued; limited to stock on hand.) Wire Wrap Board Do your own wire wrap prototyping with the WWB Wire Wrap Board. Up to 62 16-pin sockets or various combinations of 14, 16, 24 and 40-pin sockets. $40. EXB Extender Board The EXB Extender Board allows accessibility in servicing any 8080-compatible module. $35. *Fully descriptive Owner's Manual available separately. Price refundable with purchase of kit. Mir Minicomputer Whether your minicomputer system is Sol, IMSAl, or Alfair, its reo capabilities depend on what goes inside. Processor Tech- nology Corp. now offers a full line of 8080-compat- ible components. From fine static memories to a unique assem- bly language operating system. We also have a variety of useful software packages, available for little more than copying costs. Kit Prices are shown, and they include the Owner's Manual. Assembled units MB-1 available at slightly higher prices. 3P + S Write Us for further details on all our 8080-compatible products, and for the dealer nearest you. [ffitohpolpgyj 6200-G Hollis Street Emeryville, CA 94608 Build This Mathematical Function Unit Part 2: Software Figure I: Wiring the Mathematical Function Unit to your computer's 10 structure is accomplished by connecting the data input and output lines to appropriate pins of an 8 bit input and an 8 bit output port. For those homebrewing an interface, the 16 interface lines could be provided by a single dual port integrated circuit such as the Motorola PI A design. The software of this article reflects hardware for the input and latched output sides of a single Intel 8080 port. Processor Output Wiring -See Text COMPUTER OUTPUT PORT COMPUTER INPUT PORT Making Connections to the Computer The connections needed to interface the Mathematical Function Unit to an 8 bit microprocessor are summarized in figure 1. In this interface diagram, only the signal wires are shown. A ground connection must also be made. If the wiring is done as shown here, the READY bit (bit 7) on the Mathe- matical Function Unit's output must be continually examined to determine comple- tion of the calculating or data entering tasks. An alternative would be to attach the READY line to the computer's interrupt structure so the computer could be execut- ing code other than the constant examina- tion of the READY bit. This would lead to X Processor Input Wiring X Y ► C, R O P s B STROBE DIRECTION MATHEMATICAL FUNCTION UNIT KEY SELECT READY OVERFLOW DEC. POINT SIGN BCD DIGIT MATHEMATICAL FUNCTION UNIT 74 R Scott Guthrie 1374 Franchere PI Sunnyvale CA 94087 more efficient usage of the microcomputer and overall system, and will only create some fairly easy software changes from the examples shown in this part of the Mathe- matical Function Unit article. In either case, software toggling of the X (strobe) line is required to initiate operations. The operation of the Mathematical Func- tion Unit is governed by signals generated in the controlling computer system's software. The minimum required routines consist of an output procedure, an input procedure, and a short routine to check the status of the ready line, bit 7 of the input interface. The Intellec 8 Mod 80 made by Intel and belonging to the California Polytechnic State University Computer Science Department was used for the program development and all the controlling programs were written in Intel 8080 assembly language code as shown in the listings. Calculator Entry Routine The Mathematical Function Unit load procedure, called CAENTR (for CAIculator ENTeR) passes the code for the required operation to be performed from the micro- computer's main memory to the Mathe- matical Function Unit. The 8080 assembly language symbolic and absolute code for this routine is shown in listing 1, hexadecimal addresses 01 0D to 011 F. The CAENTR routine first saves the contents of the A register with a PUSH PSW instruction. Then it checks the Mathematical Function Unit's ready line, waiting if neces- sary for the unit to enter the ready state. The waiting is accomplished by a reference to the subroutine RDY at address 01 OF. The accumulator is then cleared to zero with an XRA A instruction, and this state is sent to the calculator via the 8080's output port 3, symbolically referenced as POUT. Note that in the Intellec system used for the proto- type, the hardware inverts the state of the data. Thus all references to data from or to the IO ports have a complement operation The purpose of this design project was to develop an economical and reliable method of performing simple arithmetic, trigonometric and logarithmic functions in microcomputer systems. Software routines for floating point arithmetic and transcendental functions involve extensive algorithms and complex programming on contemporary microprocessors (indeed, on any computer). A great deal of valuable memory area is often required even for some of the simpler mathematical routines. This is especially true when using the limited instruction sets of the contemporary 8 bit microprocessors. This makes the hardware approach a desirable alternative due to the powerful software available in some calculator integrated circuits on the market today. In last month's BYTE [page 26], we provided a description of the hardware for a unique Mathematical Function Unit built around the MOS Technology MPS-7 529-1 03 calculator chip. The parallel I O structure of this interface can be used with any system which has 8 bits of parallel output and 8 bits of parallel input capability. In this month's conclusion to the project, software required to control the interface is described, along with a test program to emulate a hand calculator by use of a computer's hard copy or television display terminal. The software is given as developed for an Intellec 8 Mod 80 system, with notes concerning hardware idiosyncracies of that computer. 75 Listing 1: Standard Input/Output Routines. The standard routines CAENTR, CAFTCH, and RDY are presented here in the Intellec 8 Mod 80 assembly language format. The hexadecimal address and object code is listed at the left, with symbolic assembly code at the right. CAENTR moves a command code to the calculator from DIN. CAFTCH reads the current calculator output to DOUT. RDY delays return until the calculator ready state is indicated, thus syncronizing a fast 8 bit central processor with a slow calculator. Prior to using the interface and calculator routines shown in this article, the stack pointer must be set to point to some area of programmable memory which is not in use. -•MATHEMATICAL FUNCTION UNIT J STANDARD INPUT/OUTPUT ROUTINES -'********************************** -"note: all input and output data ;is complemented by hardware and is ; re-complemented oy software for ;this reason. *********************************** ;mfu LOAD PROGRAM (CAENTR) ;PR0GRAM DESCRIPTION: -•PROGRAM TRANSMITS DATA AT LOC 'DIN' ;to *FU INPUT PORT ;2 BYTES OF STACK SPACE USED ;no REGISTERS AFFECTED BY SUBROUTINE 0000 ORG 010EH 010D DIN EQU 010DH 0101 DOUT EQU 0101H 0003 PIN EQU 03 ;port IN 0003 POUT EQU 03 ;port OUT 810E F5 CAENTR: PUSH PSW ;SAVE REG. A 010F CD5201 CALL RDY ;test for ready 01 12 AF XRA A ;ZERO REG. A 0113 2F CMA ; *** SEE NOTE *** 01 14 D30 3 OUT POUT /•TOGGLE MFU 01 16 3A0D0 1 LDA DIN ;get code 0119 F6C0 OR1 0C0H J FORCE ' 1 1XXXXXX' 01 IB 2F CMA ; *** see note *** 01 1C D303 OUT POUT ;send code 01 IE Fl POP PSW ; RESTORE KEG . A 01 IF C9 RET ; RETURN ;mfu retrieve program I IPROGRAM DESCRIPTION: JDIGITS KLSD) THROUGH 12CMSD) SARE LOADED INTO MEMORY STARTING SAT LOC 'DOUT'. THE INFORMATION ilS OF THE FORM ••ROPSBSBB" WHERE: ;r=ready bit, p=decimal point !0=OVERFLOW- S = SIGN- BBBB=bCD DIGIT. i6 BYTES OF STACK USED. tNO REGISTERS AFFECTED BY SUBROUTINE. 0120 F5 CAFTCH: PUSH PSW ;SAVE A & PSW 0121 C5 PUSH B ;save a « c 0122 E5 PUSH H -•SAVE H « L 0123 60C MVI B-0CH ;LOAD 12 IN REG. a 0125 210101 LXI H-DOUT -•LOAD ADDR. OF SAVE AREA 0128 CD520 1 CALL RDY ;test for ready 012B F3 Dl ; DISABLE INTERRUPTS 012C AF XRA A ;ZERO REG. A 012D 2F CMA -• *** SEE NOTE *** 012E D303 OUT POUT -•TOGGLE MFU 130 3ECB MVI A-0CBH -•DISPLAY RESTORE KEY 0132 2F CMA i *** SEE NOTE *** 3133 D303 OUT POUT -•SEND CODE 0135 CD5201 CALL RDY -•TEST FOR READY 0138 AF LOOP1: XRA A ;ZERO REG. A 0139 2F CMA ; *** SEE NOTE *** 13A D303 OUT POUT -•TOGGLE MFU 013C 3E80 MVI A-080H -•SET TOGGLE BIT associated with the transfer to compensate for the inversion. The calculator command code to be sent to the Mathematical Function Unit is passed to the CAENTR routine in memory location DIN. This command code is combined with the bit pattern 11000000 using the ORI operation at address 0119. This forces both the X and Y control bits of the computer output port to be in a high state. The X line high starts the Mathematical Function Unit load sequence, and the Y line in a high state indicates that data is to be loaded into the calculator from the computer's port. The low order bits contain the bit pattern of the calculator key selection taken from table 1 on page 31 of September 1976 BYTE. Finally, the CAENTR routine restores the saved contents of the A register and returns to the calling routine. In using the calculator interface, the procedure is quite simple: Set up a calcu- lator control code from that table in the location DIN (hexadecimal 01 0D in this case) and then CALL CAENTR. One com- mand to the calculator is transferred for each such CAENTR call. Calculator Fetch Routine The Mathematical Function Unit read routine, called CAFTCH (for CAIculator FeTCH) is responsible for controlling the transfer of data from the unit into the computer's memory. This routine transfers all 12 digit posi- tions of the calculator chip's output number into 12 sequential locations of the com- puter's memory starting at location DOUT, shown at location 0101 hexadecimal in listing 1. CAFTCH begins by saving the processor status. Then the subroutine RDY is called to delay until the calculator is ready for data transfer. When the Mathematical Function Unit is ready, return from RDY is followed by disabling of interrupts with the Dl instruc- tion, so that complete transfer of all 12 bytes of calculator display output can occur without interruption. The calculator's "dis- play restore" command [see table 1, page 31, BYTE September 1976] of 0B hexa- decimal is then sent, in the form of the code CB (logical sum of 0B and CO). This insures that the Mathematical Function Unit output will be valid prior to reading the data into 12 bytes of memory. After another CALL RDY wait, the program enters a loop extending from address 0138 hexadecimal to 014A. This loop transfers 12 output digits in sequence into 12 consecutive memory loca- tions starting at the location DOUT. (The initial address was set up by the LXI H at 76 location 0125.) During this loop, the Y control line, bit 6 of the computer output port, is left at a logic level. The X line, bit 7 of the computer output port, is toggled by the instructions at locations 0138 to 01 3F, setting up the next output transfer from the calculation. After waiting for the ready condition, the data is transferred into the computer at location 0144 with an IN PIN instruction, addressing the input port of the computer. The byte is then saved in memo- ry, and the index register provided by the HL pair is incremented. A loop counter in register B is decremented, and if the loop is not completed, reiteration continues. After all 12 digits have thus been transferred, the interrupts are reenabled and the registers are restored prior to return. The format of data recovered from the calculator in this transfer process was given in figure 2a found on page 27 of last month's BYTE. The offsets in memory for each byte of the data format were given in figure 2a. Calculator Ready Routine The subroutine called RDY is the final component of the basic set of interface driver software. This program is found at addresses 01 52 to 01 5A of listing 1 , and is a simple procedure to input from the com- puter input port (symbolically PIN, absolute value 3 in this case), and test the ready bit, bit 7 of the input pattern. If the ready state is indicated, the subroutine returns, other- wise it keeps reiterating. This routine is used by both CAENTR and CAFTCH. If the interrupt structure is being imple- mented, this routine could return control to the operating system, or other programs in memory, allowing them to execute until being interrupted by the ready state of the Mathematical Function Unit. Alignment Procedures The three variable resistors, R5, R6, and R7 adjust the length of the following timing pulses: Listing 1, continued: R5 300 lis R6 50 ms R7 50 ms Set Not-Ready delay Key Pressed delay Key Released delay The use of three short timing loop pro- grams, with the aid of an oscilloscope, allow these delays to be set. The programs are found in listing 2 and assume a 2/us cycle time. Adjustments should be made if your 8080 processor runs at a different speed. The 300 /lis pulse can be set by con- necting the scope probe to pin 13 of IC 1a while executing the 1 ms delay routine, 013E 2F CMA j **» SEE NOTE *** 913F D333 OUT POUT ;send coul 0141 CD520 1 CALL ROY ;TEST FOR REadY 144 DB0 3 IN PIN ;GET CODE 0146 2F CMA i *** SEE NOTE **» 147 77 MOV B,A ;SAVE DIGIT 148 23 I NX H ; I NCR H « L 149 05 DCR a ; DECREMENT tl 14A C23801 JNZ L00P1 ; CHECK FOR DONE 014D FB EI ; ENABLE INTERRUPTS 014E El POP H ;restore h 4 l 14F CI POP a ."RESTORE B * C 1 50 Fl POP PSW ; RESTORE A & PSW 0151 C9 RET ; RETURN .•ready SUBROUTINE ;THIS SUBROUTINE, WHEN CALLED .•RETURNS TO CALLING ROUTINE ONLY ."WHEN MFU IS IN THE READY STATE. 152 DB0 3 RDY: IN PIN ;get MFU INFO 154 2F CMA S *»» SEE NOTE **» 0155 E680 ANI 080H ;get ready oit 157 CA520 1 JZ RDY .•JUMP NOT READY 15A C9 RET J RETURN 0000 END Listing 2: Alignment of the oneshots in this circuit is accomplished using timing loop programs which repeatedly toggle certain aspects of the interface. This listing shows three such timing loops, DIMS, D70MS and D140MS. -•ALIGNMENT ROUTINES tl., 70.. AND 140 MS. DELAY ROUTINES ■•for computer cycle time of 2 us. 0000 0230 CD0B0 4 0203 067C 0205 05 0206 C20502 3209 C30002 020C 3300 CD0B04 30 3 62 3 30 5 GDI 604 0308 C33003 33B 0400 CD0B04 0403 0644 0405 CD1634 0408 C30004 0408 3E7F 343D 2F 043E D303 3410 3EFF 3412 2F 04 13 D303 0415 C9 3416 3C 0417 C2I604 341 A 5 34 IB C2 1634 341 E C9 3330 Li IMS: TL00P: U73MS: Dl 43MS: ORG CALL MVI DCS JNZ J MP ORG CALL MVI CALL J MP i ORG CALL MVI CALL J MP 230H OUTPUT B.7CH a TLOOP DIMS 300H OUTPUT B.35 DcLAY D70MS 400H OUTPUT B.68 DELAY U140MS OUTPUT: ,- SUBROUTINES A.07FH MVI CMA OUT MVI CMA OUT RET INS JNZ DCR JNZ RET END 33 A.0FFH 03 A uELAY B UELaY ! STARTING AddRlSS FOR 1 MS ! OUTPUT STARTING StQ. !SET FOR 1 MS. DELAY .'STARTING ADDRESS FOR 70 MS ;SET FOR 7 MS. uELAY i RcPEaT J STARTING AuDRtSS F Oil 140 MS ;SET FOR 140 MS. DELAY .-REPEAT .'SET X LINE LOW ; INVERT FOR OUTPUT J SET X LINc HIGH ; INVERT FGK OUTPUT ; RETURN »uELAY» »L0DP* ; RETURN DIMS. The scope's time base should be set at 50 /us per division and R5 adjusted until the pulse length is six divisions long. This pulse length is not at all critical and does not require exact setting. The key pressed delay must be approx- 77 Listing 3: CALCULA, a Calculator Simulator. CALCULA demonstrates the use of the Mathematical Function Unit in an application program. The purpose of CALCULA is to drive the calculator interface as a printing calculator, interpreting ASCII codes from a keyboard as the key strokes on a typical hand calculator. The output of the calculator is displayed after every return operation. The original CALCULA was run with a Teletype for input and output. jmfu-calculator simulator ;tty keydoard simulates ;a hand held calculator. ;note: all input and output data ;is complemented dy hardware and is ;re-complementtd dy software for ;this reason. 0000 ORG 200H ; STARTING ADDRESS 010D DIN EQU 010DH 0101 DOUT EQU 0101H 0120 CAFTCH EQU 0120H 010E CAENTR EQU 010EH 0200 21B302 LXI H,HEAD ;H,L -> HEADING 0203 061C MVI B, 28 .•HEADING COUNT 0205 4E PHEAD: MOV CM ;move char to c 0206 CDA702 CALL CO iPRINT CHARACTER 0209 23 1 NX H ;iNCR. MEM. PTR. 020A 05 DCR a J DEC COUNT 020B C20 502 JNZ PHEAD ;JUMP NOT DONE 020E CD9C02 LOOP: CALL CI ;get INPUT CODE 021 1 E67F ANI 7FH ;REMOVE 8TH dIT 0213 FE0D CPI 0DH ."COMPARE WITH RETURN 0215 C27102 JNZ CODEIN ;JUMP IF NOT RETURN 0218 CD2001 CALL CAFTCH ;get data from mfu 021B 4F MOV CA ;move return to c 021C CDA702 CALL CO ; PRINT RETURN 021F 0E0A MVI C0AH ;move linefeed to c 0221 CDA702 CALL CO .•PRINT LINEFEED 0224 160C MVI D, 12 JUIGIT COUNT TO D 0226 210101 LXI H,DOUT ;h,l -> DOUT 0229 7E DLOOP: MOV A,M ;C REG. A 022A E67F ANI 07 FH ; FORCE "0XXXXXXX' 022C 77 MOV t*»A ; REPLACE # IN MEMORY ; CHECK FOR OVERFLOW INDICATOR 022D E6BF ANI 0BFH ;force "xaxxxxxx" 022F BE CMP M ;SAME7 0230 CA3D02 JZ C0NT1 ;YES = JUMP, ELSE, 0233 0E2A MVI C2AH ;"»" -> REG. C 0235 CDA702 CALL CO ;print "*" 0238 1601 MVI D,01H Jl -> D CNO MORE PRINT) 023A C35F02 J MP CONT JdACK TO ROUTINE ; CHECK FOR A Nfc GATIVE SIGN IN CODr. 023D E6EF CONT1 : ANI ■ihlW ;fohce •XXX0XXXX 1 023F BE CMP M ;same? 02410 CA4B02 JZ' C0NT2 ;yes ■ jump, llsl. 0243 0E2D MVI C2DH ;•■-•• -> REG. C 0245 CDA702 CALL CO ;print ■■-•• 0248 C35302 J MP ;print DECPT # FOUND ;go to decimal pt. routine 024B E60F C0NT2: ANI 0FH ; strip off d. p. 024D C630 ADI 030H -•convert TO ASCII 024F 4F MOV CA ;cca) -> c 02 50 CDA702 CALL CO ; PRINT NUMdER 0253 7E DECPT: MOV A,M ;c a 0254 E6DF ANI 0DFH ;force 'XX0XXXXX 1 0256 BE CMP M ; same? 0257 CASF02 JZ CONT ,'YES = JUMP, ELSE, 025A 0E2E MVI C , 02 EH ;••.•■ -> REG. c 025C CDA702 CALL CO ,-PRINT "." 025F 23 CONT: I NX H ,• INCREMENT H,L 0260 15 DCR D ; COUNT DOWN CHAHACTERS 0261 C22902 JNZ DLOOP CONTINUE DISPLAY 0264 0E0D MVI C0DH ;RtTURN -> REG. C 0266 CDA702 CALL CO ;PRINT RETURN 0269 0E0A MVI C0AH iLINEFEED -> REG. C 026B CDA702 CALL CO ;PRINT LINEFEED 026E C30E02 JMP LOOP ;done WITH OUTPUT 027 1 210003 CODEIN: LXI H, TABLE ;H,L -> TAdLE 0274 1E35 MVI E, 53D J 53 = # OF ENTRIES IN TAdLI 0276 FE20 CPI 20H ; COMPARE WITH SPACE imately 40 ms long for the MPS 7529-103 Calculator Chip and is set using the 70 ms program loop, D70MS. With the scope's input connected to pin 5 of IC lb and the time base set for 10 ms per division, R6 should be adjusted for five divisions (50 ms). This allows an extra 10 ms from the required 40 ms minimum for assurance that the data will be received in worst case situations. The key released delay can be set using the 140 ms delay loop, D140MS. Since the 50 ms key released delay does not start until after the 50 ms key pressed delay, the end of this pulse should be around 100 msfrom the initiation of the sequence. This can be seen on pin 13 of IC 19a and set by adjusting R7. The scope's external trigger can be con- nected to pin 5 on IC 1b and the time base set for 10 ms per division for a closer look. It is not imperative that all pulse delays be exact; however data transmission errors may result if the two 50 ms delays are not set for at least 40 to 45 ms. What's It Good For? The application of the Mathematical Function Unit is appropriate wherever cal- culations must be done. To illustrate a specific case, listing 3 provides a very simple calculator program which will enable an 8080 to drive the unit through the routines of listing 1 . A sample of the output is shown in listing 4. The purpose of the CALCULA program is to accept inputs from the normal ASCII keyboard of your computer (here assumed to be connected to a Teletype using input port for data input, input port 1 for status, and output port for data output) and use these inputs to set up command sequences to the calculator. After each "=" operation, the current display output of the calculator is read and printed. The program is set up in a fairly straight- forward manner, using a table located at hexadecimal location 0300 to store the conversion between ASCII input characters and calculator control characters. The list of ASCII codes and their corresponding calcula- tor functions is found in table 1 . To use CALCULA, simply load memory address space from 0100 to 0334 (hexa- decimal) with the content of listings 1 and 3, then start the CALCULA program by jumping to location 0200. This begins execu- tion by printing out the heading MFU CALCULATOR SIMULATOR shown at the beginning of listing 4, after which an inter- active input of various calculator commands from table 2 can begin. The sample of listing 4 shows uses of many of the calculator functions. The calculator replies with an asterisk (*) if an overflow occurs, as is the 78 case with the attempt at 100! (100 facto- rial). Display output is normally printed following the input of a carriage return. CALCULA is of course only the simplest of possible uses for this unit. For general programming, specialized routines could be written to execute sequences of calculator keystrokes when needed, using data kept in the 12 byte arithmetic format. It should be fairly easy to implement a simple programmable calculator style inter- preter to drive this interface, thus converting your personal computer into the equivalent of some fairly expensive desk top micro- computer packages being sold commercially. Ambitious readers will go even further and implement a BASIC interpreter or some other form of high level language referencing this machine both at compile time and in the run time software packages. Some Parting Comments The hardware problems encountered with this design were few. The major inelegancy of the design is probably the requirement for pull down resistors on the calculator chip's output lines. These resistors (R10 to R30) are required to supply the load normally supplied by digit and segment driver circuits, Listing 4: CALCULA Program Sample Run. This Teletype listing was made using the CALCULA program to drive the Mathe- matical Function Unit. The command codes for operations are listed in table J. A carriage return code (hexadecimal OD) is used to cue the display of calculator outputs after a transfer via CA FTCH. MFU CALCULATOR SIMULATOR ss 300000000 .000 123.456 + 345.678 = 000469.134030 S < (3+7 >*<2+I >/10)»4+3 != 0000000 1 8 .000 S 987.32IM 000987 .321000 SS 10M4H + 26.579M5H = 0001 .26579-13 SS 45 S 00.7071068000 Listing 3, continued: i p 03 .1415927000 SS 16. I 00000 .062 5000 $ 69 1 01 71 12244098 s 100 1 SS 1 E 02 7182818000 S 10 R 03 1622777000 s$ 10 Y 2 I = 03 1622777000 SS 8 Q 000000064.000 SS F 0278 C28202 JNZ AGAIN JJUMP IF NOT SPACE 027B 4F MOV CA ;M0VE SPACE TO REG. C 027C CDA702 CALL CO ;PR1NT SPACE 027F C30E02 J MP LOOP ;back to loop 0282 BE AGAIN: CMP M ; COMPARE C(A) WITh TAoLE 0283 CA8E02 JZ FOUND iJUMP IF FOUND 0286 ID DCR E ; DECREMENT COUNTER 0287 CA0E02 JZ LOOP ;IF NOT FOUND TRY AGAIN 028A 23 I NX H ;iNCR H,L 028B C38202 J MP AGAIN ;keep trying 028E 4F FOUND: MOV CA ;move FOR PRINT 028F CDA702 CALL CO ; PR I NT 0292 7D MOV A..L ;move code to a 0293 320 D0 1 STA DIN ; STORE CODE FOR MFU 0296 CD0E0 1 CALL CAENTR ;SEND CODE TO MFU 0299 C30E02 J MP LOOP JBACK TO ROUTINE i CHARACTER INPUT ROUTINE 029C DB0 1 CI: IN 01 ;01 = TTY STATUS PORT 029E E60 1 AN1 01 ;01 = MASK FOR DATA AVAI1 02A0 C29C02 JNZ CI JJUMP IF NO DATA 02A3 DB0 IN 00 ;READ THE ChARACTtH 02A5 2F CMA ;»»* SEE NOTE *** 02A6 C9 RET ; RETURN TO PROGRAM JCHARACTER OUTPUT ROUTINE 02A7 DB0 1 CO: IN 01 ;01 = TTY STATUS PORT 02A9 E604 ANI 04 .;04 = MASK FOR TTY oUSY 02AB C2A702 JNZ CO ;L00P UNTIL REaliY 02AE 79 MOV A,C ;move FOR PRINT 02AF 2F CMA ;*»» SEE NOTE **» 02B0 D300 OUT 00 ; OUTPUT CHARACTER 02B2 C9 RET J RETURN TO PROGRAM 02B3 0D HEAD: DB 0DH ; RETURN 02B4 0A DB 0AH ; LINEFEED 02B5 4D465520 DB ■MFU CALCULATOR SIMULATOR' 02B9 43414C43 02BD 554C41 54 02C1 4F522053 02C5 494D554C 02C9 41 544F52 02CD 3D DB 0DH ; RETURN 02CE 0A Lid 0AH ."LINEFEED 02CF 0300 30313233 TABLE: 0304 34353637 0308 38394130 030C 30303030 0310 2E2B2D2A 0314 2F59 3D2 8 0318 2950485E 031C 30303030 0320 5343544C 0324 47524644 0328 575A4D24 032C 30303030 0330 49515845 0334 21 0000 »*» END OF PROGRAM **» ORG 0300H DB '01234567b9Ai)' •0000 . + -*/Y=< • )PH t0000SCTL" * GRFDUZMS0k)00" ; END 1QXE! • : END OF TABLE 000987.321000 SZ 0.00000000 .000 S 53C -.0.9182828000 S Z 000000000 .000 S 1000. D 00000 1000 .000 S F 001987.321000 SS 000000000 .000 NOTE: A 10 by 5% inch (25.4 by 13.3 cm) printed circuit board with plated through holes is available from RSG Electronics, POB 13, Santa Margarita CA 93453. The price of this board is $24.95 plus $1.23 for postage and handling (California resi- dents add 6% sales tax). For questions on obtaining the calculator chip or other parts, please write to the author. 79 Table I: Keyboard Code Assignments for CALCULA. The CALCULA program interprets the ASCII keystrokes listed in the "keyboard code" column as the corresponding calculator key functions in the "function" column. The current content of the output displays is printed whenever an ASCII carriage return is input. Keyboard Keyboard Code Function Code Function E e x 1 1 ! N! Factorial 2 2 Y Y* 3 3 P Pi (3.1415927) 4 4 A Arc 5 5 S Sine 6 6 C Cosine 7 7 T Tangent 8 8 L Natural Log 9 9 G Log base 1 Decimal Point Z Degree to Radian + Plus Mode Switch — Minus M Store in Memory * Multiply F Recall from / Divide Memory = Equals D Add to Memory ( Left Parenthesis W Swap X with Y ) Right Parenthesis $ Clear Entry t Enter Exponent ss Clear All H Change Sign Carriage Output Current I Inverse l/X X 2 Return Contents of Dis- Q play to Main R Square Root of X Memory and X 10 x Output BROWN-OUT PROOF your ALTAI R 8800 With the unique Parasitic Engineering constant voltage power supply kit. A custom engineered power supply for your Altair. It has the performance features that no simple replacement transformer can offer: *BROWN-OUT PROOF: Full output with the line voltage as low as 90 volts. •OVER-VOLTAGE PROTECTION: Less than 2% increase for 130 volt input. •HIGH OUTPUT: 12 amps @ 8 volts; 2 amps total @ ± 16 volts. Enough power for an 8800 full of boards. •STABLE: Output varies less than 10% for any load. Regulators don't overheat, even with just a few boards installed. •CURRENT LIMITED: Overloads can't damage it. •EASY TO INSTALL: All necessary parts included. .<*" n <« Only $75 postpaid in the USA. calif, residents add $4.50 sales tax. Don't let power supply problems sabatoge your Altair 8800 PARASITIC ENGINEERING PO BOX 6314 ALBANY CA 94706 which are missing due to the use of MOS buffers in their place. The Mathematical Function Unit has been overdesigned in several areas. The ready and timing circuitry has been designed for easy modification to accommodate some different calculator chips in place of the one used in this project. The timing pulses can be extended or shortened, or even bypassed if, for example, the key released delay is not needed. All modifications must, however, be carefully considered with the chip's specifi- cations prior to altering the electronics. The Mathematical Function Unit and the related software routines provide the micro- computer user with a very powerful calcula- tion tool where little could easily be done before. The programming of this peripheral calculator has been found to be very straightforward and uncomplicated, re- quiring much less memory space (and design time) than would be required to perform mathematical routines with microcomputer software alone. After considering the speed versus cal- culation ability tradeoffs, as well as the points mentioned above, I feel this project has been a complete success. I hope the microcomputer hobbyist as well as system designers will take advantage of this method for satisfying their mathematical function requirements in cases where high precision and low speed prove usable." BIBLIOGRAPHY 1 . Intel Corporation: Intel Data Catalog, 1975, pages 6-1 through 6-64. 2. Intel Corporation: Intellec 8/Mod 80 Microcomputer Development System Refer- ence Manual , 1974. 3. Intel Corporation: Intellec 8/Mod 80 Microcomputer System Operator's Manual (Preliminary Edition), June 1974. 4. MOS Technology Inc: "Specifications for Single Chip 40 Key Scientific Calculator Array MPS 7529-103" Rev 1, July 21 1975. 5. National Semiconductor Corporation: CMOS Integrated Circuits, August 1974. 6. National Semiconductor Corporation: Digi- tal Integrated Circuits, January 1974. 7. National Semiconductor Corporation: Inter- face Integrated Circuits, April 1974. 8. National Semiconductor Corporation: Lin- ear Integrated Circuits, January 1974. 9. Staken, Patrick H: "Using a Calculator Chip to Extend a Microprocessor's Capabili- ties," Computer Design September 1975, pages 98,99. 10. Texas Instruments Inc: The TTL Databook for Design Engineers, First Edition, 1973. 80 SOME HISTORICAL NOTES ON COMMUNICATIONS AND PEOPLE SO W 'Jf. M 2! OS H S3 d « w 2! Source materials supplied by Claude Kagan, Western Elec- tric Co. Courtesy of Western Electric Company from "Catalogue No. VII" of 1884. The following text is taken exactly from a privately circulated English language trans- lation of an excerpt (pages 519 to 523) of a French work, Traite De Telegraph ie Elec- trique by Abbe Moigno, published in Paris in 1852. Telegraph Lines in America Electric telegraphy has not spread any- where its mysterious network with as much speed and success as in the United States of North America; nowhere has one either conceived as promptly and executed with such admirable response the happy thought of placing commerce and private enterprise in possession of this all powerful means of communication. The first American telegraph line was established in 1844, between Washington and Baltimore, on a length of 40 miles. It transmitted with such celerity and promptness the news relating to the election of presidential candidates, that all pro- claimed, with a unanimous voice, the excel- lence and immense importance of these messages prompt as lightning; and one saw the formation at once, on all of the territory of the Union, private companies with the strong intention of making the entire country participate in the unexpected bene- fit of the electric telegraph. The line from Washington to Baltimore was immediately extended to Philadelphia and New York, over a distance of 250 miles; it reached Boston in 1845, and became the great Northern line on which two lines branched: one, a thousand miles long from Philadelphia to Harrisburg, Lancaster, Pittsburgh, Ohio, Columbo, Cincinnati, Louis Ville (Ken- tucky), and St. Louis (Missouri); the other, 1,300 miles long, from New York to Albany, Troy, Utica, Rochester, Buffalo, Erie, Cleve- land (Ohio), Chicaga (Illinois), Milwankie (Wisconsin). [The text goes on to describe further details and give a table totalling the telegraph mileage as of July 1849: 10,885 miles. ] What Was the Public Response to the Telegraphy Revolution? [Continuing the excerpt] . . . Here is how the work is accomplished: the poles, twenty feet long, are cut in the forests and trans- ported to the site by the neighboring far- mers; one implants them into holes a foot and a half deep, one fastens at some distance from the top insulators or glass rings, on which the conductive wire rests. A few days suffice to see the rise, as by enchantment, of a long line of poles. The surveillance and protection of the poles and of the wire is entrusted to these same farmers, all provided with the small instruments required by such a simple task: a hammer, cutters, a vise, pliers, some screws, some rings and some nails. The telegraph lines usually follow post roads, and their maintenance costs ab- solutely nothing; there is no instance that the wires, delivered to the good public sense, were broken through meaness. It is because in America all the wishes cooperate in concert for the public welfare, and that all useful invention is like a family heirloom that all wish to safeguard. Each farmer participates at the very least by his contribu- tion of labor and materials, if not through his purse, to all the national undertakings; each thus becomes a shareholder and is interested in seeing them prosper." 81 Microprocessor Update: Keep PACE with the Times Robert Baker 15 Windsor Dr Atco NJ 08004 The new National Semiconductor IPC- 16A/500D microprocessor commonly called PACE for Processing And Control Element is a single chip 16 bit microprocessor packaged in a standard 40 pin dual in line package. As a 16 bit general purpose computer it is an excellent candidate for personal computing applications. Table I: PACE Status and Control Flags. These flags are tested to control program execution as a result of various conditions. Flag Register Bit 7 8 9 10 Flag Name Description OVF CRY LINK IEN BYTE 11 F11 12 F12 13 F13 14 F14 15 Always logic 1, not used. Flags IE1 to I E5 serve as interrupt enable flags for 5 of the 6 PACE interrupt levels. These interrupts are ignored when IE bit is low. Set to the state of the 2's complement arithmetic overflow by arithmetic instructions. Set to the state of the binary or decimal carry out- put of adder by arithmetic instructions. Link flag is included in shift and rotate operations as specified by instructions. Is unaffected if not selected. Master interrupt enable. This line simultaneously inhibits all five of lowest priority interrupt levels. Byte flag selects 8 bit data length when high and 16 bit when low. General purpose control flags. Drive PACE output pins to directly control system functions. Always 1 , addressing for interrupt exit. The Microprocessor Overview PACE utilizes 16 bit instruction words to operate on software selectable, 8 or 16 bit data words for a wide range of applications. There are four 16 bit general purpose working registers available to the user as well as an independent 16 bit status and control flag register that automatically and con- tinuously preserves system status. Table 1 lists the various bits of the status and control register and gives a brief description of the function of each bit. A ten word (16 bit) last in, first out, stack automatically saves return addresses for subroutine calls and interrupt servicing. A stack full or stack empty inter- rupt is provided to allow software stack expansion when required. A six level, vectored priority interrupt system provides automatic interrupt identification. More than one device may be placed on any given priority level using open collector, wired OR circuitry external to the processor. An indi- vidual interrupt enable is provided in the status register for each level and a master interrupt enable is provided for all five lower priority levels as a group. There are also four direct sense inputs and four control flag outputs to implement various single bit status and control functions. Figure 1 shows a functional block diagram of the PACE microprocessor while figure 2 shows the actual pin connections of the dual in line package. Instruction Set The PACE microprocessor instruction set consists of a general purpose mixture of 45 instruction types in eight classes as shown in 82 Table 2: PACE Instruction Set Summary. This table lists the mnemonic and a short description for all of the PACE instructions. For complete functional descriptions and bit patterns consult National Semiconductor's PACE Technical Description document. Mnemonic Operation (or meaning) Branch Instructions Diagrams and information, courtesy of National Semi- conductor from their PACE Technical Description. BOC JMP JMP@ JSR JSR@ RTS RTI Skip Instructions SKNE SKG SKAZ ISZ DSZ AISZ Branch on condition Jump Jump indirect Jump to subroutine Jump to subroutine indirect Return from subroutine Return from interrupt Skip if not equal Skip if greater Skip if And is zero increment and skip if zero Decrement and skip if zero Add immediate, skip if zero Memory Data Transfer Instructions LD Load LD@ Load indirect ST Store ST@ Store indirect LSEX Load with sign extended Memory Data Operate Instructions Miscellaneous Instructions HALT Halt SFLG Set flag PFLG Pulse flag D15 DI4 D13 D12 Dll D10 D [3o] [31 DOS D07 D06 D05 D04 D03 D02 D01 D00 rararara^^rararamnmmm STFL ■REQO PSIGN BITO BIT 1 NREQO BIT 2 CONTIN LINK IEN CARRY NSIGN OVF JC13 E>* — h- AND And OR Or JC14 ADD Add JC15 SUBB Subtract with borrow DECA Decimal add NADS Register Data Transfer Instructions IDS LI Load immediate ODS RCPY Register copy EXTEND RXCH Register exchange XCHRS Exchange register and stack BPS CFR Copy flags into register NINIT CRF Copy register into flags PUSH Push register onto stack NHALT PULL Pull stack into register PUSHF Push flags onto stack PULLF Pull stack into flags CLK NCLK Register Data Operate Instructions RADD Register add RADC Register add with carry RAND Register and RXOR Register exclusive or CAI Complement and add immediate Shift and Rotate Instructions SHL Shift left SHR Shift right ROL Rotate left ROR Rotate right d E>- JUMP 7 CONDITION MULTI- PLEXER l_. INSTRUCTION REGISTER MICROPROGRAM ADDRESS GENERATION MICROPROGRAM ADDRESS REGISTER MICROPROGRAM STORAGE CONTROL LOGIC I/O ■ DATA BUS I/O DATA BUFFERS .J TEMP REG 1 ISCRATCH REGISTERI TEMP REG 2 (SCRATCH REGISTERI PROGRAM COUNTER 10 WORD LIFO STACK MULTIPHASE CLOCK GENERATION RESULT BUS STATUS AND CONTROL rLAGS REGISTER "1" EXIT INTO F14 F13 F12 F11 BYTE INT EN LINK CRY OVF IE5 IE4 IE3 IE2 IE1 "1" J 0} F13 F12 { t: ' \ I F14 F11 INTERRUPT CONTROL LOGIC OPERAND BUS I 14| I 161 MSI I 171 - NIR5 NIR4 NIR3 NIR2 Figure I: PACE Microprocessor Functional Block Diagram. This diagram shows the major internal sections of the processor, which are reflected in the instruction set. The numbered connections refer to the pins of the processor package, shown in figure 2. This diagram is reproduced courtesy of National Semiconductor from page 2-2 of the PACE Technical Description. 83 table 2. Conditional branches are imple- mented using the BOC instruction which allows testing any one of 16 conditions as shown in table 3. Additional testing capa- bilities are provided by the skip instructions which provide memory and register com- parisons without altering data. Memory reference instructions use a flexible memory addressing scheme which provides three floating memory pages and one fixed page of 256 words (16 bit) each. Figure 3 shows the various memory reference instruction for- mats used to obtain the four different addressing modes. Figure 2: PACE Microprocessor Pin Assign- ments. Fitting a 16 bit processor's pinout into a 40 pin package is a problem: If for example separate 16 bit address and data lines are used, 32 pins are occupied and only 8 are left for miscellaneous processor func- tions and power. But if only one 16 bit bus is used for address and data, with time multiplexing of the usage, then a large number of pins remain available for miscel- laneous uses. National Semiconductor chose the latter course of action in the PACE design, leaving a large number of externally available inputs and outputs including four levels of external interrupts, three jump condition flags, and control lines. This dia- gram is reproduced courtesy of National Semiconductor, from page 2-3 of the PACE Technical Description. Table 3: PACE Branch Conditions. The BOC (branch on condition) instruction branches to the effective address if the selected condition is true. This table is reproduced courtesy of National Semiconductor, from page B-14 of the PACE Technical Description. Condition Code (cc) Mnemonic Condition 0000 STFL Stack Full (contains nine or more words). 0001 REQ0 (AC0) equal to zero (see note 1). 0010 PSIGN (AC0) has positive sign (see note 2). 0011 BIT0 Bit of AC0 true. 0100 BIT1 Bit 1 of AC0 true. 0101 NREQ0 (AC0) is nonzero (see note 1). 0110 BIT2 Bit 2 of AC0 is true. 0111 CONTIN CONTIN (continue) Input is true. 1000 LINK LINK is true. 1001 IEN IEN is true. 1010 CARRY CARRY is true. 1011 NSIGN (AC0) has negative sign (see note 2). 1100 OVF OVF is true. 1101 JC13 JC13 Input is true 1110 JC14 JC14 Input is true. 1111 JC15 JC15 Input is true. DUAL-IN-LINE PACKAGE D04 1 W • D03 2 D02 3 D01 4 D00 5 IDS 6 ODS 7 NADS 8 NHALT 9 CONTIN 10 JC14 n JC15 12 JC13 13 NIR5 14 NIR4 15 NIR3 16 NIR2 17 F11 18 F12 19 VSS 20 40 D05 39 D06 38 D07 37 D08 36 D09 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 D10 D1 1 D12 D13 D14 D15 V GG (-12VI BPS EXTEND NIIMIT CLK NCLK V BB F14 F13 PIN DEFINITION CLK, NCLK D00 to D15 True and complemented MOS clock input. IO MOS data bus lines. NOTES: 1. If selected data length is 8 bits, only bits through 7 of AC0 are tested. 2. Bit 7 is sign bit (instead of bit 15) if selected data length is 8 bits. IDS Input data strobe, enables exter- nal devices to send data to PACE. ODS Output data strobe, enables exter- nal devices to accept data from PACE. NADS Address data strobe, clocks address from PACE into ALE. EXTEND Extended data transfer, increases time duration of data IO transfers for slow memory or peripherals without changing clock frequency. N1NIT Initialize microprocessor functions. CONTIN Continue jump condition. NHALT Control panel halt. BPS Base page select, selects one of two possible base page addressing schemes. J13to J15 Jump conditions 1 3 to 15, user specified branch condition inputs to jump condition multiplexer (see table 3). F11 to F14 Flags 11 to 14, status and control flag register general purpose control flag outputs. NIR2-5 Interrupt requests 2 to 5. Vbb PACE substrate voltage input. derived from Vgg and Vss by STE. Vgg —12 V supply input. Vss +5 V supply input. 84 Applications There is a complete family of support chips designed for PACE which are intended to interface directly to the microprocessor chip. The System Timing Element (STE) provides the necessary MOS clock signals and V bbo supply voltage for the processor chip as well as an optional TTL clock for the user's system. Figure 4 shows how the STE is connected to the PACE microprocessor for a typical application. The Bidirectional Transceiver Element (BTE) provides single chip, 8 bit input and output buffering between the PACE MOS input bus lines and TTL devices. Figure 5 shows how three BTEs are utilized along with an STE and PACE chip to assemble a system providing a fully multiplexed address and data bus with a minimum chip configuration. The other two support chips, the Address Latch Element (ALE) and the Interface Latch Element (ILE), may be added for more complex systems as shown in the PACE Technical Description available from National Semiconductor as publication number 4200078A. This book also illus- trates a priority encoder, a control panel, DMA capabilities, application cards, and various applications and features of the PACE system along with the information contained in this article. bits 15 10 9 8 7 OPERATION CODE INDEX (XR) DISPLACEMENT (disp) Index Field Addressing Mode Effective Address (EA) 00 01 10 11 Base Page Program Counter Relative AC2 Relative (indexed) AC3 Relative (indexed) EA = disp EA = disp + (PC) EA = disp + (AC2) EA = disp + (AC3) Key: (PC) (AC2) (AC3) = Contents of program counter = Contents of AC2 = Contents of AC3 Figure 3: Memory Reference Instruction Format. The PACE processor's minicomputer-like instruction set has four addressing modes which are specified by the index field of an instruction. Addressing can be through an 8 bit signed or unsigned base page address selection, an 8 bit signed offset relative to the program counter, or an 8 bit signed offset relative to registers AC2 or AC3. This diagram is reproduced courtesy of National Semicon- ductor, from pages 2-1 1 and 2-1 2, PACE Technical Description. User Group COMPUTE, a National Semiconductor sponsored user group for microprocessor programmers, users, and technical experts publishes a newsletter called The Bit-Bucket. They can be contacted at: COMPUTE/470 National Semiconductor Corp 2900 Semiconductor Dr Santa Clara CA 95051 (408) 732-5000 X7183 Personal Computing with PACE The design of the PACE computer is that of a minicomputer. Its instruction set presents a conventional minicom- puter architecture (with a stack how- ever, which was usually unheard of in the days of the mini). Looking at the PACE architecture is reminiscent of looking at a Data General NOVA. For those with a strong background in 16 bit minicomputer programming, a 16 bit processor like the PACE would provide an excellent place to take advantage of your present bag of tricks to save time while getting oriented. While no PACE personal computing kits or finished products are presently available (circa June EXTERNAL +5VDC POWER SOURCE + 1 _L 1 2 X1 3 STE 24 Q V ss - 23 20 25 24 29 PACE 4.0 1—1 MHz 1 1 2§o 22 V BBO T" X2 Q 4 21 V SS ~ 5 20" CLK EXTC 6 19 GND (SEE NOTE) -L Sz. 18 NCLK - rro 8 17 V GG 16„ GND TTLr ,nr- K( -TTLCLK Q 10 i£ I - FOR USER { TTL CLK* ~11 14~ LCK SYSTEM I, ° )2 13 LCK* . J_ I "I I I I + _ NOTE: — V ss , GND, AND V GQ LINES SHIELD CLK AND NCLK LINES. EXTERNAL -12V DC POWER SOURCE Figure 4: The PA CE System Timing Element. In order to make a PA CE work without undue engineering inconvenience, National Semiconductor also produces the STE chip which is an omnibus multifunction device including the master timing source, clock generator and driver, and one of the power supplies needed by the chip. The interconnections are shown in this diagram, reproduced courtesy of National Semiconductor from page 2-14 of the PACE Technical Description. 85 SYSTEM MEMOHY SYSTEM MOS ADDRESS/DATA BUS SYSTEM MOS TIMING AND CONTROL BUS 1 — * — t A | XI X2 1 T I I I SYSTEM TTL TIMING AND CONTROL BUS SYSTEM TTL MULTIPLEXED ADDRESS/DATA BUS Figure 5: Minimum Chip Configuration. The minimum configuration for a multiplexed addressing and data interface to TTL logic is shown in this block diagram. The blocks labelled BTE are "bidirectional transceiver elements, " members of the PACE chip set which are used to sense the MOS level outputs of the processor and drive TTL data bus structures, or in the opposite direction to convert TTL bus levels into PACE compatible input signals. This diagram is reproduced courtesy of National Semiconductor, from page 2-29 of the PACE Technical Description. 1976) for the personal computing market, evaluation kits and products like the Pacer (see below) will provide a convenient way for readers to obtain this 16 bit byte sized microprocessor." What's New? So You Want to Keep PACE? One way in which to evaluate and use PACE is to employ a system known as Pacer, which is manufactured by Project Support Engineering, 750 N Mary, Sunnyvale CA 94086. This product, which came our way recently for evaluation, is available either in kit, semi-kit or assembled versions, with a retail price in the $.1000 range, more or less depending upon specific options chosen. Pacer 1H is totally unassembled, Pacer 2H is completely assembled, tested and burned in, and Pacer 3H is unassembled except for the Photo I ; When assembled, Pacer is a neat desk top package with a molded plastic case and calculator style keyboard. The dot matrix alphanumeric dis- play is here shown as it appears when the Pacer is initialized by pressing the INT button. tested and burned in logic cards. The pic- tures accompanying this description are of a Pacer 3H version which we recently assembled. The basic unit as it comes (see photos 1-3) in its simplest version contains a mother- board with raw power supply, three main logic boards with on board regulators, and a control panel assembly. The three boards in the configuration shown in the photos are: • The Pacer CPU board with the PACE processor, buffering elements, address decoding for system addresses, and clock ogic. This is the board at the right in photo 3. • Pacer control board which contains the Pacer executive ROM, executive programmable random access memory and initialization logic. This is the center board of the three boards shown in photo 3. • Pacer memory board which contains slots for 1 K by 16 of 2112 memory chips and 512 by 16 bits of MM5204 programmable read only memory chips. (The unit comes with 256 words by 16 bits of programmable memory and no user ROMs.) Also included is the Pacer control card, shown at the top of photo 2 with its ribbon cable running down to the motherboard. This control card contains the logic and switches needed to support the 8 digits of alphanumeric display and key board functions. What Can You Do with Pacer as It Comes? In the minimal configuration, you receive a powerful 16 bit PACE processor which basically resembles a Data General NOVA [see Robert Baker's article] . The executive features of this minimal configuration allow the user to enter and debug machine language programs for PACE, using a set of commands much more flexible and sophis- ticated than the toggle switches of an earlier era. These built-in checkout and debugging features include: Commands to set, modify and examine the hexadecimal contents of: Program counter Accumulators 0, 1 , 2 or 3 Stack locations through 9 Flag register Any memory location selected Any one of several break point ad- dresses labelled to 9 Value and mask fields used for search operations Extended command functions include: Hexadecimal calculator: add, subtract display result Memory search for value, with op- tional mask Run, restart, initialize, single step the processor. For initial checkout of machine language programs, this is more than adequate. The bus structure is completely documented in the manuals, and will prove quite expand- able using prototyping boards which are also available from the manufacturer. The Pacer has 8 slots available on its backplane after the minimum three cards are inserted. The Number One Expansion to Make to Pacer One additional board came with our Pacer, one which both exhibits its expand- ability and will prove quite useful to anyone wishing to do software development. This is the optional PACE 2 printed circuit card. This addition to the system contains a parallel Teletype current loop interface, an RS-232 interface, and the PACE 2 read only memories. The read only memories are the key to the usefulness of PACE 2. This board has a simple assembler (and dissassembler) pro- Photo 2: Removing four screws and tilting back the cover of the assembly shows the interior of the machine: a motherboard with raw power supply (unregulated voltages for on board regulators) and positions for eight boards in addition to the three boards of the basic Pacer kits. The control panel board and its ribbon cable connector are shown mounted on the cover near the top of the picture. gram and powerful debugging executive, which takes over the system instead of the original read only memory executive of Pacer's minimal configuration. With the addition of PACE 2, the original front panel is essentially ignored with the exception of the restart and initialize buttons. The address space locations of the PACE 2 executive and assembler are contained in an 8 K block of memory which is completely protected by hardware in the standard boards as they arrive. (If desired, it is of course possible to defeat this feature through hardware modifications suggested by the logic diagrams supplied.) The hard- ware lockout involves write protection and automatic return of hexadecimal FFFF values when referencing the protected loca- tions. In the words of the PACE 2 users guide, "As a result PACE 2 will remain operable even after a massive failure of the user's program . . . . " The memory editing commands of PACE 2 allow the user to display and set memory contents from the terminal using ASCII, signed decimal, unsigned decimal or hexa- decimal conversions. Memory listing com- mands allow the user to get an assembly language formatted output with symbolic references and absolute hexadecimal, sort of a built-in "disassembler" program. De- bugging features include a sophisticated memory snap feature tied to break points, snap points or single step execution. This feature allows selected contents of registers, or memory to be dumped when execution Photo 3: This detailed view shows the three boards of the basic Pacer kit product. The processor itself is the large chip on the rightmost board of the three shown. In the Pacer shown here, additional sockets and card guides which came with the kit are ready for the PA CE 2 board and for prototyping boards. 87 reaches the desired points. As an assembler, the PACE 2 module in its "alter" command mode allows one to insert symbolic assembly language statements to define memory content word by word. The symbol table capacity built into the system when PACE 2 arrives is 26 symbols. By adding memory it is possible to extend the symbol table to a limit of 121 symbols. Each symbol has a 16 bit address value associated with it. By putting the PACE 2 board together with the Pacer, the result will be an excellent combination of software development tools and expandable hardware which will prove attractive both to the engineer using PACE in systems work, and to an individual who wants a prepackaged 16 bit computer with good systems software support at a mod- erate price. For further information contact Project Support Engineering." The MOSTEK MK5085N/MK5086N Integrated Tone Dialers This product provides the electronics needed to simply implement remote access via telephone to computer using a miniature hand held terminal which can be used with any telephone. In such a system, the com- puter end listens to audio from one of a number of Bell approved electronic tape answering service devices commercially available, and standard touch tone signals are sent to the computer after dialing into its phone port. This MOSTEK chip, built into a tiny case using the circuit described in the MOSTEK documentation, and reproduced here, is used to drive the remote telephone through a speaker you build into the remote package. The computer end must have a "Figure J" excerpted from MOSTEK's April 1976 data sheet for the Integrated Tone Dialer MK5085N/MK5086N. DTMF TONE GENERATOR - Fixed Supply Operation FIGURE J I^ZXTT M K 50S5 MK508G 3579545 fnhz I VOLUME CONTROL ' L _ _ _ DRiviNGSPEAKER S Z*?1 TONE OUTPUT TJ Rl value is dependent upon impedence and ^ gain of following stage. Typical values when used to drive microphone inputs are IK - Carton type mics 50K - Low impedance dynar TOOK - High impedance dyn. hardware or software tone decoder and a software command interpreter to carry out your remote instructions; for reliability, such software should be stored in ROM against the possibility of power failures. Eventually, commercially produced "uni- versal signallers" using this technology should be available in calculator style packages, but until then you'll have to make your own. Contact MOSTEK at 1215 W Crosby Rd, Carrollton TX 75006." SCELBAL, an 8008/8080 High Level Language In our June 1976 issue [page 82} , we had a product description article on the SCEL- BAL language, implemented for the 8008 and 8080 processors by Nat Wadsworth and Mark Arnold. Since that time, the language design has been published in detail in SCELBI Computer Consulting's book of documentation, available at $49 postpaid. The documentation is very complete, and expresses Nat Wadsworth's excellent philos- ophy of giving all the information possible about the subject at a reasonable price. Quoting from the introduction: . ... It was known at the start that the program could not be developed to satisfy every potential user. Nobody has a system with that much memory available! Care was taken to provide a good fundamental selection of syntax statements and functions in the lan- guage. From that point, backed by the descriptions of the program's organiza- tion, general flow charts, and highly commented listings provided in this publication, it is felt that the user will be equipped to add extended capa- bilities depending on memory avail- able, or willingness to sacrifice de- scribed functions. .... 777e extra measure of providing the information so that the user may go further if desired is the funda- mental premise behind this publication. In the words of the sage, "right on!". This 368 page book contains an overall program logic description of the interpreter spread over the first 11 chapters, totalling some 162 pages. Of these pages, 51 alone are spent on chapter 6 which describes the statement interpretation logic of the program with flow charts, symbolic (commented) as- sembly language code and verbal descrip- tions. In the chapter 12, the detailed as- sembly of SCELBAL for an 8008 is given, 88 and in chapter 13 the same information is repeated for an 8080 assembly. The detailed assemblies give absolute code for the pro- gram in octal, beginning at origin 01/000 for either version. The total memory required is the same in either version since the code is written for an 8008 and simply reassembled for the 8080 version. The actual program code covered by the assembly in either case is approximately 11.5 K bytes. The listings together occupy 164 pages. Chapter 14 contains operating instructions and chapter 15 contains "Suggestions for Program Tinkerers." The book is concluded with a "SCELBAL Labels Reference List" (ie: the symbol table of the assemblies), and several notes pages for patches. The final sheet of the book is a cardboard sheet with a personal "SCELBAL Registration Card," a change of address card, and a pocket ref- erence card. Purchasers of SCELBAL return the registration card in order to be placed upon the update list for errors and patches (several of which are already present on the notes pages). SCELBI is to be commended for this example of complete and thorough docu- mentation for a high level language product. It will prove a useful volume for any person interested in a high level language like BASIC which has options for customization and extension. ■ The Visible Character Buffer Memory is Here A firm called Matrox Electronic Systems, of Montreal, Quebec, recently came out with a unique line of inexpensive video display generators in "black box" module form. One of the products which will be of immediate interest to BYTE readers is the new MTX-1632 video display memory, a unit which interfaces to a three state bidirec- tional processor bus as if it were 512 bytes of programmable memory, and continuously generates a 16 line by 32 character upper and lower case ASCII display in the form of a standard video signal output. The unit is priced at only $198 in single quantities, and has a memory access time of 650 ns. The three state bidirectional bus interface has specifications compatible with standard bus drivers such as the National Semicon- ductor DM8833 and similar chips, so with the addition of address decoding logic it should plug in to most systems with bidirec- tional buffered data buses. For readers using the Altair, IMSAI, Polymorphics, or Digital Group systems, some interfacing logic will be required to split the bidirectional bus into the "in" and "out" sections required by these systems. REVOLUTIONARY! MTX-1632 ..«* J2SI2 «C R OCOHPUT« srartr^iE u „ MftTR 0X- » Organized as 512XB R J! efr esh » Requires "oe *%£ 7 X9 *ff * 128 character * D dtsp i a y fiei Generates ibXdc supp ly LEOTB°H° ME The unit comes in one form, a completely assembled and tested module with a video output drive capability claimed sufficient for 25 standard television monitors to be wired in parallel. Contact Matrox at POB 56, Ahuntsic Stn, Montreal, Quebec CANADA H3L3N5, (514) 481-6838. ■ 89 Homebrewery vs the Software Priesthood Mike Wilber 920 Dennis Dr Palo Alto CA 94303 David Fylstra PO Box 10051 Stanford CA 94305 The movement of com- puters into people's homes makes it important for us personal systems users to focus our efforts towards having computers do what we want them to do rather than what someone else has blessed for us. The movement towards personalized and individualized computing is an important threat to the aura of mystery that has surrounded the computer for its entire his- tory. Until now, computers were understood by only a select few who were revered almost as befitted the status of priesthood. The arts of designing and programming computers have long been regarded as sacred knowledge beyond the reach of the nonspe- cialist. Indeed, the journeymen of the trade have protected their privileged position by keeping their knowledge to themselves. These high priests and acolytes of the holy alliance of logicians (HAL) have dominated the field so far. The movement of computers into peo- ple's homes makes it important for us personal systems users to focus our efforts toward having computers do what we want them to do rather than what someone else has blessed for us. If personal computing users freely share their hard-won informa- tion and even their programs, then this community of users can become quite adept at bending their computers to their own needs and wants. When computers move into people's homes, it would be most unfortunate if they were merely black boxes whose internal workings remained the exclusive province of the priests. It is fine to use them as black boxes as long as they do what you want, but the computer's owner should be able to modify its behavior to suit merely personal preferences. That is, computer literacy should be widespread. Now it is not neces- sary that everybody be a programmer, but the potential should be there. This under- standing must be removed from the private reserve of the select few just because com- puters will be in the hands of the many. Freely available software is perhaps the key to the independence of the homebrewer. There are several indications that personal computing users are likely to be highly motivated to generate freely available soft- ware. One can be found in the amateur radio community: Hams have a long tradition of freely sharing their feats of engineering. In fact, it is quite natural to be proud of one's accomplishments, and that pride finds quite natural expression in telling all the details to anybody showing the slightest signs of interest. Already there are some signs that computer hobbyists have similar pride in their software achievements. Dr Dobb's Journal contains several examples of people contributing adaptations and extensions to Tiny BASIC. The mode of software develop- ment is likely to follow the example of program development among the world of paid programmers. For a while, people will contribute incremental improvements to a program (or a concept). During this first half of the cycle, the program becomes progres- sively more powerful and progressively messier until it is quite hard to understand or modify. Finally, somebody gives up in disgust and rewrites the program in the marvelously clear way that had been growing increasingly conspicuous by its absence. Then another cycle starts, but its starting place is far more advanced than the previous cycle had reached. 90 ". . .these are, and of right ought to be, Free and Independent. ..." — John Hancock, et al Personal computing people stand to be largely independent of the priesthood be- cause they are strikingly sophisticated and because they freely share their ideas. A very good example of both these traits can be found in the nearly spontaneous generation of Tiny BASIC through the medium of the People's Computer Company and Dr Dobb's journal of Computer Calisthenics and Ortho- dontia. One issue published some rough design notes for a machine independent Tiny BASIC, but that was only the beginning. The next few issues published refinements on the design and later ones included an implemen- tation in an interpretive language and then both octal and annotated source programs realizing the interpreter and the entire sys- tem in 3 K of 8080 code. To top it off, the whole project was done by far-flung indi- viduals in less than a year. While Tiny BASIC is a very striking example of what amateurs can do when they work together, we cannot afford to ignore its extreme dependence on good fortune to bring it to pass. Your own copy of BYTE magazine is another example; it is the result of one man's frustration at making his own computer work and his desire to let others profit by his experience. We've been very lucky to have a few people with high ideals to point the way for us, but we would be ill advised to depend on having these fortunate circumstances continue. The time is ripe for the community of personal computing enthusiasts to start thinking seriously about supplying its own steam to back up the energies put out by a few people with strong motivations to help launch the personal computing movement. It's launched now, and we have to provide the impetus and direction to make sure it develops in a way beneficial to the community at large. A good example of a means to distribute software which divides the effort fairly and in a way nobody seems to mind is the software exchange of the Homebrew Com- puter Club in the San Francisco Bay Area. At each meeting (every two weeks) there is a table covered with paper tapes of programs contributed by all and sundry. Anybody is welcome to take any tape at all, subject only to the proviso that each copy taken from one meeting be replaced by at least one UNBELIEVABLE!!!!! The intecolor® 8001 Kit A Complete 8 COLOR intelligent CRT Terminal Kit $1,395 Complete" Means • 8080 CPU • 25 Line x 80 Character/Line • 4Kx8 RAM /PROM Software • Sockets for UV Erasable PROM • 19" Shadow Mask Color CR Tube • RS232 I/O • Sockets for 64 Special Graphics • Selectable Baud Rates to 9600 Baud • Single Package • 8 Color Monitor • ASCII Set • Keyboard • Bell • Manual And you also get the Intecolor " 8001 9 Sector Convergence System for ease of set up (3-5 minutes) and stability. Additional Options Available: • Roll • Additional RAM to 32K • 48 Line x 80 Characters/Line • Light Pen • Limited Graphics Mode • Background Color • Special Graphics Characters • Games ISC WILL MAKE A BELIEVER OUT OF YOU. £ Send me. (no.) Intecolor" 8001 kits at $1,395 plus $15.00 ship- ping charges each. Enclosed is my LJ cashier s check, □ money order, □ personal check* □ $350 deposit/kit for CO. D. shipment for $ NAM E ADDRESS CITY STATE_ .ZIP_ C3 "Allow 8 weeks clearance on personal checks. Delivery 30-60 days ARO Intolllnont Cuct-omc fnm 4376 Ridge Gate Drive, Duluth, Georgia 30136 inieiiiyeiii Kleins lui p.. Telephone (404) 449-5961 Telephone (404) 449-5961 91 Software exchange is a two way street: He or she who uses an application or system's program from a community library is as- sumed to be willing and able to provide programs of equivalent value for others to use. copy at the next meeting. A few cautions, however, must be repeated every few meet- ings: that people label the tapes they bring back, that they take reasonable steps to ensure the accuracy of their copies and that they only contribute software with the author's consent. Homebrewers have good intentions but still need occasional re- minders to keep them from getting careless. It is most unfortunate that some people give free distribution to software against the author's wishes. In fact it's usually illegal, and anyone caught could face a heavy fine because the crime is new enough that many think prominent examples should be offered to reduce its frequency. Until that lucky day, the main people being deterred are the people who have contributed the software that has immeasurably helped the whole hobbyist movement get started. Even though we have a tremendous potential for genera- ting our own software, we still owe a tremendous debt (of gratitude besides the money) to those who have brought us Altair BASIC and 6800 BASIC, and who may have enough faith in us to bring us APL and some truly groovy text editors. Freely exchanged software should be truly free and untainted by ripoffs or by the appearance of ripoffs. The extreme ease of software theft could present a real barrier to free interchange of good software because many valuable people could understandably be reluctant to be- come very deeply involved in a forum where such ripoffs are commonplace. Theft is so much easier with software than with hard- ware because software has two distinctive properties: • A buyer cannot evaluate its benefit without extensive testing and use. • The elementary operation in moving software is not to transport one copy but to generate another copy. Another danger threatens free distribution of free software, and for some of the same reasons, a scarcity of documentation which is all too common in software. The tempta- tion is strong: Somebody developing it understands it well and is concentrating on getting it to work at all and usually prefers not to be distracted by efforts to make it comprehensible to others. On the other hand, the task of documentation can easily take as much effort as the development itself. However, documentation is crucial to the value of a piece of software. Un- documented software is very hard to use and even harder to modify. We have no good solutions to either of these problems. The only thing to do is to repeatedly urge people to be mindful of the problems and to broaden their perspectives beyond the gains of the short term. Telecommunications and the Community Information Exchange Enthusiasts in this field can share soft- ware right now by banding together into clubs, but that medium limits sharing to small groups of people who live near one another. With telecommunications, people can share their programs with others living at long distances from one another. One vital ingredient to such remote communication is the ordinary telephone, which works wonders at spanning long distances between people. Telephones can have the same bene- fit for computers, if they are equipped with modems, which handle the translation be- tween a computer's digital signals and the audio signals the telephone can handle. Then, one person can call another, and they can use that same call to connect their computers; one computer can run a special program to copy data from a cassette or memory to the phone line; and the other can run another special program to copy the information from the phone line onto its own cassette. Of course, the data being copied will likely be some program the two parties wish to share; and presto, you have an instance of software sharing at a long distance. While that kind of person to person exchange is quite effective, it leaves room for improvement in several respects. It re- quires very close coordination between the 92 two parties, and it requires one phone call for each interchange of data. However, there is another possible mechanism, which can permit widely scattered users to com- municate far more freely and with much looser coordination while improving on the economy of phone line usage. That would be a sort of "Community Information Ex- change," a computer that would be con- tinually prepared to automatically answer the telephone and would expect a computer to be placing the call. It would be located where a number of individuals (for example members of a local club) could reach it with a local call; it would provide bulk storage facilities, and it would accept commands in a very concise, well understood format from the computer which had called it. Then one subscriber could leave a program in the bulk storage and invite all other subscribers to that Community Information Exchange to copy it to their own systems at their leisure. This is a very powerful means of broad- casting software among a local community, but it has implicit in it a means of broad- casting opinions and news too. It requires a means of transmitting plain English text between people just so the people will know which programs they can or might wish to communicate to their computers. Once the individual subscribers can communicate words among themselves, they can com- municate much more than news about the latest programs available and how to use them. They can also tell one another about the problems they are having with some program they recently picked up or even about problems they are having with some hardware they recently bought. The com- puter community can find a great deal of strength in freely sharing that kind of information, in addition to sharing their programs. Free communication of informa- tion of all types can greatly enhance the community's resistance to inferior products, and acceptance of superior products. The Community Information Exchange is not limited to the local communication described thus far. In the dead of night, when telephone traffic is reduced and the transcontinental rates are low, a CIE in one locality can call a CIE in another locality. Then they can send programs and other data back and forth. Of course, they have to know just what should be sent where, and they could be told by their subscribers. The commands they will accept from their sub- scribers could direct them to copy a file to or from some remote CIE. Nor is it neces- sary for a CIE to directly call another to Imagine a Community In- formation Exchange, com- plete with telecommunica- tions access ports, mass storage and an accounting algorithm to keep track of operating expenses at- tributed to each user's activities. NOTE: The term "Commu- nity Information Exchange" was inspired by Michael Ross- man. MODEL CC-7 SPECIFICATIONS: A. Recording Mode: Tape saturation binary. This is not an FSK or Home type recorder. No voice capability. No Modem. (NRZ) B. Two channels (1) Clock, (2) Data. OR, Two data channels providing four (4) tracks on the cassette. Can also be used for Bi-Phase, Manchester codes etc. C. Inputs: Two (2). Will accept TTY, TTL or RS 232 digital. D. Outputs: Two (21. Board changeable from RS 232 to TTY or TTL digital. E. Runs at 2400 baud or less. Synchronous or Asynchronous. Runs at 4800 baud or less. Synchronous or Asynchronous. Runs at 3.1 "/sec. Speed regulation ± .5% F. Compatability : Will interface any computer or terminal with a serial I/O. (Altair, Sphere, M6800, PDP8, LSI 1 1, IMSAI, etc. G. Other Data: (110-220 V), (50-60 Hz); 3 Watts total; UL listed 955D; three wire line cord; on/off switch; audio, meter and light operation monitors. Remote control of mo- tor optional. Four foot, seven conductor remoting cable provided. Uses high grade audio cassettes. H. Warrantee: 90 days. All units tested at 300 and 2400 baud before shipment. Test cas- sette with 8080 software program included. This cassette was recorded and played back during quality control. ALSO AVAILABLE: MODEL CC-7A with vari- able speed motor. Uses electronic speed control at 4"/sec. or less. Regulation i .2% Runs at 4800 baud Synchronous or Asynchro- nous without external circuitry. Recommended for quantity users who ex- change tapes. Comes with speed adjusting tape to set exact speed. DIGITAL DATA RECORDER $149.95 FOR COMPUTER or TELETYPE USE Any baud rate up to 4800 Uses the industry standard tape satura- tion method to beat all FSK systems ten to one. No modems or FSK decoders required. Loads 8K of memory in 17 seconds. This recorder, using high grade audio cassettes, enables you to back up your computer by loading and dumping programs and data fast as you go, thus enabling you to get by with less memory. Can be software controlled. Model CC7 . Model CC7A . .$149.95 ..$169.95 NATIONAL multiplex CORPORATION NEW - 8080 I/O BOARD with ROM. Permanent Relief from "Bootstrap Chafing" This is our new "turnkey" board. Turn on your Altair or Imsai and go (No Bootstrap- ping). Controls one terminal (CRTorTTY) and one or two cassettes with all programs in ROM. Enables you to turn on and just type in what you want done. Loads, Dumps, Examines, Modifies from the keyboard in Hex. Loads Octal. For the cassettes, it is a fully software controlled Load and Dump at the touch of a key. Even loads MITS Basic. Ends "Bootstrap Chafe" forever. Uses 512 bytes of ROM, one UART for the terminal and one USART for the Cassettes. Our orders are backing upon this one. No. 2SIO (R) Kit form $140. — Fully assembled and tested $170.00 Send Two Dollars for Cassette Operating and Maintenance Manual with Schematics and Software control data for 8080 and 6800. Includes Manual on I/O board above. Postpaid Master Charge & BankAmericard accepted. On orders for Recorders and Kits please add $2.00 for Shipping & Handling. (N.J. Residents add 5% Sales Tax) 3474 Rand Avenue, Box 288 South Plainfield, New Jersey 07080 (201) 561-3600 93 have access to its file storage. Instead, commands and data could be relayed from one CIE to another until they finally reach their destination. Then, many isolated CIEs would behave like a vast network capable of transmitting software across the country overnight. We are describing a communication net- work which can be very effective and which is highly decentralized. In fact, this decen- tralization is crucial to its effectiveness in promoting free communication between individual computer people. For example, computer manufacturers now organize their customers into user groups in order to provide a forum for communication of ideas and programs among their users. Most com- munication is channeled through publica- tions controlled by the manufacturer, how- ever; and this all too often results in the encouragement of software and viewpoints which are consistent with those of the manufacturer. On the other hand, it is not necessary to use a centralized forum to encourage people who need it: most of that interaction is on a person to person basis in almost any group. All well and good, you might say, but just how does the personal computing user com- pare with the journeyman programmer? Well, the computer amateurs live in a world in which wholesale copying of programs is nearly inevitable. Actually, that represents a healthy trend in two ways: the person using the copy benefits by its availability; and the program's originator benefits by having helped spread a good example of the pro- grammer's art. Of course, such freely ex- changed software may well be worthless at best. That does seem a minor penalty, though, for all the advantages that stand to be gained by ready availability. That is one example of the difference between the two kinds of programmers. That is, a functioning program is required of the professional, while it is merely desired by the amateur user who figures he or she will have to patch and customize anyway. Someone paid to write a program has to make it do what the client wants; a personal computing user has only personal preferences to satisfy. Some- body paying for a program has a right to expect that it will be reasonably efficient in order to conserve the money spent on computer time, while your patience is a much stronger constraint for you than the cost of your computer's time. Somebody paying for a program is quite likely to need the documentation oriented toward people unskilled in the technicalities, while fellow enthusiasts won't need to have all the details explained to them. Finally, deadlines are quite firm in the commercial world but of considerably less importance among ama- teurs (except for those who fill magazines once a month! . . . CH/. While the priests who market the old time software religion can help the personal sys- tems user, such users should be mindful of the benefits to be gained from a healthy measure of independence. If you can get your hands on the symbolic form of freely exchanged software, you can revise it to suit your own needs. That's considerably easier than trying to convince somebody else who supplies a high priced package to make your favorite changes, especially since the other person may differ from you in values, priorities and notions of demand. For the traditionalist software source, a request from a single person could easily seem to repre- sent too narrow an interest to motivate a change or patch. If program source listings are distributed freely and nearly every user has the requisite skills to make patches, then the person wanting something changed will probably be the person making the change. Of course, the end result is nearly the best of all possible worlds: Your home computer will do what you want it to do, and it will do it in the way you want it done. It will not do what somebody else decided it was reasonable for you to want it to do and in a way that it was convenient for somebody else to have it done." 94 Mt~r P- J*L. ■UT- ./ *L*. « THAI'S "HAPPY 6lJ?THDAV" IN NORSE CODE! ft/*/ ~w*.V~ «.*/ pv* Networking, Anyone? Walter Banks of the Computer Communi- cations Network Group, University of Waterloo, Waterloo, Ontario, CANADA N2L 3GI, is interested in talking to radio amateurs and computer people interested in organizing and promoting computer tele- communications networks for amateur experimental use. The definition of a com- munications software discipline modelled after existing commercial and academic digital networks would be one goal of such activity. Such network activity could be supported "for free" on the radio bands using the OSCAR synchronous satellite when it gets launched, or using the dial-up capabilities of the phone network at the usual Bell rates for long distance calls. Walter can be reached by phone at (519) 885-1 21 1 , extension 2847." What's Coming Up in BYTE II In the November BYTE, you'll find an article by John Deres of Southwest Technical Products Corporation, describing in detail the circuit and operation of the new GT-61 graphics display generator product which Southwest manufactures. Included in John's article is a 6800 program which is used to transfer stored images from the processor's memory to the display generator's memory through a parallel data port. One example given in John's article is the data needed to produce this display on the screen. Also scheduled for November are an article on APL by Mark Arnold, and an article on how to homebrew a 256 by 256 point array display interface written by Thomas R Buschbach." 4Kx8 Static Memories MB-1 Mk-8 board, 1 usee 2102 or eq. PC Board. .322 Kit $100 MB-2 Altair 8800 or IMSAI compatible switched address and wait cycles. PC Board. . $25 Kit (1 usee) . . $112 Kit (91L02Aor21L02-1) $132 MB-4 Improved MB-2 designed for 8K "piggy-back" without cutting traces. PC Board $ 30 Kit 4K 0.5 usee $137 Kit 8K 0.5 usee $209 MB-3 1702A's EROMs, Altair 8800 & Imsai 8080 compatible switched address & wait cycles. 2K may be expanded to 4K. Kit less Proms . $ 65 2K kit . . $145 4K kit $225 I/O Boards 1/0-1 8 bit parallel input & output ports, common address decoding jumper selected, Altair 8800 plug compatible. Kit $42 PC Board only. .$25 I/0-2 I/O for 8800, 2 ports committed, pads of 3 more, other pads for EROMs UART, etc. Kit . . . $47.50 PC Board only. . $25 Misc. Altair compatible mother board 15 sockets 11"x11V4" $40 Altair extender board $ 8 100 pin WW sockets .125" centers $ 6 2102's | lusec | 0.65usec 0.5usec ea. 32 $ 1.95 $59.00 $ 2.25 $68.00 $ 2.50 $76.00 1702A* $10.00 8223 $3.00 2101 $ 4.50 MM5320 $5.95 2111-1 $ 4.50 8212 $5.00 2111-1 $ 4.50 8131 $2.80 91 L02A $ 2.55 MM5262 $2.00 32 ea. $ 2.40 1103 $1.25 Programming send H ex List $5.00 AY5-1013 Uart $8.00 All kits by Solid State Music Please send for complete list of products and ICs. MIKOS 419 Portofino Dr. San Carlos, Calif. 94070 Check or money order only. Calif, residents 6% tax. All orders postpaid in US. All devices tested prior to sale. Money back 30 day Guarantee. $10 min. order. Prices subject to change without notice. 95 Classified Ads for Individuals and Clubs Headers who have equip- ment, software or other items to buy, sell or swap should send in a clearly typed notice to that effect. To be consider- ed for publication, an adver- tisement should be clearly non-commercial, typed double spaced on plain white paper, and include complete name and address information. These notices are free of charge and will be printed one time only on a space available basis. Insertions should be lim- ited to 100 words or less. Notices can be accepted from individuals or bona fide com- puter users clubs only. We can engage in no correspondence on these and your confirma- tion of placement is appear- ance in an issue of BYTE.* HELP! I need schematic & information on 3501 A Asciscope S/N 14 by LEAR-SIEGLER. Will give almost anything to borrow, reproduce, or even glimpse. Emile Alline, 1119 Penn, Slidell LA 70458. FOR SALE: KSR-33s, I have a limited number of KSR-33s on stands. We have checked them out on an Altair 8800 and they work like champs. S495 each while they last. Boyd Martin, 5130 Melvin Av, Tarzana CA 91356 eves and weekends, (213) 345-0903. FOR SALE: Digital tape cassette transports, WIFE model 250, outdated but new. Andruss Peskin Corp, POB 268, Natick MA 01760, (617) 653-3919. FOR SALE: Disk controller, asking $800 or best offer, worth better than $2,600. IBM 2841 disk controller model 1 dual channel, controls up to 8 drives, power supplies, 4 K RAM, all cables and manuals available, maintenance available from IBM. Call Pete Arnett at (305) 671-5631 after 5 PM EST or write 7739 Liverpool, Orlando FL 32807. FOR SALE: TVT-II (SWTP CT-1024), complete with SWTP power supply, manual cursor control board, parallel interface board, all cables and documentation. Includes wiring changes to make 64 characters per line. All ICs in sockets. Guar- anteed working cond, $175. Also have MITS expander card (no sockets or card guides) $15. W W Crider, 4011 Oak Hill Dr, College Park GA 30337, (404) 767-6402. SWAP: Have first 8 issues of BYTE. Want ham radio or electronics magazines. FREE: Schematic & service data for almost any radio receiver or TV set. Make and model number a must; approx age, # of tubes, description helpful. Legal size SASE appreciated. Donald Erickson, 6059-K Essex St, Riverside CA 92504, (714) 687-5910. FOR SALE: FLEXOWRITER Model SFD. Excel- lent condition. Has 8 level reader and punch, $300 or trade for TVT-I or TVT-II. Call or write; William Dawson, 316 21st St, Apt 4, VA Beach VA 23451, (804) 422-5921. WANTED TO BUY: Video terminal (such as Sanders model 720 but any type would do) at a very reasonable cost. If desired, I would swap for my Busicom digital desktop calculator with 14 digit readout and memory. This is a very early digital calculator but is in good operating condi- tion. Either way, tell me what you have. Rich Nicewonger, 24 Rosewood Rd, Edison NJ 08817. FOR SALE: Disk drive, IBM 2311 type, 7.25 million bytes. Almost new, manuals and documen- tation available. Asking $750. P Arnett, 1730 S Bumby, Orlando FL 32806. CLEANING HOUSE-lf you want a list of items for sale, send SASE to Bob Baker, 15 Windsor Dr, Atco NJ 08004. FOR SALE: Three 4K Altair RAM boards @ $180. Assembled, tested, excellent cond; memory ICs in sockets, less 100 pin edge connector, postpaid. One 1 K static RAM board, also Altair. As above $100. John Martin, 808 Day St, Fair- mont MN 56031. FOR SALE: Paper Tape Splices — prepunched for any kind of 8 channel tapes, $3.50 per 100, postpaid. H Corbin, 11704 Ibsen Dr, Rockville MD 20852. WANTED: Automatic card reader for demonstra- tion project in the New York City Public School System. Please call: (212) 852-2957 or write: Alex Aderer, 1 66 Bergen St, Brooklyn NY 11217. FOR SALE: Altair 8800 system w/ 8 K memory, 88SIO interface, 8 K BASIC complete and ready to run. $950. Also SWTP CT-1024 terminal complete with case $300 and Sanyo Monitor $150. Entire system with manuals guaranteed $1,400. D Smith, (714) 993-9939, Fullerton CA. WANTED: MOS KIM-1 or OSI series 400 system, also Tl SR-52. Joe Torzewski 51625 Chestnut Rd, Granger IN 46530. WANTED: Information or documentation for SYNER Data total term. If you have same or know how to repair, please contact: Paul Massod, 338 N Warren Av, Brockton MA 02401, (617) 587-9035. FOR SALE: MARK-8 CPU circuit board (as- sembled). Needs 8008 chip, some memory, address and IO latches to get it going. MARK-8 and Intel's 8008 manuals included, $20. Also Signetics Data Manual (1976) 1200 pages of TTL, ECL, linear, interface ICs, MOS memories, and their latest microcomps, $8. Frank Canova Jr, 725 Myrtle Av, Green Cv Spgs FL 32043, Phone (904) 284-3408. WANTED: Software for Altair (BASIC) to keep track of club members, print zip code sorted mailing labels, and "Membership Directory." Write for details. Jack Hardman, 140 Forest Av, Glen Ridge NJ 07028, (201 ) 429-8880. FOR SALE: DUMP THE MEMORY of your 6502 system with software system which generates BYTE Standard signal for recording onto cassette. Documented software listing for only $3. Timing variable to match your clock speed. Ideal for putting in PROM, with space for other programs. Dumps one page or many pages in one run. Don Rindsberg, 5958 S Shenandoah Rd, Mobile AL 36608. 96 altair680b TECHNICAL INFORMATION The ALTAIR 680b microcomputer is an excellent compromise between computer power and low cost structure, without sacrificing design reliability. The system is based on the 6800 microprocessing unit, which adapts nicely to a minimum design configuration. The ALTAIR 680b measures 11-1/16" wide x 11-1/16" deep x 4-11/16" high. The basic system is available in two configurations, depending on the intended application. Almost all of the 680b circuitry is contained on a single large printed circuit board, including memory and a built-in I/O port. The full front panel model contains all of the controls necessary to program and operate the computer and includes an additional printed circuit board, which provides all of the logic circuitry necessary to reset, halt or start the processor. Also located on this board are switches and associated LED indicator lights for each of the sixteen address lines and eight data lines. The front panel circuit board mounts directly to the main printed circuit board via a 100-contact edge connector. The power switch is located on the back panel of the unit for safety purposes.- A "turn-key" front panel model, which eliminates all control except restarting the processor, is also available. The basic ALTAIR 680b computer can be subdivided into five functional sections. These are the MPU and clock, the memory, an I/O port, control and indication, and the power supply. The first three of these sections, along with the power supply regulation components, are located on the main printed circuit board. At the heart of the 680b system is the 6800 Microprocessing Unit, which is largely responsible for the overall simplicity of the 680b design. The 6800 MPU contains three 16-bit registers and three 8-bit registers. The program counter is a two byte register which keeps track of the current address of the program. The stack pointer is also a two byte register which keeps track of the current address of the program and contains the next address in an external, variable length push-down/pop-up stack. The index register is a two byte register used to store data or a memory address for indexed addressing operations. There are two single byte accumulators used for holding operands and results from the arithmetic logic unit (ALU). The 8-bit condition code register indicates the results of an ALU operation. In this register there are two unused bits, kept at a logic one. The remaining six bits are used to indicate the status of the following: carry; half carry; overflow; zero; negative; interrupt. The 6800 has seven different addressing modes, with the particular mode being a function of both the type of instruction and the actual coding within the instruction. The seven modes include the following: Accumulator Addressing —one byte instruc- tions, specifying either of the two accumulators; Immediate Addressing —two or three byte instructions, with the MPU addressing the location given in the 2nd or 2nd and 3rd bytes when the immediate instruction is fetched; Direct Addressing — two byte instructions which allow the user to directly address the lowest 256 bytes of memory in the machine; Extended Addressing — three byte instructions, the second two bytes referring to an absolute address in memory for the operation; Indexed Addressing —two byte instructions, the second byte being added to the 16-bit index register to give the address of the operand; Implied Addressing — one byte instructions and the instruction itself gives the address; Relative Addressing — two byte instructions where the second byte is added to the lower 8 bits, allowing the user to address memory + 129 to -125 bytes from the location of the present instruction. There are several timing and control signals required to operate the MPU. Two clock inputs are required, phase 1 and phase 2. These must be nonoverlapping and run at the Vcc voltage level. In the 680b the clock is a 2-MHz crystal controlled oscillator with logic to provide a 500-KHz two phase clock. Sixteen active high address outputs are used to specify the sections of memory or I/O to be used. These can drive up to one standard TTL load and 130 pf. There are also eight bi-directional data lines with the same drive capability as the address lines. NEW MEMORY FEATURES MITS is pleased to announce the development of a 16K static memory card for the Altair 680b. With an access time of 215 nanoseconds and low power consumption of 5 watts, we feel that this is an excellent addition to the Altair 680b. The 680b cabinet has room for up to three 16K static memory cards, thereby increasing the memory of the Altair 680b to 49K. SPECIAL FEATURES PROM monitor. 1702A PROM monitor chip programmed so that you can immediately load and run paper tape object programs such as the text editor and assembler {see below). Asynchronous Communication Interface Adapter (ACIA Allows the machine to transmit and receive a character at a time rather than one bit. Minimizes software needed for I/O routines. Contains crystal clock for baud rate synchronization. User- selectable for RS232, Baudot, TTY, 20ma current loop. Baud rates of 50, 75, 110, 134.5, 150, 200, 300, 600, 1200, 1800, 2400, 4800, and 9600. Two Pass Resident Assembler and Text Editor A two pass resident assembler and text editor will be available for assembly language programming. This software is compatible with Motorola's format for assembly language programs, text and object files. 8K bytes of memory are required to run this package. The assembler produces a full assembly listing on the second pass, including the hex codes for the location counter and the instruction mnemonics. A symbol table listing is also produced. The text editor has full capabilities for text editing, including line insertion, printing, deletion and modification; as well as commands for changing one string of characters to another and for searching the text buffers for a particular character string. Basic Interpreter A BASIC interpreter has been developed which will be comparable to the 8800 8K BASIC interpreter. Buffered Data Lines All data lines are buffered to provide fanout capability of over 20 standard TTL loads. Altair 680b, to 49K. Altair 680b Specifications No. of Boards Up to 3 additional Microprocessor Model 6800 Technology NMOS Data Word Size, Bits 8 Instruction Word Size, Bits 8 Clock Frequency, 500K Hz Add Time, Register to Register, Microsec. Per Data Word 2 Number of Instructions 72 Input/Output Control I/O Word Size, Bits 8 Number of I/O channels 256 Memory Address Locations Designated Interrupt Capability Std. Type of Interrupt System Maskable (Interrupt Request) and Non-maskable Interrupt Software Resident Assembler and Editor Yes Higher-level language BASIC Monitor Resident System Monitor on PROM Complete Software Library Separately Priced Yes The Altair 680b is also available in this Turnkey Model which has a power indicator light and controls for RESET and RUN/HALT on the front panel. The system PROM monitor, when used in conjunction with a terminal, eliminates the necessity for toggling front panel switches to load bootstraps or to examine and change memory contents. G£ DuQK% 2450 Alamo S.E./ Albuquerque, New Mexico 87106 Programming Quickies: The Thompson Lister Noel J Thompson, of the Hawaii Institute of Geophysics, 2525 Correa Rd, Honolulu HW 96822, submits the "Thompson Lister" program for the 6800 using Motorola's MIKBUG program. This program, shown listed at location 0000 in a symbolic assem- bly language format, is designed to list 6800 programs as an address, an operation code and an optional one or two byte field depending upon the length of the instruc- tion. The sample Teletype output shown at the bottom of the listing was supplied by Noel as part of his listing of the entire program. The program figures out complete- ly whether the first byte of an instruction calls for one, two or three bytes. Quoting from Noel's letter accompanying the pro- gram, "Such a program has two important benefits. First, it provides an adequate listing for your documentation of pro- grams you are working on. You can use it over and over while you are de- veloping a routine, Second it detects the most common mistake that I find myself making in multi-length-instruction machines — the mistake of forgetting to put in the right number of bytes. If this lister comes up with funny things, probably you left out a byte. " The program is easily relocated by changing constants in the instructions at locations 0000, 0009 and 005D. The data memory used by THMPLSTR is located in the MIKBUG programmable memory region between locations A000 and A07F. Also, the program takes advantage of subroutines PDATA1, BADDR, OUT4HS, OUT2HS and OUTS which are found in Motorola's MIKBUG program. Addr Hex Code 0000 0003 0006 0009 000C 000 F 0012 0015 0018 001A 001 D 0020 0023 0026 0027 002A 002C 002E 0030 0032 0034 0036 0038 00 3 A 003C 003E 0040 0042 0044 0046 0047 0048 004B 004 D 0050 0052 0055 0057 005A 005D CE 00 67 BD E0 7E BD E0 47 CE 00 64 BD E0 7E CE A0 0C BD E0 C8 FE A0 0C A6 00 B7 A0 0B BD E0 CA FF A0 0C BD E0CC 5F B6 A0 0B 81 8C 27 18 81 8E 27 14 81 CE 27 10 84 F0 81 20 27 0B 81 60 25 08 84 30 81 30 26 01 5C 5C F7 A0 0A 27 10 7A A0 0A 27 05 BD EO C8 20 03 BD E0 CA FF A0 OC 7E 00 09 Constants required: Addr Hex Code Label THMPLSTR NEXTBYTE 0064 0067 0D 0A 04 40 04 THREE TWO ONE ONLYONE SAVEADDR Label CRLF ANATSGN Op LDX JSR JSR LDX JSR LDX JSR LDX LDAA STAA JSR STX JSR CLRB LDAA CMPA BEQ CMPA BEQ CMPA BEQ ANDA CMPA BEQ CMPA BCS ANDA CMPA BNE INCB INCB STAB BEQ DEC BEQ JSR BRA JSR STX JMP Operand #ANATSGN PDATA1 BADDR #CRLF PDATA1 #XHI OUT4HS XHI o,x TEMP OUT2HS XHI OUTS TEMP #8C THREE #8E THREE #CE THREE #F0 #20 TWO #60 #30 #30 TWO BOX NEXTINST BOX ONLYONE OUT4HS SAVEADDR OUT2HS XHI NEXTBYTE Commentary Print an '(3)' sign using MIKBUG subroutine PDATA1; XHI := (address input) [using MIKBUG] ; Print carriage return and line feed MIKBUG subroutine PDATA1; X := XHI [XHI as defined by MIKBUG] ; Print current address as 4 hex characters; X := XHI [fetch current address pointer] ; A := @X [fetch current data at X] ; TEMP := A; Print current data then space; XHI := X [after OUT2HS has incremented] Print an extra space; B := 0; A := TEMP; is op code CPX ? if so then go to 3 byte length case; is op code LDS? if so then go to 3 byte length case; is op code LDX? if so then go to 3 byte length case; A := A & #F0 [mask off low order nybble] , is op code a branch? if so then go to 2 byte length case; is op code less than #60? if so then go to 1 byte length case; A := A & =?30 [mask to bits 5 and 4 left] ; are bits 5 and 4 equal to '1'? if not then length TWO is indicated; B := B + 1 [here for two increments] ; B := B + 1 [here for one increment] ; BOX := B; if zero in BOX then reiterate; BOX := BOX - 1; if one in BOX then print only one byte; print two bytes of 3 byte instruction; go save address for next round; print one byte left in 2 byte instruction; XHI := X [save pointer to next address] ; reiterate program forever till interrupt; Sample listing on Teletype: Description Carriage return, line feed, stop code in PDATA1 format; Initialization prompting message in PDATA1 format; 0018 A6 00 001 A B7 A00B 00 ID BD E0CA 0020 FF A00C 0023 BD E0CC 0026 5F 002 7 B6 A00B 002A SI 8C 99 BOOK REVIEWS Computer Resource Book — Algebra by Thomas A Dwyer and Margot Critchfield, Houghton Mifflin, Boston, 1975; 8-1 14 x 11, 178 pages. Paperback $4.20. This book contains a collection of com- puter explorations of algebra that were designed to be carried out in any algebra course where a computer is available. Since the computer programs are written in BASIC, the book begins with a 25 page "whirlwind tour" of computer programming in BASIC. Following this introduction to BASIC are 1 sections on things to do with a computer while learning algebra. In evalu- ating this excellent resource book, one can conclude that the authors have taught com- puter programming and high school algebra, and have taught both subjects well. Dwyer and Critchfield have written a book which draws the reader into becoming an interested and active participant in learning algebra. They were able to put themselves in the reader's place by asking (and answering) some of the questions about algebra and computer programming which puzzle stu- dents. The book was designed to be read by high school students as well as teachers, and I suspect that many students will want to take it home with them after school. As the authors point out in the introduc- tion, this resource book is meant to be used in an algebra course as a supplement to a regular algebra textbook. Access to a time sharing system or an on site small computer is necessary when using the book. Teachers and students may want to integrate these computer-related algebra topics in their regu- lar algebra courses or select programs from the book to use as course projects. Many of the BASIC programming skills needed in using the book are presented in the prologue and the remainder are interspersed through- out the algebra topics. The "Introduction to BASIC" section begins by illustrating the differences among system commands, BASIC statements, com- puter programs, user input, and computer output. The authors put the computer- programming novice at ease by taking a realistic, relaxed (and at times humorous) approach to using computers. For example, the reader is given numerous reminders at the beginning of the book to press the carriage return key after typing a line and is told "don't be afraid to make mistakes - you won't hurt anything." To avoid mis- leading the beginner, each BASIC statement is introduced and explained in the context of a complete, executable program rather than as a non-executable program segment. Sufficient margin notes are used to clarify lines and sections of program listings and sample executions are included with most of the program listings. The 10 algebra topics included in this book are the language of algebra, operations with real numbers, linear equations in one variable, inequalities, open sentences in two variables, systems of linear equations, qua- dratic equations and functions, rational expressions and polynomial equations, polynomial functions and complex numbers, and computer-generated animation. Each algebra topic begins with a checklist of necessary computer programming skills and a short quiz on prerequisite knowledge of algebra. Next, several coaching and practice computer programs are listed and explained, followed by a number of application pro- 100 Now, you can buy an Altair 8800 or Altair 680 computer kit right off the shelf. Most all Altair options, software and manuals are also available. The MITS Dealer List below is just the beginning: off the shelf RETAIL COMPUTER STORE, INC. 410 N.E. 72nd Seattle, WA 98115 (206)524-4101 COMPUTER KITS 1044 University Ave. Berkeley, CA 94710 (415)845-5300 THE COMPUTER STORE (Arrowhead Computer Co.) 820 Broadway Santa Monica, CA 90401 (213)451-0713 THE COMPUTER SHACK 3120 San Mateo NE Albuquerque, NM 87110 (505)883-8282 GATEWAY ELECTRONICS 2839 W. 44th Ave. Denver, CO 80211 (303)458-5444 GATEWAY ELECTRONICS 8123-25 Page Blvd. St. Louis, MO 63130 (314)427-6116 BYTE'TRONICS Suite 103-1600 Hayes St. Nashville, TN 37203 (615)329-1979 CHICAGO COMPUTER STORE 517Talcott Rd. Park Ridge, IL 60068 (312)823-2388 MARSH DATA SYSTEMS 5405-B Southern Comfort Blvd. Tampa, FL 33614 (813)886-9890 MICROSYSTEMS 6605A Backlick Rd. Springfield, VA 22150 (Washington DC area) (703)569-1110 THE COMPUTER SYSTEMCENTER 3330 Piedmont Road Atlanta, GA 30305 (404)231-1691 THE COMPUTER STORE, INC. 120 Cambridge St. Burlington, MA 01803 (617)272-8700 COMPUTER PRODUCTS UNLIMITED 4216 West 12th St. Little Rock, AR 72204 (501)666-2839 the COMPUTER STORE, INC. 63 South Main St. Windsor Locks, CT 06096 (203)871-1783 the COMPUTER STORE of NEW YORK 55 West 39th St. New York, NY 10018 THE COMPUTER ROOM 3938 Beau D'Rue Drive Eagan, MN 55122 (612)452-2567 NOTE: Altair is a trademark of MITS, Inc. THE COMPUTER STORE OF ANN ARBOR 310 East Washington St. Ann Arbor, MI 48104 (313)995-7616 MITS, Inc. 2450 Alamo S.E. Albuquerque, N.M. 87106 grams and simulations. Most of the 125 programs which are listed are interesting enough to elicit an "I want to try it out" response on the part of students, and many of the programs are unavailable in other computer supplemented sources. Activities such as modifying the given programs to make them more efficient, revising programs to make them do different things, and creating new programs are suggested at the end of each algebra topic. If you want to liven up your algebra classes with computer activities such as building an ultramatic root finder, making and breaking secret codes, writing robot coaching programs, programming Honest Hal the simulated used-car salesman, and many others, this fascinating book is for you and your students. Even if you only want to see how computers can be used to enhance learning mathematics or find some new ideas for mathematical applications of computers, the Computer Resource Book — Algebra is still appropriate. My only complaint about this book is that it ends too soon; and where are the computer resource books for geometry, trigonometry, probability, and statistics? Frederick H Bell Associate Professor School of Education University of Pittsburgh Pittsburgh PA 15260* The Art of Computer Programming by Donald E Knuth. Volume I: Fundamental Algorithms. Addison-Wesley, Reading MA, 1975, $20.95. There is some doubt in my mind as to how to classify this series. It is undeniable that we have here a standard, perhaps even classic, reference work, which sits handy on many a programmer's desk. But it clearly is also a text, useful for self instruction and used in several university programming courses. The exercises, while very instruc- tive, could also fall in the realm of recre- ational mathematics (another field the author has contributed to). It even makes entertaining reading at times (no mean feat for a text and reference work). I suppose the best description, however, would be that this is a cookbook of computer algorithms. More specifically, it deals with "non- numerical analysis." Numbers occur only "coincidentally," with more stress given to the decision making capabilities of the com- puter. The numeric computing which is involved consists mainly of addition and subtraction (these qualities are among the stronger points of inexpensive computers, bless 'em). Of course, the techniques pre- sented are also of considerable use in nu- merical computing, as there is always a non-numerical background in programming. By numerical computing, I refer to the solving of equations, finding of roots, and other number oriented calculations (the "traditional stuff"). While that aspect of the field is little covered by this series, that doesn't mean there is no mathematics in- volved. Indeed, Mr Knuth is himself a professional mathematician. This need not scare away those who are not, however, as the author kindly presents theory and algorithm with the minimum math needed to understand and use them, keeping more difficult analysis towards the end of each section, where only those with more interest need tread. (Some knowledge of basic math notation would be helpful, though.) Also optional are the exercises which conclude each section (the answers are included, by the way). If this series is not just for the mathema- tician, who then? Everyone? Not quite. It is aimed at the person with more than a casual interest in computers, the programmer con- cerned not only with how to use some one else's subroutines, but with how to use the algorithms behind the subroutines to improve his own creations. The reader's relationship with the computer should be beyond the stage of introductions. For example, Knuth suggests that the reader should have written and debugged at least four programs on at least one machine. (The programmer who has written scores of pro- grams for several machines may get at least as much value from the series. As I say, it is a reference, too.) It's for you if you're getting the hang of your programming units (be they hex machine codes or FORTRAN statements), and you want to start putting them together to do something. To connect the units with the application in mind, you need algorithms. (Roughly, an algorithm is a step by step procedure for doing something.) That's what The Art of Computer Programming is all about. The algorithms are chiefly presented in two forms: in a general English-language outline form and, when appropriate, in the assembly language for a hypothetical computer of the author's own concoction, MIX (the "world's first polyunsaturated computer"). Knuth has several good reasons for getting us involved with this mongrel machine (read the book), but for our purposes there is the additional advantage of easier translation of algorithms, ie: from his assembly language to our assem- bly language. While many algorithms trans- late well to higher level languages like 102 BASIC, some things can be better done closer to the assembly language level, eg: systems programs. While it's not necessary to the use of the series, I plan to have a MIX simulator running on the MOS Technology 6502, and I expect there will be simulators for other micros as well. This will allow very quick checkout and modification of the MIX algorithms given in The Art of Computer Programming before further translation, and make possible the exchange of programs with other hobbyists. In particular, let's consider Fundamental Algorithms, which is the first volume of seven in The Art of Computer Programming (of which three have been published so far). Chapters I and 2 are contained therein. Chapter 1 features a concise tutorial of much of the math that is particularly useful to programming. You may skim this section, but don't be surprised if over the years you keep referring back to it. Then follows a complete presentation of MIX and the MIX language, including the description of a MIX simulator. In fact a well commented listing of the MIX simulator is given and explained (written in MIX, of course). This presenta- tion will greatly help anyone interested in writing their own simulator (which is a very useful exercise). Chapter 2 is titled "Information Struc- tures," and begins the meat of the series. Major topics covered include stacks, arrays, linked lists, dynamic storage allocation, and trees. (These trees have roots and leaves, but [generally] aren't green and usually grow upside down.) Whether you know all or none of the above terms, this chapter should leave you with a good understanding of what they are and how to use them. No "TKIS" I page 42, January BYTE] is complete with- out some of these structures. Nor is any programmer. Zhahai Stewart PO Box 1637 Boulder CO 80302 ■ Humanizing Computer Systems by Keith R London, McGraw Hill, New York, $15. What is the people impact when com- puters are placed in a working environment? What are associated problems of developing and implementing systems to meet the re- quirements of an organization and yet satisfy the people — the employees? This new book, "The people side of systems," is a valuable work which puts aside the technical aspects of computing and looks at the implications for people when a computer comes into their every working day association. The author is Keith R London who has produced considerable output related to management of computer systems. In this new book, he directs attention to how computers can cause disruptions in em- ployee relationships. Keith acknowledges the need and use of computers, but he also sees a need to reorient project leaders and systems analysts away from a pure hardware/software aspect to giving some attention to the impact the system has on those it comes into contact with: workers in a company or group. The thrust is to show how to integrate a com- puter with people. This book is not directly of import to the average Byter other than giving some insight to better relationship with the rest of the family who may think, with some degree of justification, that the excessive interest hobbyists show towards do it yourself com- puters has placed them just this side of the funny farm. The book is a must for those who have to make computers work in a large "people" group. Art Brothers 555 Avenue G Boulder City NV 89005 ■ ACT- 1 MICRO-TERM INC. $525 complete with high resolution 9" monitor • $400 without monitor | NCLUDE d FEATURES: Underline Cursor RS232C or Current Loop All oscillators (horiz., vert., baud rate, and dot size) are crystal controlled • 64 characters by 16 lines • Auto Scrolling • Data Rates of 110, 300, 600, 1200, 2400, 4800, and 9600 baud are jumper selectable The ACT-I is a complete teletype replacement compatible with any processor which supports a serial I/O port. Completely assembled and dynamically tested. Prices FOB St. Louis Mastercharge and BankAmericard THE AFFORDABLE CRT TERMINAL MICRO-TERM INC. P.O. BOX 9387 ST. LOUIS, MO. 63117 (314) 645-3656 103 Interested in Notes about Electronic Music? Electronotes is the name of an excellent newsletter which will be of interest to anyone who is into electronic music experimentation. Published by Bernie A Hutchins, it is subtitled "Newsletter of the Musical Engineering Group." The address is 203 Snyder Hill Rd, Ithaca NY 14850 . . . write for information on signing up for a subscription. The price of a typical subscription is $16 for one year. Bernie sent BYTE several copies of the newsletter, and a reprint book entitled Musical Engineer's Handbook. The news- letter has been published by him and his associates for several years, and is circulated to a select group of electronic music people. The beginnings of microprocessor automa- tion in traditional electronic music are found in the pages of Electronotes where the November 1975 issue, EN#59, starts a series of tutorials on what a microprocessor can do for the electronic musician, written in terms familiar to the music person. The author of the series, which extends through four issues of Electronotes, is Bill Hemsath. The theme is continued in the March 1976 issue where Douglas Kraul discusses some elementary points about "Analog Interfaces for Micro- processor Systems." Electronotes is jammed full of information on circuitry and equip- ment needed to produce electronic music sounds, and will provide an excellent and specialized forum for those who want to find out about progress in this field. The Musical Engineer's Handbook is a publication in the same vein, as one might expect since it is made up of materials based upon past issues of Electronotes. Its dedication reads: "This book is dedicated to musicians everywhere and of all times, without whom many of us would have only electronics to do." It is a very thick photo offset publication (354 pages) in a GBC binding, containing fundamental informa- tion on the technology of electronics in music applications. The book has a combina- tion of background theory with numerous practical applications circuits. It is an essen- tial sourcebook for anyone seriously interested in the art and practices of elec- tronic music. The book is available from Electronotes for $18, in return for which you'll get thousands of dollars worth of ideas." P. C. cards made simple — with COPYDAT! 1. Prepare the 1X artwork, using an opaque layout aid such as Chartpak, Bishop Graphics, or other similar product. 2. Make a negative: Place the artwork face down, cover with the negative material colored film side up (we recommend Scotchcal products), and expose with the Copydat. Typical exposure time is 1.5 minutes. 3. Develop the negative in developer provided with negative material. 4. Attach negative to pre-sensitized face of copper board. Place board and negative face down on Copydat. Expose. Typical exposure time: 30 seconds. 5. Save the negative for reuse, and develop the board in the developer provided. 6. Etch the board. 7. As a finishing touch, tin the board to avoid oxidation of the copper and to improve solderability. Result: a custom, high quality, single-sided P.C. board. With careful alignment, you can make doublesided boards too! Alternatively, buy high-quality hardware assemblers from us — and these are predril led as well (and feature plated-through holes): P.S. The Copydat does a lot more than make high-quality P.C. boards. It makes superior blueline, blackline, sepia, and other diazo process copies, and you can make pressure-sensitive labels with it and even instrument front panels from pre-sensitized metal plates ! ! from $149.95 (B size prints) CELDAT Design Assoc. P.O. Box 752 Amherst, N.H. 03031 104 Still More BYTE's Books •DESIGNING WITH TTL INTE- GRATED CIRCUITS by the Components Group, Texas Instruments Inc. Edited by Robert L Morris and John R Miller. People often ask questions like "Where do I get basic information on hardware design?" One answer is in "Designing With TTL Integrated Circuits." This book, published by McGraw Hill in 1971, is a fundamental starting point for any person designing peripherals and custom logic employing TTL integrated circuits. While its publication date precludes any reference to the later additions to the TTL 7400 series of components found in the Data Books, it is nevertheless the source of a wealth of ideas on TTL integrated circuits and design of logic with this family of circuits. What is fanout? You may have heard this term mentioned at computer club meetings or in advertisements for circuitry, or in articles in BYTE. You can find out background information on the calculation of fanouts by reading the chapter on Circuit Analysis and Characteristics of Series 54/74. Worried about noise, shielding, ground- ing, decoupling, cross talk and transmission line effect? (Or, more properly, did you know you should worry about these effects in certain circumstances?) Find out about general precautions and background infor- mation by reading the chapter on Noise Considerations. The chapter on Combinatorial Logic Design gives 53 pages of background information on Boolean algebra and practi- cal representations of logic in the form of SSI gates. The chapter includes a description of Karnaugh mapping techniques and the minimization of logic. From combinatorial design, the book progresses into Flip Flops, including background information on the workings of these devices, and fairly detailed descriptions of the uses and applications of these devices including synchronization of asynchronous signals, shift registers, flip flop one shots, etc. Then the book returns to static combinatorial logic with its description of the Decoders available in the 7400 line as it stood in 1970-1971. A chapter on Arithmetic Elements gives fundamental descriptions of binary arithme- tic, diagrams of the basic gate configurations for combinatorial logic adders, and a section on number representations for use in computers. Much of the material in this section is dated, due to the fact that the later 74181 series of multiple function arithmetic units had not yet appeared when the book was written. But for a background on arithmetic operations implemented with the simpler 7483 circuits, this chapter is ideal. A chapter on Counters and a chapter on Shift Registers complete the detail logic sections. The book is closed out by a chapter on miscellaneous Other Applica- tions including a simple binary multiplier, a 12 hour digital clock and a modulo-360 adder. BITE PETERBOROUGH, NH 03458 n Designing With TTL Integrated Circuits $24 Microcomputer Design $25 Send to: Name Address City State ^ip_ Q Check enclosed □ Bill MCNo. □ Bill BA No. Signature Exp. Date Exp. Date L_. Please allow six weeks for delivery. The most important use of this book is its value as an introduction to TTL logic. By reading and studying it, you will begin to understand the ways in which SSI and MSI TTL gates can be utilized in your own experimental logic designs. After studying this text, you should be able to make much more sense out of the technical information summaries typically published as specifica- tions sheets and data catalogs. Order your copy today from BYTE's Books, $24 postpaid. •MICROCOMPUTER DESIGN by Don- ald P Martin, Martin Research. Edited and Published by Kerry S Berland, Martin Research . Purchase your copy of the definitive source for circuitry and hardware design information on the 8008 and 8080 com- puters today. Even Intel, the originator of the micro- processor revolution, is hard put to compete with the wealth of information found in Martin Research's new second edition of Microcomputer Design. This is the book which was originally published as an expensive (but quite practical) engineering report in loose leaf form, at about the time the microprocessor technology was first catching on in the form of the 8008. This 388 page second edition of the manual is loaded with detailed information on how to build and use computers based on the 8008 and 8080. But even if you do not intend to use the 8008 or 8080, the practical pointers on digital logic design, peripherals and applica- tions of hardware techniques will more than justify the new low price of $25 for this handbook. Microcomputer Design is a must for 8008 owners and 8080 owners who want to truly understand how their processors process. Microcomputer Design is complete with numerous illustrations, tables and diagrams, plus reprints of the specifications sheets for the Intel processors. There are numerous practical examples of circuitry and many complete computer designs ranging from "minimal microcomputers" to a full blown 8080 processor. Order your copy today, $25 postpaid from BYTE's Books. Continued from page 14 decision boundary. There are innumerable ways to vary this technique. For those who would like to try their luck at hand sent Morse decoding, I have included a brief flow chart outlining a typical process from approach (3). Success- ful models have been constructed by Picker- ing Radio Co (to name but one com- pany . . . look at Ham Radio, QST, or other amateur radio magazines) and a computer model has been designed using about 4 K of memory on a PDP-12 as described in a master's thesis by J A Guenther. For those interested in the exact PDP-12 algorithm, Guenther's thesis is available for a nominal charge from the National Technical Informa- tion Service of the US Department of Commerce [See bibliography] . As you can see, the problem of transla- ting hand sent Morse code is not easily solved. To further complicate matters, most of the really good information is classified, or even worse, proprietary to a particular company. So, I wish you all the best of luck, you'll probably need it. As a final note, just remember: When you think you've got the problem licked, Chisholm's Law of Human Interaction will apply (eg: Some joker — radio amateurs call them "lids" — will come along with a "fist" that will tear your algorithm apart)." BIBLIOGRAPHY 1. Blair, C R, "On Computer Transcription of Manual Morse," Journal of the Association for Computing Machinery, pages 429-442, vol 6, no 3, July 1959. 2. Duda, J S, "Noise Reduction for CW Recep- tion," Ham Radio, pages 52-55, September 1973. 3. Gold, B, "Machine Recognition of Hand-Sent Morse Code," Institute of Radio Engineers Transactions on Information Theory, pages 17-24, March 1959. 4. Gonzales, C and Vogler, R, "Automatic Radio- telegraph Translator and Transcriber," Ham Radio, pages 8-23, November 1971. 5. Guenther, J A, Machine Recognition of Hand Sent Morse Code Using the PDP-12 Computer, master's thesis, Air Force Institute of Technol- ogy, Wright-Patterson Air Force Base, Ohio, December 1973. Available as document number AD-786-492 for a nominal cost from the Na- tional Technical Information Service, US De- partment of Commerce, 5285 Port Royal Rd, Springfield VA 22151. 6. McElwain, C K and Evans, M B, "The Degarbler — A Program for Correcting Machine Read Morse Code," Information and Control, vol 5, pages 368-384, May 1962. 7. Petit, R C, "Morse-a-Verter,' January 1971. QST, pages 30-35, 111 H > OQ O 2 INTRODUCING KIL O'BYTE, VJORLD RENOVINED STORY-TELLER, ADVENTURER, *& HACKER EXTRAORDINAIRE THIS EVENING, OUR HBO, KIL, 5AT DOWN with our micro-Hero HI? SON, CHIP, TO TELL HIM A STORY AWT OUK GREAT- GRANDADDy HERO, KILT Q'mi 106 Waiting to leave at Logan A irport in Boston, Ed Zealy captured this interesting juxtapo- sition of transportation technologies. The tail of a 707 frames the distant image of a 727 masked against a sailing vessel leaving Boston as a part of "Operation Sail. " Travelogue . . . Notes by Carl Helmers, Editor On July 16, 17 and 18, the American Radio Relay League's 1976 National Con- vention was held in Denver CO at the Denver Hilton hotel. The ARRL is the amateur radio operator's main organization and representative in matters concerning the legal availability of amateur bands in the radio spectrum. Without the ARRL, amateur radio as it is today and has been practiced since early in this century would not exist. (For information on amateur radio, contact the ARRL at 225 Main St, Newington CT 06111.) As part of the affair, reflecting the interest of many radio amateurs in com- puting applications to their field, the Denver Amateur Computer Society was asked to coordinate a series of microprocessor ses- sions at the convention, and this in turn helped attract a number of personal com- puting vendors and spectators to the exhibi- tion area. BYTE was present at the con- A sign in the lobby of the Denver Hilton greets the several thousand visitors to the ARRL convention. Ideal for communicating with your microprocessor! RS-232 interface x 32 characters $400 TV/TTY kbd./display (16 lines x 64 characters) $500 Keyboard/CRT Monitor (24 lines x 80 characters) $700 ■ORDER FORM" Ship To_ Subtotal $_ Calif residents add sales lax Please find a check enclosed in the amount ol total order $ _ Bill my BankAmencard Mnstercharge My signature as purchaser date CO MICON INDUSTRIES Micon Industries 252 Oak Street Oakland, CA 94607 (415) 763-6033 107 Gary Kay (leaning over table) and Joe Deres (seated) of Southwest Technical Products dem- onstrate their wares at the ARRL convention. The table contains an SWTPC 6800 system, CT-1024 ter- minal, GT-6144 graphics display unit, and printer. Every manufacturer shows off the product in the factory. At MITS, the new Altair 880B machine is quite effectively integrated with three floppy disks, a Lear-Siegler ADM-3 terminal, and a disk operating system in the display room. Here Dave Bunnell and Carl Helmers are engaged in a conversation with the demonstration system in the background. vention with a booth in the exhibit area staffed by Deena and Ed Zealy, Beth Alpaugh and me. I also participated in one of the microprocessor oriented technical sessions by giving an informal talk at which I shared the forum with Jack Cox WOKMV. After the convention, we all flew to Albuquerque where we spent some time talking with Ed Roberts and Dave Bunnell of MITS, then Beth and I flew to San Antonio to pay a visit to Dan Meyer, Gary Kay and Joe Deres at Southwest Technical Products. Perhaps the highlight of the whole trip (at least in my mind) was entirely unplanned. While at Southwest, Ron Komatz, the local representative for Motorola Semiconductor Products in Austin TX, walked in. In passing, he suggested something like "How would you like to come back with me to Austin this afternoon and take a quick lour through the Motorola Semiconductor wafer fabrication facility?" With an offer like that, we could hardly refuse .... So, after some hurried reservations changes and Ron's call ahead to the people The interior of the main assembly area at MITS is illustrated in this shot taken during the tour of the facility. 108 A candid shot of Ed Roberts, president of MITS, during an informal discussion in his office in Albuquerque. at the Motorola plant, we drove up to Austin in Ron's car for a quick tour (total time, less than an hour and a half including 45 minutes of some informal discussion with several of the engineers and software people at Motorola). It is in places such as the Motorola plant in Austin where the space age technology of integrated circuits and the technological leads of the American semiconductor manu- facturers are so much in evidence. The silicon wafer fabrication plant is like a science fiction image: clean rooms with highly fil- tered air, workers dressed in lint- and dust- free smocks undergoing cleaning procedures prior to entering the fabrication area, exotic gases and electricity piped into the work areas, intricate optical instruments for the microscopic photo reproduction of IC mask patterns, air bearing transport slides for the disks of silicon being handled by the facility, red glowing diffusion ovens maintained at carefully controlled temperatures needed to dope the silicon chips with precise amounts of impurities at each stage of production. The result at the end of multiple stages of the fabrication process, which we viewed through glass partitions, is a three inch wafer of silicon with hundreds to thousands (depending on the particular IC) of tiny circuit patterns, waiting to be ground down to less than 10 mils thick, scribed and separated into individual pieces which can be tested in automatic equipment then shipped overseas for assembly. It is the high tech- nology of such semiconductor facilities which makes possible the personal computer as we know it today, and as it will improve and evolve in the future." ALTAI R 8800 OWNERS We recently received the following letter: APRIL 26, 1976 GENTLEMEN: I JUST WANTED TC TELL YOU THAT I THINK YOUR CLOCK FIX-IT KIT IS REALLY GREAT! I WAS HAVING TROUBLE RUNNING BASIC AND AFTER INSTALLING YOUR KIT FOUR OF i-.Y KITS BOARDS THAT WEREN'T RUi.NING CAKE BACK TO LIFE AND NOW ARE HELP It. G JiE TC WRITE THIS LETTER CN THE COMPUTER. ENCLOSED IS Af.OTHER ORDER FOR A CLOCK KIT- THIS IS FOR THE SECOND hLTaIR THAT I 'Ah NOW IN THE PROCESS OF BUILDING. AGAIN' MANY THANKS i u3. SUCH ft FINE PRuLUCT. SINCE3ELY -_0Yl. L. 5iilTH How well does your Altai r run? A Clock Fix Kit is only $15 postpaid. PARASITIC ENGINEERING PO BOX 6314 ALBANY CA 94706 A v BABY! o. ^ N ^ ■J- > Check enclosed ! II Rill MC.it Fv n natP ll Rill RA # Fv n natP i Signature 114 version clock of at least 5 kHz and as much as 2 MHz. The actual conversion time required is specified in the timing diagram of its specification as 40 clock periods. Thus if the clock rate were 40 kHz, the unit could be used to generate a valid digital word 1 millisecond after the beginning of the "start conversion" input command signal. Operating at a typical microprocessor clock frequency of 1 MHz, the conversion time would be 40 /is, corresponding to a maxi- mum sample rate of 25,000 measurements per second. Where would this item prove useful in the context of personal systems? Well, consider the problem of reading the voltage on a thermocouple used to measure temperature. After amplification and normalization with operational amplifiers, the signal could be read by the analog to digital converter and used in a program written to implement a digital feedback loop used in controlling temperature in some way. Consider the problem of deriving the coefficients used in controlling a digital speech synthesizer: An ADC is an essential input to the process of analyzing such data. Or simply consider the general laboratory problem of using your computer as a voltmeter: Put a voltmeter analog front end on this converter and have your TV display put out the values it reads. National Semiconductor is located at 2900 Semiconductor Dr, Santa Clara CA 95051. The 100 piece price of this conver- sion chip is listed as $7.95, so it certainly should be available at a reasonable price through distributors and retailers." Photocopy or cu! out tins solicitation foi inlormatioii and send to: 7338 Baltimore Ave., Suite 200 College Park, Maryland 20740 JOINT VENTURE GROUP OEM BUYS CHEAP. Inc. was set up to coordinate joint venture OEM Group Buys' Depending upon I tie total quantity ol com mitments received, you can expect to pay from 20% (0 70% of the retail sales puce. Now you too can combine your orders with otheis throughout the country to purchase factory new electronic components at OEM rates. We will accept small Factory and Club commit merits as well as individual commitments. Circle below the products you may be interested In and estimate then quantity. After we receive this survey, we shall send, to you, more information, prices and delivery dates. Attention: KIM-1 owners. For Sale: Assembler program com- patible with MOS Technology assem- bler. Uses KIM-1 cassette interface for storage of source and object programs. Also includes a text-editor program, and both run in 4K of memory. They are distributed on cassette in both source and object form, in case you wish to improve or modify them to suit your needs. Assembler/text-editor . . $1 9.50 ppd. Write for details on sale of your programs on a commission basis. Micro Software Specialists, Inc. 2024 Washington St Commerce TX 75428. STANDARDIZE! „ II 1 SPECIAL OFFER. .. HIROSE 20 PIN CABLE + CHASSIS MOUNT CON- NECTOR (solder) ONLY $14.95 REGULARLY $17.00 Rugged, Reliable, widely used in video applications. Qty. discount, no C.O.D's, Details, Specs: JOHN ANTHONY TELEVISION DINGMANS FERRY A122 PA. 18328 u.r.nP- 7Bn firiRfifl RRnn P.C. Boards: Computet Grade double buffered optional parity memory boards compatible with the Aliair 8800 on one edge and the Aftair 680 on the opposite edge; 4:8: 16K Flnpny nUk nnw( n^k CnnlmUei Snftwarf Fortran PI /I Suhsel EXTRA: We will consider purchasing general purpose P.C. Boards and Kits, etc. Write us about what you may have to offer and its OEM prices. 115 Excerpts from Future History The following series of passages was compiled by reader John W Burgeson in a term paper he wrote for his "history of technology" course in the spring term of '25. Note how the attitudes remain the same, but the objects of the attitudes evolve with time. John W Burgeson 101 Skyline Rd Georgetown TX 78626 Who Wants an Automobile? Toward the end of the last century, nobody "wanted" an automobile. Whether the invention of the horseless buggy was due to accident, play, tinkering or rational thinking on the part of people endowed with mechanical abilities is immaterial for our purposes. Surely the invention did not originate with the consumer and was not made with an eye to prevailing consumer wants. Even when the first cars appeared on the road and for many years thereafter, their use for mass transportation was envisaged neither by producers nor by consumers. But today, even small children in America feel the need for a car to take them and their parents shopping, visiting, and later to school. Between the early days of the automobile and the present situation there was a long period of social learning. The learning process was, of course, not spon- taneous; first of all, it could not have taken place without the original invention; second, it was a function of numerous stimuli — personal experience, education, and reading, as well as propaganda and advertising. Thus it may be said that wants for automobiles were induced, or to use Galbraith's term, "contrived." But are not most of our wants contrived in this sense? And are not most of our contrived wants, in a certain sense, original with the buyer? It can hardly be said that such want-creation is artificial. George Katona, The Mass Consumption Society, New York, McGraw Hill, 1964, page 55. Who Wants a Percom? Toward the middle of the 1970s, nobody "wanted" a percom. Whether the invention of the personal computer was due to acci- dent, play, tinkering or rational thinking on the part of people endowed with electronic abilities is immaterial for our purposes. Surely the invention did not originate with the consumer and was not made with an eye to prevailing consumer wants. Even when the first computers appeared in the offices of large companies and for many years thereafter, their use for mass personal use was envisaged neither by producers nor by consumers. But today, even small children in America feel the need for a percom to help them and their parents manage their affairs, help them with schoolwork, entertain them with electronic games and the like. Between the early days of the percom and the present situation there was a long period of social learning. The learning process was, of course, not spontaneous; first of all, it could not have taken place without the original inven- tion; second, it was a function of numerous stimuli — personal experience, education, and reading, as well as propaganda and advertising. Thus it may be said that wants for percoms were induced, or to use Gal- braith's term, "contrived." But are not most of our wants contrived in this sense? And are not most of our contrived wants, in a certain sense, original with the buyer? It can hardly be said that such want-creation is artificial. George Katona Jr, The Mass Consumption Society (Second edition), New York, McGraw Hill, 1996, page 55. Who Wants a Homer? Toward the end of the last century, nobody "wanted" a homer. Whether the invention of the home robot-computer was due to accident, play, tinkering or rational thinking on the part of people endowed with cybernetic abilities is immaterial for our purposes. Surely the invention did not originate with the consumer and was not 116 made with an eye to prevailing consumer wants. Even when the first real-time mini- computers appeared and for many years thereafter, their use for personal home management, protection and entertainment was envisaged neither by producers nor by consumers. But today, even small children in America feel the need for a homer to help them and their parents to manage their lives, protect them, entertain them and the like. Between the early days of the homer and the present situation there was a long period of social learning. The learning process was, of course, not spontaneous; first of all, it could not have taken place without the original invention; second, it was a function of numerous stimuli personal experience, education, and reading, as well as pro- paganda and advertising. Thus it may be said that wants for homers were induced, or to use Galbraith's term, "contrived." But are not most of our wants contrived in this sense? And are not most of our contrived wants, in a certain sense, original with the buyer? It can hardly be said that such want-creation is artificial. George Katona III, The Mass Consumption Society (Third edition), New York, McGraw Hill, 2024, page 55. ■ ANY WAY YOU WANT IT! ■u 5X7 IMPACT DOT MATRIX • 75 LINES PER MINUTE 40 COLUMNS • 12 CHARACTERS PER INCH 6 LINES PER INCH • ORDINARY ROLL PAPER CHOOSE FROM THESE THREE ASSEMBLED AND TESTED MODELS COMPLETE WITH CASEWORK AND POWER SUPPLY • LCP-40 • Parallel l/F without character generator forspecial software fonts $329 • MP-40 • Parallel l/F with 64 character ASCII set $425 • SSP-40 • Serial RS232 or current loop - TTY compatible $499 OR SELECT THE "NO FRILLS" KP-40 • Mechanism, LCP l/F, PC and components .... * 179 SEND FOR FREE LITERATURE Master Charge Welcome • Utah Residents Add 5% Sales Tax ITipi/P.O. BOX 22101 / SALT LAKE CITY /UT/ 841 22 801-566-0201 U> G«no C ACEYDU (1) AMA2IN ■$= ANIMAL 101 BASIC Computer Games is the most popular book of computer games in the world. Every pro- gram in the book has been thoroughly tested and appears with a complete listing, sample run, and de- scriptive write-up. All you need add is a BASIC- speaking computer and you're set to go. 101 BASIC Computer Games. Edited by David H. Ahl. 248 pages. 8 1 / 2 x11 paperbound. $7.50 plus 75«5 postage and handling ($8.25 total) from Creative Computing, P.O. Box 789-M, Morristown, NJ 07960. I AWARI BAGLES BANNER BASBAL BASKET BATNUM BATTLE BLKJAC BLKJAK BOAT BOMBER BOUNCE BOWL BOXING BUG BULC0W BULEYC BULL BUNNY euzzwo CA'.NOR CAN -AM CHANGE CHECKR CHEMST CHIEF CHOMP CIVIIW CRAPS CUBE DIAMNO DICE DIGITS EVEN1 FlPfOP fOCTBL F0TBAL FURS GOLF GDM0K0 GUESS GUNNER GUNER1 HANG HELLO HEX BiMtDtuxipikMi Play aceyducey with (he computet Computer constructs a maze Computer guesses animals and learns new ones Irom you Ancienl game ol totaling beans in pits Guess a mystery 3 -digit number by logic Prints any message on a large bannet Baseball gaine Basketball game Match wits in a battle ol numbers vs the computet Decode a matrix lo locale enemy battleship Computer ptmts your card and calls the numbers BlackiacM very comprehensive!. Las Vegas rules Blackjack htandardgamel Destroy a gunboal Itom yout submarine Fly World War II bombing missions Plot a bouncing ball Bowling at the neigh not hood lanes 3-i ound Olympic boning match Roll dice vs the computer lo draw a bug Guess a mystery 5-drgit number « the computet Throw dw J You're the matador in a championship bullfight Computet dr awing ol the Playboy bunny Compose yout speeches with I he latest buz/words Calendar lor any year DnveaGroup7car in a Can-Am road race Computer imitates a cashier Game ol checkers Dilute kryptocyanrc acid to make tt harmless Silly arithmetic drill Eat a cookie avoiding the poison piece )2or more players) Fight the Cm) Wat Play craps Idicel. Las Vegas style Negotiate a 3-D cube avoiding hidden landmines Prints 1 page diamond patterns Summarizes dice rolls Computer ines to guess digits you select at random Penny arcade dog race Take obiects Itom a pile- try to end with an even number Same as EVEN -computer improves its play Solitaire logic game - change a row olXstoOs Professional football (very comprehensive) High School loolball Trade lurs wilh the while man Goll game - choose your clubs and swing Ancieni board game ol logic and slralegy Guess a mystery number - computer gives you clues File a cannon at a stalionary target Fue a cannon at a moving target Hangman word guessing game Computer becomes your friendly psychiatrist Hexapawngame Ht-LO Try lo hit Ihe mystery uxkpot Hl-Q Try to remove all the pegs Irom a board {jr HMRABI Govern the ancient city-state ol Sumeria HOCKEY Ice Hockey vs Cornell o< HORSES Oll-ltack betting an a horse face KURKLE Find Ihe Hurkle h.ding on a 10 x 10 grid KINEMA Drill in simple kinematics KING Govern a modern island kingdom wisely LETTER Guess a mystery letter - computer gives you clues LIFE John Conway's Game oIL lie LIFE-2 Competitive game of hie (2 or more players) cf IITQ2 Children's literature quiz MATH01 Children's arithmetic drill using piciutesaldice MNOPLY Monopoly foi 2 players MUGWMP Locate 4 Mugwumps hiding on a 10 x 10 NICOMA Computet guesses number you think ol cf NIM Chinese game oINim NUMBER Silly number matching game 1 CHECK Challenging game to remove checkers Itom a board ORBIT Destroy an orbiting germ lai den enemy spaceship PIZZA Deliver pizzas successfully d[ POETRY Computer composes poetry in 4-pan harmony POET Computer composes random poetry POKER Poker game OUBIC 3-d i mens iona Hie- lac toe OUEEN Move a single chess queen vs the REVRSE compuler Order a series ol numbers by reversing 4 RDCKET Land an Apollo capsule c>n the moon flOCKTI Lunar landing horn 500 leet Iwith plot) ROCK T 2 Very comprehensive lunar landing ROCKSP Game ol rock, scissors, paper R0U.ET European roulette table RUSROU Russian roulette SALVO Destroy an enemy Heel ol ships (f SALVO 1 Destroy 4 enemy outposts SLOTS Slot machinelonearm bandit) SNOOPY Pictures of Snoopy SPACWR Comprehensive game of spacewar SPLAT Open a parachute at the last possible moment STARS Guess a mystery number - slats give you clues cf STOCK Stock market simulation SYNONM Word synonym drill TARGET Destroy a target in 3-0 space- very tricky 30 PLOT Plots families of curves- looks 3- dimensiofBl TICTAC Tie-tat-toe 0< TOWER Towersof Hanoi puzzle TRAIN T i me- speed d i st ance qu iz TRAP Trap a myslery number - computer gives you clues 23MTCH Game ol 23 matches- try not to take the last one UGLY Silly profile plat ol an ugly woman WAR Card qameol war q WAR-2 Troop tactics mwar WEKDAY Facts about your birthday WORD Word guessing game YAHTZE Dice game of Yahtzee ZOOP BASIC programmer's nightmare 117 The formal organizations used for clubs and societies can range from the totally informal (one person arranging a regular meeting place) to the setting up of all sorts of corporate nonprofit organizational structures, etc. The informal versions usually work best for small groups; formal organization tends to increase with the size of the group. Whatever the case, the less time spent on long drawn out nitpicking at business meetings, the more time there is to devote to more interesting matters .... Meeting Activities for Computer Clubs Dr Charles F Douds 381 Poplar St Winnetka IL 60093 A bunch of you got together and started a computer group? Congratulations! That is a good thing for this wonderful and fast growing hobby. You are meeting once every month? Fine, that will help to spread the word about the latest products, glitches, and cures. New people keep showing up at your meetings wondering what it is all about? That's the way it went in Chicago, too. And lots of other places, I'm sure. But now you've gotten to know each other, you're beginning to wonder what you should do at your meetings. That is an important point. The activities at meetings can make or break such an organization. People don't have to come, and they won't if they don't get something out of them. They want many different kinds of things. They want to learn some- thing. They want to share their ideas. They want to ask questions. They want to social- ize. They want to see things. They want help. Of course, not everyone wants all of these at the same time and most people don't want the same thing all the time. Variety and choice are important. If you look around you at other successful special interest organizations you will find many ideas for the kinds of things you might do. Here are some that I found. Lectures This is often the first thing you will think of, and quite easy to organize. The lecture may be by one of your own members or somebody invited in from outside. It could be an engineer or analyst from a local firm; a college professor; a sales engineer from one of the big electronics firms or other com- pany utilizing electronics products. The bigger firms might even send somebody in. Arrangements should be made well in advance. Usually you will do this in person or by phone and follow it up with a letter. Be sure to include detailed instructions on how to get to the meeting location. Of course, you have to get it set up in time to publicize the speaker and his topic. Perhaps he can join you for a meal before or after. Don't forget to send a letter of thanks afterwards. Better yet if you can send it to his boss when that is appropriate. There are two main problems with lectures. One is finding out how good the speaker is beforehand. A major problem here is that he or she may be good for one kind of audience, but not for yours. It is very likely that your group will be a very mixed bag of hardware types, software types, and enthusiastic types that don't know much 118 Activities at meetings of computer organizations can make or break the group. about hardware or software. That poses a real problem to a speaker in front of a large group. The other problem with lectures is having too many of them. They are about the easiest kind of program to arrange, but people get tired of being talked at. Dis- cussion with large groups doesn't work too well. A couple of poor speakers in a row can easily turn off a whole group. Program variety and member choice are important ingredients to a successful group. Clinics Clinics are less formal and often involve smaller groups than a lecture. More than one clinic can go on at the same time. People have a choice and different types of topics can be handled. A clinic is usually limited, for example, to one hour. It may also be a lecture, but it can take many different forms. The topics covered can be just about anything. They might include: design of an 10 circuit, printed circuit artwork tech- niques, debugging procedures, an overview of high level languages, etc. The presentation may be in the lecture mode, or the author might simply talk, work on a blackboard, use flip charts, work at his computer key- board, or use slides or transparencies. Clinics are greatly enhanced if a handout is provided. It may be just a list of key points or provide details about what is being discussed. Sometimes a marketing minded manufacturer may be willing to provide material to a local member presenting a clinic about the manufacturer's equipment. For reference purposes handouts should include the author's name and address. If hardware is used or demonstrated, you need to make sure that the group is small so that everyone can see. If you are meeting in a high school or a college and have a crowd, you might be able to use a closed circuit TV so that the people in the back of the room don't go away saying it was lousy, while the ones in the front say it was great. For the same reason, consider the use of PA systems if you are likely to have a large audience. It is very important that the host check up well beforehand to find out what the author will need and what he or she is going to bring. Assume that the speaker will forget things like extension cords, chalk, and erasers. It is particularly important to check on projectors, screens, and electrical outlets. Make sure that they actually have power in them. Find out where the lighting switches are (especially in motels and hotels!) and where the background music can be turned off. Again, don't forget the thank you letters. When you gel to the point that on occasion several clubs get together for a "meet" that might last a weekend, or you decide to put on a real bash in just your own group, you will probably have several clinics. This is great because people can then get to the topics that particularly interest them, and still not be trapped in a room for something they care little about. But many people will want to get to all the clinics. This can sometimes be worked out by careful scheduling and persuading the authors to present their clinics twice. This isn't quite as bad for the author as it sounds. An hour clinic is really only 50 minutes and usually at least another 10 minutes should be allowed for questions. Besides, the practice is good for him or her. (I expect to see a lot more women actively involved in this hobby than in other comparable ones such as ham radio or model railroading.) Demonstration ("Hall") Clinics If you don't have a lot of rooms for all the clinics you would like to provide, or if you just have one big room where several speakers would interfere with each other, "hall" clinics might solve your problem. They can literally be set up in the halls; but more usually a number of them will be held in a large room — the kind that used to be called a hall. In the demonstration clinics one person does his thing for an extended period of time. Perhaps he is assembling a kit, laying out the artwork for a printed circuit board, A lecture, with a good speaker on a topic of inter- est to the group, is one of the easiest types of activ- ity to organize. NOTE: A brief version of this article originally appeared in the Micro-8 Newsletter, vol 2, no 2. 119 A panel discussion, with or without audience partici- pation, can be a good round robin affair which helps clarify and present concepts on a given theme. demonstrating his operating system, or what- ever. The topics may be similar to the regular clinics, but the format is different. The author does not lecture. He simply talks about what he is doing. He explains and answers questions as he goes along. This gives people the chance to see all the details and exactly how things are done. People are free to move from one demonstration to the next spending as long as they like at each. It is often important that tables or railings be set up to keep people a few feet back. This makes it possible for a half dozen or so people to see, while still being close enough to observe the details. It is best arranged so that the demonstrator can hand things to the viewers if he wishes to. Participation Clinics These clinics would be called "labs" in a school curriculum. The audience gets their heads and hands into the topic and learns by doing. These are good for such things as lessons on programming or introductory circuit design. These clinics require very careful preparation by the author. He or she should fully test out the lesson beforehand. Of course, not a whole lot can be accom- plished in an hour or two, but the most important thing is that it gets people started. The author can only do a little bit of teaching, followed by a lot of individual helping. Often these kinds of clinics are best run by two people working together. If equipment is going to be used — pin boards, voltmeters, etc — it may be neces- sary to have people sign up beforehand. Sometimes it may be possible to have people work in pairs. As long as the room doesn't get too crowded, it may be possible to let others in as spectators. The host should be prepared to shoo out excess people. The author will appreciate not having to do this for he or she may be busy with the instruction. Make sure that there will be enough materials available for a reasonable number of people to participate. Don't call it a "participation" clinic if only two or three can do so. Do It Yourself Clinics In these kinds of clinic the audience builds something and takes home a working device. They are immensely popular if adequately publicized, but they often require a lot of work to prepare. The item is announced beforehand. It might be a logic probe or a simple power supply. Participants send in their checks for the cost of parts. The announcement includes the list of tools needed, specified very exactly. (You would be amazed at the variety of soldering irons and pliers model railroaders will bring to build a printed circuit item!) At the clinic the author then shows the participants how to build the device step by step. It is very important that there be adequate facilities for checking the devices, too. You are trying to provide people with their first success in a new (for them) endeavor. There is nothing like the feeling of going home with a gadget you know for sure works. Obviously, it is important that the project be small enough so that it can be built and tested by the neophyte in the available time. It is important that this be checked out beforehand. If there are more than six or eight participants, the author should have one or two helpers — people who know a capacitor from a resistor, can read the color code, and who can recognize a cold-soldered joint. It might be possible to have "advanced level" clinics of this sort. The problem is that people who are not adequately ad- vanced will still sign up anyway. Not only are they likely to go away dissatisfied, but the author may get trapped into having to rebuild a half dozen units for these people. Keep the projects simple and short. With the complex chips available today, one still might be able to come up with relatively sophisticated projects. Of course, other variations are possible. If it were clearly advertised as such in advance, it might be possible to start construction at one meeting and complete it at a second meeting. The more advanced builders would probably complete the project and be able to test it themselves, so the second session would involve a smaller group. The host should make sure that there are suitable tables and adequate power outlets to accommodate all participants. Show and Tell Sessions Here we take a page out of the stamp collector's and photographer's book. It is a lot of fun to simply see each other's equip- ment. So much the better if it is up and working, but projects under construction can be very interesting, too. I suppose you could even have prizes for the best shaped letters on a TV set — with a separate class for monitors. How about one for the hardest to read Teletype? Or the prettiest set up? Or the worst (or would it be "best"?) job of haywiring that actually works! The possibilities are endless. Why not announce that there will be prizes, but not announce the categories. I would expect that altogether too soon we will be having too 120 SAN FRANCISCO Action Audio Electronics Westlake Shopping Center (415) 756-7440 1. Largest repair facility for com- puter kits in Northern California. 2. Easy access from all major free- ways and BART. 4 blocks from Junipero Serra, Skyline, Highway 1, US 280 and Daly City BART. 3. We sell IMSAI, Cromemco, Blast- Master, Byte, etc. 4. Stop by for a free copy of "8800 BUS"; a current list of all 8800 bus compatible boards. LEARN pCOMPUTER SOFTWARE $49.95 BUYS A COMPLETE COURSE IN PROGRAMMING FOR THE SMALL SYSTEM ENGINEER • PRINCIPLES • TECHNIQUES • EXAMPLES • APPLICATIONS SERVICES INCORPORATED Creative Computer Division 711 Stierlin Road Mtn View, CA 94043 (415) 965 8365 FREE BROCHURE 8,192 X 8 BIT STATIC MEMORY EXCEPTIONALLY LOW POWER ill! b'b ■ B ■ p jIBBBBBB KIT $295.00 "ALTAIR 8800/IMSAI 8080 BUS COMPATIBLE •FAST 215 nS-FULL SPEED-FOR Z80 ALSO •EXCEPTIONALLY LOW POWER- LESS HEAT •LESS THAN OTHER "LOW POWER" MEMORY •BATTERY STAND-BY CAPABILITY "ALL SIGNALS TO MOS DEVICES BUFFERED •SOCKETS FOR ALL IC'S PROTOTYPING BOARD LOW PROFILE IC SOCKETS EDGE CONNECTORS DB25 CONNECTORS SHIPPING EXTRA, ADD $2.00 NJ RES. ADD 5% SALES TAX ELECTRONIC CONTROL TECHNOLOGY P.O. Box 6, Union, New Jersey 07083 JG/H DEI/ELCMENT LdB5 P. O. Box 2345 W. Lafayette, IN 47906 (317) 463-7167 Mj watt carbon film resistors $0.03 5 percent, 50 per value min. Vi watt carbon comp resistors. 10 percent, 50 per value min. ).02 No-Nik wire strippers $16.00 10,12,14,16,18,21,23,25,28,31 34,37,44 or 54 thousanths wire diameter Carbide PC board drills wire size: 55 65 $2.88 66 70 $2.97 71 75 $3.06 76 78 $3.60 79 80 $3.60 Spec sheets are available. We would be pleased to send you a 'GOODIES' catalog listing all kinds of hard to find products including : Molex, Bishop Graphics, AMP, CDC manuals and forms, PC drills and mills, elec- tronics tools, PC board manufacturing supplies, resistors, and semicon- ductors. HEY, ALTAIR . . . GOT THE TIME? If not, you need COMPTEK's NEW CL2400 Real-time Clock. • Self-contained hardware clock • Can be set and read by BASIC • Programmable interrupts • Top quality board, components, and I.C. sockets • ALTAIR and IMSAI compatible • Uses: 24 hour clock Software timer Event timer KIT — $98 ASSEMBLED — $135 comptek. "Real World Electronics" P.O. Box 516 La Canada, CA 91011 64 Pages of News about the Amazing Technological Break- throughs in the Mini-Micro Computer Field) Catalog includes: • Reproductions of manufact- urers complete catalogs in- cluding IMSAI's-normally $1.00 • Articles and news on Mini-Micro Computers • $2.00 Gift Certificate • Includes all this and more! Catalog offers items like: 289 complete Comput .jr home use Not a kit! • Thorough Home Study Course on How to Computer Program. In- cludes text books and computer! • Low cost New and Used Peripheral • Many more items! SendSl.OOr-- ' - or F Newman Computer Exchange 3960 Varsity Drive, Dept. 15 Ann Arbor, Michigan 48104 Swap shops and auctions, formal or informal, can be a good addition to a meeting which helps to solve nagging problems of what to do with surplus junk or where to find that critical part or subsystem (which is, of course, someone else's surplus junk). many committees working on too many prizes, although I must admit that contests do seem to stir up interest and provide real progress among enthusiasts. I think that the most important aspect of individual displays, apart from the conversa- tions that develop, are the many ideas that one can acquire in such a short time. These may be little details that make life easier or they may be whole new vistas that weren't really meaningful until seen "in the flesh." Workshops Workshops can take many forms, cover many subjects, and be conducted in many ways. An expert might work on debugging equipment that participants bring in. Or two or three people might design a special interface. The area is set up in such a way that the audience can watch and listen, but they do not participate. It is important, of course, that the experts do their thinking out loud. Again, a PA system or closed circuit TV may be helpful. A second type of workshop is essentially a "closed door" session, at least once it starts. Discussion among all the participants is expected. The output of such a workshop is often something that is going to benefit the whole club or others. For instance, the workshop might be devoted to developing a chart comparing the characteristics of cer- tain types of kits, developing the rules and standards for a local computer conferencing network, or other such things. The output of the workshop might become a regular clinic at another meeting. Such workshops require minimal facilities on the part of the host, but the participants certainly have to come adequately prepared and a competent dis- cussion leader is needed. Panel Discussions A good panel discussion can fit into many types of programs. The topic area should be definite, but not too narrow, ordinarily, for a hobby group. Sometimes the usual kind of panel discussion, where the discussants speak their pieces then argue back and forth, is appropriate; but it is probably better for a computer group meeting to have a question and answer panel. The audience asks questions, and one or more panel members tell how they handle the problem. Some- times members of the audience turn out to have good suggestions, too. The moderator is the key person in setting up a panel. He or she must not hog the stage, must be able to summarize long or confused questions, and have a facility for steering the discussion among the panel members. The biggest difficulty is in getting the audience participating. It is often wise to have several questions planted with a few friends in the audience. It is entirely natural for people to hesitate to speak up in a crowd until they hear one or two questions that they recognize as being as simple, or simpler, than theirs. A dozen people may have the question in mind, but no one wants to be first. The other important point is to stop the session while the questions are still coming. Stop at a high point, not in a valley — and everyone will go away thinking how great it was. Tape Slide Programs Many of the activities above can be worked up into a prepackaged recorded program with accompanying slides. The visuals probably should be 35 mm slides because projection equipment is always available. It might be possible to use cassette tapes, but standard reels are probably better. The problem is that it may be awkward to get adequate sound volume for an ordinary size audience from a cassette machine, while there is seldom a problem with an ordinary home tape recorder. Tape slide programs can be made success- fully by amateurs, but they do not work out by simply recording a live clinic even if it uses a lot of slides. A script has to be prepared and worked over. The final taping 122 A SUPERIOR "301" TYPE OP AMP •TWO FOR $1* SOMETHING FOR LINEAR FANS. . . We bought a batch of 201s, which are the same as LM301s but with extended range and better specs. These are factory prime overruns, and are available in minidip or TO-99 style cases--p lease specify which case style you want. ©taMEtgTOCf • new part,: ..; old price : ,.._ 2IOH IK RAN SOMETHING ALTAIR OWNERS HAVE BEEN WANTING... A 100 PIN EDGE CONNECTOR THAT AC- CEPTS ALTAIR PERIPHERALS. PEOPLE HAVE REPORTED A HARD TIME FINDING THESE CON- NECTORS, SO WE GOT A BUNCH FOR OFF-THE-SHELF DELIVERY. DESPITE THE LOW COST, THESE CONNECTORS FEATURE GOLD-PLATED 3 LEVEL WIRE WRAPPING POSTS AND A SNUG FIT FOR YOUR PERIPHERAL CARDS. COME AND GET 'EM... • 9 SAME AS 2102 TYPE RAMS, BUT FULL COMMERCIAL TEMP RANGE (0-55°O, 9 LOWER POWER C17 MA TYPICALLY), AND FASTER (450 NS WORST CASE 9 GUARANTEED). A SUPER 2102. $1 MWM MMMMMAM ******** 1 TIRYROTflRV SWITCHES TINY ROTARY SWITCH. 1 POLE, .mg, 7 POSITION PLUS OFF. DANDY ■_ FOR PROGRAMMING OR MINIATURE jjjjj /' ELECTRONIC PROJECTS . ** ' ! "HOW CAN I PLAY WITH MICRO- I ! COMPUTER ICs WITHOUT BREAK- ] S ING MY BUDGET?" 8008 Chip set: 1-; 2102s, 1-5203 EROM lb PIN LOU PROFILE SOCKET, SOLPERTAIL, TIN PLATEP: 10 FOR $2.00 14 PIN LOW PROFILE SOCKET, SOLPERTAIL, TIN PLATED: I 1 FOR $2.00 LIMITEP QUANTITIES OH BOTH $24-50 + 2 lbs postage L.-.J Play with wire? | I Request our flyer! | I If you're an experimenter looking for some 52 ! state-of-the-art parts... a computer enthu- — : siast requiring peripherals for your micro- = I computer system ... a tinkerer looking for = : time - saving tools and gadgets. . .an audio- — : phile who likes to play around with sound. . ^ I a ham who needs a digital clock, or a memo- — : ry board. . .a CBer who needs a home supply E2 ■ for his mobile rig... or even a mad scien- — jtist, you'll find something to tickle your — i fancy in our flyer. := I If you don't have one, ask for one. = iiimmiiuiitiiiiiiiiiiiiuiiuiiuiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii TERMS: Californians add tax. You may place Bankamericard® and Mastercharge® orders via our 24 hour answering service (415-357-7007). No CODs , the paperwork is too much . When weight is indicated , please add sufficient postage-excess refunded . Please note that some items are limited quantity. First come, first served. Thanks for your patronage! Orders under $10 please add 50c service charge. VECTOR'S 'SLITN WRAP" "'This tool is a manual wrapping device, which supplies insula- ted wire from a spool directly to wrap posts w i t hou t external prestripping or precutting. More than one level of wrap is rarely required. Speed your breadboa rd i ng time tremendous- ly with this tool, and don't bother stocking all that pre- stripped and precut wire you would normally have to have. HOBBXWftAP JOOL $41.95 Want the convenience of a power wrapper? Try our Hobbywrap tool You get the tool, nicads, bit charger, and instructions. Why solder? Save time and effort BILL GODBOUT ELECTRONICS BOX 2355, OAKLAND AIRPORT, CA 94614 A Summary of Meeting Activities Lectures Clinics Demonstration ("Hall") clinics Participation clinics Do it Yourself clinics Show and Tell sessions Tape slide programs Workshops Panel discussions Tours Swap shops Auctions Mixer sessions Contests Business meetings should not be done by reading from the script unless the person is a professional actor or announcer. A clear, distinct cue signal, described at the very beginning of the tape, must also be provided. It takes a lot of work to put together a good tape slide program, but the results can be well worth it. They provide direct access to top notch information, especially for those groups in remote locations. This is one way that the manufacturers might be able to make a name for them- selves. Even if a program were purely pro- motional, it still would be interesting to meet the people at the plant, see their facilities, and to watch their products in action. Of course, it would be even better if they would go into the unique features and application possibilities. As an example of such materials in a specialized field, the National Model Rail- road Association has over 30 such programs available to its members for a deposit and return postage (educational material rate). The waiting list is months long. Tours With a little imagination, some pleading and cajoling, and a bit of persistence, you may be able to come up with some fas- cinating tours. Many of your group may never have seen a big computer installation. If they have, then they probably haven't seen a manufacturing operation. Or how about an automated security system? It does not matter if there are no electronics manu- facturers around; there undoubtedly will be many applications nearby. Then there are the potential applications . . . quarries, turkey farms, mushroom growers, etc. But don't forget your own members. Maybe some of them would be willing to show how they have things set up at home. Devise a way to get reasonably small groups around to several homes, making sure that only those who are wanted stay on until the wee hours of the night. Swap Shops and Auctions Auctions are a lot of fun. If you are having a two-day affair, schedule one for around 10 in the evening. It may last until 2 AM, but everyone has a lot of fun — except, perhaps, for the auctioneer. It usually takes a crew of people to put on a reasonable size auction. They need to be adequately pre- pared with a good set of forms, display tables, and enough space. The usual type of swap session, along the lines of an amateur radio "hamfest" is well known, where everyone selling gets some table space and makes his own deals. While auctions can easily collect a percentage of the sale price (often 10%), swap sessions are more easily handled by the host organiza- tions collecting a fixed entrance fee from sellers, buyers, and lookers. As a service to its members, there could be a swap session bulletin board at every meeting. Just bring a cork board, a bunch of 3X5 cards, and some thumb tacks. Even if the program scheduled flops, you might still pick up a bargain. Mixer Sessions If your club is small, everyone will soon get to know what each other's interests are; but once it gets over 30 or so people, this will no longer be true. There will be the devoted core who are doing most of the work organizing these programs and doing all the other things that need to be done. If you are one of them and think you know everyone's interests, you will probably dis- cover that there are a lot of people showing up who don't know. At this point it is time for a mixer session. Try putting signs up on the walls with words indicating topics for discussion. These might be the names of manufacturers, types of equipment, programming projects, etc. At this point a bit of the summer camp counselor is needed to get the people to assemble in these areas and to discuss the topic. Of course, it would be wise to have a few people designated to cover each one and to handle the initial introductions. Once when I attended a regional model railroad convention, I wanted to find all the people I could who were interested in applying electronics to that hobby. I hung a piece of cardboard on my back with a few key words in large letters, met several interesting people, and was given the names of several others not at the convention. When a speaker has to cancel out at the last minute, you might try that idea. Hang a sign on everyone's back as they come in the door. I bet it will be one of your top-rated meetings. Contests Contests in many special interest and hobby groups often seem to wind up taking on a life of their own, leaving most of the membership out. Most contests can be won by the liberal application of not just skill and time, but also money. They certainly can provide an incentive to improve designs and techniques. A major problem is to determine what the goals of the contest are to be. It seems to me that for a bunch of enthusiasts, they should be to encourage participation and to have fun. They 124 shouldn't get out of hand in terms of skill or money demands. When this happens, they just become spectator events. In my opinion, the major goal of contests should be to encourage active participation. We have enough TV watchers now; let's apply our imaginations and have more keyboard button punchers and TVT watchers! Business Meetings We hate them, but we can't seem to get along without them. Every organization has to have business meetings. Unfortunately, the kind of people who enjoy business meetings tend to be the ones who run them. Certainly there is little reason why a com- puter hobbyists group has to have a business meeting involving everyone as a part of every meeting. The amount of time spent on business meetings should be minimal! The work of the organization should be done outside the whole group sessions by a steering committee. Undoubtedly, you will wind up electing officers (although the Chicago Area Computer Hobbyists Exchange operated for more than a year without any). The really important thing is for all to know who is making what kind of decisions or taking what type of actions. You can have officers and still be very confused about this. The titles don't make the difference. Some- times they just seem to attract people who like titles for the sake of having the titles. However, it is vital that procedures be maintained so that actions by the few can be overruled by the whole body, or a clique thrown out, when necessary. You are never close minded, secretive, or not doing things in the best interests of the organization, of course. But you can only prove this by making it easy for others to do things differently than what you think is best. Make it easy, and they will probably go along with you. Do not overorganize! There is very little that needs to be "business like" about a hobby organization. It is not a business. People come voluntarily. They come to learn, for relaxation, for fun. The avocation is computers. It is not setting up committees for everything, or writing rules, regulations, and procedures inappropriate for an organi- zation of volunteers. Do set up committees, but only as needed to ensure that things get done, or to keep the organizational types out of everyone else's hair. Keep the business meetings short and to the point. Provide a variety of types of programs. Don't be afraid to experiment. Provide choice and change. You'll have a great club." r GPeative GorapsitiRg BRJttWW YOU TAB H£f III WHOVAttVB COMPUTER. , Books, MA«AXltfE$, kVC PRINTS , i, AKD OJWBR. GOOD STUFF/' . ■ .ITKr^lBJOO Creative Computing Magazine A bimonthly 88 page magazine for students, hobbyists, and anyone curious about computers. Fiction, articles, humor about computers, cybernetics, careers, building into,, etc. Emphasis on games, puzzles, and projects. Contemporary, nontechnical approach. Subscription: £5.00 (UK), $8.00 (USA), $10.00 (Other). Games & Puzzles Issue of Creative Computing 88 pages of games and puzzles for pocket calculators, computers, and humans. "Beating the Game," "Computer Chess," "Hunting a Wumpus in a Cave," building your own computer, reviews of 24 games, books, and much more! £1.00 (UK), $1.50 (USA), $200 (Other). Futures Issue of Creative Computing Artificial Intelligence (Bertram Raphael, Herbert Dryfus, etc.), Extraterrestrial Intelligence (Isaac Asimov, Martin Harwit, etc.), microprocessors, videodiscs as an ultimate computer input device, 4 new games, and more. 88 big pages! £1.00 (UK), $1.50 (USA). $2.00 (Other). Artist and Computer A high-quality. 4-color book edited by Ruth Leavitt which displays the work of 35 internationally-known computer artists. Each artist describes his or her work in non-technical terms. 16 illustrations. £3.35 (UK), $5.70 (USA), $6.70 (Other). 101 BASIC Computer Games A collection of 101 games in BASIC, each one with a complete listing, sample run, and write-up. Over 30,000 copies sold. 248 pages. £4.75 (UK). $8.25 (USA), $9.25 (Other). The Best of Creative Computing A 328-page book featuring stories by Isaac Asimov and others; articles on cybernetics, robots, computer crime, privacy; computer games such as Star Trek, Rabbit Chase, Magic Square. Madlib, and 14 more; super computer graphics; cartoons: reviews: poetry: and more! £5 50 (UK), $9.70 (USA), $10.70 (Other). Creative Computing T-Shirt Albert Einstein' portrait produced by Blocpix'" process. Scarlet trim, black design. Available in adult sizes: S, M. t, XL. £2.50 (UK), $4.00 (USA), $5.00 (Other). Star Trek People Computer Images Six 8 1 . x 1 1 computer images on heavy stock of Kirk, Spock, McCoy, Scott, Chekov, and T'Prmg. £1.00 (UK), $1.50 (USA). $2.00 (Other). Mr. Spock Computer Image Big 17x22" computer scanner image. Heavy stock. Comes in strong mailing tube. £1.00 (UK). $1.50 (USA), $2.00 (Other). Orders m the U K Creative Computing 60 Porchester Road Southampton S02 7JD, England Orders in the USA and elsewhere Creative Computing P.0.Box789-M Morristown, N.J.07960. U.S.A. 125 What's New? The following item is adapted from a press release provided by A P Products, Box 110, 72 Corwin Dr, Painesville OH 44077. It is printed here for its value as background information on the use of solderless proto- typing jigs to try out experimental circuits on a temporary basis. Solderless Breadboards What is a solderless breadboard? How does it work? What advantages does it offer? Where can it be used? And how? Before the invention of modern solderless breadboards, designing and testing any given electronic circuit was an aggravating, tedious, and time consuming task. First a circuit would have to be designed on paper. Then the schematic diagram of the circuit would have to be translated into a circuit board parts layout for either point to point or printed circuit wiring. If a printed circuit were to be used, as was most often the case, the circuit layout would have to be trans- ferred to a copper-clad board, the copper selectively etched, holes drilled, and com- ponents soldered in place. Then, if a com- ponent proved the wrong value, it would have to be desoldered and a new one YTE'S UGS On page 68 of the August issue, there is a typographical error in the box "A Note About Construction." The Motorola part number referenced at two places in the box should be "MCM6571 L" not "MCM6517L" as printed." soldered in place. If the printed pattern were in error, a whole new board would have to be designed, etched, drilled, filled and sol- dered. When A P Products came up with the idea of arranging a breadboard with a matrix of interconnected holes, the process was simpli- fied. The interconnections are made by conductive spring clips that grip each com- ponent lead firmly to establish a good electrical connection without soldering. The matrix of holes was placed on a tenth inch (.254 cm) spacing pattern to conform with standard component lead spacing. The interconnection pattern was designed to provide ample access to each lead of each component, especially with modern transis- tor and integrated circuitry in mind. And distribution strips were designed to provide power and signal lines where needed. Circuit design testing now becomes a matter of plugging in components and wires. Integrated circuits and discrete components plug into the solderless breadboard and ordinary 22 gauge solid wire jumpers are used to interconnect them. A given circuit can now be prototyped in minutes rather than hours or days. Many designers work directly with component specification sheets, many with schematic diagrams. Changes in parts values are as easy as pulling out one part and plugging in another. And the geometry of the modern solderless breadboard translates into a printed circuit layout readily once the circuit is ready to commit to hardware. In addition, solderless breadboards can serve as a basis for semipermanent circuits in applications where the need for a given circuit requires reliability but does not re- quire longevity. Applications for modern solderless bread- boards are as wide as all of electronics. There are professional applications in machine con- trol, data processing, test and measurement, device testing, prototyping and equipment adjunctive aids. There are hobby applica- tions ranging from communications to photography to automotives to biofeedback to music to model railroading and more. And, of course, solderless breadboards are perfect for educational and instructional applications. Solderless breadboards and breadboarding aids come in many sizes and prices, and have been used in designs as simple as a logic probe or as complicated as a small computer. A P Products has available a free catalog of their ACE All Circuit Evaluator solderless breadboards, Super Strips™, terminal and distribution strips, integrated circuit test clips and accessories." 126 UNIVERSAL POWER SUPPLY A unique plug-in supply by Panasonic. Useful for calculators, small radios, charging many & various small NiCad batteries. Adjustment screw plug on the side changes output voltage to 4V2, 6, 754, or 9 volts DC at 100 MA. Output cord with plug, 6 ft long. No. SP-143C $4.50 3/$12 POWER SUPPLY LAMBDA 5VDC 74 AMP LV-EE-5-OV $125.00 NJE 5/OUP-D5 5 VDC 32 AMP $75.00 CLOCK KIT $14.00 Includes all parts with MM5316 chip, etched & drilled PC board, transformer, everything except case. SP-284 $14.00 each 2/$25.00 ca&sts PARITY DETECTOR New packaged, made for RCA, detects even or odd parity, baud rate 110, 150 or 134.46. Built-in logic supply for the IC's, operates from standard 115 vac. Control panel allows manual or automatic reset mode of operation. Aluminum enclosure (not shown), covers the electronics. TTY compatible. Ship wgt. 10 lbs. $16.50 COMPUTER DISPLAY TUBE New Sylvania 9 inch CRT, 85 degree deflection, with tinted faceplate. Same as used in Viatron systems (buy a spare). With complete specs. Ship wgt. 5 lbs. $15.00 LINEAR by RCA, brand new gold bond process 301 $ .60 747 $ .82 MM5314 $3.00 307 .52 748 .50 MM5316 3.00 324 1.80 1458 .96 7001 8.00 339A 1.60 3401 .80 741 .50 555 timer .60 MEMORY SYSTEM $125.00 New memory system by Honeywell, small . . . measures only 9x4x1 inches. 1024 core memory, 1024 words with 8,9,10 bits/word. Random access, with all logic, register, timing, control, core select and sense functions in one package. New, booklet of schematics and data. Looks like a good beginning for a mini-computer. Limited supply on hand. Ship wgt 3 lbs. #SP-79 $125.00 '-32* ; j««j«* it m ijM MM DATA ENTRY AUDIO TERMINAL Sends and receives hard copy or audio of touch tone data sent & received. Output 600 ohms for phone lines. ITT touch phone pad with oscillators. Hard copy by strip printer 5 characters per inch, 35 digits visually displayed at once. Prints & receives touch tone codes, digits only. Power supply etc. all in the one case. With two units you can send and receive with monitoring of visual & audio tone at both stations. Original cost $1065 Ship wgt. 25 lbs. $49.00 each sf(e&wiQ, Please add shipping cost on above. PHONE 617-595-2275 FREE CATALOG SP-8 NOW READY MESHNA P0 Bx 62 E. Lynn Mass. 01904 127 CRYSTALS \M THESE FREnilENHIES ONLY . "™- ""OS, lS£f_'™ ESE FREaUENCIES ONLY Part* " Frequency Case/Style CY1A 1 .000 MHz HC33/U CYZA 2.000 MHz HC33/U CY3A 4.000 MHz HC187U CY7A 5.000 MHz HC18/U CY12A 10.000 MHz HC18/U CY14A 14.31818 MHz HC18U CY19A 18 000 MHz HC18W CY22A 20.000 MHz HC18/U CY30B 32.000 MHz HC18/U Price S5.95 S5.95 $4.95 $4,95 S4.95 S4.95 S4.95 S4.95 S4.95 CLOCK CHIPS — CALCULATOR CHIPS MM5309 6 Digit. BCD Outputs. Reset PIN. S5.95 MM531 1 G Digit, BCD Onlpuis, 12 Or 24 Hour 4.95 MM5312 'I Digit, BCD Outputs. I PPS Oulpul -195 MM5314 6 Digit, 12 01 24 Hour, 50 or 60 Hi 4.95 MM5316 J Digit. Warm, 1PPS Output 6.95 MM5318 Video Clock Ctup. For Use Witti MM5841 9.95 CT7QQ1 6 Digit. Caiander. Alarm. 12 or 24 Hour 6.95 CALCUUTOR CHIPS MM5725 6 Digit. Four Function. Less Decimal S2-9S MM573B 8 Digit, 5 Function, +, =, x. -, % 2.95 MM5739 B Digit, 4 Function. Floating Decimal 2.95 CT5O30 12 Digit 4 Function aufl ■>. 7 95 MISC. MOS MM5320 TV Camera Sync Generator S19.95 MM5330 4« Digit DVM Chip 9.95 MM5369 60 Hz Timeuase Circuit From 3.50 MHz 3-95 MM58-M Video Generator for MM5318 18-00 MC1408-L7 7 Bit Digital to Analog Converter 9.95 MK5007 4 Decade Counter with Latches 10 95 LDllOLOttl 3Vi Digit DVM Chip Set 25.00 S5H90 100 MHz - 10 Counter For Prescaleis 13.95 THE NEW RCA CA3140 MOST USEFUL OP AMP SINCE THE 741 CA3140 vs. 741 at a glance Input Current l|(pA) Slew Rale. SB (closed loop) (V/zus) Gain -Bandwidth Product, l T (MHz) $1.25 DIP SWITCH These switches feature WKW SPST slide switches n a moWM dip. They die Mealty suited lor micioprucessor applications £4 Qc VECTOR WIRING PENCIL Vector Wiring Pencil PI 73 consists ota hand lurid iiMiiurrweiriw (under one ounce) tool which is used in guide anil wrap insulalcd wire, fed oil a sell-crjiilam'j'J fcpi.'iMljl? UobBm, onto component leads or terminals insialied on pie-punched "P" Pattern Vectorbord' Corineciions between ihe wrapped wue and component leads, pads or terminals are m.iae by soldering. Complete with 250 FT ol red wire. S7.95 REPLACEMENT WIRE— BOBBINS FOR WIRING PENCIL W36-3-A-Pkg. 3 250 It. 36 AWG GREEN S1.95 W36-3-B-Pkg. 3 250 It 36 AWG RED SI 95 W36-3-C-Pkg 3 250 It 36 AWG CLEAR $1 .95 W36-3-n-Pkg. 3 250 II. 36 AWG BLUE $1.95 $ •\ 1/16 VECTOR BOARD " Hole Spacing P-Patlem 64P44 0E2XXXP 169P44 02XXXP 64P4J 062 8-tP-M 052 1G9P4-1 062 169P84 06? 1()9P44 0fi?Cl 4 5C 17 CO 5 04 VECTOR TERMINALS Series 144 T46 Part No. Finish Gold Tinned Post Size MICROPROCESSOR COMPONENTS 8080 SUPPORT DEVICES 808DA 8212 8 BIT INPUT/OUTPUT PORT FOR 8080 S 5.95 ... __ 8216 NON INTERRUPT BI-DIRECTIONAL BUS DRIVER 7.95 fr)4. 8224 CLOCK GENERATOR AND DRIVER FOR 8080 12,95 8228 SYSTEM CONTROLLER AND BUS DRIVER FOR 8080 12.95 8080 $24.95 2504 2518 2519 2524 2525 2527 2529 2532 2533 3341 74LS670 1024 Dynamic Hex 32 HIT Hci 40 8IT 512 Dynamic 1024 Dynamic Dual 256 BIT Dual 512 BIT Quad fid BIT 1024 Slatrc Filo 16 < 4 Reg UART'S 30K Gaud HUM'S Dim Gun Char Gen 1024 -Bit Program $19 95 1101 2495 1103 34.95 2101 2102 S 9.00 2107 91L02 74200 93410 MM5262 I702A 5203 B2S23 82S123 74S2B7 3501 Dynamic Static MNOS Sialic Static Static Stntrc Static Sialic Static Dynamic PROMS Famos Famos Open C Tnstate Sialic Fast 3.49 2.49 6.95 $13.95 14 95 5.00 BIPOLAR PROM SPECIAL 6300-1 (70 NS) 256 x 4 OPEN COLLECTOR BIPOLAR PROM (EQUIVALENT TO 82S126) $2.95 6301-1 (70 NS) 256 x 4 TRI STATE BIPOLAR PROM (EQUIVALENT TO 82S129) S2.95 TJfi-t T4i T49A Til PKG 100 028 so. 025 sq 25 pes 50 pes Gold Tin Gold Tin 1 50 lot 1 00 lot 2 75 lot 1 75 lot 1.75 lot I 25(01 3.0Qlal 2 25 I nl 1 25 lot 3 10 lot 2 25 lot Terminals S3. 50 C S13 00M NIBBLING TOOL DIAGONAL CUTTER _J| ..."u'.ivv, V;,,.;;, '71 Vj" Semi-Flush ( Vt" Semi-Flush Cul Finn Diagonal 14 64 KEY KEYBOARD Hits keyboard (natures 64 unerv coded SPST keys, unattached to any kind ot P C.B A i/cry solid molded elastic 13" x 4" base suns most ao cheat ions $19.95 HD0165 16 LINE TO FOUR BIT PARALLEL KEYBOARD ENCODER w® 'Special Requested Items* Wit RC4194 RC4195 F9368 LDII0/11I C A3 130 MC1408L7 F3341 MU5641 AY5-9100 COP 1802 Dual Track V Reg • 15V Track Reg Decoder DVM Chip Set Super CMOS Op Amp D/A FIFO 3.25 3.95 25.00 I 39 9 95 6.95 1800 NBT97 4024P OM8130 CD4520 MCI 401 6 2525 2527 CD4518 MM5309 S 2.00 MK5Q.D7 S10 95 MC4044 2.25 8263 5.95 LM3903 3.25 8267 2 75 MM5320 4072AE 7422 7497 74181 CPj Mi: --processor 39 95 0M813I 451 1A£ XR4136 4566AE 3.00 B2S90 ICM 7205 29 95 MCT-2E 5 FUNCTION ELECTRONIC CALCUUTOR RAOOFIN MODEL 8P $8.95 FEATURES: • 8 Digit Display • 5 FunctinnscaitseEol addition. subtraction. mul- tiplication, division, percentage: wilh constant on all functions, wild lull Moating decimal point. ■ Power source is 1 piece 9V DC Batiery OOGP. jack lor AC adapter • Black superfine grained finish plastic cabinet 5 FUNCTION ELECTRONIC CALCULATOR WITH WALLET-NOTEBOOK AND POCKET CHECKBOOK RADOFIN MODEL 1710 FEATURES: 11)13.90 • B Digit Display i 5 Functions consists ol addition, subtraction, mul- tiplication, division, percentage, with constant or all (unctions, Willi lull tloating decmal poim. ■ Power source g 6 AAA cells 9 V DC . Wallet rs 2 lone texon; cabinet s black plastic 0Q 3 1 / 2 DIGIT DVM KIT This 0-2 VDC ,05 pet cent digital voltmeter features the Motorola 3h digit DVM chip set. It has a .4" LED display and operates Worn a single +5V power supply. The unit is provided complete with an injection molded black plastic case complete with Bezel. An optional power supply is available which (its into the same case as the 0-2V DVM allowing 1 1 7 VAC operation . A. 0-2V DVM with Case $44.95 B. 5V Power Supply $14.95 Continental Specialties PROTO POWER FOR THE PROFESSIONAL POWER! Far Ihe economy-minded eipeiimenlsr c Proto $75 Board 203 Proto Board 100 - ■ $17.95 THE MINI- BREADBOARD BUDGET KIT Piolo Bun! 101 »*J« Prolo Board IM. ( ' " .' ' j if 1'fl OIP tjpjal, I HUJH IMIsotolcsi- fi/i -■", f /■ !".'i'"!'i ,','■'■ '.*'','•-. i "* '" > / / Pmlo Band 103 DIPuwW* )>•■ It uses a MAIV3 readoul to indicate any ol the tallowing stales Dy itiese symbols (H) 1 |LOWl - o tPULSEl - P The Prone can detect high lioquency pulses lo 45 MHz II can't be used at MOS levels m circuit damage will result. $9.95 Per Kit printed circuit boatd PL 5V 1A Supply This is a standard TTL power supply using Ihe well known LM309K regulator IC to provide a solid 1 AMP ol cuneni at 5 volts We try lo make Ihings easy lor you by providing everything you need in one package, including Ihe hardware to,,* sg 95 Per Kit exelar This watch is manufactured by Na- tional Semiconductor. It proviaes 5 functions; hours, minutes, seconds, date, A.M. indicator dot. Accuracy is assured to 5 seconds per month by precision quartz crystal. If something should go wrong with the watch, repair is assured within 48 houis after it is received. Complete with steel black leather band. ES4-YS 3 MICRON GOLD PLATE BEZEL $29.95 DIGITAL ALARM CLOCK This 4 digit Novus Alarm Clock is a very reliable and smartly styled unit. It provides such teatures as an alarm sellable to any minute ol the day, a 7 minutes snooze alarm, a power failure indicator, and even an A.M., P.M. indicator. Novus $17.95 NOT A KIT SOLID STATE ANNOUNCES THE HILD TECHNOLOGY KIT • FOR THE EXPERIMENTER WITH TASTE FOR "STATE OF THE ART" PRODUCTS • COMPLETE SPECIFICATIONS ARE PRINTED ON THE BACK OF EACH TECHNOLOGY KIT FTK0020 FTK0020 FTK0011 PN PTKW2Q SOLID STATE TECHNOLOGY KIT SOLID STATE TECHNOLOGY TEN RED LED LAMPS TECHNOLOGY BY FAIRCHI 4001 MIRANDA AVENUE- PALO ALTO, CA 94304 CARD FRONT CARD BACK DIGITS FTK0001 0.5" High Common Cathode Digit $1.00 FTK0040 FTK0002 0.5" High Common Anode Digit 1.00 FTK0041 FTK0003 .357" High Common Cathode Digit .75 FTK0042 FTK0004 0.8" High Common Cathode Digit 2.00 FTK0005 0.8" High Common Anode Digit 2.00 FTK0050 FTK0051 0.8" HIGH DISPLAY ARRAYS FTK0010 12 Hour, 3Vi Digit Clock Display 7.00 FTK0011 24 Hour, 4 Digit Clock Display LED LAMPS 8.00 FTK0400 FTK0020 10 Red LED Lamps 1.00 FTK0401 FTK0021 5 Mixed Colored LED Lamps 1.00 FTK0022 10 LED Mounting Clips 1.00 FTK0402 FTK0023 5 Three Piece LED Mounting Adapters 1.00 PHOTO TRANSISTORS FTK0403 FTK0030 5 Flat Lens Photo Transistors 1.00 FTK0405 FTK0031 5 Round Lens Photo Transistors 1.00 FTK0032 3 Flat Lens Photo Darlingtons 1.00 FTK0033 3 Round Lens Photo Darlingtons 1.00 FTK0106 24 HOUR, 0.8" HIGH CLOCK DISPLAY TECHNOLOGY BY FAIRCHILD 4001 MIRANDA AVENUE -PALO ALTO, C A 94304 CARD FRONT PHOTO ARRAYS 9-Element Tape Reader Array 16.00 12-Element Card Reader Array 24.00 Reflective Opto Coupler 4.00 COUPLERS 3 General Purpose Opto Couplers 1.00 Darlington Opto Coupler 1.00 MPS CLOCK CIRCUITS Digital Clock/Calendar Circuit 7.00 (FCM7001) Digital Clock/Calendar with BCD 7.00 Outputs (FCM7002) Direct Drive Digital Clock Circuit 5.00 with AC Output (FCM3817A) Direct Drive Digital Clock Circuit 5.00 with DC Output (FCM3817D) Direct Drive Digital Clock/Calendar 6.00 Circuit (FCM7015) KITS Automobile Clock Kit 40.00 i THESE PRODUCTS ARE PACKAGED FOR OUT- STANDING WALL DISPLAY APPEARANCE .FULL p^JRcmj^ PRODUCT LINE TO FOLLOW • DEALER'S AND WHOLESALER'S INQUIRIES INVITED-PRICE LIST AVAILABLE. • BUY WITH PRIDE THE PRODUCTS BUILT BY THE INDUSTRY'S LEADER- fairchild Satisfaction Guaranteed. $5.00 Min. Order. U.S. Funds. California Residents - Add 6% Sales Tax Send a 13c Stamp (postage) for a FREE 1976 Catalog. •Fai n bug is a registered trademai k of Fairchild Corp. VERAS SYSTEMS A Div. of Solid State Sales, Inc. Box 74B, Somerville, MA 02143 (617) 547-1461 HI Enclosed is check for S or PI Master Charge fj □ VERAS F-8 Computer Kit □4K Ram Board Ouantity LlPower Supply Kit DAS! City, State. -Zip. INTEL 8080 CPU _ S29.50 2518 HEX 32 BIT SR S6.00 2102 1 1024 BT RAM S 2.60 5280 4 K DYNAMIC RAM $12.50 5202A UV PROM $12.50 MM5203 UV PROM $12.50 1702 A UV PROM S12.50 5204-4K PROM $24.95 MINIATURE MULTI-TURN TRIM POTS 100. 500, 2K 5K 10K 100K. 200K S : 75 each. . . -_-_-_- - 3/$2.00 MULTI TURN TRIM POTS Sim. Im to Bourns 3010 style 3/16"x5/8"x1 1/4"; 50. 100, IK, 10K. 50K ohms Sl.SOea 3/S4.00 LIGHT ACTIVATED SCR's TO-18, 200V 1A S 1.75 TRANSISTOR SPECIALS 2N3585 NPN Si TO-66 S .95 2N3772 NPN Si TO-3 S 1 .60 2N4908 PNP Si TO-3 S 1.00 7N6055 NPN Si TO-3 Darlington . S 1.30 2N5086 PNP Si TO-92 4/S 1.00 2N4898 PNP TO-66 S .60 2N404 PNP GE TO-5 5/S 1 .00 2N3919 NPN Si TO-3 RF $1.50 MPSA 13 NPN Si TO-92 3/$ 1.00 2N3767 NPN Si TO-66 $ .70 2N2222 NPN Si TO-18 5/$ 1 .00 2N3055 NPN Si TO-3 $ .80 2N3904 NPN Si TO-92 5/$ 1 .00 2N3906 PNP S. TO-92 5/S 1 .00 2N5296 NPN S. TO-220 S .50 '2N6109 PNP S. TO-220 $ .55 2N3866 NPN Si TO-5 RF S -7b 2N3638 PNP Si TO-5 5/$ 1 .00 2N651 7 NPN TO-92 Si 3/S 1 .00 C/MOS (DIODE CLAMPED) 74C02- ?5 4016- .50 4035- 1.75 74C10- .25 401 / 1.30 4042 - 1.60 4001 25 4018- 1 40 4047 2.60 4002 .25 4019 GO 4049- .70 4006- 1 GO 4022-120 4050 .70 4007 25 4023 25 4055 1.20 4009 60 4024 1 25 4066- 1 20 4010 60 4025- ?5 4071 30 401 1 25 4027 65 4077 .70 4012- 75 4028-150 4 081 35 4013 50 4029-1/f, 4076-120 4015 1.40 4030- 90 LED READOUTS FND 500.5" C.C $1.95 HP 7740-.3" C.C $1.40 MAN 7 .3" C.A $1.25 MS 33-3 dig. array SI .35 Send 25^ Id our catalog featuring Transistors and Rncnf.ers 145 Hampshire St., Cambridge, Mass. is: FOB Cambridge, Mass. Send Check or Money Order. Include Postage, Minimum 4 WATT IR LASER DIODE $7.95 PRINTED CIRCUIT BOARD 4 1/2" x6 1/2" SINGLE SIDED EPOXY BOARD 1/16" thick, unetched $.50 ea 5/S2.20 VECTOR BOARD 1" SPACING 4.5" x 6" SHEET $1.25 2N 3820 P FET . . . . $ .45 2N 5457 N FET S .45 2N 4891 UJT S 45 T1S43 UJT S .35 ER90D TRIGGER DIODES 4 /Si .00 2N6028 PROG. UJT S .65 VERIPAX PC BOARD' This board is a 1/16" single Sided paper epoxy board. 4&"xB%" DRILLED and ETCHED which will hold up to 21 single 14 pm iC's Oi 8. 16, or LSI DIP IC's with busses toi power supply connector . . S4.00 MV5691 YELLOW-GREEN BIPOLAR LED 51 25 MT 2 PHOTO TRANS S 60 RED, YELLOW, GREEN OR AMBER LARGE LED's . . . ea. S 20 14 PIN DIP SOCKETS S 25 16 PIN DIP SOCKETS S .28 MOLEX PINS 100/Sl.no 1000/S8D0 8 PIN MINI DIP SOCKETS $ .25 10 WATT Z EN ERS 3.9. 4.7, 5 6, 8 2, 12. i 5, 18, 22, 100. 150 or 200V . . . ea S GO 1 WATT ZENERS 4.7. 5 6, 10, 12. 15. 180R 22V ea. S 25 TANTULUM CAPACITORS Full Wave Bridge Silicon Power Rectifiers PRV 1A 3A 12A ' 50A 125A 100 .06 .14 .30 .80 3.70 200 .07 .20 .35 1.15 4.25 400 .09 .25 .50 1.40 6.50 600 .11 .30 .70 1.80 8.50 800 .15 .35 .90 2.30 10.50 1000 .20 .45 1.10 2.75 12.50 SILICON SOLAR CELLS 2Va" diameter .5V at 500 ma. . $5.00 ea., 6/$27.50 REGULATED MODULAR POWER SUPPLIES < - 15 VDC AT lOOma 115VAC INPUT S27.95 5VDC AT 1 A. 1 15VAC INPUT . . . $24.95 12 VDC AT .5 AMP $24.95 IN 4148 (1N914) 15/S1 .00 22UF 35V 5/S1.00 47UF 35V 6/S1.00 6BUF 35V 5/S1.00 1UF 35V 5/S1.00 3.3UF35V 4/S1.00 4.7UF 35V 4/S1.00 6.8UF 35V 3/Si.OO 22UF 35V $ 40 33UF 35V S 40 30UT GV 5/S1 00 T0QUF 35V $ .50 150UF 15V S 40 M7001 ALARM CLOCK CHIP S6 00 NATIONAL MOS DEVICES MM1402 1/5 MM1403 - 1.75 MM1404- 1 75 MM5013- 7.50 MM5016- 2 50 MM5017- ? 70 MM5055- 7 75 MM5056 2 75 MM5057 7.75 MM5058 7 75 MM5060- 2.75 MM5061 - 2 50 MM5555- 4 75 MM5556- 4.75 MM5210 1 95 74 LOO - ,25 7400 16 7401- 18 7402 18 7403 7? 7404 .72 7405 27 7406 .35 7407- .33 7408 .75 7409 75 7410- 16 7411- .25 7412- 40 7413- .45 7414 1.00 7416 .33 7417- .33 7420- .18 7425 .30 7426 .35 7427 78 7430- .16 7432- 30 7437 30 7438 30 TTLIC SERIES 7441 - 7442 7445- 7446- 744 7 7448- 7472- 7473 7474- 7475- 74 76 7480 7483 7485 7486- 7489 7490- 7491 - 7492 7493- 7494- 7495 7496 74107 74121 74 1 23 - 74126 74150 74151 74153 74154 74155 74157 - 74161 74164 74165 74173 74174 74175 74177 74180 74181 74190 74191 ■ 74192 74193 74194 74195 74 1 96 75374- 75491 75497- 1 70 .95 1 00 1 00 7 40 1 15 1 10 7440 18 74175 .60 MIN1ATURF DIP SW TCHES CTS 206 4 Four SPST wil hes in one "ninidip parkaue Si 50 CTS-20G-8 Eiqht SPST SWIt ^hPS in a 16 pin DIP package S2 55 LCO MINIATURE TOGGLE SWITCHES MTA 106SPDT $1.70 (VITA 206 DPDT SI .70 SOLID STATE SALES P.O. BOX 74B SOMERVILLE, MASS. 02143 TEL. (61 7) 547-4005 200 400" 600 1.1 50 1.35 25A 2.00 3,00 4.00 $1.50 S 31 POS SANKEN AUDIO POWER AMPS Si 1010 G 10 WATTS $ 6.90 Si 1020 G 20 WATTS $13.95 Si 1050 G 50 WA TTS S24 95 CCD 1 10 LINEAR 256 XI BIT SELF SCANNING CHARGED COUPLED DEVICE $99.00 CCD 701 100 >; 1 00 CHARGE COUP! FD DEVICE . ^ 1 35 00 LINEAR CIRCUITS LM 309K 5V 1A REGULATOR 723 40 * 40VV REGULATOR 301/748 Hi Per. Op. Ami 320T 5, 12. 15, OR 24V NEGATIVE Rf ; G. . 709C Op Amt) . . . 741A or 741C OP AMP. . . 710 COMPARATOR . . . CA 3047 Hi Pel. Op. Amp 340T 5. 6. 8. 12, 15, 18.24V REG. TO-220 101 OPER. AMP. HI PERFORM LM 308 Oper . Amp,, Low Power 747 DUAL 741 556 DUAL TIMER . . 537 PRECISION OP. AMP LM 3900 - OUAD OP. AMP LM 324 - OUAD 741 ... 560 PHASE LOCK LOOP 561 PHASE LOCK LOOP 565 PHASE LOCK LOOP 566 FUNCTION GEN. . . . 567 TONE DECODER .... LM 1310N FM STEREO DEMOD. 8038 IC VOLTAGE CONT. OSC. LM 370 AGC SOUELCH AMP. 555 2|js 2 HR, TIMER 553 OUAD TIMER FCD 810 OPTO ISOLATOR ... 1458 DUAL OP AMP . . LM 380 ?W AUDIO AMP. . LM 377 - 2W Steieo Audio Amp . LM 381 STEREO PREAMP. . . . DUAL AUDIO PREAMP - HI PER COMPARATOR Dual Hi Speed Comp. OUAD COMPARATOR LM 382 LM 311 - LM319 LM339 . S .95 ST50 S 75 S .95 S 65 S1.00 51 70 S .49 SI. 50 52 00 $2 00 Si 25 Si. 65 $1.50 $2.75 $3.90 SI. 15 S .45 S2-50 S .80 S 60 S .95 S7.50 SI .50 $1 50 S .90 $1.25 S1.50 WE SHIP OVER 95% OF OUR ORDERS THE DAY WE RECEIVE THEM month in Room 21 20 of the science building of the University. He also notes that the FCC and ARRL are taking steps toward making it easier than ever before to become a ham and with more privileges than ever. Chicago Area F-8 Users If you live in the Chicago area, Louis Burgyan is interested in meeting other F-8 users. He may be reached at (312) 327-0472, evenings. The Computer Network of Kansas City The KC Thru-Put is the organ of this Kansas City group. President Earl Day writes a column called "Day Dreams," and Bart Schwartz is editor. The group first met in May with 12 members and as of the July issue, number 2, has increased to 37. At the June meeting the possibility of making an educational program for the local PBS (Public Broadcasting Station) channel was discussed, but was deferred until the club is more established. Anyone wishing to contact this organization may write: KC Thru-Put, 968 Kansas Av, Kansas City KS 661 05. Microcomputer Society of Florida In the Marsh Data Systems Newsletter number 5, Don Marsh writes that the Micro- computer Society of Florida has chapters in Vero Beach, Ft Myers, Sarasota, Jackson- ville, Gainesville, as well as Tampa. The society will soon be publishing a newsletter of its own. They suggest that their chapters consider getting a free write-up in the local papers. Computer groups are newsworthy. In Tampa they have had a write-up in each of the major papers, and have been on tele- vision twice. For more information contact: Marsh Data Systems, 5405B Southern Comfort Blvd, Tampa FL 33614. New York Amateur Computer Club Elections of club officers have been held, but as of the June newsletter, the results were not yet complete. Club member David Ripps is scheduled to speak on the topic of "Systems Monitors and Their Features." The newsletter also included a report from the technical committee, an article by Alan Yorinks, "A Short Course in Digital Logic Troubleshooting," and a humorous essay on the living room workshop by MCS III. The address is: NYACC, c/o R Schwartz, 1E, 375 Riverside Dr, New York NY 10025. ACGNJ News In June at the general meeting, Marty Nichols, Tom Kirk, and Roger Amidon gave a presentation on the "String Language Processor." The high level language was running on 8080 based systems at the meeting. The demonstration was given with video monitors which were set up around the meeting room. The bylaws were also printed, in this, the July volume 2:7 issue. A "Life for the M6800" reprint, and an article, "Interfacing the Original TV Typewriter to a Computer" by Monty Shulte, were included. The address is: ACGNJ, UCTI, 1776 Raritan Rd, Scotch Plains NJ 07076. Computer Hobbyist Group — North Texas In volume 2:6 of the newsletter, they state that at the May meeting they were honored with the first look at three new products by the Southwest Technical Pro- ducts Corp (SWTPC). Displayed at the meeting were a dual cassette controller/inter- face, a graphics controller for input to CRT, and a small but quick printer. TCHG-NT's address is: 2377 Dalworth 157, Grand Prairie TX 75050. A Roving Computer Show for the Experimenter? Well, not quite; but a firm called Mar- keting Ventures Inc, 5012 Herzel PI, Belts- ville MD 20705, is organizing a show called TECHNIHOBBY USA which will be travel- ling to four cities in the US this fall. The boundaries defined for the show's content are not limited to computers alone, but encompass amateur radio, radio control models, do it yourself electronics, as well. The firm is looking for participation by local clubs in its exhibitions to be held: Boston November 4, 5 and 6 Washington DC November 12,13 and 14 Atlanta November 19, 20 and 21 Los Angeles December 5, 6 and 7 For further information contact Robert E Harar, at (301) 937-71 11 M 134 DELTA ELECTRONICS POST OFFICE BOX 2, AMESBURY, MASSACHUSETTS 01913 Phone (617) 3884705 AMP Security System Card Reader This card reader was made by AMP for use in SECURITY SYSTEMS. A stiff 2 1/8" x 3 3/8" card (credit card size) is inserted, which closes a micro-switch. A 115v AC solenoid is then energized, which pulls down a set of wipers to read through holes in the card. The wipers are arranged in 3 8 bit bytes + 1 bit, for a total of 25 bits. By turning the card over, 48 bits are possible. This device is ideal for security systems.. .entry can be controlled by means of a card with an almost infinite number of combinations, rather than using an easily duplicated key. As another example, an entire Social Security number, plus an entry code, could be read from a card. 5" x 5" x 9" deep. Shipping weight 6 lbs. STOCK NO. B5353 $19.95 each, 2 for $35 B5344 Wood Cabinets B7129 One of the problems with home-brew projects is finding a suitable enclosure, one that will do justice to your latest pride & joy. We have 2 wood cabinets that are suitable for small projects. B5344 has real teak veneer on all 4 sides over a %" particleboard base. Outside dimensions are 13%"W x 5 1/8"H x 6%"D, with a %" deep recess in the front. Mounting holes in the bottom. B7129 has a walnut vinyl covering over a 3/8" plywood base. Outside dimensions are 8%"W x 4%"H x 10%"D. With small vent and rubber feet on the bottom. STOCK NO. B5344 Teak cabinet Shipping weight 6 lbs. $7.95 each, 2/15.00 STOCK NO. B7129 Walnut cabinet Shipping weight 3 lbs. $5.95 each, 2/10.00 Switchcraft Push Button Switch Assembly Switchcraft series 7000 push button switch assembly, with 6 sections. 5 sections are interlocked in a 1-of-5 pattern, and the 6th button is momentary, which releases the others. Sections 4 & 5 may be depressed together; the others are excluded by means of a lockout bar. The switch comes with 12 sets of contacts: 6 SPST, normally open, 3 SPDT, and 3 DPDT, all rated at 3 amps. The contacts may be arranged in any order, up to 4 in each section. Buttons are 1 / 2 " square black, on 5/8" centers. Overall size 554" wide x 3 1 /2" deep x 1%" high. This versatile switch lists for well over $30 I Shipping weight 2 lbs. STOCK NO. B6408 $2.50 each, 3 for $6.00 Lead-Acid Storage Battery Lead acid storage batteries are still the cheapest & easiest to work with of all types of batteries. Two of these would be ideal for keeping the memory up in your computer when the power is off. They are rated at 6 ampere— hours, 6 volts. 2%" x 3%" x 5 1 /2" high. The fill holes have screw-in caps and an overflow container is provided, making this battery spill proof. We provide charging data, you provide the electrolyte. 3 lbs. STOCK NO. B5074 $5.95 each, 2/11.00 Power Transformers B9397.... (shown) A versatile power transformer from a line printer manufacturer. The primary is tapped for operation at 1 1 5v or 230v. There are 4 secondaries: 34v centertapped @ 3 amps, 1 7v 4 amps, 1Tv @ 5 amps, and 6. 3v @ 1.5 amps. This would make an ideal transformer for a +5 volt and ±1 5 volt power supply. 3%" x 4'/2" x 4%" high. Shipping weight 10 lbs. STOCK NO. B9397 $12.95 each, 2 for $24 B9940....Dual 1 1 5v primaries, 3 secondaries: 17v center tapped @ 10 amps, 22v center tapped @ 5 amps, and 25v center tapped @ 1 amps. 3%" x 4%" x 4'/j" high, shipping weight 1 5 lbs. Another good +5v and ±15v supply transformer. STOCK NO. B9940 $14.95 each, 2 for $28 Send for our latest free catalog. Minimum order $5, phone orders welcome. Include sufficient postage (2 lbs min.) , excess will be refunded. BANKAMERICARD & MASTERCHARGE welcome, ALL numbers needed for processing. Minimum charge $15. Continued from page 22 theless, amateurs and experimenters may find that a perusal of the patent literature is quite fruitful. Howard L Grams 2616 N Salisbury St W Lafayette IN 47906 APPLICATIONS DIGEST, MATERIALS NEEDED I am compiling a "Microcomputer Appli- cation Digest" to be published by Howard W Sams & Co. The text is arranged by subject (Biorhythms, Electronic Music, Speech Anal- ysis, RTTY, Terminals, Business Systems, Security, Video Art, Video Games, etc). Each section will cover several real systems, a brief tutorial on the subject, block dia- grams, list of components, and names of contributing parties. Sources of additional information will also be provided. At this point, I am seeking inputs from all interested persons who wish to share their experience to increase the exchange of in- formation in their application area. First Come First Served Back Issues of BYTE $1.50 We have very few of some of them and a large supply of others, but no more than 2,000 of any one issue. Orders will be filled on a first come, first served basis until the supply is exhausted. DO NOT SEND MONEY, we will enclose a bill with your order for the number of issues we are able to supply plus a 25 cents EACH postage and handling charge. The back issues listed below are available from BYTE. Circle issues desired Dec 75 Jan 76 Feb 76 Mar 76 June 76 July 76 □ Bill me □Bill MC BAC No. Name Exp. Date Address City State Zip_ BYTE 70 Main Street Peterborough, NH 03458 To keep it simple, I would like those who want to be in the book to drop me a postcard with your name, address, phone number, and a brief explanation of your application. I will then send you a form to fill out which will put the information into a standard easy to read format. This will then be collated into the book. Not all applications need to be up and running to qualify for the text. Ideas, well thought out, are as valuable as finished systems. If you wish our field to expand, I urge you to take time to drop me a postcard and to expound on your efforts with microcom- puters-it's by spreading ideas that new ideas grow. Mitchell Waite H S Dakin Co 3101 Washington St San Francisco CA94115 NEXT OF KIM Congratulations on an excellent maga- zine! I look forward to its arrival every month as each issue contains at least one article (and usually 3 or 4) that I can use immediately. I would also like to publicly thank one of your advertisers for their fast delivery times, their prompt no-questions-asked warranty service, and their excellent newsletters. This company is MOS Technology. After months of fighting with two other computer manu- facturers, I ordered a KIM-1. The KIM-1 is, in itself, a fantastic product, but with MOS Technology backing it, it is, in my opinion, the best buy on the market today! There are presently three KIM-1 owners who work here at Eastern Washington State College. Also, the chemistry department has an Altair 8080 and the psychology depart- ment has a DEC PDP-8/F. We would like to invite anyone in the greater Spokane area (or anywhere else) who is interested in building a system or learning more about micropro- cessors and/or programming techniques to contact either myself of Dr R Keefcr. I am a technician for the psychology department and Dr Keefer is a professor for the mathe- matics department. Perhaps we may have enough interested people to start a computer club or a KIM-1 users group. Keep up the good work. Tony Kjeldsen K7VNT 5315 N Allen PI Spokane WA 99208 PS I'm afraid I must agree with B L Donelan (June 1976 BYTE) concerning the De- cember issue cover. 136 Itt all right here Prompt service_ ELECTRONICS far INDUSTRY BRiGAR eLecTronics In-depth inventories LOW, LOW PRICES! Offices & Warehouse: 10 Alice Street, Binghan SAVE i. New York 13904 .Tel : 607-723-311 1 PHONE ORDERS 607 723 3111 SAVE MINIATURE LAM PS a CHICAGO MINIATURE LAMPS #387 SAME AS #327 EXCEPT LONGER LIFE 28 volts. .04 amps. Bulb Style T-l-3/4 Mid-Flange Base. BRAND NEW BOXED, 100 per box. 40,000 pes in stock. PRICE SCHEDULE 1 - 99 .. 400 each 100 - up . . 350 ea NIOH INDICATING GLOW LAMPS NE-2 neon lamps, with dropping resistor to operate directly from 115 VAC. Nominal Watts - 1/17. T-2 Clear Bulb, wire terminals . 25,000 pes in stock. Mfd by G.E. Co. 100 each up to 1000 pes. 1000 pes & up 70 each. llM.,r.?W.l:« «H-hrf.H ■■III OLO INCANDISCINT LAMPS BRITE-GLO Inca Ultraminiaturi Versatile, low for Stero Ampl Inst rumen t a tio Panels, Etc V ndescent Lamps zed Series, 100,000 hr.life cost indicator lamp. Ideal if iers , Mobile Equipment, Computer and Display ure, T 1-3/4 lamps - Metal erminals. Metal base ir.- output and protects lamp High temper a tur Base - Wire Ter creases light from damage . 41, 685 pes - 6.3 volts , 75 ma, 8" wire leads. 40,263 pes - 6.3 volts, 200 ma, 13" wire leads. ISCOUNT SCHEDULE - 99 250 ea. 00-499 200 ea. 00-999 15C ea. 000-UP 120 ea. bargains s>ias(ga8a®S!& BRAND NEW - FINEST QUALITY QUAN 10,686 3,000 29,000 75,000 35,000 7000 3000 5700 7900 7200 6600 1800 1000 Electra Electra TOL. (%) 1 1 1 OHMS WATTS PRICE Each 191 191 243 2.43K 909 10 15.4 28 53.6 90.9 1650 6190 2670 1/8 1/8 1/8 1/8 1/4 1/2 1/2 1/2 1/2 1/8 1/8 1/8 i/e .07 .07 .07 .07 .04 .04 Computer Grade Capacitor MallorY CG (STAN D ARD) 65"C Supplied wilh PVC In sula ting Sleave ZELCh .75 Quan. Mfd. Vdc Size 10000 1100 35 1-25/64 X 2-11/64 25000 100 350 1-25/64 X 2-11/64 10000 80 400 1-25/64 X 2-11/64 .50 .60 SUB-MINIATURE GENERAL- PURPOSE POTTER & BFIUMFIELD RELAYS TYPE KH 5505 (Identical to KIIU17D11) COIL: 24vdc, 650 ohms. CONTACTS: 4PDT, 3amps at 30vdc or 120 vac Small rugged DC relay with clear poly- carbonate dust cover. Contacts are gold flashed silver. Mounts by solder terminals or 3-48 stud 5/16" long. Also mounts as plug-in. 6500 pc in stock, BRAND NEW, while they last at this price. $] __ 25 each m BRAND NEW PHENOLIC SHEETS Grade LE- Natural Type - FBE, Mil Spec: 15035, .062" thick Needed by all experimenters , amateurs and radio men for insulating parts - terminal strips - building sets or for research & development, etc. Stock # 560 - 6" x 6" x .062" 420 each # 561 - 6" x 12" x .062 820 each jj 563 - 12" x 12" x .062 $1.58 ea # 564 - Full sheets 38" x 47" x .062" $13.00 each. BRAND NEW QUALITY SHEETS High-Speed Reset Counter Veeder-Root 4 I-TfiDRE COUNTER MANUAL RES I- I HSVOr 115VAC VEEDER root meo-i 115VAC (Rectifier supplied* Basic counter is 115VDC, 6 v/Jtts \ figuie, black on while background. Push bullon resc-t. Dim.: 1-7/8" widlh 1-1/8" high x 2-1/2" deep. 5 12 95 LIGHTED $2.95 Each PUSHBUTTON SWITCHES Unit can be used on 6 v ,. or in series for 12 volt ^SPST, mom, PC board gold £. plated pins for wiring o] ^ easy installation. 10,000 pes in stock Widely used on computers, machine tools, office machines, guidance control and a wide variety of applications. Hfr: Grayhill Switch Co. 2" x 1%" X IV Electrolytic Capacitors TUBULAR, HIGH RELIABILITY QUAN . 600 375 298 299 571 375 313 597 4000 26,000 416 350 2500 1161 2600 1000 825 1099 6549 1942 10,500 520 290 476 409 284 255 281 20,000 339 400 MFD 100 250 500 1000 1200 1500 2000 100 50 200 1500 2000 10 2000 10 500 100 150 250 300 60 80 300 40 100 200 5 10 VDC 3 3 6 6 6 6 6 12 15 15 15 15 25 25 50 50 50 50 50 50 150 150 150 200 250 250 350 350 250 250 250 EACH .30 .35 SI. 00 1.00 1.02 1.10 1.11 .60 .30 .30 1.10 1.10 .25 1.40 .40 .80 .95 .90 .98 1.07 .70 1.50 .90 .90 .35 .70 .60 QUAN. 1055 246 967 400 529 453 MFD. VDC 30 40 4 10 15 20 350 350 450 450 450 450 EACH $1.00 1.14 .98 1.07 1.07 1.14 METALLIZED PAPER FILM QUAN 899 437 400 1360 820 4200 400 771 417 1100 1100 1600 565 4000 389 500 600 717 30,000 1000 291 MFD .1 .33 1.0 .22 .022 .033 .1 1.0 1.5 .001 0022 .022 .047 .022 .05 .1 .2 .25 .01 .047 .22 VDC 100 100 100 150 200 200 200 200 200 400 400 400 400 600 600 600 600 600 100 100 400 .35 .40 .45 .40 .35 .35 .40 .40 .40 .35 . 40 .45 .50 .25 .30 .30 .30 . 30 .15 .20 .30 HIGH POWER DUMMY LOAD NEW! Computer Grade Capacitors PHONE ORDERS 607 723 3111 Instant off-the-shelf delivery. QUfiN. 350 494 1016 527 353 869 277 316 375 267 600 529 MFD, 30000 60000 25000 40000 15000 15500 400Q0 74000 15000 14000 10000 L2500 SIZE 1-3/8 x 4-3/16 3" x 4-1/2" 2-1/16" x 4-9/16" 2" x 5" 2" x 4-1/8" 2" x 4-7/16" 3" x 4-1/2" 3" x 4-3/4" 2" x 4-1/2" 2" x 4-3/8" 2-1/16" x 4-1/2" 2" x 4-1/C" PRICE EA SI. 50 1.50 1.50 1.50 1.25 1.25 1.70 2.00 1.25 1.25 1.25 1.25 QUAN. MFD. 252 628 1014 10706 4200 792 478 337 200 500 23436 11800 11500 11000 8200 1100 750 1500 450 400 500 750 100 80 100 100 150 200 350 400 SIZE 2" x 4-1/2" 2" x 4-1/2" 1-3/8" x 3-1/8" 1-25/64" x 2-11/64" 1" x 3-L/2" 2" x 4-1/2" 1-7/1G" x 2-9/16" 1-7/16" x 2-1/2" 2-1/16" x 2-3/B" 1-1/2" x 4" 1-25/64" x 2-11/64" 1-25/64" x 2-11/64" SI- 25 1.25 1.70 1.00 .75 1.30 1.00 1.00 Mfg. Eastern Microwave. #10-1254 ... RF Coaxial Load Re sistor utilizing water flow to cool and provide a load resistance of 50 ohms for inputs from DC to 4000 MHz. Maximum power input is 1 00 watts . Reguires a flow of 218 GPM min. per 100 watts of input power; 100 psi pressure. Compression fittings on water line inlet and outlet for copper tubing supply lines. Has a Flange type coaxial fitting, friction type, 13/16" I.D. with 2-1/4" flange. Completely shielded unit of machined aluminum. Size: 1-5/8" diameter by 5-3/8" long. Shipping weight, 2 lbs. 5,000 pes in stock, NEW BOXED $14.95 each Cherry Electrical Products These switches are postage stamp sized precision swit- ches which feature long op- erating life & high electrical capacity for their size 5 amp, 1/4 IIP, 125-250 vac, SPDT, quick dis-connect terminals. 2,000 pes in stock without lever.. 75<= each 2,400 pes in stock with extended roller lever. 95C ea TANTALUM CAPACITORS TYPE 109D TUBULAR SINTERED- ANODE TANTALEX CAPACITOR S109D147X9060T2 1620 pes - 140 uf ±10% - 60vdc $2.00 ea. GENERAL^ ELECTRIC (U „ Al eL « .„...- ^J «»T "«.« CLU/U— POLAftlZEO 3,000 pes CL31BE180KPE, 18' jf - ] 5vdc 65C each 300 pes CL31BE550MPE, 55uf - 15vdc 85$ each non-polarized CL32/33 900 dcs CL33BL020MME, 2.0uf - 75vdc $1.00 each MTP/MTPH ULTRA-MINIATURI TANTALUM CAPACITORS 10,550 pes MTP685MO20P1D, 6.8uf - 20vdc 55C each 2,100 pes MTP106MO30P1A, lOuf - 30vdc 754 each 1,028 pes HTP33GMO10P1A, 33uf - lOvdc 65C each ESS'" 5, OLID ILECTHOmi TANTALUM CAPACITORS 4996 pes, 4.7uf- +10%, 6vdc, TAS475K006P1A 35C ea 394 pes, .47uf i 10%, 6vdc, TAS474K006P1A 384 ea 1430 pes, 47uf ± 10%, 6vdc, TAS476K006P1C 40C ea 326 pes, 220uf + 20%, 6vdc, TAS227M006P1G $1.20 ea 285 pes, 5.6uf J 10%, lOvdc, TAS565K010P1C 404 ea 4574 pes, lOuf ±10%, lOvdc, TAS106K010P1C 40C ea 900 pes, 15uf ±20%, lOvdc, TAS156M010P1C 40C ea 887 pes, .068uf ±10%, 20vdc, TAS633K020PLA 516 ea 152 pes, 2.2uf ± 20%, 20vdc, Sprague 40? ea 1457 pes, ,47uf +10%, 35ydc, TAS474K035P1A 51? ea GENERAL^ ELEIURIC "*' N '° ,L T * MT * IU '" + 1 " c 365 pes G.E. 40uf,+20%, 50vdc, 1250c Type: 2K105AA6M. $1.75 each 1168 pes SPRAGUE, 40uf, +20%, 50vdc, 125°C Type: 220D005A3M. $1.75 each C ■Hi O A m tS ATTENTION PDP-8 LOVERS! Thought I would drop a line to BYTE and say how much I enjoy the magazine. I first got into home computing in 1973. A friend down in Texas found a used PDP-8 and called me. We went down on business and at the same time stopped over to see the machine. We bought it and back home made a crate from dimensions in the manual. Next trip down we carried the crate knocked down on the plane, crated it and shipped it back. It went on the air with very little trouble and we immediately had a vast amount of software from DEC and the users group DECUS. We now have six PDP-8s in the Washington DC area with one fellow just finishing a homebrew machine with the Intersil IM6100 chip. Out of this group all the fellows are electrical engineers, none of which has a computer science background. Two of us are interfacing surplus speech synthesizers and are interested in using the 8s for signal processing and speech synthesis. One other is interested in motion picture photography and is interfacing a high resolu- tion CRT system to his 8 and an animation camera. The PDP-8s are the straight 8 version first built about 1966 being im- plemented with discrete components throughout. We have spare cards and the maintenance is done by each person, although the more experienced of us give help to the others. We are looking forward to articles in BYTE on PDP-8 and IM6100 type systems; no doubt they will start with the introduction of the IM6100 kit by PCM. We are of course always glad to hear from other PDP-8 people. Frank Gentges 3512 Orme Dr Temple Hills MD 20031 (301)894-2613 A SALUTE TO THE PDP-8 AND FAREWELL This letter is an opinion in response to the article in BYTE #9, "Chip Off the Olde PDP 8/E" by Robert Nelson [page 60] in which he made the incredible statement, "The PDP-8 at this point may truly be the universal computer" and which concluded with the statement that "Many of the microprocessor chips available today were not designed to be the heart of a general purpose minicomputer . . . (but) . . . were primarily designed . . . (for industrial control applications) . . . . " Mr Nelson either overlooks or never knew that the PDP-8 was frequently sold not as a computer but as a controller. In any case, Christmas! Can it be that there are still hackers* out there who haven't yet subscribed to BYTE? From the way new subscriptions are inundating Debby, Deena and crew, it seems there are thousands of hackers* who are only now discovering what a blessing it is to have BYTE come each month whether they remember to go out and buy it or not. Perhaps you know one or more unfortunate who each month runs the risk of missing BYTE. Perhaps you ARE one. Give him a gift. Give her a gift. Give yourself a gift. As our holiday gift to you, each subscription after the first at the regular $12 rate (which by the way saves you S3 a year over single copy price) will cost only $10 (a vast $5 saving over single copy price). Considering it can take as long as six weeks to process a subscription, it's not a bit too early to give the perfect gift for the hacker* who hasn't yet subscribed. *microists, cybernuts, byters, kluges, etc . . . see letter on pages 18-20 about our identity crisis. BYTE GIFT 70 Main St Peterborough NH 03458 Name BYTE GIFT 70 Main St Peterborough NH 03458 Name Address Address City State Zip City State □ BILL ME □ Check for $12 enclosed □ BILL ME □ Check for $10 enclosed □ Bill BankAmericard No DBill BankAmericard No □ Bill Master Charge No □ Bill Master Charge No Zip. NOTE : If you're taking advantage of this offer, please use these coupons instead of the yellow card. If you're sending more than one $10 gift sub (Santa Claus incarnate!), photocopy or otherwise copy the coupons. An elf from Mars has been hired to handle gift subscriptions exclusively, and the color yellow makes him dangerously bilious. 138 HS 7400NT ™ „ SN7400N' .16 SN7459A .25 SN7401N .16 SN7460N 22 SN74154N* SN7402N .21 SN7470N 45 SN74155N SN7403N .16 SN7472N .39 5N74156N SN7404N* .18 SN7473N* .37 SN74157N SN7405N 24 SN7474N* 32 SN74160N SN7406N .20 SN7475M* 50 SN74161N SN7407N 29 SN747GN* .32 SN74163N* SN7408N .25 SN7479N* 5 00 SN74T64N SN7409N 25 SN7480N 50 SN74165N SN7410N* 18 SN7482N 98 SN74166N SN7411N .30 SN7483N 70 SN74167N SN7412N 33 SN7485N B9 SN74170N SN7413N 45 SN7486N 39 SN74172N SN7414N 70 SN7488N 3 50 SN74173N SN7416N 35 SN74B9N 2.25 SN741 74N SN7417N .35 SN7490N* .45 SN74175N SN7420N 21 SN7491N 75 SN74176N SN7421N 33 SN74g2N 49 SN74177N SN7422N* .49 SN7493N' 49 SN74180N SN7423N .37 SN7494N 79 SN74181N SN7425N .29 SN7495N 79 SN74182N SN7426N 29 SN7496JJ 89 SN74184N SN7427N .37 SN7497N* 4 00 SN74185N SN7429N .42 SN74100N* 1.00 SN741B6N* SN7430N 26 SN74107N 39 SN74187N SN7432N 31 SN74121N* 39 SN74188N SN7437N .27 SN74122N 39 SN74190N SN743BN .27 SN74123N* 70 SW74191N SN7439N .25 StV74 1 25N .60 SN74 1 92N* SN7440N 15 SN74126N 50 SN74193N* SN7441N B9 SN74132N 1.09 SN74194N SN7-142N 59 5N74I36N 95 SN74195N SN7443N 75 SN74141N 1 15 SN74196N SN7444N 75 SN74U2N* 4 00 SN74197N SN7445N 75 SN74143N* 4.50 SN74198N SN7446N 81 SN74144N* 4 50 SN74199N SN7447N 69 SN74145N 1.15 SN74200N SN7448N 79 SN74147N 2.35 SN74279N* SH7450N .26 SN7414BN 2 00 SN74251N SN7451N .27 SN74150N 100 SN742B4N SN7453N 27 SN74151N 79 SN74285N SN7454N 20 SN74 1 53N 89 SN74367N MANY OTHERS AVAILABLE ON REQUEST 20% Discount lor 100 Combined 7400'S CD40O0 CD4001 CD4002 CD4006 CD4O07 CO4009 CO401O CD4011 CD4012 CD4013 CD4016 CD4017 CEM019 CD4Q20 CO4022 CD4023 CD4024 CO4025 CD-1027 CD4028 CD4029 CO4030 If.Wuou LM301H LM301CN LM302H LM304H LM3Q5H LM307CN LM30BH LM308CN LM309H LM309K LM310CN LM311H LM311N LM318CN LM319N LM320K-5 LM320K-S2 LM320K-12 LM320K-15 LM320T-5' LM320T-5 2 LM32QT-8* LM320T-12" LM320T-15 LM320M8* LM320T-24 LM323K-5* LM324N LM339N LM340K-5 LM340K-6 LM34QK-B LM340K-12 LM340K-15 LM340K-1B LM340K-24 LM340T-5 LM340T-6 LM340T-B* LM340T-12 LM340T-1S LM340T-1B* LM340T-24 LM35QN LM351CN 25 CMOS CD4035 CD4040 CO4042 CO4044 CD4046 CD4047 CD4D49 CD4050 CD4051 CDJ053 CD4060 CD4066 CD4069 CD4071 CD4{ CD45U CD451B 74C0ON 7JC02N 74C04N 74C10N 74C20N 74C3QN 74C42N 74C73N 74C74 74C90N 74C95N 74C107N 74CT51 74C154 74C157 74C160 74C161 74C163 74C164 74C173 74C193 74C195 MC4Q44' MC14D16" LINEAR LM370M 1.1 5 LM373N 3 25 LM377N 4 00 LM380N 1.39 LM390CN 1 05 LM381N 1 79 LM382N 1.79 NE501X 800 NE510A 6 00 NE531H 300 NE536T 6 00 NE540L 6.00 NE550N 79 NE555V* 45 NE560B* 5.00 NE561B* 5.00 NE562B* 5.00 NES65H' 1 25 NE565N* 1.75 UE566CN* 1.25 NE567H* 1 95 NE567V* 1 50 LM703CN .45 LM709H .29 LM709N .29 LM710N 79 LM711N .39 LM723H .55 LM723H 55 LM733N 1 00 LH739N 100 LM741CH .35 LM741CN 35 LM74114N 39 LM747H 79 LM747N .79 LM748H 39 LM748N 39 LM1303N 90 LM1304N 1.19 LM1305N 1 40 LM1307N 85 LM1310N 2 LM1351N 1 LM1414N 1 LM1458C LM1496N LMI556V 1 LM2111N 1 LM2901N 2 LM3065N LM3900N LM3905N LM3909" 1 LM5556N 1 MC5558V I LM7525N LM7535N 1 8038B* 4 LM75450 75451CN 75452CN 75453CN 75454CN 75491CN 75492CN 75494CN RCA LINEAR CA3013 2 CA3032 2 CA3035 2 CA3039 1 CA3046 1 CA3059 3 CA3060 3 CA30B0 CA3081 2 CA3082 2 CA3083 1 CA3086 CA3089 3 CA3091 10 CA3123 2 CA3130 1 CA3140 I CA360O 1 RC4194 5 RC4195 3 74LSO0 74LS02 MLS03 74LS04 74LS05 74LS08 741S10 74LS13 74LS14 74LS20 74LS26 74LS27 74LS2B 74L530 74LS32 74LS40 74LS51 74LS00 TTL 74LS55 74LS73 74LS74 74LS75 74LS76 74LSB3 74LS8G 74LS90 74LS92 74LS93 74LS95 74LS96 74LS107 74LS112 74LS132 74LS13G 74 LSI 38 74LS151 74LS153 74LS157 74LS162 74 LSI 63 74LS164 74LS161 74 LSI 90 74LS19T 74LS192 74LS193 74LS194 74LS195 74LS257 74LS260 74LS279 74LS670 5 95 DATA HANDBOOKS 7400 Pin-out & Description of 5400/7400 ICS $2.95 CMOS Pin-out & Description of 4000 Series ICS $2.95 Bar Pin-out & Functional Description S2.95 ALL THREE HANDBOOKS S6.95 100 per strip M0LEX PINS Intended for use as an inexpensive subsntule for IC sockeis Also perfect lor use as board connectors and in subassemblies SPECIAL— 100/1.49— 1000/12.00 CONSUMER ELECTRONICS PONG SUPER PONG SINGLE GAME 4 GAMES IN ONE $59.95 $89.95 PONG GAMES INCLUDED IN SUPER PONG ARE: • PONG • CATCH • SUPER PONG • HANDBALL FEATURES OF PONG ANDSUPER PONG ■ Inaenipmat speed on vollpys increases pxciianeni ■ Playing lipid adjusts to any see screen ■ Game appears in color or in black & wtiui». rtepeiianui mi television set. ■ Unmistakable "PONG " sou ml accompanies each volley ■ Digital scoring Hashes on [be screen between each point ■ 2 player challenge or Eolilaire ■ Hooks up srnoly to any niocli;l television set. me scieen actually Uecoims ihe playing field ■ English and other techniques can be used to make any member ol the family a Pong champion ■ Battery operated by -1 size D flashlight Batteries included with the Unit AC Adaptor (Eliminates Batteries) $9.95 Jbfa& .125" dia. XC209Bed 10/S1 XC209Green 4/S1 XC209Yollow 7/51 XC209Orange 4/S1 .200" dia. XC22Rod 5/51 XC22Grt;en 4/S1 XC22Yellow 4/$1 XC220range 4/51 SSL-22RT B/S1 MAN 7 DISCRETE LEDS SPECIAL SALE ! .185" dia. XC526Rod 10/S1 XC526Green 7/S1 XC526Yellow 4/S1 XC5260riinge 4/S1 XC526Cloar 7/S1 .200" dia. XC55GRod 10/S1 XC556Greon 7/51 XC556Yol1ow 7/S1 XCBBSOrango 7/Si XC556Cluar 7/51 DISPLAY LEDS .190" dia. XC11 1 Rod 8/S1 XCIIIGroon 4/5 1 XC1 11 Yellow 4/51 XC1 11 Orange 4/S1 .085" dia. MV50 .085" dia. Micro red LED G/51 DL33B *■" SUPER SAVINGS! $" IC SOLDERTAIL — LOW PROFILE (TIN) SOCKETS s SOLDERTAIL STANDARD (TIN) SOLDERTAIL STANDARD IGOLD) WIRE WRAP SOCKETS (GOLD) LEVEL #3 2-1 pin 2£ pin 36 pin S3S 45 .60 63 28 pin 36 pin 40 pin S .99 1 39 1 59 34 pin 28 pin 36 pin AO pin S 70 1 10 1 75 1 75 L#3 24 pin S1 05 28 pin 1.40 50 PCS. RESISTOR ASSORTMENTS $1.75 PER ASST. 10 OHM 12 OHM 15 OHM IB OHM 22 OHM 27 OHM 33 OHM 39 OHM 47 OHM 56 OHM 1/4 WATT 5% 68 OHM 82 OHM 100 OHM 120 OHM 150 OHM 180 OHM 220 OHM 270 OHM 330 OHM 390 OHM 1/4 WATT 5% 470 OHM 560 OHM 680 OHM 620 OHM IK 1 2K 1.3K 1 8K 2 2K 2 7K 1/4 WATT 5% 3 3K 3 9K 4 7K 56K fiflK 8.2K 10K 12K 15K 1BK 1/4 WATT 5% 22K 27K 33K 33K 47K 56K S6K 82K 100K 120K 1/4 WATT 5% 150K IBOK 220K 270K 330K 390K 470K 560K 680K 820K 1/4 WATT 5% (M 1 2M 1 5M 1 8M 2.2M 2 7M 3 3M 39M 4 7M 5 6M 1/4 WATT 5% 5-25 PCS 5 EACH MINIMUM PER VALUE ON ANY RESISTORS FROM 2.2 OHM TO 5.6M D5 ea 30-95 PCS OS ea 100-195 PCS 03 W 500-995 SINGLE TURN W CERMET POTENTIOMETER • Resistance Tolerance ± 20% ^ **^* m . High Power -0.5 Walt at 70"C JE PQ . Wide Operating Temp. Range -55"C to +125"C *** ■ v ' x ' STANDARD RESISTANCE VALUES 50n 100n 50011 IK 2K 5K 10K 20K 50K 100K 200K 500K 1 MEG 'Astrisk Denotes Items On Special For This Month- Salisfactian Guaranteed. $5.00 Mln. Order. U.S. Funds. California Residents — Add 6% Sales Tax — Data Sheets 25c each Send a 13c Stamp (postage) lor a FREE 1976 Catalog fstTKSS 1021 HOWARD AVE., SAN CARLOS, CA. 94070 PHONE ORDERS — (415) 592-8097 O.OT an i 14* io-n » n ■ l 1 ON m ON »' 2.95 2.55 1.87 i n 0* ■"•' ON 1» 2.95 2.15 1.58 1.43 l^if m OFF ON 123 ,« ,« >*s IM MINIATURE TOGGLE PB-123 $1.75 PB-126 $1.75 PUSH BUnON rlr THUMBWHEEL SWITCHES CLIPLITE!! 4/ NEW LED Sl.OO MOUNTING SYSTEM • CLIPLITE mounts from the , front of the Panel in a .250 !^— j hole on 3/8" centers. Panel thickness from 1/16" to 1/8". • CLIPLITE equalizes and increases the bright- ness of commonly used wide beam LEDS. • CLIPLITE is to be used with XC556 LEDS only. Specify red, green, amber or yellow CLIP- LITES when ordering. TYPE IN746 1N751A 1N752 IN 753 1N754 1N959 1HS68B 1NS23J IN5234 1tJWi:i IN 52.16 11)456 IN458 IK48SA 1 11400 1 1 N4002 1H4O03 1H4004 2ENERS— DIODES— RECTIFIERS 400m 400(11 400m JOOiTi 400m 400m 400m 500m 500m 500m 500m ' 50PIV too PIV 200 PIV 400 PIV 1 AMP 1 AMP 1 AMP 1 AMP 6-1.00 6; 100 5/1 .00 120 00 12 1 00 12/1.00 12' 1.00 TYPE VOLTS 1N40O5" 600 PIV 1N4Q06* 800 PIV IN4007* 1000 PIV 1K3600 50 1N4148 75 1N4154 35 1N4734 5.5 1N4735 6.2 1N4736 C.8 1N4738 8.2 1N4742 12 1N4744 15 IN1183 50 PIV 1N1184 100 PIV IN11SG 150 PIV IN11B6 200 PIV 1N118B 400 PIV 1 AMP 1 AMP 1 AMP 200m ton .os 10/1 00 10 1 00 SCR AND FW BRIDGE RECTIFIERS C36D 15A@4O0V SCR C3HM 35A@200V SCR JN2328 1 6A @ 200V SCR MOA 980-1 25A @ 50V FW BRIDGE REG. MOA 980-3 25A@200V fW BRIDGE REC. TRANSISTORS F1Z41S ' ?'i?50:a 2N?925 JJ.3053 2ITJ055 MJF30SS '2.1.1392 2112396 s'$1.M _ SSI 00 ■ 4-si oo W 541.00 4/S1 DO J J.-S1 00 U $100 $125 b'SlOO PN3567 3 $1 00 Fnasos 4JS1 00 nam 4 SI 00 2N37D4 5SI00 2N3705 S11W 2N370& JrJI (0 2N3707 m oo 2N3711 BSl W nam S 65 2N3725 SI 00 ZN3003 SSI co 2N390J 401 K> 3113905 4^1 ra 2N3906 4S10O 2H1013 3 Si CO 2N-10H Mi CO 2N4123 10/51 00 PN4250 ■» SI Ot 3N44O0 4.'S1 00 2N44D1 4/J1 OC 2H4402 451 OC SN4403 4 SI OC 2NM09 5 £1 OC 2N50B6 4;$1.0C 2N50B7 4/51 CK 3Nsoaa i v oo 2N5089 4 SI OC 2NS129 5 or MAN-82(yellow)$l .29. 10/S1 1 4 DIGIT COUNTER. MM74C926 is a 4 digit counter with 7 segment output. Carry output For cascading ond internal display select allows outputting of counter or set of internal latches. 3 to 6V operation. Great for clocks, event and frequency counters. MM74C926 - with spec sheet SI 2 .00 3 DECADE (BCD) COUNTER CHIP MC14553BCP consists of 3 negative edge triggered synchronous counters, 3 quad latches and self scan multiplexed , TTL compatible outputs. MC14553BCP $8.72 Spec sheets $.60 TELETYPE CODE CONVERSION CHIP MM5220BL converts 5 level Baudot into 8 level ASCII. Use this chip ro make your old TTY talk to your new computer. MM5220BL $1 8. 00 Specs for the above .30 MOS TIME BASE KIT. Only 1" X 1.5". Input 5 to 15 VDC, output is 60HZ square wave for portable or mobile clocks. PC board is drilled ! MTBK-60HZ S5.88 Says PROJECT HEXED??? If mailing fees and poor service have got you spooked, and looking for those new devices is goblin up your project time, and you don't know witch way to turn- let the cats at TR1-TEK help !!!!!!!!!!!!!!!!!!!!!!! GOLD CHIP Linear Integrated Circuits Brand new process by RCA in which the aluminum metalizotion has been replaced by gold. The chip is then hermetically seal- ed. What this means to you is unprecedented reliability and uniformity. Plastic parts that meet mil specs! ! Tri-Tek is proud to be the first to bring this new level of performance to you at SURPLUS PRICES. Why buy regrades?? CA301 A. .Improved, general purpose oo-amp,8 pin dip. .59c CA307.. .Super 741 op-amp. 8 pin dip 52c CA324. . .Compensated quad op-amp, 14 pin dip $1.80 CA339A.. Low offset quad comparator. 14 pin dip $1.59 CA74] C. . Famous general purpose op-amp, 8 pin dip.. 45c CA747C. .General purpose dual op-amp, 14 pin dip... 82c CA748C..Externally compensated 741, 8 pin dip 49c CA1458. . General purpose dual op-amp. 8 pin dip 69c CA3401..Quad single supply (5-18V) op amp. 14 pin.. 89c Another super buy from RCA. CA555 timer. 8 pin dip. 59c **&||»i»