JANUARY 1977 e small iii nal M680O Mlcroptocenoi Piogfammlng Manual ! 6800 §^T p E u r3i BR • 6800 • COMPLETE WITH 2K OF MEMORY • SERIAL INTERFACE • STANDARD ROM MONITOR (Motorola MC 6830L7) • 4K AND 8K BASIC AVAILABLE Always the best value in hardware and now an outstanding selection of software too. What more could you want in a computer system? For less than four hundred dollars you get everything you need— ready to connect to a terminal and go to work. No surprises, no funny business, just good reliable hardware in a very practical system that may be ex- panded to meet almost any later need. Memory and interfaces are not extra cost items in our system. A standard Motorola MIKBUG® ROM monitor makes the system completely compatible with Motorola ©Motorola software and eliminates any need for console switches and light. Data may be entered from the terminal in convenient hexadecimal form. The power supply is adequate to operate a fully expanded system with up to 24K of memory and up to eight (8) interfaces— simultaneously. See the 6800 and our peripheral equipment at your nearest dealer, or write for a complete description. MP-68 COMPUTER KIT-with serial interface, 2Kof memory and ROM monitor $395.00 ppd Southwest Technical Products Corporation, 219 W. Rhapsody, San Antonio, Texas 78216 Q Cromemco Z—l — — ^— ^— — i M i .i.— i.»i. n .. i .1. i ii ■ i n i i n ii ■■ , ..Mil inn OMIHJItH IV1TCM jjj iTJ \ \ \ \ ' \i This is the industry's most powerful microcomputer (it's also a powerful Z-8O/1P development system) Uses high-speed Z-80 ,uP You see here a major new de- velopment in microcomputers: the Cromemco Z-1. It is the fastest and most power- ful microcomputer available. It gets its speed and power from a selected version of the new Z-80 microprocessor that can operate at a 4 MHz clock rate. (The Z-1 also lets you switch to 2 MHz to be compatible with older systems.) /xP development system In addition to being a powerful microcomputer the Z-1 is a major fiP development system. It will give you a big head start in developing your circuits around the Z-80 /xP. All you need do is plug your breadboards into the Z-1's 16 or more extra sockets. You're right into the computer bus. Broad "S-100" support What's more, the Z-1 offers you all kinds of peripherals and soft- ware. It uses the standard "S-100" G bus supported by over a dozen man- ufacturers. And all Cromemco per- ipherals (PROM memory and pro- grammer, RAM memory, analog I/O, color TV interface, etc.) just plug into the Z-1's extra sockets. Cromemco also provides com- plete software support: a monitor, assembler, BASIC interpreter and more to come soon. Another thing: you can bet the Z-1 won't be obsoleted. Future CPU cards can plug in for the present CPU card. Not a kit The Z-1 comes completely as- sembled and tested. It's a quality, commercial-grade microcomputer. It Cromemco Specialists in computers and peripherals 2432 CHARLESTON RD., MOUNTAIN VIEW, CA 94043 is not available as a kit. Just plug it into the 110-volt line and you're ready to go. The Z-1's ready, too. It's being shipped. And for all you get, the low $2495 price is a pleasant surprise. It's especially pleasant when you compare it with the price of any complete, assembled microcom- puter with all the Z-1's features. Call now and get our brochure on this new system which is so im- portant in working with the Z-80. Z-1 components Z-80/ 4 CPU 8K static RAM Capacity for 8K PROM PROM programmer Resident monitor in PROM RS-232 I/O Full 22-slot motherboard and connectors Fan installed Not a kit; completely assembled (415) 964-7400 In This BITE tations useful in the games of TACTIX andHEXPAWN. Terry Dollhoff provides readers with some food for thought on hash- ing techniques. Turn to Making Hash With Tables to find out what it means to hash data as a method of improving table access time. The straightforward way of seeking data in a table (search- ing each element in turn) is far from the most time efficient, as you'll discover by considering Terry's arguments. For an output only interface, you don't necessarily have to use a UART to drive a Teletype printer. Gregory C Jewell shows How to Drive a Teletype Without a UART using five standard TTL integrated circuits. How do you drive a tape recorder's head directly, and read data directly? If you read David M Allen's article in this issue, you'll find out that Satura- tion Recording's Not All That Hard after all. David shows a simple tape driver circuit, input signal processor and the design of software for direct digital recording with audio tape heads on cassette recorders. Watts Inside a Power Supply? Find out by reading Gary Liming's account of power supply basics. You'll find that there are indeed watts lost inside a power supply, the reason these items invariably come with some form of heat sink. After reading Gary's article you'll have some good background information in your memory banks for evaluating the various power supply schemes which are used in practice, and why such schemes are used. Altair BASIC (in whatever form you have it) is an excellent aid to the utilization of an 8800 system. How- ever, there is that residual problem of putting in a 20 byte bootstrap pro- gram every time you turn power on. In this issue, a short article by Jim Kreitner shows you how to Pick Up BASIC by PROM Bootstraps. Who knows what the bears and bulls will be doing next in the stock market? Play Black Friday, a BASIC game by Bob Baker, and you'll get a heuristic feel for what happens through the powerful tool of simula- tion. Will X-Pando do better than Slippery Oil after a simulated year of trading? Play the game and find out. Newcomers may wonder what is meant by the term "direct access storage device." This is the most useful form of mass storage, a form which is the dream and goal of every small system hacker who has passed the beginning stages of programming appli- cations of his or her computer. To help define the terminology for the novice, reader Curt Hill has provided an elementary article on the types and uses of direct access storage. The SYS 8 monitor as it is supplied by IMSAI and Processor Technology is a self-contained operating system for 8080 based microprocessors which comes equipped with its own set of executive commands. These com- mands are used for calling programs that are resident in the system. Would- n't it be great if programs that are not part of the monitor could be part of the executive command table? This was the conclusion of Willard I Nico. He decided to have easy availability of his most used programs by adding them to the executive command table. He describes how you too can easily accomplish this in his article SYS 8 1/2 - Your Own Executive Com- mands. Representations of two dimensional game boards as the bits of various bytes in your computer's memory can often be chosen to help facilitate evaluation and strategy computations. In Computer Models For Board Games, Russell R Yost Jr presents some basic background information on the prob- lem and suggestions for represen- For use when testing out your hardware, the idea of The Built-in Logic Tester can prove quite useful. K W Christner discusses the concept in a short article on his version of a logic probe. Riddle of the Month: What is not like an elephant with a suntan? oj ajnsodxa oj anp ujajjDd Ajowauj sjl sjaBjoj L/DiLjM IAI0X3 U V Build the "Coffee Can Special" EROM Eraser described by Lawrence Burbey in order to convert white elephant EROMs into blanks ready for reprogramming. Video interfaces often produce an EIA composite video signal as the principal output. What do you do when you have a commercial digital monitor with separate sync inputs of the type used in display terminals? Why, that's when you follow David Rosen's lead and Separate Your Sync by tapping the interface at a non- standard point. June BYTE had an article on ELM, an Eloquent Little Monitor. In this issue, author G H Gable describes a method of Using Interrupts to Speed Up an ELM. The use of interrupts and a tape drive with a direct memory access interface make a valuable exten- sion of the basic monitor concept. In June and July a survey was conducted of computer hobbyist clubs in the US and Canada. The question- naire covered such areas as number of members per club, types of computers owned, applications for the computers and the members' backgrounds. In his article, A Computer Hobbyist Club Survey, David Caulkins releases the results of the survey and explains some of the conclusions that he has reached as a result of the survey. Introducing Sol Systems A complete computer/terminal concept with all the standard features, software and peripheral gear you want in your personal computer. ^m I ■asanas mtm ^ »p <^i iiiiiiiiiiiiMiiiiiiiMiiiiiiniiiiiniiiiuimi In the Queue BITE 18 32 34 82 91 92 106 42 50 56 60 66 78 116 BYTE magazine is published monthly by BYTE Publica- tions Inc, 70 Main St, Peter- b orough. New Hampshire 03458. Subscription rates are $12 for one year, $22 for two years, $30 for three years in North America. Second class postage paid at Peterborough, New Hampshire 03458 and at additional mailing offices. Phone 603—924-7217. Entire contents © copyright 1976 BYTE Publications Inc, Peter- borough NH 03458. All rights reserved. Address editorial cor- respondence to Editor, BYTE, 70 Main St, Peterborough NH 03458. Opinions expressed by authors are not necessarily those of BYTE magazine. Foreground MAKING HASH WITH TABLES Software— Dollhoff HOW TO DRIVE A TELETYPE WITHOUT A UART Hardware— Jewell SATURATION RECORDING'S NOT THAT HARD Mass Storage Technology— Allen THE BUILT-IN LOGIC TESTER Hardware— Christner BUILD THE "COFFEE CAN SPECIAL" EROM ERASER Hardware— Burbey SEPARATE YOUR SYNC Hardware— Rosen USING INTERRUPTS TO SPEED UP AN ELM Software— Gable Background WATTS INSIDE A POWER SUPPLY Hardware— Liming PICK UP BASIC BY PROM BOOTSTRAPS Hardware— Kreitner BLACK FRIDAY Software— Baker TYPES AND USES OF DIRECT ACCESS STORAGE Mass Storage Devices— Hill SYS 8 1 /2 . . . YOUR OWN EXECUTIVE COMMANDS Software— Nico COMPUTER MODELS FOR BOARD GAMES Applications— Yost A COMPUTER HOBBYIST CLUB SURVEY Survey— Caulkins Nucleus 2 In This BYTE 4 The Appliance Computer, Circa 1977 11 About the Cover 11 Machine Readable Printed Programs 11 Book Reviews 16 Letters 72,84 What's New? 76 Description: Tutorial Training Computer 93 Answer to Software Bug 6 94 Description: OSI 96 Classified Ads 97 BYTE's Bugs 99, 104, 130 BYTE's Bits 100 Some Candid Shots from PC 76 114 Kil O'Byte 115 Clubs, Newsletters 119 Clubs, Newsletters Directory 140 Ask BYTE 144 BOMB 144 Reader Service JANUARY 1977 Volume 2 Number 1 PUBLISHERS Virginia Peschke Manfred Peschke EDITOR Carl T Helmers Jr PRODUCTION MANAGER Judith Havey CIRCULATION MANAGER Manfred Peschke ASSISTANT PUBLISHER Debra Boudrieau CO-OP EDITOR Raymond G A Cote PRODUCTION EDITOR Karen Gregory DEALER CIRCULATION Deena Zealy CIRCULATION Kimberly Barbour Cheryl Hurd Anne Jackson Deborah R Luhrs Carol Nyland ADVERTISING Elizabeth Alpaugh Virginia Peschke ART Matthew Arnold Noreen Bardsley Mary Jane Frohlich Lynn Malo Bill Morello SPECIAL PRODUCTS Susan Pearne Floyd Rehling TYPOGRAPHY Custom Marketing Resources Inc Goodway Graphics Mary Lavoie Taimi Woodward PHOTOGRAPHY Ed Crabtree Custom Marketing Resources Inc PRINTING The George Banta Company Custom Marketing Resources Inc Lennie Cashion Larry Davis Jeff Pratt ASSOCIATES Bob Baker Dan Fylstra Harold A Mauch Chris Ryland TECHNICIAN Melvin G Weir TRAFFIC MANAGER Peter Travisano Editorial by Carl Helmers The Appliance Computer, Circa 1977 Articles Policy BYTE is continually seek- ing quality manuscripts writ- ten by individuals who are applying personal systems, or who have knowledge which will prove useful to our readers. Manuscripts should have double spaced type- written texts with wide mar- gins. Numbering sequences should be maintained sepa- rately for figures, tables, photos and listings. Figures and tables should be provided on separate sheets of paper. Photos of technical subjects should be taken with uniform lighting, sharp focus and should be supplied in the form of clear glossy black and white or color prints (if you do not have access to quality photog- raphy, items to be photo- graphed can be shipped to us in many cases). Computer listings should be supplied using the darkest ribbons pos- sible on new (not recycled) blank white computer forms or bond paper. Where possible, we would like authors to sup- ply a short statement about their background and experi- ence. Articles which are accepted are typically acknowledged with a binder check 4 to 8 weeks after receipt. Honorar- iums for articles are based upon the technical quality and suitability for BYTE's reader- ship and are typically $25 to $50 per typeset magazine page. We recommend that authors record their name and address information redun- dantly on materials submitted, and that a return envelope with postage be supplied in the event the article is not accepted. ■ With the beginning of the new year, it's time to return to the theme of the "ideal" personal computing system, the ne plus ultra in terms of design finesse, convenience and low price. In short, a quality packaged product ready to be programmed by the user . . . the same concept found in the program- mable calculator, but applied to the general purpose computer system instead. This prod- uct is on the way. My "authoritative" pronouncement on the future of the field during 1977 is that 1977 is to be the year of the "Appliance Computer." Now that I've made my pronouncement, you ask in reply "now how can Helmers make a crazy state- ment like that?" The rest of this month's commentary concerns the reasons for this summary of the coming year, a view from the root node of an information tree. Quite simply, the "appliance computer" is the concept of a true finished product desk top general purpose computer which can be purchased at your local dealer, a complete package of hardware with support- ing systems software at a reasonable price. It is the software experimenter's dream ma- chine, a computer where the only concerns are the generation of programs and the hardware is just assumed to exist and work properly. It is the starting point of applica- tions and systems programming experimen- tation. The appliance computer is the per- sonal computing system which does not require that its owner own an oscilloscope, a complete electronics laboratory, or have experience in the repair and tuning of hardware. The systems hackers and hardware hackers will of course complain about the very concept of the appliance computer, which is fine. "You're too constrained by someone else's choice of compatible op- tions." "You're limited by a particular style of engineering." "In my perfect system, I'd do this instead." "I wouldn't be caught dead with such a kluge in my system." There is no doubt that there is a lot of pleasure to be gained from the ego involvement of hard- ware creation and system design. The appli- ance computer hardly eliminates that pleasure — for those who are sophisticated and knowledgeable enough to enjoy it. They simply avoid buying appliances. But consider the appliance computer in analogy to the musical instrument. Most of us musicians (amateur like myself, or profes- sional) get our jollies out of playing the instrument, not out of building it. Sure, I do some weird things like designing an attach- ment to my baby grand player piano so that my computer programs can play it too; but I do so to enhance my ability to play music, and then I do a custom design only because there are no commercial products. I am primarily a user of the piano, not the builder or designer of the piano system. The builder of the piano, some craftsman at Steinway circa 1910, simply put together a very specific and well designed set of hardware which I program with my own software creations, via my finger tips (and later via rolls or solenoid valves in the pneumatics). So why is it appropriate that 1977 be termed the year of the appliance computer? I have inputs from numerous sources to tell me that the personal computing products are shaking down into finished systems. For example, just take a look at the class and quality of the new Digital Group cases — they're the kind of finished product profes- sionalism one would expect on a computer table in the livingroom of a home. Now, if only Robert Suding's brainchild were com- pletely assembled and tested at the same price. As another example, take a look at the level of case design sophistication and engi- neering quality represented by the new Processor Technology SOL systems. Again, it's still a kit, but it augurs well for the coming year. Take a look as well at the STM BABY computer. Here is a finished product, not a kit, which is initially a bit more limited in scope as a general purpose system than some of the other products, but which before the year is out will have a complete set of options including mass storage and a high level language. Then there is Steven Jobs' and Steve Wozniac's Apple Computer, presently only available in single board form without case, but soon to become a finished product item at dealers coast to coast, with a case as previewed at Atlantic City last September. There are others as well, firms which have yet to advertise but which have exciting products we may see at dealers in the near future. These include the Gremlin Continued on page 14 Sol Systems put it all together. One source for hardware and software. One source for engineered compatibility of computer and peripherals. That's the Sol plan. Though the microprocessor made the powerful small computer possible, a lot of folks found out early efforts in the market- place were selling the sizzle a lot more than the steak. After an initial investment of sev- eral hundred dollars, you ended up with some nice parts, but no memory of any kind, no I/O devices or interfaces, no display, print- out or software. The Sol plan ends all that. Processor Technology takes the position that it's far better to be right than first. So let's get down to the Sol no tricks plan. For $995 in kit form, the first complete small computer Standard is a basic word at Processor Technology. The Sol-20 has more standard features than any other small computer we know of. Here's what you get. 8080 microprocessor* 1024 character video display circuitry* 1024 words of static low-power RAM* 1024 words of prepro- grammed PROM* a custom, almost sensual 85-key solid-state keyboard* audio cassette interface capable of controlling two record- ers at 1200 baud* both parallel and serial standardized interface connectors* a com- plete power supply* a beautiful case with solid walnut sides* software which includes a preprogrammed Prom personality module and a cassette with Basic-5 language plus two sophisticated computer video games* the ability to work with all S-100 bus (Altair 8800/IMSAI/PTC) products. There are no surprises. Everything you need to make it work is here. In kit form, nominal assembly time from our fully documented instructions is four to seven evenings. Or start with the Sol-PC for just $475 You can begin your Sol system with the all on one board Sol-PC kit. It has all the memory and interface electronics including video display, keyboard interface, audio cassette interface, all necessary software and the ability to accept the full Processor Technology line of memory and interface modules. Use the Sol-PC as the basis of a microcomputer, low cost CRT terminal or editing terminal And these specs are standard Display: 16 lines of 64 characters per line. Character set: 96 printable ASCII upper and lower case characters plus 32 select- able control characters. Display position: Continuously adjustable horizontally and vertically. Cursor: Selectable blinking. Solid video inversion. Programmable positioning standard. Serial interface: RS-232 and 20-mA current loop, 75 to 9600 baud, asynchronous. Parallel interface: Eight data bits for input and output; output bus is tristate for bidirec- tional interfaces; levels are standard TTL. Keyboard interface: Seven-level ASCII encoded, TTL levels. Microprocessor: 8080, 8080A, or 9080A. On-card memory: 1024 bytes PROM (ex- pandable to 2048 bytes), 2048 bytes RAM. External Memory: Expandable to 65,536 bytes total ROM, PROM, and RAM. Video signal output: 1.0 to 2.5 volts peak- to-peak. Nominal bandwidth is 7 MHz. Power required (±5%): +5 volts at 2.5 amperes, +12 volts at 150 mA, and —12 volts at 200 mA. The Sol plan, completely expandable. By filling the basic main frame with tailor made Processor Technology plug-in PC boards, you can really expand the computing power and flexibility of your Sol-20 Personal Computer. New items are being announced fre- quently, but right now, here are some of the things you can add to your Sol-20. The ALS-8 Firmware module is an assembly language operating system to give you the power to develop and run programs. Use it to quickly write, edit, assemble, de-bug and run your own programs. Some say it's the most useful software development on the market today, but modesty prohibits. And when it comes to add-on memory boards, you've come to the right place. We've probably got more than anyone else. Choose from 2K ROM or 4, 8 or 16K RAM (read all about the 16KRA board on the last page of this ad). The PT 2KRO will accept up to eight 1702 A or 5203Q erasable, reprogrammable memories (EPROM's) with the ability to store in a non-volatile fashion up to 2048 eight-bit words. Our read/write memories are the industry standards for high reliability. We know, because we have literally scores of customer letters saying "Your memory modules work and keep on working." To help you solve additional interfac- ing problems, add the 3P+S I/O module. Here's a board with two 8-bit parallel I/O ports with full handshaking logic and a serial data rate that can be set anywhere between 35 and 9600 baud. Set up control conditions for both parallel and serial ports. Data and error flags can be polled. A full line of Sol-20 tailored peripherals No computer can do the full job with- out the right set of peripheral gear. PT has sought out the best manufacturers of periph- eral equipment and worked with them to give you a choice of quality so you can get the most out of your Sol-20. Choose from line and serial printers, perforated tape readers and punches, floppy disk memories, black and white or color graphics displays, A/D, D/A converters and more. Software, the Computer Power Essential A big part of making the first complete small computer is providing you with a wide range of easy to use, easy to obtain, low cost software. For the Sol-20, we've developed a whole group of offerings. And more are on their way. TREK 80 Based on the NBC television series STARTREK, this 8K assembly language pro- gram uses the VDM graphics capability for real time war with the Klingons. No holds barred, they're out to get you from each of the 100 quadrants. TREK 80 resides and runs in 8K of memory and requires the PTC Sol or VDM- 1. New PT 8 K Basic Processor Technology has the fast new BASIC you've needed for so long. Using our superior BCD math, the speed of the new language is double that of our own fast BASIC-5. To multiple program capability, we've added strings, multidimensional arrays and multi-line, multi-variable, user functions. This is the BASIC for full capability systems. Look at the BUSINESS ANALYSIS program example in the manual to find out how PT 8K BASIC gives you more while using less memory for the working program. Five reasons why it's so good 1 . Strings are not limited to a length of 256 characters and can extend to the bounds of memory. 2. Renumbering of lines with full gosub, etc. updating. Also EXAM and FILL allow for direct memory operations while IN and OUT provide direct I/O capability. 3. Every statement is fully implemented. RESTORE, for instance, restores the data pointer as usual. BUT, with PT 8K BASIC, RESTORE 100 will set the pointer to the data located at line 100. 4. Fully implemented string and math func- tions include all of the standards — VAL, STR, ASC .... EXP and LOGI and LOG. Also, the more advanced statements such as ON- GOTO and IF THEN ELSE along with a loop EXIT are provided. 5. PT 8K BASIC has a 'perfect' implemen- tation of PRINT USING which saves program memory space while still providing more capability than the usual PRINT USING. The new PT 8K BASIC is similar to the version we're developing for ROM. You use it here before buying the more expensive ROM. You'll find your PT 8K BASIC also includes both a built-in VDM driver and special editor. The cassette version also includes named program SAVE and LOAD for the CUTS Cassette interface or Sol. New 8080 FOCAL ™ DEC 8080 FOCAL has been updated to include operator precedence and all other standard FOCAL conventions. It also has a driver for VDM-1 display and PT Cassette program SAVE and LOAD This version is available only on CUTS Cassette and resides in 8K of memory. GAMEPAC 1 to entertain family and friends Show off your VDAA-1 and computer with this lineup of video games. Each is included on the cassette or paper tape. TARGET keeps track of your hits and misses while you blast away at the moving target. You and your family can get together for whole evenings at a time with this one. ZING. Learn hexidecimal arithmetic fast with this VDAA game as two players keep the five balls in the air. If both of you get too good . . . ZING, of course, will make it harder. LIFE. The Sol or VDAA makes a good dis- play for the game of life and this version allows two modes of operation. The universe can be flat or wrapped around on itself. The real meaning of life we'll leave to you but it's fun to watch. PATTERN. We haven't figured this one out ourselves but it's sure nice to have your computer doing it. You choose the geometric design and how rapidly it changes. Sol Systems Price List (prices are net, effective Dec. 1, 1976) SOFTWARE ITEM with manual BASIC 5 software #2 8K BASIC New 8080 Focal TREK 80 video game GAMEPAC 1 video games MATH PACK video calculator ASSEMBLER software #1 ALS8 CUTS Paper Source cassette tape yes ** $19.50 no $29.00 $37.00 no $14.50 N/A no $ 9.50 $14.50 no $ 9.50 $14.50 yes $14.50 $19.50 yes $14.50 $19.50 no $35.00 $45.00 **CUTS cassette of BASIC 5 is included FREE with all orders for Sol units or CUTS cassette interfaces. Additional cassettes available for $14.50. Sol system owners be sure to note Sol system on your order. These special versions use less code and provide easier loading along with more convenient operation. SOLOS, SOLED and CONSOL all have provi- sion for the special versions. All Processor Technology software is distributed on an individual sale basis for personal use. No license to copy, duplicate or sell is granted with this sale. Each software package has been copyrighted by Processor Technology and all rights therein are reserved. Sol Terminal Computers Kit Price SOL-PC SINGLE BOARD TERMINAL COMPUTER™ $475.* SOL-10 TERMINAL COMPUTER™ Sol-PC with case, power supply and 70 key solid state keyboard. $795.* SOL-20 TERMINAL COMPUTER™ all features of Sol-10 with larger power supply, 85 key solid state keyboard, fan, and five slot expansion backplane. $995.* *Sol prices include CONSOL Personality Module. If SOLED Intelligent Editing Terminal Module or SOLOS Stand- alone Operating System Module is desired instead, add $100. If ordered separately, personality modules are $150 each. Memory Modules Kit Asmbid. ALS-8 PROM Resident Assembly Language Operating System — $425 SIM-1 Interpretive Simulator add-on option for ALS-8 — $ 95 TXT-2 Text Editing add-on option for ALS-8 — $ 95 2KRO Erasable PROM module $ 65 $ 89 4KRA 4096- word Low Power Static RAM $159 $195 8KRA 8 192- word Low Power Static RAM $295 $375 16KRA 16384-word Dynamic RAM — $529 Interface modules 3P+S Parallel, Serial I/O module $149 $199 CUTS Computer Users Tape System cassette interface $ 87 $119 VDM-1 Video Display Module $199 $295 Mass Storage Systems Helios II Disk System™ includes dual PerSci 270 floppy disk drive, cab- inet, fan,S-100 bus compatible controller, power supply, sys- tem diskette with complete PTDOS software $1895 $2295 Misc. EXB Extender Board $ 35 $ 45 WWB Wire Wrap Board $ 40 — Prices, specifications and delivery subject to change without notice. Please allow up to two weeks for clearance of personal checks. Mastercharge accepted. All orders amounting to less than $30 must include $3 for handling. New 16K RAM, fully assembled, $529 More bits per buck than ever before on a fully burned in and tested board uncondi- tionally guaranteed for one year. Processor Technology made the first 4K static RAM modules for the home com- puter market. Now in a price performance breakthrough we offer you a 16,384 byte dynamic memory module assembled, tested and burned in. Not a kit — and at $529 who'd want to build it from scratch? Processor Technology gives you the features to make 4K dynamic RAMS work for you. • Invisible refresh, no waiting while CPU is running. • High speed 400 nsec access time worst case Z-80 and 8080 compatible. Processor Technology Dealers • Versatile addressing, each 4096 byte segment is individually addressed to any of the sixteen available 4K segments. • Low power — typically 5 watts when running — the same as most 4K memory modules. • BATTERY BACKUP capability built-in for standby operation. • IMPORTANT NOTICE — No 16K memory module available is fully, truly static. 4200/4402 type "static" RAM's have high level, high current clocks with high transient power levels. Any RAM with 12 volt 30 mA clock pulses should not be called "STATIC" just because each memory cell is a flip-flop. Specifications Access Time Cycle Time Rams Used Capacity Memory Protect Addressing Operating Power 400 nsec max 500 nsec max Intel 2104 or Mostek 4096 types 16384 8-bit bytes standard on card each 4096 byte page addressable + 7.5 to 10 VDC at 0.4 A typical + 15to+18V at 100mA typical - 1 5 to - 1 8 VDC at 20 m A max See your nearest dealer listed below or contact us directly. Address Processor Tech- nology, 6200 Hoi I is Street, Emeryville CA 94608, Phone 415/652-8080. CALIFORNIA The Byte Shop 1514 University Ave. Berkeley CA 94703 The Byte Shop 2559 South Bascom Ave. Campbell CA 95008 The Computer Mart 624 West Katella#10 Orange CA 92667 The Byte Shop 2227 El CaminoReol Palo Alto CA 94306 The Computer Center 8205 Ronson Road San Diego CA 92111 The Computer Store of San Francisco 1093 Mission Street San Francisco CA 94103 The Byte Shop 509 Francisco Blvd. San Rafael CA 94901 The Byte Shop 3400 El CaminoReal Santa Clara CA 95051 The Byte Shop 2989 North Main St. Walnut Creek CA 94596 FLORIDA Microcomputer Systems Inc. 144 So. Dale Mabry Hy. Tampa FL 33609 GEORGIA Allanla Computer Mart 5091-B Buford Hwy. Atlanta GA 30340 ILLINOIS The Numbers Racket 518 East Green Street Champaign IL 61820 itty bitty machine co., inc. 1316 Chicago Ave. Evanston IL 60201 The Chicago Computer Store 517Talcort Road Park Ridge IL 60068 INDIANA The Data Domain HI South College Ave. Bloomington IN 47401 MICHIGAN The Computer Store of Ann Arbor 310 East Washington Ann Arbor Ml 48104 NEW JERSEY The Computer Mart of New Jersey 151 Kline Boulevard Colonic NJ 07067 Hoboken Computer Works 56 Second Street Hoboken NJ 07030 NEW YORK Audio Design Electronics 487 Broadway, Ste. 512 New York NY 10013 The Computer Corner 200 Hamilton Ave. White Plains NY 10601 The Computer Mart of Long Island 2072 Front Street East Meadow, L.I. NY 11554 TEXAS The Computer Mart of New York 314 Fifth Ave. New York NY 10001 Synchro Sound Enterprises 193-25 Jamaica Ave. Hollis NY 11423 OREGON The Real Oregon Computer Co. 205 West 10th Ave Eugene OR 97401 RHODE ISLAND WASHINGTON The Retail Computer Store 410 N.E. 72nd Seattle WA 981 15 WISCONSIN The Milwaukee Computer Store 6919 W North Ave. Milwaukee Wl 53213 Computer Power, Inc. M24 Airport Mall 1800 Post Road Warwick Rl 02886 CANADA The Computer Place 186 Queen St. West Toronto, Ontario M5V 1Z1 Trintronics 160 Elgin St. Ottawa, Ontario The Micro Store 634 South Central Expressway Richardson TX 75080 Beck Reviews Computer Power and Human Reason: from Judgment to Calculation by Joseph Weizen- baum, W H Freeman and Co, San Francisco, 1976, 300 pp, $9.95. About the Cover . . . January is the look to the future month. For this month's cover, Robert Tinney hit upon the idea of emphasiz- ing the use of the computer to solve problems and improve the way things are done in a fantasy on a crystal ball theme. Against a drab world picture in browns and yellows, we see the bril- liant color of the future in the picture on the terminal. It is also fitting that in this January BYTE, two years after the original Altair publicity in Popular Electronics, that it is a MITS Altair that Robert found when he visited Willard Nico and Don Nash to get images to model in his painting. Update on Machine Readable Printed Programs . . . In last month's BYTE, we ran a test of the bar code strings needed to make a machine readable printed program. The pur- pose of the test was to see what would happen when the information was passed through a printing press. An old engineering rule of thumb is that if there is a simple test to be made, try it; this is what we did. Of the five test samples, visual inspection indi- cates that the low density versions would pass with flying colors. Of the three high density samples, (a), (b) and (d) in figure 4 on page 17, (b) and (d) are totally unaccept- able due to the bleeding between the lines near the top of the samples. Visual inspection of the high density single width version at (a) shows consider- able variation in line and space width as printed, but no complete closure of spaces. Thus the (a) density with a spacing of 8 frames per inch horizontally on the page is a marginal density. Next month, watch for still another test.B I should probably begin by identifying myself as an outsider to the world of "pure" thought and computers. I am among those firmly entrenched in the humanistic tradi- tion. My prejudices run toward poetry rather than programs, and emotion rather than algorithms. Mathematics to me is a mysteri- ous foreign language. When faced with a problem involving more than a few simple operations, my eyes glaze, my palms grow clammy. I am overcome with what by now has become a well-ingrained, almost pri- mordial fear. I give up without a struggle. When Carl Helmers handed me a copy of a book which seemed to focus primarily on computers, my heart and mind rebelled only to become fascinated within a few pages. This book is as much about life as it is about computers. Computer Power and Human Reason is an exciting, challenging book written by one who must be considered an extraordinary man, Joseph Weizenbaum. He is an MIT professor in the field of computer science. Several years ago he invented a language analysis program called ELIZA which pro- grams a computer to respond like a Rogerian psychotherapist, a program which must have demanded a great deal of sophisticated thought in the use of language and com- puters. The book is partly a reaction to the history of the program, ELIZA. Here's how a typical ELIZA sequence looked: I AM SORRY TO HEAR YOU ARE DEPRESSED It's true. I am unhappy. DO YOU THINK COMING HERE WILL HELP YOU NOT TO BE UNHAPPY I need some help, that much seems certain. WHAT WOULD IT MEAN TO YOU IF YOU GOT SOME HELP Perhaps I could learn to get along with my mother. TELL ME MORE ABOUT YOUR FAMILY My mother takes care of me. WHO ELSE IN YOUR FAMILY TAKES CARE OF YOU My father. YOUR FATHER IOSEPH WEIZENBAUM FROM JUDGMENT TO CALCULATION 11 You are like my father in some ways. WHAT RESEMBLANCE DO YOU SEE You are not very aggressive but I think you don't want me to notice that. WHAT MAKES YOU THINK I AM NOT VERY AGGRESSIVE You don't argue with me. WHY DO YOU THINK I DON'T ARGUE WITH YOU You are afraid of me. DOES IT PLEASE YOU TO BELIEVE I AM AFRAID OF YOU My father is afraid of everybody. WHAT ELSE COMES TO MIND WHEN YOU THINK OF YOUR FATHER Bullies. DOES THAT HAVE ANYTHING TO DO WITH THE FACT THAT YOUR BOY- FRIEND MADE YOU COME HERE [pages 3-4] Astounding? We may surmise that Weizenbaum is a master computer technician and knows a little bit about how computers "think." But he is more than a technician. He is a humanist and serious social thinker. One may credit him with being in the order of a Renaissance man. He writes well. He writes specifically. And he writes with soul. The chief problem Weizenbaum grapples with here concerns a society which is rapidly moving away from its agrarian roots in which holistic thinking, emotion, spirit, and human values are cherished; a society he perceives moving toward a machine domi- nated world in which artificial intelligence may come to dominance and deal human dignity a very severe black eye. Weizenbaum takes on those who champion the cause of technology over the poetry of the human spirit: the B F Skinners, the Newells, the Simons, the Schanks (mentioned in his book), and gives them a pretty good run for their money. He does it in the form of trying to find a limit to the appropriateness of computer thinking. (One may take a bit of license here and surmise that the computer is a viable symbol of technology as a whole.) Weizenbaum is wary of the concept of artificial intelligence. He says that the expec- tation that computer thinking will mirror human thinking will never be fully realized. One of his most interesting arguments is that the barriers posed by natural language may well be insurmountable. Context and vo- cabulary pose problems that may never be handled adequately without real world human experience. Language is ripe with ambiguities as anyone who has taken the trouble to consider the question at all is well aware. Computers are notoriously unambigu- ous. He argues that the human experience is a shadowy one— one which can never be boxed into a logical framework and ulti- mately must be poorly communicated in the form of a necessarily deterministic computer program. The range and depth of human experience is unfathomable and unlimited. After reading Weizenbaum's book, I'm not quite sure exactly what programmers can program but I expect it lies somewhere in the realm of the finite. What are the limits of computer thinking? Of technology? After reading Professor Weizenbaum's book I still don't know. The fact is that nobody knows. Peter Travisano Jaffrey NH" More Resource Books The following letter was received re- cently, and we print it in the book reviews section since it concerns resource materials for computer applications available in book form. In the October issue of BYTE, Fred Bell concludes his interesting review of the Dwyer and Critchfield book, Computer Re- source Book — Algebra, by asking if there are other computer resource books for geometry, trigonometry, probability and sta- tistics. Here is a list of a few more, with a brief description of each: 1. Advanced Placement Calculus: Exercises with Computer Programs by B Bates, K farvis and A Van Duyne, 174 pp, $5.50 (Answer Key, $7.50; Solution Manual, $5.50). In addition to 600 calculus problems, this book contains 30 computer programs covering function graphing, limits and derivatives, function approximations, the definite and indefinite integral, roots and intersections, areas and volumes, curve lengths and surface areas, systems of differential equations, etc. 2. Problem-Solving with the Computer by Edwin R Sage, 244 pp, $6.95. This text teaches BASIC in the con- text of the traditional high school math- ematics curriculum. There are 40 care- fully graded problems dealing with many of the more familiar topics of algebra and geometry. Probably the most widely adopted computer text. 3. The ENTELEK Computer-Based Math Lab by Lawrence M Stolurow, 344 pp, 8-1/2 X 11, ISBN 87567-040-7, $24.95. This book contains 35 computer- assisted instruction programs for use in high school mathematics courses. Once Continued on page 103 12 Experience the excitement of owning the finest personal computer - IMSAI 8080 Waiting for you — all the incredible performance and power of the IMSAI 8080. And at a price you would normally pay for a home music system: $699 in kit; $931 assembled. WORLD OF USES The IMSAI 8080 is a superbly engineered, quality computer. It is versatile, expandable and power- ful, putting literally hundreds of applications and uses at your fingertips. Imagine sitting at your desk and enjoying interaction with your IMSAI 8080! Press the on switch and you're ready for game playing, research, education, busi- ness applications, or for laboratory instrument control. It has all the power you need, and more, to make your application ideas come alive. GROWS WITH YOU The IMSAI 8080 is designed for many years of pleasure. With its open-chassis engineering you can expand your system by adding peripherals and interfaces. The 22- slots and 28 amp power supply mean that you can plug- in todays, plus tomorrow's modules. Right now you can add a module for displaying color graphics and characters on TV; a ready-to-use keyboard; small and large printers, and a single interface that lets you attach multiple devices includ- ing a cassette tape recorder. Ex- pect the latest, exciting equipment from IMSAI. We are committed to leadership in this expanding technology. EASY TO PROGRAM With our BASIC language you can operate the IMSAI 8080 quickly and easily. Technically knowledgeable? Use our assembly language to develop sophisticated and unique software. u're thinking personal computer, treat yourself to the very best — IMSAI 8080 id for free four-color brochure $1 for catalog. Call or write for name of nearest dealer. IMSAI IMSAI Manufacturing Corporation 14860 Wicks Blvd. San Leandro. CA 94577 (415)483-2093 TWX 91 0-366 7287 Europaan Distributor Harper Industry Products, Ltd 6079Sprendlingen2 West Germany Prices: USA Domestic Continued from page 4 computer and the computer brainchild of a bunch of MIT beavers who call themselves ECD Corporation. Then there is of course the much rumored Heathkit entry into the market (again as a kit, but certainly to be exhaustively engineered and documented) and the rumors of Japanese imports aimed at the 1977 TV games market but actually consisting of general purpose computers with minimal interfaces and video output. My "ideal" target of an under $2000 finished product machine which is complete with video interface, mass storage on dual audio cassettes, keyboard input, 8 K of memory or so, systems software in ROM and a high level language capability is well within sight. It can be purchased in kit form over the counter right now. By the end of the year, we can expect to see the fully assem- bled and tested versions appearing, again well under $2000 in price, and even lower for stripped down versions in mass produc- tion. The wealth of products now on or about to enter the market suggest that the appliance computer is the computer of 1977, and the desires of users are sure to support this appraisal of the market." ATEMENT OF OWNERSHIP. MANAGEMENT AND CIRCULATION " '.'irj:r,i Carl I DBS • pw UUSZfi 2, 300 u»|i.ir, ■...!.'" ii yyy^ri introducing an 8k RAM Board that gives you a lot more versatility- f or a lot less money! Look at these features: • Low power— 500 NS access—no wait cycle. • DIP switch selection of memory protect increments {256, 512, 1k, 2k, 4k, or 8k). • Provision for battery back up. • PlusTI low profile sockets, gold-plated edge connectors, solder masked, first line parts and guaranteed for 90 days. $250.00 in easy-to-assemble kit form includes complete documentation and assembly instructions. $295.00 assembled. The MB6A is available off-the-shelf through your computer hobbyist stores or direct, along with our other fine products including processor, memory, I/O, mother and extender boards. CLpercDm A Division of Solid State Music We're the blue boards. 2102A Walsh Avenue Santa Clara, CA 95050 Telephone (408) 246-2707 14 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 LA180 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.) DOCUMENTATION STANDARDS I would like to propose some documenta- tion standards for the distribution and publi- cation of software for the computer hobbyist. A source listing with self-documenting comments must be included with any soft- ware. Anyone familiar with the pro- gramming language should be able to fully understand the program by studying the source listing and comments. The source itself must also be available. If an object module is included the object module for- mat must be completely described. A loader should be provided with a complete explana- tion of loading and running the software. There are many overwhelming reasons for saying this. The hobbyist will want to study, modify, and improve the software. Others can learn programming and the principles of complex software systems such as assem- blers, text editors, compilers, interpreters, and operating systems by seeing how the software works. Those who have added new or different peripherals and hardware to a system know what a task it is to patch the software without a source listing. We must also face the fact that at some time in the future the company will drop support for the software and we will be forced to fix any bugs in the software ourselves. These documentation standards would appear to be common sense but in practice they are not in widespread use. A source listing with good documentation is more essential to software than a schematic is to hardware. I feel that it would be extremely beneficial to the growth of the computer hobby if we would all strive to meet these simple documentation standards. James O Hamblen 3500Greystone#218 Austin TX 78731 Most sensible. Any reasonably executed software product designed for an "experi- menter" should have good documentation. If for reasons of keeping software propri- etary, the code is not published, a minimum level of documentation should include a complete list of relocation information, a complete list of 10 routine calling points and calling sequences for patching customer specific routines, and any other information needed to modify the software for a given system configuration. WOW, WHAT A NEAT FORMAT CHEERS to Laurence Krakauer [October 1976 BYTE, page 36 J for publishing the SIMPLE way to code Morse Code in a single BYTE. For years I have been watching people try the hard ways. Not too long ago, I saw somebody using up two bytes, one for dots and one for spaces, for each Morse character. Notice the analogy to start-stop tele- printer operation. One sends MARK for a very long, undetermined, time. Then one sends SPACE for one bit, called a start bit, followed by the data bits. The space bit says "The character starts right after me." The space bit is then thrown away, since it is not a data bit. Krakauer could have done it that way, by right-justifying the data bits in the byte, inserting a one for a start bit to the left of the data, and padding the remaining left bits with zeros. His decision to left-justify the data, add a stop-bit, and pad with zeros to the right made it even easier since we operate easily on the carry flag. In teleprinter operation, we take a two- bit penalty for start and stop bits, requiring ten bits to send eight data bits. In Krakauer's format, the start bit is unnecessary, since we know where the byte starts. He takes only a stop-bit penalty, leaving 7 good data bits. N ) Thompson Univ of Hawaii Geophysics 2525 Correa Av Honolulu HI 96822 NEW COPYRIGHT LAW I was astounded, amazed and very pleased to get the award for the Bomb Bonus Contest!!! Who would have thought of it for a paper on copyright, no less! Bless your readers!! All I can say for the future is that perhaps this will act as a further spur for me to write some additional pieces for BYTE. Do you know that we are getting a new copyright law, which will be effective on January 1 1976? Some points: It will for the first time make a magnetic tape a protect- able "copy!" Also, a program in the core memory will be a "copy." The new law preempts all copyright rights to the federal law (previously state laws applied to unpub- Continued on page 52 SWTP 6800 OWNERS-WE HAVE A CASSETTE I/O FOR YOU! The CIS-30+ allows you to record and playback data using an ordinary cassette recorder at 30, 60 or 120 Bytes/Sec! No Hassle! Your terminal connects to the CIS-30+ which plugs into either the Control (MP-C) or Serial (MPS) Interface of your SWTP 6800 Computer. The CIS-30+ uses the self clocking 'Kansas City'/Biphase Standard. The CIS-30+ is the FASTEST, MOST RELIABLE CAS- SETTE I/O you can buy for your SWTP 6800 Computer. PerCom has a Cassette I/O for your computer! Call or Write for complete specifications $69.95 - KIT* $89.95 - ASSEMBLED* Manual only - $4.00 (refunded w/o) *plus shipping PerCom Special! 2502 UART-$6.95 PerCom Data Co. P.O. Box 40598 • Garland, Texas 75042 • (214) 276-1968 PerCom — 'peripherals for personal computing' TEXAS RESIDENTS ADD 5% SALES TAX 16 Tht © J>"-*S n ' M dually rrtcffflir diipiavf graph k Characttr fgruf t — 121 diffirant 9 x 12, foftvan- f|i ChtraCtffri. dlipiiytd •■ 2# or 41 linff Of 19 t* 121 chincttri par lin«. *H chanaaablf in rtal tlMi MM CgUfti — * *"* P» tt,rn "'*" * >3t i li Key Into Maxi-Power <& Micro-Price Micromind is an incredibly flexible, complete and expandable, hardware/ software, general purpose computer system. You won't outgrow it. Hardware includes an 80 key, software- definable keyboard, I/O interface board, 6500A-series microprocessor (powerful enough for advanced computing), a high- detail graphics and character display processor, power supply, rf modulator, and connections for up to 4 tape recorders plus TV or monitor. An interconnect bus permits 15 additional microprocessors, parallel processing and vastly increased computing power. System software — including ECD's own notsoBASIC high level language, on advanced error-correcting tape cassettes —provides a word processing editor, a powerful assembler, a debugger, a file system, graphic routines, and peripheral handlers. We also include dynamic graphic games: Animated Spacewar and Life. ECD's standard Micromind ju.M-65 supplies 8K bytes of memory. Additional 32K byte expansion boards and a mapping option give Micromind expandable access to 64 Megabytes . Utilizing software- controlled I/O channels, Micromind's advanced encoding techniques load data from ordinary tape recorders at 3200 bits per second. Micromind comes to you ready-to-use, factory assembled and fully tested. Among microcomputers, it has the largest memory capacity and the fastest storage. You're looking at the work of the finest display processor on the market. You won't find a microcomputer with a more powerful CPU. You won't find a computer with a more flexible keyboard. You won't find anything to touch it at $987.54. So, quit the kluge scene and key into Micromind. You'll be a main frame per- former, with all the comforts of home. We're not fooling . . .this is the cat's ix\ ECD CORP. 196 Broadway, Cambridge, Mass. 02139 (617) 661-4400 €CD [Name. Address . City/State . Zip. □ Fantastic! Check enclosed: $987.54. shipping paid by ecd □ BankAmericard □ Master Charge Mass. Resident add 5% Sales Tax # Expiration Date . Signature □ Send me your brochure. Ar^fi tal i inratfti i^harl i-iK/~.f*- Figure I: An Opcode Table Organized for Direct Access. Note that with this particular organization the first data byte of each entry is related to the address of the entry within the table, in a sorted sequence. TABLE +4 +8 + 12 + 16 +20 +24 +28 00 N P 01 L D R 02 S T R 03 A D D 04 A N D : 05 R T 06 C L R 07 S T P Making Hash With Tables Terry Dollhoff 504 Early Fall Ct Herndon VA 22070 Hashing is a technique used to speed up table searching operations by making posi- tion in the table depend upon the data. Many newcomers to programming reject hashing as an overly complicated technique useful only by the designer of exotic systems software, but this is not the case. Any large program, written for fun or profit, may include tasks of accessing, storing, or modi- fying entries in a table or array. Most game playing programs include a number of such tasks. Application of hashing techniques can often dramatically improve the performance of these programs. This article will explore the use of hashing (sometimes called key-to- address transformation) as a simple but effective mechanism for accessing stored data. These techniques can be used in applications where the data is organized randomly and where each item has a unique key associated with it. For example, con- Listing 1 : Typical 8080 code sequence for a linear search of a table until the first byte of the current table entry matches the value in the accumulator. In this listing, the HL register pair must be preset to the address of the table, the DE register pair must be set with the number of bytes per table entry, the B register must contain the number of entries to search (maximum 255) and the key value sought must be loaded in A. This is by no means the only possible 8080 linear search strategy. FIND: CMP M Check for a match; RZ If so then exit; DAD D Advance to next table entry; DCR B Decrement count; JNZ FIND Continue till end; JMP ERR Table exhausted, treat as error sider a table that contains computer opcode mnemonics and their associated value as used in an assembler; by using the opcode value as a key this table could be used to determine the mnemonic associated with any particular value. Such a table is an integral part of any disassembler. In any computer, a particular entry in a table can be specified by the starting address of the entry. Locating an item in a table implies that the starting address for that item must be determined. One possible method that can be used to determine the address, and by far the most common method, is to examine each item sequen- tially, starting with the first item, until the desired item is located and hence the item address determined. This approach is termed a linear search and as you can see by the the 8080 subroutine of listing 1, it is simple to code. The big disadvantage of a linear search is that it is costly in terms of processing time because, on the average, at least one half of the table entries must be examined before locating the desired item. If the table is moderately large and numerous accesses are required, then the table lookup processing time will constitute a significant part of the total processing time. An alternative to the linear search in- volves storing the information in a sorted fashion based upon the key. However, even the best known algorithms for locating data in a sorted table require an average of Log2 N tests, where N is the table size. Therefore, a table with, let's say, 500 entries requires an 18 00 12 04 24 34 57 00 N P 12 S T R 04 A N D t 24 X R V 34 N O T 57 S T P :TABLE :+4 :+8 :+12 :+16 :+20 :+24 :+28 Figure 2: A Hash Accessed Table. Note that with the hash algorithm described in the text, three elements of this table map into identical starting entries, resulting in a re- hash requirement indicated by the arrows and dotted lines. average of nine tests to locate an arbitrary item. Although this is a considerable improvement over the linear search, which would require an average of 250 tests to locate an item, hashing techniques require considerably fewer tests than either method, without the added burden of sorting. The Key The fundamental idea behind any hashing technique is that instead of searching the table to determine the address of a particular entry, an attempt is made to calculate the address using the key. That is, a subroutine is written which, when given any desired key, calculates the table location containing the item associated with that key. If this calculation is successful, then the desired item is located with a single search. The first step is to determine the key. This choice will depend upon the intended use of the table. In the opcode table mentioned earlier, the opcode value is the key since all lookup requests are of the form: "What is the mnemonic for the opcode X?" On the other hand, if this same table were incorporated in an assembler or compiler, then the mnemonic would be the key because requests are now of the form: "What is the opcode value for mnemonic X?". In all of our examples, we will assume that the opcode value is the key. Direct Access Hash Imagine that there are only a limited number of opcode values and it so happens that, although the value is eight bits long, the opcode is uniquely determined by the rightmost three bits. If a table, called TABLE, is created with eight 4 byte entries, and the mnemonic and value for each opcode is placed in the table entry whose address is found by multiplying the right- most three bits of the opcode by four and adding the results to the base address of the table, then a simple subroutine can calculate the precise location of any entry. That subroutine, shown in listing 2 for an 8080, simply strips off the rightmost three bits of the key, multiplies them by four, and adds in the starting address of the table as shown in figure I. Entries are added to the table in the same manner. Tables of this type are called direct access and are most commonly used for conversions; that is, converting from one character code to another, from opcode values to mnemonics, etc. In many direct access tables the actual key is not even stored in the table since a comparison is not necessary to determine the proper entry. Open Hash The direct access method would ob- viously break down if certain opcode mnemonics were associated with values whose rightmost three bits were equal. In this case, where direct access is infeasible, the algorithm must be slightly modified. A subroutine is still used to calculate the address, but since it is no longer possible to Editor's Note: In this article, we repre- sent several algorithms in a structured pseudo code form appropriate to the discussion. These algo- rithms are referenced by numbers in brackets, as in [n] for algorithm n. Each algorithm should be thought of as a formal procedure, which in prac- tice would be called as a subroutine. Listing 2: Typical 8080 code sequence for direct hash with a table of eight entries, each entry being four bytes in length. In a direct hash approach, the actual data value (in this case, a number from to 7) being sought is used to determine the offset in the table directly. Here the calculation is made according to the formula: A DDR := BASE + 4 * (A & 7) where A is the value of the entry being sought, BASE is the starting address of the table, and A DDR is the effective address of the table element involved. FIND: LXI H.TABLE ANI 7 RLC RLC ADD L MOV L.A MVI A,0 ADC H MOV H,A RET HL:=Table pointer; Extract rightmost three bits; Multiply by four; Add the table address; HL:=Entry address; 19 Microcomputer pro with the The fact is that right now microcomputer program- ming is a bear. Microprocessors are loaded with subtle- ties which make software development a long, arduous process. That's why we developed the ia7301 Computer in a Book? It's a fully operational microcomputer system and a 250 page programming course all contained in a 3-ring binder. This is not a kit or a toy but a powerful, microcomputer system (based on the industry standard, the 8080) and a practical programming course specifi- cally designed to quickly bring you up to a high level of understanding and proficiency in programming 8080 based microcomputer systems. The Computer in a Book comes to you completely assembled and tested. All you need is an inexpensive dual voltage ( - 12V & I 5V) power supply. The 5V is generated internally in the computer. There is nothing else to buy. A super programming course The programming course text is easy to follow and begins with a one instruction program to determine if a switch is open or closed. This is built upon and ex- panded, instruction by instruction, until 250 pages later, you become adept at programming complex problems like multi-byte arithmetic and games of skill like PongJ M Only with the lasis Computer in a Book can you have the advantages of a handy programming text together with an operational computer to load and test programs each step of the way and thereby learn the intricacies of microcomputer programming at a comfortable pace. And since this microcomputer has a special built in monitor program which allows you to look into the operational parts of the system you'll never get bogged down in debugging or editing. The ia7301 Computer in a Book is the fastest way to learn everything about microcomputer programming. , PRQM BAM BAM ["Ki7Bo~RnT JJOPTIONALI ( POWER SUPPLY a7301 CPU IK HAM 2K PROM KEYS/DISPI AYS TAPf IIMTFRFACF 107301 CcM»P«« f Programming p n.r, ■'U.S. Patent Pending Pong is a trademark of Atari, Inc. Some great microcomputer features, too The microcomputer system features a 24 pad key- board, 8 seven segment LED readouts that display information in hexadecimal code which is far more versatile and advanced than binary or octal coded systems, and an onboard cassette tape interface for saving programs. The hexadecimal keyboard also con- tains 6 special mode keys which allow you to call up and change any data or instructions in the 8080 registers or in the system's RAM memory. Likewise programs can be executed instantly or they can be stepped through one instruction at a time using the appropriate mode key, so that you learn your way around the inner workings of an entire microcomputer system. Also the write tape and read tape mode keys have been carefully designed for accurate and convenient operation with any home cassette tape recorder that has an earphone and remote microphone jack. Two LED indicator lamps tell how long it takes to dump or reload programs from the system's memory onto tape and back again. But in the reloading cycle, if any errors have occurred such as a lost piece of data, or the volume knob is too low, the readout displays will indicate errors. This little feature prevents untold problems in debugging a reloaded program. Upwards expandability from the start We designed the Computer in a Book to be upwards expandable and not become a kluge in the process. The microcomputer contains IK bytes of RAM memory, IK bytes of PROM memory (containing the monitor pro- gram), and 2 I/O ports. The Computer in a Book is expandable to virtually any level you want, i.e. up to 65K bytes of memory and 256 I/O ports. Optional expander boards are available and attach to the ia7301 computer at the top edge connector. A wide variety of standard interface boards can be plugged into the system to give add on memory, TV and teletype interface, and much more. Thus an educational system is easily upgraded into a full computer system. gramming is a snap mputer in a Book Also we are offering preprogrammed PROMs and extension cassette tapes so you can use your computer as a teaching machine for your children, as an inventory control system for your business or as an accounting system for your home. The Computer in a Book can become a computer for all reasons. A college assistance program Educators interested in ex- posing their students to a comprehensive background in Microcomputer programming should look into the lasis Microcomputer Instructional Courses for their college or university. Send for our free pamphlet which describes ways of setting up short microcomputer programming courses. It offers some advice on structuring a coordinated and comprehensive program, so your students can learn programming and get valuable hands-on experience with operational systems at very reasonable prices. The price The complete Computer in a Book which includes an operational 8080 based system, 250 page programming course, machine code pad, hexadecimal conversion card all in a 3-ring binder is offered for only $450. The Computer in a Book has a 90 day parts and service warranty, lasis also provides a check out list and start up instructions with each system. Please allow 30 days for delivery. A free bonus If you order your Computer in a Book before February 15, 1977, lasis will give you an $8.00 Microcomputer Applications Hand- book as a free bonus. It contains 144 pages of text, diagrams, and tables on hardware design and microcomputer applica- tions. Order today, if the Computer in a Book isn't everything we say it is, then return it within 15 days for a full refund and keep the Applications Handbook as a gift. We're sure you'll find that microcomputer programming is a snap with the ia7301 Computer in a Book. I □ Here's my check or money order for com- plete ia7301 Computer(s) in a Book at $450 each. Since I ordered my Computer in a Book before Feb- ruary 15, 1977, 1 want the Microcomputer Applications Handbook as a free bonus. (Calif, residents add 6 1 z% sales tax). ! 1 Charge my order to the credit card below: BankAmericard No Master Charge Mo. For Master Charge card, put 4 digit number from above name here My Signature Credit card expiration date_ _State -Zip- Name Firm Address^ City FH Please send me your pamphlet on setting up a Micro- computer Programming Course. Mail to: lasis Inc., 815 W. Maude, Suite 22, Sunnyvale, CA 94086 (408)732-5700 lasis inc. successfully calculate the location of all entries, some type of searching algorithm must be employed to pinpoint the position of the entry, given the calculated position. The initial predicted position of the table item is called the hash index and the procedure which produces the hash index is called the hashing function. For the remain- der of our discussion, HASH is used to denote that subroutine and therefore HASH(K) denotes the hash index for a particular key, K. Before considering how the information is initially entered in a hash table, it may be useful to examine the process used to locate an arbitrary entry in a hash accessed table. If KEY is used to denote the key associated with the desired entry, and TABLE, a table consisting of N entries (each of which are B bytes long), then the algorithm to locate the entry that is associated with KEY, using hash techniques, is as follows: 1. I,J := HASH(KEY); 2. do until (l=J— 1 ) [worst case end test for search failure] ; 3. if @(TABLE + I * B) = then [element not present, search failure] ; 4. do; call ERROR; return; end; 5. if (TABLE + I * B) = KEY then 6. return [the item has been located] ; 7. I := I + 1; 8. if I = N then I := [wrap around table space limit] ; 9. end; 10. call ERROR [element not present, search failure] ; In this algorithm, specified in a structured pseudo code form, step 1 calculates an initial estimate of the location of the item associ- ated with KEY, the hash index. This value is saved in J for the worst case end test in the do until construct of step 2. In steps 3 and 4, the algorithm tests for a null entry end of search criterion and calls an ERROR routine if this is detected. Return to the calling program follows detection and flagging of the search failure condition. Then the algo- rithm tests to see if the current entry is equal to KEY at step 5; if this condition is found, the algorithm terminates with a return operation at step 6. Otherwise, the next index is calculated at step 7, an end around wrap condition is tested at step 8, and the do loop is closed at step 9 with an end statement. If the loop execution ends through the test on line 2, step 10 is reached and an error condition is flagged before an automatic return assumed after the last line of such a procedure. Consider again the opcode table example. If the hash procedure is defined as HASH(K) = REMAINDER(K/8), then each table item shown in figure 2 can be located by at most three searches using algorithm | I | . KEY Figure 3: Folding Keys. When it is desired to retain the significance of all the bits in a key while com- pressing the total number of bits used, folding by some operation such as ad- dition can be used. Defining HASH In choosing a hash function, you must attempt to define a general procedure, using a minimal number of simple computations, which produces an even distribution of hash indexes for a random selection of possible keys. If we knew that all opcodes were even numbers, then the hashing function HASH(K) = REMAINDER(K/8) would not be efficient, because it will produce only even numbers. This simple example illus- trates that the hashing function must be carefully selected to suit the particular appli- cation. It should also be noted that it is not necessary for the key to be a numeric value. If alphanumeric or other keys are used, the hashing function should ignore the data type and simply perform numeric or logical ma- nipulations of the key as though it were numeric. One of the most widely utilized, and historically the first, hashing function has already been mentioned. If N is the size of the table (in terms of the number of entries, not the number of bytes) the hash index is the remainder of the key divided by N. More precisely stated, HASH(K) = REMAIN- DERMAN). In a machine such as the 8080 which lacks division capability, this function will be made significantly faster by re- stricting the length of the table to a power of two (ie: N= 2M). If N = 2^, then the REMAINDER (K/N) also happens to be the rightmost M bits of K and a divide operation is no longer required. The remainder is selected by a logical AND operation. The remaindering function will not produce well distributed hash indexes if many of the entries end with the same bit sequence. This situation is frequently en- countered when dealing with alphanumeric data. Changing the table size to a prime number usually improves distribution, but now we are back to the unwanted divide operation for calculating the remainder. There are two other alternatives to this problem. The first is a technique called folding as diagrammed in figure 3. This method applies the remaindering algorithm to the bit string that is obtained by adding the upper half of the internal binary repre- sentation of the key to the lower half. This minor improvement minimizes the effect of patterns that may occur within the key. You should be careful what improvisations are made to the folding technique. For example, substituting a logical AND for the add sounds good, but will merely make matters worse. If in doubt, try experimenting with various keys by examining the effects of key 22 value in a test program to grind out hash indices. A second method for minimizing the effect of similar bit patterns in the key, best applied to tables of size 2^, is called squaring. This consists of selecting the center M bits of the number that is obtained by multiplying the key by itself. Since the middle bits of the product depend upon all of the bits in the key, this method generally produces a uniform distribution of hash indices. Since the squaring method is safest, it may appear that one should always use it. This is certainly not the case because the purpose of hashing is to save processing time and although squaring is the most general technique, it is unfortunately the slowest since it relies on a multiply operation which the 8080 and most other small processors lack. It is often acceptable to settle on a slightly less efficient hash function if such a function is substantially faster. The guideline for selecting the hash function is to employ a more complex function only in those specific cases where a simple function fails to produce an adequate distribution of hash indices. But remember, any hash function is better than a linear search. Why? A linear search is a hash access where HASH(K)=0 for all values of K, therefore any distribution is better than none. This degeneracy is evident in algorithm [1 ] when the data item sought is not in the table, and the algorithm searches every location. Multibyte Hash Until now, we have tacitly assumed that the entire key can be contained in one byte. This is impractical, and the hashing concept is easily extended to cover those cases where the key occupies more than a single byte. If the key is continued in byte locations (K|, ... Ki) then a multibyte hash function, HASHM, can be defined in terms of any of the previous hash functions as HASHM(K,J) = HASH(Ki+ ... +Kj). That is, any of the single byte hash functions are applied to the sum, ignore carry, of the bytes in the multibyte key. As you see in figure 4, this is similar to the folding technique just mentioned. Another possibility for a multibyte hash, which should be used with some degree of caution since it may not provide an even distribution, is to apply a single byte hash function to the last byte (or any other byte of your choosing) of the multibyte key. This eliminates the time required to add the words of a multibyte key. As usual, the programmer is faced with a time versus efficiency tradeoff. MULTI-BYTE KEY • • • r i[ + COMBINED KEY Figure 4: The principle of folding key elements can be extended to a multibyte key. The multibyte hashing scheme might be employed where a key is a character string field. Guidelines In summary, the sole purpose of a hash- ing function is to calculate an initial table index for a linear search, given a specific key. There is no one best algorithm and the number of algorithms available is bounded only by your imagination. The general guide- lines to follow when designing your hashing function are: 1 . Keep it simple — Remember, the goal is to locate an item in the minimum amount of time. If the perfect hash requires more time than a linear search, it is useless! 2. Insure an even distribution; beware of weird bit patterns in the key. 3. Check out the operation of the func- tion prior to employing it as a hash function. There is often an over- whelming urge to give it the smoke test, but hash indices are used to form memory addresses so it may be dif- ficult to isolate bugs in the hash function after you've incorporated it into a table lookup procedure. Save yourself some time, check the table lookup subroutines first. Building the Table Obviously, for the hash access algorithm to operate smoothly, the table items must have been entered into the table properly. The relative ease with which entries can be made in a hashed table is an important advantage of hash techniques. Remember, even though a sorted search is reasonably efficient for locating an entry, the entire table must be sorted before any access is allowed. Thus, if accesses were to be inter- mixed with entries, the algorithm would be 23 grossly inefficient due to the amount of resorting required. Before any entries can be made in the hash table, the key field of the table must be initialized to some flag value which is not encountered as a possible key. If a table entry contains this value, then it can be assumed that the entry is unoccupied. The most common value used to designate an empty table entry is the integer zero, and assuming this to be the case, the algorithm to add an item associated with KEY, to the table of N entries (each B bytes long) is: [2] 1. I,J := HASH(KEY); 2. do until (l=J— 1 ) [worst case end test for search failure] ; 3. if CITABLE + I * B) = then 4. do; 5. [enter the item at (TABLE + I * B)] ; 6. return; 7. end; 8. I := I + 1; 9. if I = N then I := [wrap around table space limit] ; 10. end; 11. call ERROR [no room left in table] ; Notice that the lookup algorithm [1 ] and the entry algorithm [2] are very similar in nature. The loop control is identical, and the only difference is in the actions taken. It is quite possible to make an automatic entry occur whenever a key is not found as indicated by a null key value found during a search. The following algorithm combines both operations. [3] 1. U :- HASH (KEY); 2. do until (l=J— 1 ) [worst case end test for search failure] ; 3. if CITABLE + I * B) = KEY then 4. return [the item has been located] ; 5. if @(TABLE + I * B) = then 6. do; 7. [enter the item at (TABLE + I * B)] ; 8. return; 9. end; 10. I := I + 1; 11. if I = N then I := [end wrap around table space limit] ; 12. end; 13. call ERROR [if this point is reached, table is full] ; TABLE: 00 +1: N +2: O +3: P +4: 01 +5: L +6: D +7: R +8: 02 +9: S + 10: T + 11: R +28: 07 +29: S +30: T +31: P Figure 5: Horizontal Or- ganization of Tables. In this method of organiza- tion, all the bytes of a data entry are assigned to con- tiguous addresses. In addition to adding or locating entries, it may also be necessary to delete entries. To delete an item, you might think that we could merely locate the item and then set the table entry to zero, thus making it available for future entries. However, if that approach were taken, not only would the desired entry be deleted, but other entries might be made inaccessible. The reason that other entries would be lost is that the searching terminates when an unused loca- tion is found. As an example, setting the entry at (TABLE + 20) in figure 2 to zero would also make the entry at (TABLE + 24) inaccessible. Therefore, an alternate scheme must be used to delete entries. The first step is to select a deleted entry flag that is distinguishable from the unused entry flag and is also not allowable as a key. % Items Occupied Linear Search Sorted Search Hash Access Method With Rehash Indicated Below Linear Random Day's Wt Inc 10% 50% 75% 90% 25 125 187 225 5.6 7.9 8.5 8.8 1.1 1.5 2.5 5.5 1.1 1.4 2.0 2.8 1.1 1.4 2.0 2.7 1.0 1.4 1.9 2.5 Table 1: Comparison of Table Access Methods. This table gives the results of an experiment with random data to test out the various methods of access. The tables were filled to the percentage levels indicated at the left. A table size of 500 possible entries was used. The access methods shown are described in text. 24 Then, whenever an entry is to be deleted this new value replaces the entry. The new flag indicates that the entry is available for future additions to the table but does not terminate a search operation. If is used to denote an unused entry and —1 is used to denote a deleted entry, then the complete hashing algorithm is: [4] 1. I,J := HASH(KEY); 2. do until (l=J— 1) [worst case end test for search failure] ; 3. if @(TABLE + I * B) = KEY then 4. do; 5. if [entry is to be deleted] then [delete the entry] 6. ©(TABLE + I * B) :=-1; 7. return [item has been located ] ; 8. end; 9. if @(TABLE + I * B) = then [this is a null entry so] 10. do; 1 1 . [enter the item at (TABLE + B * I)] ; 12. return; 13. end; 14. I := I + 1; 15. if I = N then I = [end wrap around table space limit] ; 16. end; 17. call ERROR [if this point is reached, table is full],; This algorithm either locates an item or adds the item to the first available location. If an item is to be deleted it is first located and then the key field of the table entry set to-1. Collisions A collision occurs whenever HASH(KEYI) = HASH(KEY2), but KEY1 # KEY2. As discussed earlier, a good hash- ing function will avoid this condition, but the problems caused by collisions cannot be ignored. Note for example that the hash index for opcodes 04, 24 and 34 in the table shown in figure 2 is 4 and hence these entries collide. What happens when two entries collide? The only solution we've discussed thus far is to search the table, in a circular fashion, from the point of impact as in algorithms [1] to [4]. If, in general, a collision occurs, then the resulting search, good or bad, is called a rehash. The process mentioned above, namely, searching the table in a circular fashion from point of impact, is called a linear rehash, and as you might expect falls into the bad category. Other more efficient algorithms will be discussed later. If we denote the rehashing algorithm by REHASH, then the general hashing lookup algorithm may be restated in its final form: TABLE: 00 BYTEO +1: 01 +1 +2: 02 +2 +3: 03 +3 +4: 04 +4 +5: 05 +5 +6: 06 +6 +7: 07 +7 +8: N BYTE1 +9: L +1 + 10: S +2 +11: A +3 +12: A +4 +13: R +5 +14: C +6 +15: S +7 +24: P BYTE3 +25: R +1 +26: R +2 +27: D +3 +28: D +4 +29: T +5 +30: R +6 +31: P +7 Figure 6: Vertical Organization of Tables. In this method of organization, a multibyte table element is treated as "n" single byte subtables where "n" is the number of bytes in each entry. Each of the "n" subtables has a length (in bytes) equal to the number of elements In the table. 6. 7. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. if [entry is to be deleted] then [delete the entry] @(TABLE + I * B) :=-1; return; end; if ((K=0) & [deletion or null element @(TABLE + I * B)] ) then K := I [save last available table entry index] ; if (§>(TABLE + I * B) = then [this is a null entry so] do; [enter the item at (TABLE + B * K), next available slot] ; return; end; I := REHASH (l,J) [REHASH results in < I < M where N is table size] end; call ERROR [if this point is reached, table is full] ; inear rehash that we've been using The implicitly in [4] as steps 14 and 15 is described as REHASH(I) = (l+1)[mod N], where (1+1) [mod N] means that if (1+1) is greater than or equal to N, then N is subtracted from the value (1+1). This insures that the table is searched in a circular manner. The operation X[mod N], called X modulo N, is used in most rehashing algo- rithms to limit the range. Mathematically, it is the remainder of X/N; but whenever we [5] 1. I,J ;= HASH(KEY); 2. K := 0; 3. do until (REHASH(I,J)=J) [worst case end test for search failure] ; 4. if @(TABLE + I * B) - KEY then [we have a match so] 5. do; 25 Art by Stephen J Rogowski use X|mod N] il can be calculated as described above (ie: subtract N if X is greater than or equal to N). Here again we have avoided the use of a divide operation to provide a more efficient function. Improved Rehash The problem with the simple linear re- hash is that the table will not fill uniformly. This condition is referred to as clustering and causes an increase in the average number of tests required to locate an item in the table. As an example, a cluster can be seen forming at TABLE+16, +20, and +24 in the table shown in figure 2. There arc a number of nonlinear algo- rithms which perform the rehash function without causing the clustering problems mentioned above. Although the computer science literature abounds with such algo- rithms, a majority of them fall into one of three classes. An attempt has been made to select the simplest and best from each class and present them here. Pseudorandom Rehash The first class of rehashing algorithms is the pseudorandom rehash and is based upon a pseudorandom number generator. The pseudorandom number generator used is not important, but il must be of the non- repeating variety. That is, it must generate all possible values before any previous value is repeated. It must also generate all of the integers in the range 0, ..., N where N is the table size. The following simple procedure incorporates a common random number generator and will perform the rehash func- IjSg "**«^=S -- -=^^~i =■ -:^5^-:-.-.::::": j \ A jr \MWmT\J ■ ( '>' ''.■•ilr ■lit. "?■ ■ §■■■ . .- .\.ii, jjtf \ - ^^"^^ 1 tion for any table of size IN = 2 M . The variable R is internal to the rehashing func- tion, but it must be preset to one whenever the function HASH is initiated (ie: step 1 of algorithm 5). [6] REHASH (l,J): 1. R := REMAINDER (R*5 / N*4); 2. REHASH := (R/4 + J) [mod N] ; If you're seeking the most efficient imple- mentation of this one, the REMAIN- DER(R*5/N*4) is just the rightmost M+2 bits of R*5 because N=2^ and 4*N = 22*2M=2M+2. Furthermore, the divide operation in step 2 can be replaced by a right shift of two positions. Finally, if you think of R*5 as R*4+R, then it's easy to see how to reduce that multiply operation to left shift and addition operations. Let's look at the sequence generated by this rehash routine. If our table is eight entries long and the initial hash index is, let's say, 4, then R takes on the values 1,6,7,4,5,2,3,1, so the table would be searched in the order 4(initial index), 5,2,3,0,1,6,7. How does this avoid the clus- tering situation? If we chose another initial index, say, 5, then the table is searched in the order 5(initial index), 6, 3,4,1 ,2,7,0. As you see, the entry searched after entry 5 will depend upon the initial index. If the initial index was 4, then 2 is searched after 5; but if the initial index was 5, then 6 follows 5. In a linear search, 6 always follows 5. This dependence upon the initial index is what avoids the clustering. Quadratic Rehash A second class of algorithms for rehashing is the quadratic rehash and these are based upon a quadratic function. The major draw- back with most algorithms in this class is that they search only one half of the table, so two different rehashing algorithms are required. The most efficient quadratic re- hash, and one which does search the entire table, was first introduced by Colin Day [see bibliography, reference I ] . Day's algorithm can only be applied to a table whose size is a prime number that produces a remainder of 1 when it is divided by 4 (eg: 5=4*1+1, 401=4*1+1). At first glance, this appears to place a great many restrictions on the allowable size of the table; but don't despair, because experience will show that a number satisfying the required condition can be found very near any desired value. Be certain that you use an acceptable number or the procedure will not search all locations of the table. Like the last rehashing function an internal variable is used. The variable, R, 26 INTRODUCING THE WORLD'S FIRST GPGPPDM* \ mzmm THE INTELLIGENT VIDEO INTERFACE Is your Altair/IMSAI computer system shy ^ anemic — withdrawn? just sit there dumbly blinking its pretty lights at you? Hobbitville's favorite wizard has the best prescription yet for building that full bodied computer system. MERLIN is guaranteed to transform the most introverted blinking light box into an exceptionally communicative extrovert by enabling it to display both ASCII characters (40 columns by 20 lines) and graphics (160H by 100V) on a conventional TV monitor or slightly modified TV. But don't think that MERLIN is all talk and no listen — a parallel input port and plenty of extra power is available to directly tie in most keyboards. An extra serial I/O port may be used for cassette interfaces, joysticks, switches, or properly interfaced smoke signals. \ \\/ ^y < That should be more than enough for a compact, inexpensive two board plug-in system. But not for the wizards at MiniTerm — so there is space for on-board intelligence as well (two 2708 1K X 8 EAROMs or two 2K X 8 ROMs). Yes, as an option MERLIN even comes fully, or partially, educated! The first optional ROM (MBI) includes extensive Monitor/Editor intelligence to help you write, edit, debug, and execute programs. The second optional (MEI) ROM helps you draw pictures and perform cassette I/O (at 1500 BAUD!). it P.S. An add-on board will be available shortly to expand MERLIN'S magical powers into the realm of COLOR and super dense (320H X 200V) graphics! * General Purpose Game Playing Program Development Magician, WARNING: The Surjeon Jeneral's office has determined that combining blinking light boxes (alias hobbyist Computers) with the MERLIN ASCII/Graphics/Keyboard/Cassette Intelligent Interface is Highly Addicting!!! ory PLEASE SEND #// / / , / □ MERLIN: assembled and tested including manual (does not include memory) $349.00 □ MERLIN: kit containing PC boards, IC sockets, User Manual and all parts except memory $249.00 □ MBI, MERLIN'S BASIC INTELLIGENCE: 256X8 RAM and 2K X 8 mask ROM containing lylonitor/ Editor $ 39.95 □ MEI, MERLIN'S EXPANDED INTELLIGENCE: 2K X 8 mask ROM with more Monitor/Editor functions and Graphics subroutines. ... . v . . . . .\ $ 34.95 □ MERLIN User Manual: over 700 pages of detailed hardware and software documentation (deductible from kit or assembled MERLIN orders) . .-. $ 8.00 Name Signature Total $. Street □ More information □ Check Enclosed □ Master Charge # □ BankAmericard # City State Zip Exp. Date_ Exp. Date_ MiniTerm Associates, inc. HHHHa ^i^ aHHH i BaHHHHHHBa i Box 268, Bedford. Mass. 01730 (617) 648-1200 must be preset to (— N) whenever the func- tion HASH is called. The quadratic rehash process is (remember that the mod operation is just a conditional subtraction): [7] REHASH(I.J): 1. R := R + 2; 2. REHASH : = (I +/R/) [mod N] If we look at the sequence generated by this procedure, we see that R takes on the values (for a table of size 11=4*2+3) -1 1 ,-9,-7,-5-3,-1 ,1 ,3,5,7,9,1 1 . There- fore, if the initial index were 4 the table would be searched in the order: 4(initial index), 2,9,3,6,7,8,0,5,1,10. One major dif- ference between this algorithm and the random rehash is that this one calculates the next index based on the previous one. The random rehash calculates the next index based on the initial index. Weighted Increment Rehash The last, and probably the simplest, method for performing the rehash is called a weighted increment [see bibliography, reference 2] . This one is unique because it uses the hash index to calculate an incre- ment which is in turn used to step through the table. The table size is again restricted to a power of 2, and whenever the function HASH is called, the variable R is preset to (2*J + 1)[mod N], where J is the initial hash index. The weighted increment method is: [8] REHASH(U): 1. REHASH := (l + R) [mod N] ; This process is very much like a linear rehash. In fact if R were always set to 1 it would be a linear rehash, however R depends on the hash index. If our table is eight entries long and the initial index is 5 then R=2*5+1[mod 8] =11 -8=3 and the table items are searched in the order 5,0,3,6,1,4,7,2. Since the increment is a constant for any particular hash index, we can improve the basic hash algorithm when using this rehash technique. You will notice that all memory references are of the form (TABLE+I*B), where B is the number of bytes. We can avoid that multiply by in- cluding it in the computation of R. If we let R=((2*J+1)[mod N])*B, then all of the table references become (TABLE+I). If we also initialize I to TABLE+HASH(KEY) we can make all references as just (I). Laying Doubts to Rest You might conceivably ask, "What is gained by using a complex rehashing func- tion?"; or if you're one of the more cynical observers, "Why use hashing at all?". In an attempt to answer these questions, a simple experiment was performed. First a table of approximately 500 entries was filled with randomly generated entries and then each entry was located in the table using the lookup technique under test. This simple experiment provides an insight into the comparative efficiency of table lookup algo- rithms. Table 1 summarizes the results of the experiment. This data clearly illustrates that there is significant improvement in table lookup time when hashing is utilized. Fur- thermore, when a complex rehashing algo- rithm is incorporated in the search pro- cedure, the statistics are again improved. It is worth noting again that, although the num- ber of tests for a sorted table is not tremendously large, the approach is very inefficient if the table must be accessed before being filled with entries. One other surprising fact about the aver- age search length (the number of tests required) for hash accessed tables is that it does not depend upon the length of the table. Rather, the search length depends only upon the load factor or the percentage of occupied items in the table. This means that you can expect the average search time for a table of size 10,000 to be about the same as the search time for a table of size 500! This is surely not the case with the linear or sorted search. While the average linear search length skyrockets to 4,500 (for a 90% full table of size 10,000), the average hash search length remains at less than six! Although table 1 seems to indicate that the weighted increment is most efficient, we must be careful not to read too much into these results. The statistics in table 1 were obtained using randomly generated keys in the test program. When actual keys are used the search statistics will vary somewhat because actual keys are rarely perfectly random. For example, the search length for a weighted increment search is adversely effected by bit patterns in the key. The best way to insure that you are using the most optimal search procedure is to repeat the experiment with a sample of actual keys. If a finely tuned algorithm is not important, then the weighted increment is probably the better choice because it is simple and can be applied to any format of table. As we will see shortly, most of the algorithms work best if the table is rearranged in memory. Application There are a number of "tricks" which can be used to improve efficiency. A number of 28 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 them have already been mentioned. One approach not discussed so far is table re- organization. Throughout our discussion we have assumed that each table entry occupies more than a single byte. If each table entry is B bytes long, then the typical memory reference is (TABLE+I*B). It would be desirable to eliminate or at least reduce the multiply operation. If a weighted increment rehash is used: We already discussed how to eliminate the multiply. Another method to eliminate a multiply is table reorganization. All of the tables discussed so far were horizontally organized. This means that the items are stored as shown in figure 5. This is the most common table organization. An alternative organization is a vertical organiza- tion such as in figure 6. If you have organized your table vertically then the first byte of an item is addressed by (TABLE+I) and the multiply is gone. All of the other bytes in the item are addressed by (BYTEN+I) where BYTEN is the address of the n'h D yte of the first item. Thus by organizing the data vertically we eliminate a multiply operation. This vertical arrange- ment is practical from other aspects also. Consider searching the table for all items containing a specific value in the third byte. Since the third byte of each item is stored sequentially this search operation is simplified. Conclusion We have tried to show that hashing is not nearly as complicated as you might have thought. By using these techniques perhaps you can regain a valuable slice of your microprocessor's processing load." BIBLIOGRAPHY 1. Day, Colin A, "Full Table Quadratic Searching for Scatter Storage," Communications of the ACM 13,8 (August 1970), pages 481-482. 2. Luccio, F, "Weighted Increment Linear Search for Scatter Tables," Communications of the ACM 15,12 (December 1972), pages 1045-1047. 3. Morris, Robert, "Scatter Storage Techniques," Communications of the ACM 11,1 (January 1968), pages 38-44. 4. Dollhoff, Terry, "Hashing Methods for Direct Access Files," Auerbach Computer Program- ming Management, Folio 15-02-02. GLOSSARY The table is searched sequentially from the point of impact. Clustering: Grouping of elements within a table caused by equal hash indices. Collision: Two elements with the same hash index. Direct access hash: A hash algorithm which pre- cludes collision. That is, no two elements have identical hash indices. Dissassembler: A program to translate object code to assembly language. Inverse of an assembler. Folding: Procedure for randomizing the hash index. The upper and lower half of the key are added together before the index is calculated. Horizontal table: A table whose entries are stored sequentially. That is, (entry one, byte one), (entry one, byte two), etc. Hash index: The initial estimate of the location of an entry within the table. Hashing: A nonlinear algorithm for storing/ retrieving data from a table. Linear search: Table search which examines each item starting with the first item and proceeding sequentially. MOD: Remainder of one number divided by another. That is, X MOD Y is the remainder of X/Y. Pseudorandom rehash: A method for resolving collisions. A nonrepeating random number genera- tor is used to determine the next entry to be searched. Quadratic prime: A prime number which produces a remainder of 3 when divided by 4. Quadratic rehash: A method for resolving col- lisions. A quadratic or second degree function is used to determine the next entry to be searched. Rehash: Any algorithm for resolving collisions. Squaring: Procedure for randomizing the hash index. The key is multiplied by itself before the hash index is computed. Hashing function: The algorithm or procedure for calculating the hash index. Key: Field within an entry that is used to locate the entry. For example, surnames are the key field of the entries of a telephone directory. Linear rehash: A method for resolving collisions. Vertical table: A table where the bytes of each entry are stored sequentially. That is (entry one, byte one), (entry two, byte one), etc. FORTRAN stores arrays in this manner. Weighted increment rehash: A method for resolv- ing collisions. The hash index is used to determine the next entry to be searched. 30 Introducing two NEW software books by SCELBI. Two classics rewritten for immediate use with your 6800 system . . . SCELBI'S "6800" SOFTWARE GOURMET GUIDE & COOK BOOK Q95 ppd. Now you can cook up delectable programs with this mouthwatering gourmet's delight of all new "6800" software. Over 200 pages. Action-packed, information-crammed, practical "how to" facts. Using the original manufacturer's recommended mnemonics and assembly formats, with hexadecimal notations, you get the description of the "6800" instruction set. General purpose routines for multiple precision operation. Programming time delays for real time applications. Random number generators. Completely assembled relocatable floating point arithmetic program, with 23 bit signed mantissa and 7 bit signed exponent. Input/output processing for basic I/O programming. Interrupt processing. Code, numeric conversion routines. Real-time programming. Search and sort routines. And too many more finger-lickin' goodies to mention here. All for only $9.95 ppd. Order today! SCELBI'S "GALAXY" GAME FOR THE "6800" -| 495 ppd. Captain your own crusading starship against the logic of your "6800". Your mission: search-and-destroy a random number of alien ships. But, don't run out of time, out of fuel, out of ammunition or out of the galaxy. Your galaxy consists of 64 quadrants, subdivided into 64 sectors. Plan your mission to destroy all aliens. But, every time you move you lose a stardate and precious fuel. Don't run into a roaming star that could damage your ship! And, don't forget how much fuel your warp factor uses! Suddenly, Condition RED! Alien in sight! How big is he? Fire a phasor or torpedo? He's damaged or destroyed. But, you've used up valuable fuel! Does he fire back? How much fuel was used for protective shields? Be careful. You're running out of time and fuel. You get the idea. You must maneuver logically, strategically, carefully ... to complete your mission. Here's the multidimensional computer game you've asked for. Using the original manufacturer's recommended mnemonics and assembly format, with hexadecimal notations, you've got a total book form program in machine language, for 4K memory, with flow charts, illustrations and more. All this for $14.95 ppd. Order today! $ BOTH BOOKS ARE AVAILABLE NOW! ORDER YOUR COPIES TODAY If III I COMPUTER CONSULTING INC. 1322 Rear Boston Post Road, Milford, CT 06460 • Telephone: 203/874-1573 Prices shown lor North American customers. Master Charge, Postal and Bank Money Orders preferred. Personal checks delay shipping up to 4 weeks. Pricing, specifications and availability subject to change without notice. How to Drive a Teletype Without a UART Figure 1: Parallel to Serial Conversion Schematic. The multiplexer IC2 is used to select formatting and data bits according to the state of the counter IC1. IC3 is an output latch which would not be needed if access to an ex- isting latched output port were available. The Tele- type current loop is driven by transistor Ql from the output of the multiplexer. OUTPUT STROBE o- FROM MICROPROCESSOR POWER CONNECTIONS +5V GND ICI 7493 5 10 IC2 74150 24 12 IC3 74199 24 12 IC4 7474 14 7 IC5 7400 14 7 z Gregory C Jewell 11855SE 118th Ronton WA 98055 This parallel to serial converter performs functions similar to any other; however, this circuit is designed with the microprocessor hobbyist in mind. This conversion design is simple and extremely easy to trouble shoot. All the logic involved is out in the open, so it can be examined with an oscilloscope. Figure 1 shows the circuit. In the quies- cent state, the READY line is high. This holds the 7493 counter, ICI , at zero which in turn connects input E to the output W of the 74150 multiplexer IC2. When the micro- processor is ready to transmit a data byte, it samples the READY flip flop output, pin 5 ASCII DATA FROM MICROPROCESSOR D7 D6 D5 04 D3 02 Dl DO of IC4. If READY is high, then the micro- processor writes the ASCII character into the data 74199 register, IC3, and resets the READY line. A low READY line enables the 7493 counter, IC1 , which addresses the bits in sequence. Upon the first count, the start bit E] is connected to the output. The eight data bits and two stop bits are then ad- dressed by subsequent states of the counter. The 1 10 Hz clock produces a transfer rate of 9.09 milliseconds per bit or 10 characters per second. When state 12 of the counter is reached, IC5a detects this and sets the READY flip flop. This action clears the counter and signals the microprocessor that it is ready for another data byte. No serial shifting takes place and all bits are available at all times for observation on an oscillo- scope. As shown, this circuit provides a standard asynchronous format of one start bit, 8 data bits and two stop bits. By reassigning the 74150 multiplexer inputs, other serial formats are possible." K5V T IK I Wr II. ffn ' I 6 |7 CLK BCD E F DATA REGISTER IC3 74I99 CLKINH QA QB QC QO QE !2_ 20 22. 23 I 8 10 13 17 19 21 EI2 Ell EIO E9 E8 E7 E6 ES E4 E3 E2 MULTIPLEXER IC2 74150 B 4 II 8 00 QC OB QA 4 BIT COUNTER ICI 7493A RESETS CLEAR PRESET READY FLIP FLOP 3 IC4 1/2 7474 CLOCK H TO TELETYPEWRITER »LO MARK-CURRENT SPACE-NO CURRENT -o 110 Hz CLOCK SOURCE READY -o TO MICROPROCESSOR 32 The POLY 88 Microcomputer System If you are into computers or considering a system, the POLY 88 is the machine to contemplate. HARDWARE • Popular 8080 central processor • Single-board CPU with ROM, RAM, vectored interrupt, real time clock, single-step logic and serial I/O • Video interface card - generates video to TV monitor and provides parallel keyboard input port • Serial and cassette mini-cards plug directly into CPU with ribbon cables • Cassette • ROM monitor with powerful debugger, video software, bootstrap loader • Backplane and power supply on one board simplifies construction • Rugged 6 amp power supply • All circuit boards are high quality, double-sided with plated-through holes • System is compatible with a wide range of Altair peripherals • Minimum point to point wiring means that the POLY 88 kit can go togethe er in three evenings PolyMorphic Systems ABOUT SOFTWARE Software is the reason the POLY 88 was designed. The operator can proceed from higher level languages like BASIC to developing machine code with the aid of our assembler. Our BASIC is a full 8K BASIC with character and byte manipulation. Best of all, the programmer is finally free of the teletype emulation mode so the video display can be used to full advantage. The video display provides a unique opportunity to write new types of programs and games. Characters (16 lines of 64) and graphics (48 by 128 grid) are part of the processor's memory, so the display may be altered rapidly — the entire screen written in less than 20 milliseconds. POLY 88 hardware provides many additional features that programmers have come to expect, such as vectored interrupt and real time clock. See it at your local computer store. ^6# «*$^> *JR|t -J^ Jt^i ^JU s&^ UL^ tftfcf **^ «««£|J*^ «#iy i i fi M y ^*m&, fe»i&s Jfei : '$&ik -Jfe- wm& i«w 4aR& W&& -■ M^ ^«88<| ■** ■- » * * % .mm. -.**>#>. *jKw. :JE *** «** *** -*-* -■*»*■ ^E^ : *M>4 : -*88^ *»m^ i»^ «•■•■(■ *i '■■ -■ni»M -•&**•*/. -sSJifcii ■■■i%t$,^. •**»* ,: *i*5si' **»*• ~^m>*$ **St-.t 't'Smi^. '**■.■£&&%*- : -j- ARE YOU NEW TO COMPUTERS? The POLY 88 was designed for ease of use. No one should have to learn all the inner workings of computers just to enjoy one at a reasonable price. With the POLY 88, you can "play" pre-developed programs or explore the world of computer languages as your interests expand. THE POLY 88 IS FOR EVERYONE Want to develop a new computer language? Want to fight Klingons ? The POLY 88 provides a firm foundation upon which to build your interests and develop your skills. POLY 88 SYSTEM PRICES: SYSTEM 1 — Kit includes 8080 vectored interrupt processor with real time clock, Yi K of RAM and IK monitor on ROM: Video Terminal Interface displays 16 lines of 32 characters on a video screen and has a keyboard input port; cabinet, backplane, and power supply; complete assembly, operation and theory manual. $595. SYSTEM 2 — System 1 plus 64 character line option and Byte/biphase cassette interface kit. $690. SYSTEM 3 — System 2 plus 8K of RAM with BASIC and assembler programs on cassette tape. $990. SYSTEM 4 — The complete kit. It includes system 3 and TV monitor, keyboard and cassette recorder with all necessary cables and connectors. $1350. SYSTEM 7 — System 4 assembled, tested and ready to run. $1750. ACCESSORIES — 8K RAM kit, $300. Assembled $385 POLY I/O Ideaboard, hardware prototyping kit board. $55. Analog Interface (l channel) kit. $145. Prices effective until January 15, 1977. Prepaid orders shipped postpaid. 737 S. Kellogg, Goleta, C A 93017 (805) 967-2351 •sasss mamm mm-im ; * mmmmi ', J UUBCBH tmmmwa* \ Saturation Recording's Not All That Hard David M Allen Electronics Consultant 1317 Central Av Kansas City KS 66102 The cassette recorder is doubtless the most common and popular peripheral device among hobbyists, and considerable attention has been paid to its employment. Almost all of this attention has been directed toward the use of unmodified audio recorders. This complicates a simple problem. Saturation recording is the logical way to store digital data on tape, so why use audio? Saturation recording is more straightforward, more flexible, and inherently more reliable. The design presented here uses only a few garden variety integrated circuits; no PLLs, no UARTs. It presupposes no encoding scheme, so the user is free to pick and choose among the various techniques available. I used ordinary NRZ (Non Return to Zero) ASCII because it was easiest to write software for. The hardware in this design is extremely simple; software is used for encoding and decoding as well as the serial to parallel and parallel to serial conversions. Where hard- ware versus software tradeoffs were avail- able, software was used since integrated circuits cost money and require test equip- ment to insure that they work properly. Software can be free (depending on who writes it) and thus where budgets are tight or flexibility desirable, the trade of software for hardware comes highly recommended. This is the so-called "intelligent" approach, and this interface was in fact employed in the construction of an "intelligent" terminal which I use as a Teletype replacement. The cassette recorder used in the proto- type system was a genuine "El Cheapo," purchased for $5 at a warehouse sale. The electronics didn't work, but in this design the electronics are not used anyway .... only the head and motor are used and must be in good condition. The Pragmatics of Saturation Recording During recording (or "writing"), only a single signal is impressed onto the magnetic medium; there is no carrier, nor bias signal. The signal itself, at any given instant, will be in one of two states: full positive or full negative. Note that while the digital data may be discussed in terms of ones and zeros, it is written on tape as +1s and —Is where the value 1 refers to saturation of the magnetic medium [see BYTE, March 1976, page 18], To accomplish this in a cassette recorder, it is necessary only to pass a small direct current through the winding of the combined record and playback head. Polar- ity of the saturation recorded signal (+ or — 1) will be determined by the direction of current flow through the head winding. The magnitude of the recorded signal will be that Corresponding to saturation of the magnetic medium, and is achieved by passing enough current through the head winding to guar- antee that the medium will be magnetized as much as it is capable of being magnetized. The level of this current will be a function of the magnetic material and head character- istics, but is noncritical so long as minimum requirements are met. On playback (or "read") the head will be exposed to a series of tiny magnetized zones which are oriented in first one direction, then the opposite, corresponding to the ones and zeros of the original data. A voltage is induced in the head winding only when a transition between two oppositely polarized zones moves past the head's face. Although the data resides on the medium in the form of zones of constant magnitudes, it will be sensed in the form of transitions, and must 34 FLUX ON TAPE -I PLAYBACK VOLTAGE APPEARING ACROSS HEAD WINDING POSITIVE EDGE DETECTOR OUTPUT (TO 7474 PIN I) NEGATIVE EDGE DETECTOR OUTPUT (TO 7474 PIN 4 ) TEST POINT 4 (SCALED 2V PEAK TO PEAK) "U Lf RECONSTRUCTED DATA (7474 PIN 5) — I ¥ IT be reconstructed if it is to resemble the original data (see figure 1 ). Erasure of old data does not necessitate a separate erase head, since erasure is inherent in the recording of new data at saturating levels. In some applications a separate erase head may be desirable to prevent the occur- rence of unerased gaps due to starting and stopping the tape motion between blocks of data, but this was accomplished in the prototype without the need of an erase head. Little need is seen for an erase head in simple applications. Hardware Design The hardware required to write data onto tape is indeed trivial. The only tricky aspect is figuring out how to switch the direction of the write current without resorting to dis- crete components and a negative power supply. Fortunately, 3 state components permit the use of a single integrated circuit to accomplish this function as shown in figure 2. The level of current required for writing will be a function of the recording head, and will typically be around 5 to 15 mA. In my El Cheapo, the head winding resistance was sufficiently high that TTL voltage levels could be impressed directly across it and yield the proper level of current. Other heads, particularly those de- signed for digital use, may have much lower winding resistance, and feeding TTL voltages to such heads with no current limiting would be disastrous. An ohmmeter on the Rx10 or RxlOO scale, or the manufacturer's data sheet for the head, should be used to ascertain the value of external current limiting resistance required. One such digital Figure 1 : Timing of a Direct Digital Read Operation. The flux on the tape is shown at the top as an idealized square wave. The playback voltage is second from top, an analog function which reflects the actual tape flux zones and the sensing of these zones through the tape head. Referring to the schematic of figure 3, the positive going and negative going transition edges are detected and used to produce pulses which drive the 7474 flip flop used to reconstruct data as received. This data out of the 7474 is read and decoded by the adaptive software running in the processor. head (Vicron P-3S7J3-B) has a DC resistance of 40 ohms, and requires 6 mA of write current. Assuming a TTL output voltage of 3.2 V, the required current limiting resis- tance should be 3.2/0.006 or 533 ohms. Since 40 ohms is accounted for in the winding itself, approximately 500 ohms of external resistance should be used. As shown in the schematic, in my design I split the current limiting resistance into two sections to maintain symmetry, but this was not seen to be really necessary. Note that the advan- tage of 3 state components in this applica- tion lies in the fact that during read opera- tions the drivers can be placed in their high impedance state so as to have no effect on the input head circuitry, thereby obviating the need for any mechanical switching be- tween read and write operations. Reading the recorded data is slightly more complex since the signal levels coming from the head winding will be on the order of microvolts and since the data must be reconstructed as explained previously. Figure 2 shows the read circuits I recom- mend. The actual amount of amplification required in a system will be a function of the head employed and the tape speed. Digital heads with low inductance will require more 35 DATA TO TAPE g WRITE ENABLE "IT POWER CONDITIONING (NOTE 6) TAPE HEADS SHOULD BE CLOSE TO AMPLIFIER » DIGITAL +5V ANALOG +5V REVERSE THESE LEADS IF DATA COMES BACK INVERTED TEST POINT I (NOTE 3) O (SIGNAL GND) POWER WIRING TABLE Analog Digital +5 V GND +5 V IC1 74125 _ 7 14 IC2 7402 — 7 14 IC3 555 — 1 8,4 IC4 LM1458N 8 4 — IC5 LM311N 8 4 _ IC6 LM311N 8 4 — IC7 7474 — 7 14 Note 1: The 555, IC3, is a timer which is used to stretch the write enable signal, thus forcing the head to write steady data after the program has turned off output at the end of a write operation. This blanks out the tape during motor slow down. Note 2: See the text for an explanation of the write cur- rent limiting resistances R. Note 3: Test point 1 should be slightly under 2.5 V when the system power supply is +5 V. Note 4: Pick R1 and R2 (nominally 100 k and 18 k here) so that the peak to peak amplitude of the signal at test point 4 is 2.0 V. There is no need to use a potentiometer if the physical mounting of these resistances allows substitution from your parts box. Note 5: Test points 2 and 3 are (respectively) the upper and lower thresholds for the comparators. Adjustment of R3 will vary the width of the gap between the thresholds. Note 6: There are two "+5 V" supplies in this circuit. The raw system supply as it comes to the circuit is referenced as the "digital +5 V" in this dia- gram; the isolated and filtered "analog +5 V" is used to sup- ply the amplifiers and comparators. Figure 2: Schematic of a Direct Digital Recording Interface. The output circuit takes NRZ data from the computer's 1 bit output port (assuming the write enable line is at zero) and drives the heads directly from two 3 state gates in a 741 25 package. The input circuit is overdriven and should be ignored during output operations. For input, the write enable line is high, disabling the 3 state drivers, allowing the signal from the head to be processed by an amplifier section followed by a pair of edge detectors which reconstitute the data in a set-reset flip flop. 36 amplification since they will generate smaller voltages. The amplification should be set so as to provide a peak to peak signal of roughly 2 or 2.5 V at the inputs to the comparators (test point 4). The two comparators provide two thres- holds which are symmetrical with respect to VCC/2 (2.5 V). The thresholds are adjust- able, but should always be symmetrical with respect to VCC/2, since the amplified tape signal is symmetrical with respect to VCC/2. Adjustment of the thresholds is not espe- cially critical, and can be done without a scope if needed. A compromise is effected between the highest possible thresholds (maximum excursion of the tape signal) and the lowest possible thresholds (both equal to VCC/2). Adjustment is made empirically, keeping the thresholds as high as possible while allowing for dips in peak signal ampli- tude due to "dropouts." I found that thres- holds of between 25% and 75% of the peak signal amplitude were usable and favored the 75% end so as to discriminate against pos- sible noise or tape print through. This phenomenon occurs when undesired signals caused by adjacent layers of tape magnetize each other. Hence for a 2 V peak to peak signal with a 2.5 V centerline, the thresholds are nominally as follows: Low: 2.5 - (2.0/2) * 0.75 = 1.75 V High: 2.5 + (2.0/2) * 0.75 = 3.25 V These values are suggested as starting points, not .necessarily as the final operating levels. Hence, whenever a positive going peak exceeds +3.25 V the 7474 will be set, and whenever a negative going peak goes below +1.75 V the 7474 will be reset. The output of the 7474 will then be a reconstruction of the original recorded data. The most obvious and probably simplest way to adjust the thresholds is by using a tape, prerecorded with repetitions of a fixed pattern such as an ASCII U, or hexadecimal AA or some other convenient value. With an oscilloscope con- nected to the output of the 7474, and synchronized to the start of each data word, the thresholds can be adjusted to give a stable representation of a single character across the scope screen. With the thresholds properly set, the individual bits should be stable throughout the entire length of the tape; if not, then either the thresholds are set wrong or the scope is not properly synchronized. In a normally operating sys- tem, purists may be able to observe slight jitter in the positions of the bit transitions, which is due to varying magnetization char- acteristics of the magnetic medium. This is normal, and should be only a fraction of a percent of the overall character time. The type of cassette may be important here, although not necessarily critical at lower densities of recording. Of five different types of cassettes tried, all worked except for a bargain basement cheapie whose dropouts were so severe as to render it useless even for its intended audio applications. Certification is not necessary; willingness to buy respect- able brands is sufficient. Emulation of a Paper Tape Facility Users who intend to use a cassette re- corder as a replacement for the paper tape functions of the ASR33 or similar Teletypes will have some extra mechanical functions to worry about. Problems are incurred when the tape is started and stopped, because of the time required for the motor to accelerate or decelerate. During this acceleration or deceleration time, data must not be present on the tape, since errors will occur unless some sophisticated speed tolerant technique is used. One solution to this problem is to incorporate leaders and trailers of blank (erased) tape during the write operation. The use of leaders before and trailers after a string or block of data requires a delay of a fraction of a second before and after the passage of the data. It is therefore necessary that the tape output software must wait until the motor startup delay has passed before transferring any data. One way to accomplish this is to buffer the input data. The output routine could write to the buffer whenever and at whatever speed it wants to, and after the buffer is filled it is then transferred onto tape along with the necessary leaders and trailers. This requires more hardware in the form of memory for the buffer, and more software in the form of routines to handle transfers into and out of the buffer. Another, simpler way to accommodate the necessary delays is by modifying the program which uses the tape IO to allow for the delays whenever it writes to tape. A valuable practice among software writers is the organization of the character input and output routines into a single subroutine for each, which is called by other software. In software designed for paper tape emulation it is a simple task to add the appropriate delays whenever the PUNCH-ON or PUNCH-OFF Teletype command codes are encountered. The software which is docu- mented in this article presupposes that soft- ware which requires the IO will tolerate the appropriate time delays. There are also some simple additions to the hardware which will reduce the software overhead by incor- porating the needed delays into the system. Motor coasting after power is removed is the longest time interval which must be accom- 37 INTERFACE RECORDER ll/O FUNCTION SWITCH IN CASSETTE RECORDER REWIND MOTOR'S POWER SOURCE (IN RECORDER) FAST hWD I ft? REL ^7 $■ 4oon 6V COIL DIGITAL SUPPLY + 5V SPDT RELAY 2N35680R SIMILAR ONE BIT OF A LATCHED OUTPUT PORT WHICH IS USED FOR MOTOR CONTROL. HI- MOTOR ON LO- MOTOR OFF Figure 3: Motor Control Circuit. The relay is used to control the motor of the tape recorder, driven from an output bit of the computer. The relay is a single pole double throw variety which shorts out the motor if the motor is not on. This guarantees that the motor will generate current during slowdown, which is dissipated in the wiring of the short circuit, braking the motor electromagnetically. (This braking action of a DC motor operated as a generator is used as a key principle in the design of regenerative braking systems for electric railroads, street cars and electric cars.) modated, and fortunately it is a simple matter to reduce this time significantly. in the unmodified cassette recorder the motor is turned off by breaking the current path from its power supply and leaving it open circuited. If, after breaking the current path, the motor windings are short circuited, its coast will end much sooner. A simple circuit shown in figure 3 uses an SPDT relay contact to accomplish this with no distur- bance to the original motor wiring on most cassette recorders. The rewind and fast forward circuits function as before; only the forward circuit is changed. Since the motor coasting time can only be reduced, not eliminated, it may be Fiaure 4- Block Timing desirable to use a oneshot in the hardware to This diagram shows the kee P the write enable line on Allowing a timing of a block of data wnte operation, until the motor has during a write operation. The logical OR function provided by IC2c causes the 555's delay to extend the actual 3 state buffer enable beyond the end of data by about 0.5 seconds. The software should pro- vide a leader delay of ap- proximately 0.5 seconds preceding the start of data to allow the motor to turn on and come up to speed. The motor control timing is also shown in relation to the other signals. WRITE ENABLE THREE STATE BUFFER ENABLE WRITE DATA stopped. Figure 4 illustrates the timing characteristics desired. This guarantees that the tape which passes the head during motor coast will be erased by holding the outputs constant with no data transmitted. The equivalent function at the beginning of the write operation is not necessary since the write enable will be on from the moment the motor is turned on and all during the time it is accelerating up to speed. Software Since the hardware is doing no more than writing or reading one bit at a time, the functions of serial to parallel and parallel to serial conversion must be assumed by soft- ware, as must the encoding or decoding of data, as well as timing of the individual bits. This would seem to cause considerable soft- ware overhead; but in my prototype all the above functions, plus those of motor control and checksum calculation and verification, were accomplished in approximately 230 bytes on a 6800. This number can easily be reduced, either by shifting some of the simpler functions such as bit timing to hardware or by eliminating some of the prototype's features such as paper tape DATA RETARD OF APPROX 1/2 SEC TO RECORD BLANK "LEADER" DURING MOTOR ACCELERATION -=l/2 SECOND ADDITIONAL DELAY DUE TO 555 !*— GREATER THAN 1/2 SEC -"TRAILER" RECORDED DURING MOTOR DECELERATION MOTOR CONTROL 38 ( WRITER 1 MOTOR.- HI WRITENAB:- WRITEDATA;. NOTE: BLOCK POINTERS ARE SET UP PRIOR TO CALLING "WRITER"; CHECK SUM CALCULATION IF ANY IS MAINTAINED BY THE NEXTCH AND SAVECH ROUTINES CALL DELAY ( 1/2 SEC) CALL NEXTCH (I); MOTOR :-LO; WRITEDATA:- HI; WRITENAB:-LO; ( RETURN ] Figure 5: Flowcharts for 10 Software to Emulate a Paper Tape Facility. The author's system imple- ments a version of this logic for a 6800 system, which is not printed as a part of this article. In these flowcharts, an end of data condition is assumed, but not defined for both input and output; in the author's version, ASCII control characters were used to communicate this information. WRITEDATA: = LO; BITCNT: ■ 8; t \ ' 1 CALL DELAY ( 1 BIT); WRITEDATA: - NEXT BIT (I)-, BITCNT: - BITCNT-I | NO_ <^BITCN r-o > WRITEDATA: HI ; CALL DELAY (2 BITS); I 1 INITIALIZE L I TwAIT FOR MOTOR] SPEED TO STABILIZE [ GET NEXT 1 CHARACTER, I I ASSIGN TO I I L I I 1 | IF DONE THEN I QUIT | I I ."begin start i BIT ON OUTPUT ; |=r 77mS DELAY . FOR 1300 BAUD i I I fsHIFTI, I EXTRACT ONE BIT' I FOR OUTPUT L I I 2 STOP BITS OR «l.54mS ( READER ) MOTOR.- HI WRITENAB. -LO BITCNT: -8 CALL DELAY (1/2 BIT) CALL DELAY (I BIT) IB- SAVBITII, READATA) ; BITCNT: ■ BITCNT-I; CALL SAVECH (I) ( RETURN J r DELAY=.38mS | FOR FIRST SAM- | I PLE NET DELAY | ! 1 1/2 BITS I NORMAL BIT LENGTH DELAY I = .77mS !"l IS VARIABLE ! 1 RECEIVING I THE DATA I I [save character] i i, at input I BUFFER I I 39 SOFTWARE (FIGURE 5) TAPE DATA PROCESSOR SAMPLING f \ T A R T t bl b2 b3 b4 b5 b6 b7 STOP STOP | . . 1 1 1 1 I 1 PARITY^ (OPTIONAL) 1 1 1 1 1 1 PROCESSOR SAMPLES CONTINUOUSLY, LOOKING FOR BEGINNING OF START BIT IN CHARACTER H 1/2 BIT - DELAY (LOOP) -FULL BIT DELAY (LOOP) PROCESSOR SENDS PARALLEL DATA TO USER, UPDATES CHECKSUM, ETC AT EACH SAMPLE, PROCESSOR READS ONE BIT AND SHIFTS IT INTO A WORD WITH PREVIOUS SAMPLES PROCESSOR BEGINS LOOK- ING FOR NEXT CHARACTER Figure 6: Timing of Input Operations. This timing diagram details operation of an input "read" algorithm for non return to zero (NRZ) data recorded in an asynchronous 8 bit data format containing one start bit and two stop bits, identical to one of the standard UART formats. The processor continuously samples during the start bit search of LOOP!, then it waits for 1.5 bit times and begins sampling once per bit period until all the data has been shifted into a register by LOOP2. Then it processes data and sends it to an input buffer before testing for end of input and going back for more sampling if needed. This input sequence repeats for each character. emulation. The real advantage of this design lies in the fact that the hardware is so simple that it determines few of the capabilities of the system; instead, the user defines them by way of software. Flowcharts of the basic functions for reading and writing data are shown in fig- ure 5. The write function is fairly straightfor- ward. The read algorithm is a bit more confusing and deserves explanation. In order to read a serial data word, two time intervals are used. Since the data will be sampled in the center of each bit, sampling must be delayed from the leading edge of the start bit to the middle of the start bit before beginning the sampling process on the bit string. Thereafter, samples will be spaced a full bit width apart, as shown in figure 6. In my version of the software, a single delay subroutine was used, and the amount of delay was changed by dividing a delay parameter (DPARAM) value by 2 with a right shift when the half bit width increment was needed, otherwise using its full value. The balance of the input software is re- latively straightforward. These algorithms are for simple NRZ (non return to zero) data, which was chosen for its ease of implementation and for its relative density as recorded on tape. The ASCII characters can be recorded directly onto tape, including their start stop bits in standard asynchronous format. Other methods of recording data onto tape, such as Bi-phase-L and Bi-phase-M, require more flux transitions per character than I cared to contend with. Readers who are interested in investigating or using a different coding scheme should refer to the bibliography. Since the amount of data which can be squeezed onto magnetic media per unit length is inversely proportional to the num- ber of flux transitions per data bit, NRZ in asynchronous format seemed an acceptable method for my purposes since its syn- chronizing information is carried only once within each character, rather than within each bit. Using straight NRZ at 1300 baud (a bit width of 0.77 ms) with the tape moving at the standard 1 7/8 ips (4.5 cm/sec) re- sults in a density of approximately 700 flux reversals per inch worst case. Commonly used commercial densities are 800 and 1600 frpi, but I encountered degradation above 700 frpi due to the use of the audio tape head which came with the cassette recorder; adjacent flux reversals tended to merge together and cause significant amplitude variations during reading. The value of 700 frpi has proven to be a valid design parame- ter since it provides good data rates yet is not easily affected by dirt or variations in media type. Other cassette interfaces require certified cassettes and scrupulous cleaning of the head; the one described here has worked reliably for months now, with no attention to cleanliness since initial alignment. Suggestions for Improvement of Performance The biggest advantage of this system is its relative independence from the associated hardware. Hence the user may simplify the software to the point that it is merely a bootstrap loader for larger programs, or can expand it, incorporate buffers for movement of data, use self clocking methods for data encoding, and ultimately configure a com- plete cassette operating system using the hardware described here. Still there are 40 points for improvement, if one is willing to spend a little money. A tape head designed for digital use can make a considerable improvement in performance in two ways: its narrower gap will permit recording at a higher density, and its lower impedance will permit movement of the tape at higher speeds before its inductance causes the recovered pulses to merge together. When using such a head, recall that its DC resis- tance will be much lower, and that it would be disastrous to feed unlimited write current to it directly from the 74125s. Current limiting resistors must be used. Consult the manufacturer's specifications for appropriate current levels. Since serial/parallel conversion is accom- plished in software, the processor will be required to execute fast enough to accu- rately provide timing for each bit, with an accumulated error small enough to accu- rately provide room for tape stretching, and wow and flutter of the cassette drive. Data from my prototype suggest that a data rate of at least 2400 baud should be possible with a 6800 processor operated at its maxi- mum clock frequency of 1 MHz. With care it might be possible to increase this rate substantially. It is hoped that this introduction of saturation recording techniques will provide experimenters with higher speed mass storage at rock bottom prices. For those concerned about compatibility, it should be noted that the hardware is so simple that it should be feasible to support almost any- one's recording format without changing the hardware in any way. Each user will be free to develop his or her own pet format, yet still be compatible with everyone else's by merely writing the appropriate software." BIBLIOGRAPHY 1. Marsh, Robert M, "Computer Bits," Popular Electronics, March 1 976, page 88. 2. Javid, Baha, "New Techniques Squeeze More Data onto Magnetic Tape," EDN, June 5 1975, page 63. 3. Motorola Applications Note AN-711, "The Recovery of Recorded Digital Information in Drum, Disk, and Tape Systems." 4. Kim, SooNam, "An Inexpensive Audio Cassette Recorder Interface for uP's," EDN, March 5 1976, page 83. 5. Pestoriza, James J, "Tradeoffs Among Binary Codes in Magnetic Tape Cassettes," Computer Design, 1975. 6. Memodyne Corp, "Recording Binary Code on the Philips Cassette" (application note). VECTOR G3APHC WHY OUR MEMORY SHOULD BE YOUR MEMORY 1. Quality 2. Delivery 3. Price RAM SPECIFICATIONS: Access Time: 450 ns - no wait states Current Requirement: +5 to +10V at 1.6A worst case, 1.35A typical Memory Chips: Prime components plus two extras Address Lines: Fully buffered Memory Protect: Hardware 8K Power Regulators: 4 ea. 7805 Address Select: Dip switch accessable from top of board. No need to remove board to relocate Output Disable: Permits use with transparent loader • t ' Board: Quality G-10 material with i solder mask both sides. Pre-tested for etch bridges. ' Order your 8K RAM kit for only $265.00 +6% Cal. sales tax +3% hndlg. $350assmbld., both incl. sockets. P.O. BOX 4784 THOUSAND OAKS, CA 91359 TEL:(213) 889-9809 UCR G3APHC inc. 41 o GROUNDED 110 VAC CABLE ft! "SEC TRANSFORMER (A) "DC (B) (C) REGULATOR (D) LOAD (E) Figure 1 : The Power Supply as a System. This is a block diagram identifying the conceptual divisions of a typical power supply system. Watts Inside a Power Supply Gary Liming 3152 Santiago Dr Florissant MO 63033 Ever spend an hour or so entering soft- ware in your system, when suddenly the air conditioner or furnace kicks in, leaving your all too volatile memory looking like garbage? Power supplies are very important com- ponents to a small computer system; and careful consideration, before building or buying, will help make your system more reliable. The purpose of this article is to acquaint the reader with some basic principles of power supply operation. There are many types of power supplies, but for the applica- tion to personal computing systems, only the well regulated, low voltage type will be considered here. Also, the power input will be assumed to be the North American norm of a 115 VAC, 60 Hz wall outlet. Before selecting a power supply, the voltage output and its regulation must be determined. This is usually set by the kind of circuit being supplied. For example, TTL Table I: Symbol definitions used in text, equations and schematics of this article. Vpri — Voltage applied to transformer primary (120 V rms,60 Hz). Vsec — Voltage of the secondary winding (rms). Vdc — Rectified DC voltage. Cf — Filter capacitance. Vin — Rectified and filtered voltage supplied to regulator. Rz — Series zener resistor. Vo — Regulated voltage supplied to load. lo — Maximum current to be supplied by load. I f — Current rating of fuse. logic requires +5 V at ±5% regulation in order to satisfy design specs. The major decision that must be made is the amount of current that the supply will need to deliver. Integrating additional supplies at a later time is somewhat difficult, and it is usually wiser (and cheaper in the long run) to select a supply that will meet anticipated needs as your system grows. The basic function of a power supply can be segregated into five components as shown in figure 1. These are stepping the line voltage to a lower more desirable value (A), changing the alternating current to a direct current (B), filtering the DC (C), making sure the voltage is held constant under adverse conditions (D), and distributing the current to the device to be driven, called the load (E). The symbols given to the voltages at each point are listed in table 1 to avoid confusion. Converting the line voltage into a lower voltage is accomplished by using one of the most efficient electrical devices ever devel- oped, the transformer. The power trans- former is a chunk of laminated iron plates with a minimum of two wires wrapped around it. The ratio of the number turns around the core for each wire determines the AC voltage ratio of the transformer. For power supplies, the winding that is connected to the power line is called the primary, and the winding that gives the rated voltage of the transformer is called the secondary. Transformers will often have multiple secondaries, giving many output voltages. Power transformers of this type are often called line transformers. Selecting the proper transformer consists 42 -w- -w- LOAD v DC h A A MISSING PART OF INPUT CYCLE KVWAA HALF WAVE FULL WAVE DC V DC Kaaaa Figure 2: Common Rectification Schemes. The half wave rectifier gets its name from the fact that only half of the input cycle is utilized; the full wave rectifier uses the whole cycle, but requires -a transformer with twice the voltage desired, and must have a centertap. The bridge rectifier is also a full wave rectifier, but adds some extra diodes as a trade off against the center tapped higher voltage transformer required by the simple full wave design. V PRI of finding one with a voltage rating close to the desired voltage. The final value of this voltage depends on the type of rectification and regulation to be used. These considera- tions will be noted later. While keeping cost in mind, you should also select one with at least as much current capacity as you expect to need. A lower voltage or current rating than will actually be used will cause the transformer to over- heat and may short out the windings, pos- sibly causing damage to the load. A little caution should be exercised in looking at transformer specifications. If a secondary winding is center tapped, or has a lead connected to the middle of the winding, be sure you know whether the given voltage is for the full winding or for each side of the winding. Also, the voltages are usually rated in effective or rms ("root mean square") values, but may be given in peak values. To convert from rms to peak or peak to rms voltages, use equation 1 in table 2. The next step is to convert the alternating current to a direct current, a process called rectification. This is normally done with diodes and in this application such diodes are referred to as rectifiers. The diode is a device that will only pass current in one direction and, in the common notation for diodes, current flows against the arrow. There are three common approaches to rectification: the half wave, full wave, and bridge rectifiers. An example of each is shown in figure 2. The half wave rectifier conducts only when the AC is carrying current in the direction the diode will pass. The output waveform is shown; and since it only passes half the AC cycle, it is not very efficient. Filtering is also more difficult for this rectifier. As a result, half wave rectifica- tion is seldom used in a well regulated supply. The full wave rectifier uses a transformer whose secondary winding is center tapped. With this type of transformer, the full secondary voltage rating must be twice the desired output. However, the whole cycle of the wave is used by only using two diodes with it. Another type of rectifier which uses the entire input cycle is the bridge rectifier. It requires four diodes, but a center tapped transformer is not required. Bridge rectifiers are available in complete packages with four leads for easy implementation, and are prob- ably the most widely used form. Be sure to use a diode with greater Table 2: A reference list of useful equations for power supply design. Eq. 1 Vrms = Vpeak * 0.707 (Vpeak = Vrms * 1 .414) Eq. 2a PIV > 4 * Vsec (for half or full wave rectifiers) 2b PIV>2*Vsec (for bridge rectifiers) Eq. 3a Cf > (0.066 * lo)/Vin (for half wave rectifiers) 3b Cf > (0.033 * lo)/Vin (for full or bridge rectifiers) Eq.4a Rz = (Vin - Vo)/lo 4b Pz = lo 2 * Rz Eq. 5a If = (lo * Vsec * 5)/Vpri (for slow blow fuse) 5b I f = ( I o * Vsec * 1 0)/Vpri (for fast blow fuse) 43 t -: ii < ;LOAD V • Figure 3: Using a Capaci- tor for Filtering. The ca- pacitor charges up when- ever a voltage is applied, and the load resistance tends to discharge the ca- pacitor. The net result is a tendency for the voltage to remain approximately constant with ripple left over from the rectifica- tion. I WA VE FORMS - ZENER LEVEL INPUT V|N \' v V v v V V \' 1 ,J current capacity than will be drawn from the supply. If this rating is exceeded, the diodes will overheat and be destroyed. This rating can be extended with heat sinks and fans, but it is cheaper and more reliable to use adequate diodes to begin with. Besides the current rating, the maximum voltage applied in the opposite direction the diode conducts should not be exceeded. This is measured in peak volts, called the peak inverse voltage, or PIV. Determining the exact peak inverse voltage rating depends on the kind of load and filter being used. A safe "rule of thumb" to follow is to allow the PIV for the half and full wave rectifiers to be at least four times the secondary voltage and at least twice that for the bridge diodes: see equation 2a or 2b of table 2. The next step in getting the voltage into a usable form is called filtering, and this smooths out the pulsating DC into a more constant voltage. There are many different methods for filtering, but for low voltage supplies the capacitor input type is best. The effect of placing a capacitor across the rectifier is shown in figure 3. As the supply is turned on, the first pulse from the rectifier charges the capacitor. As the first pulse drops, the capacitor discharges until the next pulse charges it, and so on, giving the resultant waveform. Specifying the correct filter capacitor involves two more ratings. The voltage rating should be greater than the peak voltage applied to it. The other rating is the capaci- tance, and to specify this we must look at an important factor in the supply, the ripple. v ZENER VOLTAGE r BURN . OUT MAXIMUM CURRENT nnn WITHOUT FILTRATION PRECEDING ZENER WITH FILTER PRECEDING ZENER Ripple is the ratio of the AC still left on Vj n to the average DC level of the filter output. Ripple may be expressed as a per- centage or in decibels. The larger the capaci- tance, the longer it takes the capacitor to discharge and the smaller the ripple will be. The period of the ripple is the reciprocal of its frequency; for a 60 Hz line this is 1/120, or 8.33 ms. The capacitor should have a time constant of at least four times the ripple period. Using these constants, a formula for determining the capacitance is given in equa- tion 3 of table 2. Remember, this is a minimum value, and the tolerance of the capacitor should be taken into account. To conserve space or cost, several small capacitors may be added in parallel to reach the desired capacitance. Also, Vj n will be closer to the peak value of V sec , and this must be considered when selecting a transformer. The equation for determining the capaci- tance was based upon 120 cycles per second and does little to filter out higher frequen- cies that may be on the line. Induced RF noise may be filtered out by adding a 0.1 juF capacitor across the supply. Now that filtering is accomplished, we have a direct current with some ripple at any given voltage we specify. However, the volt- age will only remain as desired if the load resistance and line voltage are constant. The line voltage is hardly constant and may vary from 90 to 130 V and can momentarily rise to 300 V in some instances of surges. In an application where the load resistance is constant, a simple voltage dropping resistor may be used to drop Vj n down to the voltage the device needs. However, this method wastes the current through the resistor, and does nothing to prevent Vj n from varying with line voltage changes. Also, most digital applications have varying load resistances because of gate switching and memory operations and re- quire a closely regulated supply, so some- thing more sophisticated is needed. Figure 4: Zener Diode Regulation. Use of a zener diode is one of the simplest regulation methods. The zener is a low voltage semi- conductor equivalent of what used to be a common item in vacuum tube equipment, the gas discharge regulator tube. When the voltage has increased to the zener level, the characteristic curve of the diode guarantees that it stops increasing. If used with unfil- tered rectifier outputs, the choppy wave- form shown is typical; if the average DC level with filtration is above the zener level, a steady supply results. 44 Figure 5: Using Series Current Pass Transis- tors. Because of the large amount of power burned up in the zener resistor, it is desirable to use the zener as a reference level rather than as the final active regulating element. This figure shows two similar ways of employing series "pass" transistors to regu- late the output voltage with a zener refer- ence. At (a) a single transistor is utilized; at (b) a "Darlington pair" is used to provide greater gain and thus a lower power level through the reference circuit of the zener diode and its resistor. The simplest type of regulator is the zener (or reference, avalanche, breakdown, or regulator) diode. This diode is similar to the rectifier, except that it is reverse biased and is always used with a series resistor. The basic circuit is shown in figure 4, along with a characteristic operating curve. As the voltage across the diode reaches the zener voltage, the diode will conduct enough current to keep the voltage drop across the diode constant, keeping V held at the zener voltage. If the current becomes excessive, the diode will burn up; this is why a current limiting series resistor is always used. Using a zener regulator consists of finding one with the proper zener voltage and power rating, and then calculating values for the series resistor. The zener diode should have a voltage rating equal to V and a current rating that exceeds l . The power rating is then calculated to be sure that it does not exceed the manufacturer's ratings, using Pz = V * l . The series resistor values are then calculated using equations 4a and 4b of table 2. Note that Vj n must be greater than V ; actually Vj n = V + l * R z , and Vj n should be measured at the lowest ripple voltage. Another feature of zener diodes is that they may be connected in series to increase the regulating voltage or to achieve a voltage not available in a single zener. A quick survey of zeners shows that it is not practical to use this simple approach in high current supplies because the wasted current thorough R z is inefficient and the generated heat becomes a problem. High current zeners are also expensive. A way to extend the current capacity of zeners is to use a series current pass transistor as shown in figure 5a. Most of the current now being supplied passes through the power transistor with the voltage of its base being controlled by the zener. The 2N3055 is a typical type of power transistor for this purpose. R z must now be chosen to carry the zener current and the base current. Zeners themselves can be a source of noise, and the capacitor (C = 50juF, typical) is added to provide filtering across the zener. This method will increase the output current, but more input current is wasted through R z . A more efficient method is to use two power transistors in a Darlington configuration as in 5b. The base current of Q2 can now be much smaller and reduces the amount of heat generated by R z . Using a zener in this way, with or without pass transistors, provides a fair regulation with few components and is suitable for some applications. However, it still does not guard against variations in the line voltage. A much better method would be to use a type of monitor to watch V and check for variations from the desired output. This is called a feedback, or closed loop regulator. Figure 6a shows a simple closed loop regulator. Q2 acts to bias Q-] according to the condition of V and uses the zener voltage as a reference. If V should suddenly raise or drop, Q2 will automatically compen- sate until V matches the zener voltage. Because of the slight voltage drop across the transistors, the output voltage will be slightly less than the reference voltage of the zener. The variable resistor is used to adjust the bias of Q2 and therefore adjust the output to exactly the voltage desired. C2 is necessary to help filter fast transients caused by sudden current changes from the load and also helps to keep Q2 from oscillating. In figure 6a Q2 acts like an amplifier for V . The important part of this signal is actually the difference between V Q and the reference voltage. A differential type of amplifier used here would therefore increase the sensitivity of the monitor, and an inte- grated circuit op amp fits this application neatly. A simple circuit using the op amp is shown in figure 6b. We can now say that we have a regulated power supply, but for how long? If a component in your system or supply should 45 Figure 6: A zener diode, or a zener with pass tran- sistor, is an "open loop" regulator which pays no attention to the load. The circuit can be improved using feedback techniques to create a "closed loop" regulator which senses the output voltage and feeds it back to help control the pass transistor(s). At the left is a typical closed loop circuit employing transis- tors; at the right is a simi- lar circuit using an opera- tional amplifier as the feedback element. Figure 8: Attempts to pro- tect against overvoltage and other ills of power supplies require careful thought. One of the most common methods is the "crowbar" circuit, so named because the SCR is used by brute force (as if it were a crowbar) to short out the power supply and blow the fuse or circuit breaker when the voltage exceeds a preset limit. V|N o I Vo (A) fail, it may take the rest of your system with it! One important approach to this problem is to limit the amount of current the supply will deliver. The most common current limiting device is the simple fuse. To pro- tect all the components in the system, the fuse is usually added in series with either the secondary or primary transformer leads. Fuses are rated at the maximum amount of current they will pass, and a formula for determining the proper fuse size is given in equations 5a and 5b of table 2. A compensa- tion factor is included for dealing with both fast and slow blow fuses. Since a lot of expensive damage can happen to your sys- tem in a very short time, fast blow fuses should be used. However, "experimental" => R ■v Figure 7: Current limiting is a very desirable protection method. Here is a typical current limiting configuration. The resistor R de- velops a voltage dependent upon the current to the load, and when the voltage goes too high, Q c begins to cut off the regulator's action allowing the voltage to drop. FUSE —d\_p- POWER SUPPLY rr v supplies that may be subject to accidental shorts and other abuses should use a slow blowing fuse. Fuses have one major drawback: They act so slowly that most semiconductor devices will blow before the fuse. Figure 7 shows a simple circuit that provides very fast current limiting. The resistor is chosen to produce a voltage drop as the current flows to the load. If the load current becomes too high, Q c begins to turn on, reducing the base current of the pass transistor, thus limiting the current. The monitor amplifier will try to keep the voltage constant, but is not able to produce enough output current. After the current limit is reached, the supply will act like a constant current source. Current limiting helps to protect the supply from shorts in your system, but the most important consideration is protecting your system from the supply. If the pass transistor short circuits, the entire unregu- lated output of the supply will deliver disaster to your integrated circuits. Pro- tecting the load from a failing power supply consists of ensuring that the output voltage never rises above the value that the load can tolerate. Solving this problem is another special diode, the silicon controlled rectifier (SCR). This diode conducts virtually no current until it is turned on, or "fired," at which time it conducts like a conventional diode. Figure 8a shows a simple type of overvoltage protection. The maximum V is set by the value of the zener diode. If V raises above IB) 46 the zener voltage, the SCR will fire and short out the supply, causing the output to go to zero. After the supply has shorted for a brief moment, the fuse will blow. Instead of using a fuse, the SCR can be used to trigger a relay or circuit breaker as shown in figure 8b. This method of shorting the supply to prevent high voltages from reaching the load is often referred to as "crowbar" overvoltage protection. Now at last we have a supply that provides ample current at the correct voltage with both current limiting and overvoltage protection. Getting the power to your printed circuit boards should be accom- plished by using the shortest possible leads to prevent induced noise from reaching the integrated circuits. The ideal is wide, well filtered distribution, such as a bus and ground plane system. Using a capacitor (around 20 fif or so) across the supply leads on the printed circuit board will also help to filter the noise. (For more information about noise on printed circuit cards, see the article "Data Paths," page 32, in the February 1976 issue of BYTE.) As anyone who has assembled one of the currently marketed system kits has seen, the regulator just described using discrete components can be fabricated on a single silicon chip. The integrated circuit regulator offers all the advantages of integrated circuits; ie: high performance, small size, easy implementation, and low cost. High current capacity is sacrificed because making high power monolithic integrated circuits has been difficult, but this is more than offset by the low cost of using many regulators. There is a distinct advantage' to using many small regulators instead of one large one. If one of the regulators fail, the rest of the system is isolated. Also, you only have to distribute unregulated voltage to each card and induced noise is much less of a problem, and adding additional regulators later on is no problem at all. Many kit manufacturers have adopted this philosophy in their designs. There are basically two kinds of integrated circuit regulators. The most common type is the fixed voltage regulator, exemplified by the LM340-XX or the 78XX series (where XX is a number indicating output voltage like 7805 for a five volt output). These are three terminal de- vices and can be wired in simply by placing bypass capacitors across the leads as shown in figure 9. These will supply up to one amp of current at any available voltage and have current limiting along with thermal shut- down if the heat becomes excessive. The other type of integrated circuit regu- ic REGULATOR .2 M F .OI^F rh Figure 9: Integrated Circuit Fixed Voltage Regulators. Eventually, all computer activity may be reduced to a few chunks of silicon, highly refined and tattooed with intricate patterns. Evidence of this is the simplification in regulation provided by the typical integrated circuit linear regulator. Outside of the gross filtering capacitor always used on the raw DC supply, V/ n , only two additional components are needed for the typical linear regulator. These components are small (typically ceramic) capacitors used to prevent radio frequency oscillations of the regulator. The only problem with contemporary IC regulators is that they tend to be limited in current capacity, hence the common practice of using many local regulators throughout a computer rather than one single regulator for the whole system. lator is the variable voltage regulator that lets you specify the voltage output. A typical design is shown in figure 10. R-| and R2 set the voltage output and an additional pass transistor is shown to extend the current capacity. There are many variations on integrated circuit regulators, and none should really be considered without consult- ing the data sheets on them. An excellent guide is the Voltage Regulator Handbook, available at a National Semiconductor dis- tributor. An important parameter of the integrated circuit regulator is the dropout voltage. This is the minimum voltage drop that the inte- grated circuit can tolerate. For example, a 7805 (+5) regulator has a dropout voltage of 2 V. This means that 2+5, or 7 V, is the minimum voltage that should be supplied. Further inspection of the spec sheet shows that the maximum voltage that can be placed across this integrated circuit is 35 V. The higher the input voltage, the more power is wasted in the form of heat. Vj n at this point is determined by slightly less than the peak value of V sec , and transformer voltage selection becomes important. If the value of V sec is chosen so that Vj n is exactly 7 V, the regulator will operate with minimal heat loss. However, Figure 10: Some forms of linear integrated circuit regulator are designed for more complex operations, such as the kind used with a pass transistor for vari- able voltage supply outputs. 47 this makes the power supply very susceptible to power surges or even slight "brownouts." The transformer voltage selection should be carefully weighed between heat dissipation and reliability. Saving the worst for last, the heat de- veloped by regulators is an important con- sideration in both the discrete and integrated circuit versions. In the discrete design, the pass transistor must have some way of dissipating the power | (Vj n — V ) * l ] that is wasted. The same is true for the whole integrated circuit regulator. One popular method of using the integrated circuit variety is to use an on card heat sink, with or without fans to carry the heat away. Recom- mended heat sinks are usually available with the device specification. I fabricate my own on card heat sinks by using 1/16 inch strap aluminum from the local hardware store and a hacksaw for cutting the fins. The reason that so much heat is de- veloped in these kinds of regulators is that they are really nothing more than elaborate dropping resistors. Is there a better way? One possible answer is the switching regulator. The switching regulator uses the pass transistor as a switch, regulating both the output voltage and the efficiency of the supply. A simple switching regulator is shown in figure 11. It is very similar to the series pass regulator except for the addition of a diode and an inductor. This inductor and R-) and C and the error amplifier form Rl ■VW- ;c v Figure II: All of the linear regulators are really just fancy resistance elements which change their resistance to accommodate changing load conditions while keeping voltage constant. As a result they burn up power. The "switching regulator, " such as that shown by this design idea, is an alternative which does not waste power in the pass transistor. It uses a variable duty cycle charging system for the output capacitor with feedback. In this conception, the pass transistor is always saturated "on" or "off" and never stays very long in the power consuming linear region of its operation. Thus the power wasted in the pass transistor is much smaller. an oscillator that continually turns Q on and off. When Q is turned on, the voltage flows freely through the transistor and the power lost is small. When Q is turned off, there is of course no power lost. The output then forms a series of pulses that is filtered by the inductor. The diode is used to ground out the back emf of the inductor. Regulation is maintained by varying the percentage of the cycle that the transistor is turned on. If the load requires more current, the time the transistor is turned on is increased. This is done by feeding the output back through the monitor amplifier to keep the voltage constant. Calculating the fre- quency of the oscillations is quite complex, and involves a trade-off between large expen- sive inductors and capacitors at low frequen- cies and expensive high speed switching transistors at high frequencies. Switching regulators have their own dis- advantages, however. It is hard to enjoy high efficiency at the lower voltages, like 5 V. Ripple is usually worse coming from a switching supply than a linear supply. An increased number of parts means some sacri- fice in reliability. The frequencies (usually between 10 and 100 kHz) cause radio fre- quency radiation to the extent that shielding requirements are currently under investi- gation by the FCC. For the "average" hobbyist, linear regulation with careful con- sideration to heat dissipation is a much simpler approach. What lies in the future? At the time of this writing, a three terminal 1.5 A regulator that is fixed or variable with few external components will soon be out. Tl is reported to be working on an integrated circuit switching regulator. A variable zener refer- ence integrated circuit and an overvoltage crowbar integrated circuit are in the works, all of which look as if they will be in the hobbyist's price range. Although I have tried to give an example of each of the most common power supply designs, I have barely scratched the surface. However, for the novice or the software inclined, simple regulated power supply pro- jects can be a lot of fun and give good introductory experience in reading com- ponent specs and packaging techniques. Integrated circuit regulator data sheets will often have excellent application circuits for building a fixed or variable supply. Then, if you should transcend the state of a simple kit builder and begin experimenting with components and measuring the ripple and percent regulation and operating tempera- ture, then you will have arrived at a kind of power supply scientist, and — well, more power to you!" 48 It offers It CO sts less. No system is more complete. None is less expensive. OSI system boards and full documentation start at $29. Fully assembled systems at $439. Only you govern where they end. And OSI offers more features than ever. Full multiprocessing capabilities. An innovative full color graphics and alphanumeric video system. New options for even greater system expansion. New software. And two of the best-priced floppy disk options you'll ever see. See it all in the OSI catalog. Available now at your computer store or direct from OSI. □ Send me the free brochure on OSI kits and fully assembled computers. □ Send me the full line OSI catalog. $1.00 is enclosed. Ohio Scientific Instruments Dept. B 11679 Hayden Street Hiram, Ohio 44234 (216)569-7945 Pick Up BASIC by PROM Bootstraps Jim Kreitner RCA 6410 Kenilworth Av Riverdale MD 20840 The output of the regulator, and ground connections, should be wired as follows: +5V GND IC1 8223 16 8 IC2 74L30 14 7 IC3 74L20 14 7 IC4 74L04 14 7 IC5 74L04 14 7 Table 1: Power Wiring List for Figure 1. Most Altair owners tire of handloading the bootstrap loader for BASIC in a very short time, even though it is only 20 bytes. Here is a simple and very effective design for a 32 byte PROM board that holds the bootstraps for Altair Extended, 8 K, or 4 K BASIC (Version 3.2). The normal bootstrap sequence for the Altair BASIC programs is a two stage process which is initiated by the short programs which are usually toggled into the machine but are found in PROM in this version of the scheme. The first stage of the process is what is taken care of by the bootstrap PROM programming: The first block on the load tape is a longer bootstrap program which has a more elaborate loading facility. In principle, the longer bootstrap could have been used by MITS; but in practice, its length (over 150 bytes) makes hand toggle switch entry impractical. Split Octal Address Octal Code Label Op Operands Commentary 300/000 046 057 EXTBASIC MVI H.057 Point H to extended BASIC load address; 300/002 303 014 300 JMP BOOTS Go to bootstrap routine; 300/005 046 037 BASICSK MVI H.037 Point H to 8 K BASIC load address; 300/007 303 014 300 JMP BOOTS Go to bootstrap routine; 300/012 046 017 BASIC4K MVI H.017 Point H to 4 K BASIC load address; 300/014 056 256 BOOTS MVI L.256 Initialize low order load address; 300/016 061 035 300 JKLUGE LXI SP, KLUGE Initialize stack pointer; 300/021 333 006 IN ACRSTATUS Read the SIO status flags; 300/023 017 RRC Test low order bit in carry flag; 300/024 330 RC Crude trick jumps to JKLUGE if not ready 300/025 333 007 IN ACRDATA Read the SIO data value; 300/027 275 CMP L Is A = L [test null condition] ; 300/030 310 RZ Tricky jump to JKLUGE if not null; 300/031 055 DCR L L := L — 1 [point to next byte] ; 300/032 167 MOV M,A @HL := A [store byte in memory] ; 300/033 300 RNZ if nonzero, lake trick jump to JKLUGE; 300/034 351 PCHL go to tape bootstrap routine; 300/035 016 300 KLUGE DA JKLUGE define address constant for trick jumps via return mechanism and ROM stack; Listing I : PROM Bootstrap Loader, listed as assembled for the Altair SIO board. The origin of the program is shown as location 300/000 (split octal addressing format). A version for a second PROM, starting at location 314/000, can be blown from the same assembly for use with the ACR interface, as described in the text. To derive the second version, simply substitute the octal value 314 in place of 300 in the shaded boxes shown in the listing. Operation The most general form of the bootstrap is shown in listing 1, suitable for either SIO or ACR use. The desired bootstrap is selected by examining the proper address, setting switch A14 down, and when the tape leader byte begins, the Altair is switched to the RUN mode. The PROM addressing is selected so that a minimum of switch chang- ing is necessary — the schematic is for an Altair which uses a 2SIO board for the interface to the system's terminal. Since Altair BASIC requires that sense switch A 1 5 is raised when loading BASIC from an Altair ACR cassette tape interface, and that Al 1 is raised for a 2SIO terminal, and A10 is raised for one stop bit, all that is necessary after power up and reset is to examine split octal location 314/OXX (where XX indicates the version of BASIC being used) and to set A14 down. The tape is then ready to load. If you are using an SIO interface for your terminal, then A11 and A10 should be inverted before they go to the 74L30. The address of the bootstrap loader will then be split octal 300/000 instead of 314/000. If you use only one version of BASIC the bootstrap can be rewritten with a tape leader detector pro- ceeding the bootstrap, as shown in listing 2. This allows you to run the Altair without waiting for the leader byte to appear. The leader detector loops until the leader byte is received, and then jumps to the bootstrap loader proper. Circuit Description The circuit of figure 1 uses only six integrated circuits including the voltage regu- lator, and can easily be fabricated with a prototype board with either point to point wiring, Vector "Slit 'N Wrap" or standard wirewrap techniques. The 8223 PROM is 50 obtainable from many sources, and circuits to program the 8223 have appeared in previous issues of BYTE. Alternately, an 82S23 can be ordered and programmed by many of the larger electronics distributors for a greater price. / For example, we at BYTE have purchased 82S23s burned from mark- sense cards by Hamilton Avnet.J The num- bers shown on the schematic are the Altair bus edge connector fingers. Circuit Limitations Because the circuit is designed for a minimum amount of switch flipping, it limits the memory to 48 K maximum if addressed at split octal 300/000 and slightly greater if addressed at 314/000. If you use more memory than this, you will have to change the circuit somewhat to obtain a higher address, avoiding conflicts on the bus, and change a few address bytes in the program. It will then be slightly less conve- nient to use; however, it will remain a vast improvement over the "power up, switch flipping blues."" Split Octal Address Octal Code Label Op Operand Commentary 300/000 333 007 BOOTER INP ACRDATA read potential leader byte; 300/002 376 256 CPI 256 is it the leader byte? 300/004 302 000 300 JNZ BOOTER if not then continue looking; 300/007 041 256 XXX LXI H.START HL := [starting address valuel ; 300/012 061 031 300 JKLUGE LXI SP.KLUGE initialize stack pointer for kluge jumps; 300/015 333 006 INP ACRSTATUS read status; 300/01 7 017 RAR test low order bit in carry flag; 300/020 330 RC if carry then take kluge jump to JKLUGE 300/021 333 00/ INP ACRDATA A := data [read input byte) ; 300/023 275 CMP L is A - L | test null condition) ; 300/021 310 RZ if null then take kluge jump to JKLUGE; 300/025 055 DCR L L :* L— 1 [point to next byte) ; 300/026 167 MOV M,A @HL :- A [store byte in memory] ; 300/027 300 RNZ if not null, then take kluge jump; 300/030 351 PCHL go to tape bootstrap routine; 300/031 012 300 DA define address constant for trick jumps via return mechanism and ROM stack; Note: The value XXX at location 300/011 should be replaced by 057 for Extended BASIC. 037 for 8 K BASIC, and 017 for 4 K BASIC. Listing 2: PROM Bootstrap Loader with Leader Detection, customized for a particular version of BASIC and shown in the form needed for the A Itair SIO board. The origin of the program is shown as location 300/000 (split octal addressing format). A version for a second PROM, starting at location 314/000, can be blown from the same assembly for use with the ACR interface as described in the text. To derive this second version, simply substitute the octal value 314 in place of 300 in the shaded boxes shown in the listing. This version also requires substitution of a specific load address constant for extended BASIC (octal 057), 8 K basic (octal 037) or 4 K basic (octal 01 7) at location 300/01 7. BUS TIMING AI2g5> A I I [8T>— AI0[37>- A9 gj>- A8 [|5>- A7 m>- A6 Hf>- A5|g>- A4gg>- A3|3i>- A2(e[>- Al [8§>- AO (7|>- ICSiLX^ IC4 &* >>>, p* 1- DV H^M^ ROM WITH BOOTSTRAP X VALID ADDRESS X S MEMR XX- -VALID DATA r^V[5i>- GND Qsg>- [|5— I ;6.8/iF IC6 7805 + 5V (SEE TABLE) BYPASS WITH AfiF DISCS T-T-T-T ■3= -g|> D7 -H!> D6 -H£> D5 -gj> 04 -[4|> D3 "E> D2 -|93> Dl -H5>DO TO ALTAIR DATA IN BUS Figure 1: Schematic of the Altair Bus PROM Interface. One such interface is required for each PROM in principle; however, some of the decoding in the gates and inverters can be shared between two or more PROMs at different addresses. 51 Continued from page 16 lished works), and now in January, the author will have a federal copyright the very instant his work is put to paper. (Now it has to be "published" with copyright notice to get the federal protection.) This will have deep impact on program proprietors who think they can protect by trade secret the software they offer for sales. Calvin N Mooers Rockford Research Inc 140'/2 Mount Auburn St Cambridge MA 02138 IN DEFENSE OF THE RIGHT TO PUN Enclosed is my renewal for another year of BYTE. I was very reluctant to renew my subscription for one particular reason: The constant punning in the editorial and text material drives me crazy. It may seem like a petty complaint, but the puns and computer analogies completely spoil my enjoyment of an otherwise fine magazine. I may be the only reader that feels this way, but if the punning continues at its current level, I probably won't renew my subscription next year. Richard Kramer You should hear the complaints from the people around the office; at least the puns in BYTE, such as they are, are limited in context and subject matter. However, my observations on the matter of peoples' re- actions to puns are that the more they complain the more they really want 'em. Any comments from other loyal defenders of a sophont's right to pun?... CH Deborah Luhrs says, "Give that man a pun on the back. " BITIE BYTE Publication! Inc 70 Miln S( Pclcrtwr«j|h NH 03 4 SB MJ-924-7217 DO NOT DESTROY UNSOLD COPIES OF BYTE Dear Distributor, If you have any copies of BYTE laft over please do not cut off the coven and send them to us as proof that you did not Mil them. We ire completely sold out of nine of the f ir« twelve issue* of BYTE and have thousands of requests for back ittuei, II you have any left over which you wish to return, we shall be glad to credit you fat the postage costs and, of course, give you full credit for the magazines returned os well. We anticipate the back issue demand to go on for a long time ai new people dicover BYTE to until informed otherwise, please either hold the old copies for your own future sale or return them INTACT to ui. Thanft you, QunsL 2miq Deena Zeely /l Co^dLu /lofl£/T OiBWb KUDOS I'm happy to send along my check for renewal. I look forward to each issue which seems better than the last. Please keep the 6800 articles coming. You've already saved me my renewal check. Again, well done and keep it up. Bill Bennett K3TNM Thanks. CIE ENTHUSIASM I was fired with enthusiasm by the idea of a Community Information Exchange /Octo- ber 1976 BYTE, page 90]; please publish letters or articles which would aid such a project. More immediately, what can I do to help initiate such a net? I have written to Mr Wilber and Mr Fylstra to ask the same question but I believe your magazine could perform a valuable service by acting as a clearing house of ideas on this project. Despite my enthusiasm for the idea of a CIE, I feel that Messrs Wilber and Fylstra were unduly hard on computer profes- sionals. I'm not one, but I read some of the literature and my impression is that, far from "have(ing) protected their privileged position by keeping their knowledge to themselves," computer professionals reveal many more "secrets" in the various journals than do most professional groups, especially about software and software theory. Useful and efficient programs for almost any appli- cation can be written using the often quite specific articles and books on programming which literally abound. Even compilers are within the scope of the knowledgablc ama- teur with books such as Compiler Design Theory (Lewis el al) which contains a very specific receipe for a simple BASIC compiler. It is true that people who earn a living writing programs have shown a reluctance to donate their efforts to hobbyists and some have even been intemperate in their refusal, but this is scarcely surprising; in my experi- ence they are willing to share their knowl- edge and in the long run that is all that a dedicated hobbyist needs. E N Svendsen Apt 1801 11200 Lockwood Silver Spring MD 20910 HAM, CB CALL SIGN COORDINATION BY COMPUTER Well, at last I got my subscription copy of BYTE. I really enjoy the articles, but a lot of it is over my head. It seems that quite a few computer people are also hams. I was first licensed back in 1955 and currently hold the call WA6TLJ. But there is no time for hamming until I get my new 8800b kit put together and up and running. I have an idea about a computer applica- tion that may help out the Citizen Band operators. How about a computer generated list of modified nouns that would be issued by the FCC in place of the awkward present system of letters and numbers? The whole idea of using letters and numbers to identify a voice transmission is out of date. Back in the 30s when most communication was done in Morse code the use of meaningless alphanumerics was quite practical. It was quicker. However, numbers and letters are hard to use in plain language. To identify the letter "B" one has to use a phonetic like "Bravo." "Charlie" for "C." A waste of time. Just as a programmer finds COBOL easier to use than a mnemonic assembler, so the average person would prefer to use a name instead of a number or letter combination to identify almost anything. Likewise CBers prefer the use of an adjective and a noun to identify one another. I would suggest the following as modified noun call sign for stations using only voice transmission: K (two-digit number) (adjective) (noun). Example: K27 DANCING PLUM. If there are 900 useable adjectives, and if we can find 1,400 acceptable nouns, then there would be enough call signs for all the people who want a personal radio and it would not be so difficult to identify one another. Now we need a computer program to select a good list of adjectives and nouns and to spot any bad combinations. John B. Palmer POB 27462 Tucson AZ 85726 Now, all you have to do is get this same message through to the appropriate people at the FCC and push like crazy. HELP!!! I have bought a Raytheon terminal DIDS- 400, model No. 402-2A-M1 1. Unfortunately it doesn't quite work. I am having some difficulty in finding a schematic. Could you please help me? William R Hill Jr 214N600E#3 Provo UT 84601 Readers with information to help Mr Hill, kindly write him. WHAT ARE SR-52 INTERFACE DEFINITIONS? Recently, I have become interested in personal computers and I am planning on having my own sometime in the near future (within 6 months or so). My problem is this: I also have at this time an SR-52. I would like to have some information ... I really can't see forking out the cash for a Tl printer if I am going to be getting a printer for a computer. What I would like to know: Is there anyone who could help me out on interface requirements? Has anyone done this type of thing yet? I saw the article on adding a math function unit in BYTE No. 13 which is a step in the direction I want to go, but, doesn't quite meet the idea I have. I would like for my computer to be able to operate my SR-52, and my SR-52 to operate my computer, providing hard copy both ways, or, on demand from either. Any ideas you have or could get for me would certainly be appreciated. Cost is the biggest factor so far. As a matter of fact, any information on the SR-52's data contacts 52 DIGITAL DATA RECORDERS USING 3M DATA CARTRIDGES Model 3M3 $199.95 BRAND NEW DESIGN Featuring the radically new "UNIBOARD" method of construc- tion for data cartridge drives. The major computer manufacturers are changing from cassettes to cartridges at a rapid pace because of freedom from binding and greater data reliability. Now, these professional type units are priced within the range of all data users. Being made primarily as OEM data storage units for the world's major manufacturers, these units, together with controller board and software ROM, are being made available to the individual user as well. * Appearance and specifications may be changed slightly following acceptance tests now being conducted by OEM users. Model 3M1 $169.95 MODEL 3M3 - Uses the 3M Data Cartridge, model DC300. This cartridge contains 300 feet of .250 tape in a sealed container. Records and plays at 9600 baud NRZ, 4800 baud P.E. Nominal speed 8" per second. Max. recommended flux density 1200 fcpi. Using four tracks, you can store nearly 2 megabytes of data on a cartridge. Cartridge measures 4" by 6". Turns counter indicates tape position. Inter-record gap light gives more accurate position. 2SI0(R) is not required for use, but is highly recommended for 8080 and Z80 systems. COMMON SPECIFICATIONS: FULL SOFTWARE CONTROL of record, play, fast forward and rewind. LED indicates inter-record gaps. EOT and BOT are sensed and automatically shut down recorder. Can also be manually operated using the switches on top which parallel the software control signals when not under software control. Signal feedback makes it possible to software search for inter-record gaps at high speed. 1 17V — 60 Hz — 5 watts. TWO I/O PORT CONTROLLER WITH ROM - Controls your terminal and one or two cassettes or cartridge units. On board ROM (For 8080 and Z80) has terminal and cassette software for turn on and go operation. NO MORE BOOTSTRAPPING. Plug in compat- ible with Altair and IMSAI. Loads and Dumps memory in Hex from the keyboard, formats tape files, punches tape, functions as a word processor and searches for files and four letter strings within files. Keyboard controls the cartridge units above on rewind and fast forward. Special keyboard codes enable you to dump and read Phase Encoded tapes as well as NRZ tapes. (Including K.C. Std.) Call routines give access to these from your software. MODEL 2SIO(R) -With 1 ROM for NRZ Cassettes $169.95 (Assembled & Tested) (Half of above Program) With 2 ROM's for Data Cartridges and P.E. cassettes. $189.95 (Full Program) Kits available for $30 off above prices. OVERSEAS: EXPORT VERSION - 220 V - 50 Hz. Write Factory or — Datameg, 8011 Putzbrunn, Munchen, Germany; Nippon Automation 5-16-7 Shiba, Minato-Ku, Tokyo; EBASA, Enrique Barges, 17 Barcelona, Spain; Hobby Data, SpireaVagen 5, Malmo, Sweden; G.Ashbee, 172 (field Road, London SW 10-9AG. MODEL 3M1 - Uses the 3M Data Cartridge type DC100A. This cartridge contains 150 feet of .150 tape and is the same cartridge used by H.P. and others. Runs at 4800 baud NRZ, 2400 baud P.E. Tape speed adjustable, but nominally set at 5"/second. Maximum recommended flux density 1200 fcpi. Cartridge measures 2-1/8" by 3-1/4". This model is ultra compact, yet extremely capable. It is intended for word processing, mailing list use and other applications requiring the compact storage of data. Data location is by inter-record gaps and automatic file search. See Common Specs and 2SIO(R) below. 2SI0(R) is not required for use, but is highly recommended for 8080 and Z80 users. For 8080 and Z80 users: Comes complete with software program listings for the programs on the 2SIO(R) ROM below. 6800 software is being written, but not yet completed. These programs give FULL SOFTWARE CONTROL. CARTRIDGE AVAILABILITY: Cartridges are made by 3M, ITC, Wabash and others. They are available at all computer supply houses and most major computer service centers. We can also supply them at normal current list prices. NEW: AUDIO CASSETTE INTERFACE* Phase Encoding interface for use with audio cassettes or NRZ recorders. Runs 2400 baud phase encoded on good quality audio cassette recorders. May also be used with 2SIO(R) above to use the 2SIO(R) cassette programs with your audio cassette player. Can also accommodate "Tarbell" tapes and K.C. Std. tapes. $50.00, Wired 8i Tested. - $35.00, Kit Form. *N0TE: You do not require an interface with the 3M1 and 3M3 unless you Phase Encode. But, you do need an interface to use the 2SIO(R) with your own audio cassette. "COMPUTER AID" and "UNIBOARD" are trademarks of the NATIONAL MULTIPLEX CORPORATION. The 3M Data Cart- ridges are covered by 3M Patents and Marks. "UNIBOARD" Patents Pending. For U.P.S. delivery, add $3.00 each item. Overseas and air shipments charges collect. N.J. Residents add 5% Sales Tax. WRITE or CALL for further information. Phone Orders on Master Charge and BankAmericard accepted. NATIONAL MULTIPLEX CORPORATION 3474 Rand Avenue, South Plainfield, N.J. 07080, Box 288 Phone (201) 561-3600 TWX 710-997-9530 would be helpful as then I might be able to design my own interface. Ralph V Getsla MMI(SS) NPS Staff Mare Island Naval Shipyard Vallejo CA 94592 Yes indeed, it should be possible to make an interface to the SR-52 plug. There are several ways this might happen: One is the way pioneered by Richard Nelson in his HP-65 users group newsletter with the HP-65, namely the owner doing research on what the components and design elements of a calculator are, then building interfaces. A second way is for someone at Tl to send us a note on the interface definition and con- straints for driving outputs, a note which might be published in BYTE as an article. The fact that it is possible is demonstrated by the existence of a general aviation naviga- tion unit which is manufactured by Bendix, and which can optionally be programmed by an SR-52 when it is plugged into the calculator 's printer socket. AMATEUR RADIO NETWORKING INTEREST I am interested in the current relationship between computer and radio amateurs. I have a BS in computer science (received a couple of months ago) as well as an amateur license. I have discussed some possibilities with Lee, WA9FGK, and we would like to get in contact with other hams and/or computer hobbyists with a similar interest. We would appreciate it greatly if you could communicate this lo interested people. Richard Rosenbaum WA2AOI 61-04 Little Neck Pkwy Little Neck NY 11362 DOUBTING LIBRARIANS I recently requested that our company subscribe to BYTE magazine for the com- pany library. I filled out all of the necessary forms and sent them to the librarian. A few days later, I got a call from the librarian asking me a lew questions about the maga- zine. The conversation went something like this: "In this magazine, are there many ad- vertisements?" "... A few." "Are there many articles?" ". . . Quite a bit." "Are there many black and white pic- tures?" ". . . The pictures are mostly black and white." "They do have some colored pictures?" ". . . Yes." "In this 'BYTE' magazine, do they have a centerfold?" With some explaining in between subdued laughter, I finally got approval and today I got the company's copy of BYTE magazine with no centerfold. Paul W Schmitt Mine Safety Appliances Co 100 N Braddock Av Pittsburgh PA 15208 REGARDING BAR CODES HIIIIIIII li Mill III lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll llllllllllllllllllllllllllllllllll llllllllllllllllllllllllllllllllll llllllllllllllllllllllllllllllll iiiiiiiiiiiiiiiiiiiniiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii HIIIIIIII i ii iiiiii in iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii Henry G Baker Jr MIT Laboratory for Computer Science 545 Technology Sq Cambridge MA 02139 Next month, we'll print the decoded text of the letter Henry sent, which arrived as this month's issue went to press. The format of this letter is ratio encoding, format 2 of the three formats presented in November [page 12]. No synchronization or parity characters are used in this bar code text, which is the first paragraph of Henry's letter. This letter was produced by the MIT Artifi- cial Intelligence Laboratory Xerographic Printer. 54 for quality electronic parts and tools. OK MACHINE & TOOL CORPORATION 3455 Conner St., Bronx, N.Y. 10475/ (212) 994-6600/ Telex 125091 Black Friday »■,:, ;»*'=i Robert Baker 15 Windsor Dr Atco NJ 08004 00010 00020 00030 00040 00050 00060 00070 00080 00090 00100 00110 00120 00130 00140 00150 00160 00170 00180 00190 00200 00210 00220 00230 00240 00250 00260 00270 00280 00290 00300 00310 00320 00330 00340 00350 00360 00370 00380 00390 00400 00410 00420 00430 00440 00450 00460 00470 00480 00490 00500 00510 00520 00530 REM REM REM REM This computer game provides a realistic simulation of the actual stock market rather than a completely randomized happening of events. The program was written in BASIC for a DEC PDP-10 system so you may have to modify it slightly for your particular system. The game is programmed to allow one to four players with an option to play a game lasting from 3 to 1 years (rounds). The first section of the program contains all the data to simulate the stock market, the names and abbreviations for the stocks, and AUTHOR: ROBERTW. BAKER THIS GAME IS WRITTEN TO PROVIDE A REALISTIC MODEL OF THE ACTUAL STOCK MARKET RATHER THAN A COMPLETELY RANDOMIZED HAPPENING OF EVENTS. RANDOMIZE DIM AI36,12),U(11,9I,E(11,9),I(10).T(10),S$I10I,F(9I,M(4,12I,V$(10).Y$(10I MAT READ A(36,1 21.UI1 1 ,9), Ed 1 ,9), I I10),S$I10),V$I10),Y$(10) REM DATA TO SIMULATE REAL LIFE STOCK MARKET DATA 1 ,0 .0 ,0 ,0 ,0 ,0 ,0 ,0 ,5 ,0 ,0 DATA 0,0,0,0,0,0,-25,0,0,0,0,0 DATA 1,0,0,0,0,0,0,15,0,0,0,0 DATA 0,0,0,0,-5.0,0,0,0,0,0,0 DATA 1,0,0,0,0,0,0,0,0,5,0,0 DATA 0,0,0,0,0,0,5,0,0,0,0,0 DATA 1,0,0,0,0,0,10,0,0,0,0,0 DATA 0,0,10,0,0,0,0,0,0,0,0,0 DATA 1,0,0,0,0,0,15,0,0,0,0,0 DATA 0,0,-5,0,0,0,0,0.0,0,0,0 DATA 1,8,5,5,0,0,0.7.0,0,0,0 DATA 0,0,0,0,0.0,0,0.-25,0,0,0 DATA 1,0,0,0,0,0,0,0,10,0,0,0 DATA 0,0,-10,0,0,0,0,0,0.0,0,0 DATA 1,0,5,0,0,0,0,0,0,0,0,0 DATA 0,10,0,0,0,0,0,0,0,0,1,0 DATA 1,0,0,0,0,17.0,0,0,0,0,0 DATA 0,0,0,0,0,-15,0.0,0,0,0,0 DATA 1,0,0,0,0.0,0,0,10,0,0,0 DATA 0,0,0,0,0,0,0,-15,0,0,0,0 DATA 1,0,0,0,0,0,0,10,0,0,0,0 DATA 0,0,0,0,0,0,0,-15,0,0,0,0 DATA 1,0,0,-8,0,8,0,0,5,0,0,0, DATA 0,-10,0,0,0,0,0,0,0,0,0,0 DATA 1,8,0,0,0,0,0,0,0,0,0,0 DATA 0,0,0,0,0,0,0,-5,0,0,0,0 DATA 1,0,0,3,0,0,0,0,0,4,0,0 DATA 0,-8,0,0,0,0,0,0,0,0,0,0 DATA 1,0,0,0,5,0,0,0,0,0,0,0 DATA 0,0,0,0,0,-10,0,0,0,0,0,0 DATA 1,0,0,0,0,0,0,10,0,0,0,0 DATA 0,-8,-5,0,0,0,0,0-7,0,0,0,0 DATA 1,10,0,0,0,0,0,0,0,0,0,0 DATA 0,0,0,0,0,0,0,0,0,-14,0.0 DATA 1,-10,0,0,0,0,0,0,0,0,0,0 DATA 0,0,0,0,0,0,-5,0,0,0,0,0 DATA -2,-10,-7,-9,-2,-9,-7,-16,^» DATA 26,16,25,8,-14,21,14,-4,17 the dividends paid by each stock. When the program is first started the player may ask for instructions if he is not familiar with the game. Then a table showing available stock names, abbreviations, and dividends is printed. This table is always printed for reference whether or not instructions are requested by the player. In the program, stock names are stored in the vector S$, stock abbreviations in the vector V$, and yearly dividends are in vectors l$ and Y$. Matrix M is used to record each player's holdings, cash on hand, and dividends or interest for each year (round). The market changes for each year are determined by first selecting at random one of the 36 market vectors of matrix A. Each of these vectors can only be selected once during a game. Bit 12 is set to a one when that vector is used. Bit one of each data vector indicates whether the year (round) will be a bull (1) or bear (0) market. For a bull market, a vector is selected from matrix U; and for a bear market, a vector is selected from matrix E. This randomly selected price change vector is added to the market vector and is stored in vector T to record the price change for that year for further reference. The price changes are also added to vector F which keeps track of the current price of each stock. After the price changes are determined and recorded, the program checks for stock splits or bankruptcies. Any stock valued at $150 or more splits and the new value is rounded to the next highest dollar. Anytime a stock splits, a message will be printed indicating the split and all players will receive the extra number of shares. Any stock that drops in value to zero goes bankrupt. A message will inform all players of the bankruptcies and all shares of that stock will be surrendered. The value of that stock is then re-established at $100. When all necessary housekeeping is finished, the pro- gram will give each player dividends or 56 interest on all stocks that yield interest or dividends and are valued at $50 or more. For each year a table will be printed indicating the current market price of each stock, the change since last year, the number of shares each player owns of each stock, dividends received for that year by each player, and the new cash total of each player. Every player then has the oppor- tunity to sell and/or buy any shares he desires. The "official" stock abbreviations as printed at the beginning of the program are used to select what stocks are bought or sold and the program will not accept incorrect abbreviations. If a player tries to sell shares Table 1 : All stock and security names are purely fictitious; any resemblance to a real life company or firm was not intentional, A brief description of each stock follows: HIGHWAY IMPROVEMENT BONDS YIELD 5% An excellent state bond with good security and income potential, but no appreciation. X-PANDO CORPORATION YIELD 1% A rapidly expanding industrial firm that reinvests most earnings on research, causing low yield. The price-to-earnings ratio is extremely high. SEASIDE PROPERTIES INC NO YIELD Good appreciation prospects but no dividends. In the immediate future, however, the proposed beach cleanup program could have great effect on earnings. OLD DOG MUTUAL FUND YIELD 4% A common stock mutual fund that represents a good, steady income, with only fair appreciation. RUBBLE DEVELOPMENT YIELD 7% A high income real estate investment with steadily depreciating capital assets. SLIPPERY OIL COMPANY NO YIELD Very speculative investment since profits go toward new oil wells. No dividends are expected. BUMPY TRANSPORT COMPANY NO YIELD High appreciation investment with a good outlook depending on the administrative ability of its new board of directors. No dividends are expected since all profits are recycled into the company. KRASH AUTO COMPANY YIELD 2% A medium size auto company representing a somewhat speculative investment. It has a fairly high price-to-earnings ratio with a low yield. ZAP ELECTRONICS INC YIELD 6% A highly speculative, high income stock with a fair to poor long term prospect. BLINKEY POWER AND LIGHT YIELD 3% A steadily growing utility company in an estab- lished industrial area. 00540 00550 00560 00570 00580 00590 00600 00610 00620 00630 00640 00650 00660 00670 00680 00690 00700 00710 00720 00730 00740 00750 00760 00770 00760 00790 00800 00810 00820 00830 00840 00850 00860 00870 00880 00890 00900 00910 00920 00930 00940 00950 00960 00970 00980 00990 01000 01010 01020 01030 01040 01050 01060 01070 01080 01090 01100 01110 01120 01130 01140 01150 01160 01170 01180 01190 01200 01210 01220 01230 01240 01250 01260 01270 01280 01290 01300 01310 01320 01330 01340 01350 01360 01370 01380 01390 01400 01410 01420 01430 01440 01450 01460 01470 01480 01490 01500 01510 01520 01530 01540 DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA REM DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA REM DATA REM DATA 18,23,11,12.46,18,-5,34,15 23,28,-2,11,56,19,30,29,14 20,15,15,7,-20,15,13,-10,12 17,21,13,-2,37,23,23,19,14 19,24,17,9,-5,26,13,-7,15 11,18,14,11,67,15,22,18,13 13,31,1,14,-11,18,18,-14,10 14,-8,19,-1,-9,25,-10,13,19 24,24,23,20,51,27,38,33,18 12,14,13,10,10,20,21,25,8 7,-6,10,-10,30,6,-19,22,-2 9,10,7,-5,-20,12,21,18,7 7,8,5,-6,40,3,16,-14,4 8,6,4,4,40,8,4,-12,3 6,4,3.3,-15,5,8,-8,5 5,7,-1,-3,45,6,-10,10,4 -2,6,-3,-8,-20,7,10,14,6 11,11,-5,-7,30,10,-11,-18,-4 -5,13,-8,6,25,4,18,-22,-4 -8,-1 0,-1 0,-1 5,-20,-20,-23,-25,-7 5,1,0,4,7,0,0,2,6,3 SECURITY NAMES "HIGHWAY IMPROVEMENT BONDS" "X-PANDO CORPORATION" "SEASIDE PROPERTIES INC." "OLD DOG MUTUAL FUND" "RUBBLE DEVELOPMENT" "SLIPPERY OIL COMPANY" "BUMPY TRANSPORT CO." "KRASH AUTO COMPANY" "ZAP ELECTRONICS" "BLINKEY POWER & LIGHT CO." ABBREVIATIONS "HIB","XP","SP","ODM","RD","SO","BT","KA","ZE","BPL" DIVIDENDS ,"NONE","$4","$7","NONE","NONE","$2","$6","$3" PRINT "WANT INSTRUCTIONS (Y OR N)"; INPUT R$ IF RS="N",GO TO 1280 IF RS<>"Y",GOTO990 PRINT PRINT "THE MAIN OBJECT OF BLACK FRIDAY IS TO SHREWDLY IN VEST $5,000" PRINT "IN THE GAME'S 10 SECURITIES, BUYING AND SELLING EACH YEAR FOR PRINT "A MAXIMUM OF 10 YEARS (ROUNDS) IN AN ATTEMPT TO BECOME" PRINT "THE WEALTHIEST PLAYER." PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRING PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT "AVAILABLE SECURITIES, ABBREVIATION, DIVIDENDS PER SHARE- PRINT FOR N=1 TO 10 PRINT S$(N),VS(N),Y$(N) NEXT N PRINT PRINT "NUMBER OF PLAYERS (1 TO 41 = "; INPUT P IF P>4,GOTO 1360 IF P<=0, GO TO 1360 MAT M = ZER PRINT PRINT "NUMBER OF YEARS 13 TO 10) = "; INPUTS IF S<3, GO TO 1420 IF S>10, GOTO 1420 MAT F-ZER FOR N=1 TO P LET M(N, 11=5000 NEXT N MATT-CON MATT-(100)"T LET Y-0 FIND MARKET CHANGES FOR NEXT ROUND. SEE IF BULL OR BEAR MARKET EACH YEAR ALL PLAYERS WILL RECEIVE DIVIDENTS ON EVERY PAYING" STOCK WHICH IS WORTH $50 OR MORE. THEN EACH PLAYER WILL" GET A CHANCE TO SELL ANY STOCKS HE OWNS OR BUY ANY STOCKS" HE WISHES. AT THE END OF THE SELECTED NUMBER OF YEARS," EACH PLAYER'S NET WORTH WILL BE CALCULATED AND THE WEALTHIEST- PLAYER WINS!" IF THE VALUE OF ANY STOCK FALLS TO 0, THAT STOCK GOES BANKRUPT" AND ALL SHARES ARE SURRENDERED. THE VALUE OF THE STOCK IS THEN" ESTABLISHED AT $100. IF THE VALUE OF ANY STOCK REACHES $150," THERE WILL BE A STOCK SPLIT. ANY PLAYERS OWNING SHARES OF THAT" STOCK WILL RECEIVE THE EXTRA SHARES, THE VALUE OF THE STOCK IS" HALVED (ROUNDED UP TO THE NEXT HIGHEST DOLLAR)." A TABLE WILL BE PRINTED EACH YEAR GIVING THE CHANGE IN VALUE" OF EACH STOCK, THE CURRENT PRICE, AND THE NUMBER OF SHARES" EACH PLAYER OWNS OF EVERY STOCK. ALSO, ANY DIVIDENDS RECEIVED" FOR THE YEAR WILL BE SHOWN ALONG WITH EACH PLAYER'S TOTAL CASH." * GOOD LUCK TO EVERYONE! ««••••" 57 01550 10560 01570 01580 01590 01600 01610 01620 01630 01640 01650 01660 01670 01680 01690 01700 01710 01720 01730 01740 01750 01760 01770 01780 01790 01800 01810 01820 01830 01840 01850 01860 01870 01880 01890 01900 01910 01920 01930 01940 01950 01960 01970 01980 01990 02000 02010 02020 02030 02040 02050 02060 02070 02080 02090 02100 02110 02120 02130 02140 02150 02160 02170 02180 02190 02200 02210 02220 02230 02240 02250 02260 02270 02280 02290 02300 02310 02320 02330 02340 02350 02360 02370 02380 02390 02400 02410 02420 02430 02440 02450 02460 02470 02480 02490 02500 02510 02520 02530 02540 02550 LET D=INT(11'RND+1I LET C=INT(36'RND+1) IF AIC.12M.GOTO 1570 LET A(C,12)=1 FOR N=2 TO 10 IF A(C,1) = 1.GOTO 1660 LET W$="BEAR" LET F(N-1)=A(C,N)+E(D,N-1) LETT(N)=T(N)+F(N-1) GO TO 1720 LET F1N-1)=A(C,N)+U(D,N-1I LET W$="BULL" LET T(N)=TIN) + FIN-1) REM CHECK FOR STOCK SPLITS IF TINK150.GOTO 1840 PRINT +SSINI+" STOCKS SPLIT ' IF T(N)/2=INT(T(N)/2I, GO TO 1770 LETTIN) = INTIT(N)/2)+1 GO TO 1780 LETT(N)=T(NI/2 FOR J=1 TO P LET M(J,N+1)=M(J.N+1!"2 NEXT J REM CHECK FOR BANKRUPT STOCKS IF T(N)>0, GOTO 1910 LETT(NI=100 FOR J=1 TO P LETM(J,N+1I=0 NEXT J PRINT +SSINI+" WENT BANKRUPT PRINT "THESE STOCKS MUST BE SURRENDERED" NEXT N LET Y=Y+1 REM ADD EACH PLAYER'S DIVIDENDS TO TOTAL CASH FOR N=1 TO P LET M(N, 121=0 FOR J=1 TO 10 IFTUX50. GOTO 2010 LETM(N,12)=M(N,12I+(I(J)'M(N,J+1)) NEXT J IF A(C,11)=0,GOTO2050 LET M(N,12I=M(N,12)+(M(N,3)"2) PRINT X-PANDO CORP. PAYS $2 DIVIDENDS PER SHARE LET MIN,1I=M(N,1)+M(N,12) NEXTN REM PRINT WHAT HAPPENED & CURRENT VALUES "+W$+" MARKET ' PRINT PRINT YEAR ";Y; PRINT PRINT SPACE$(23I+"PLAYER . HOLDINGS- PRINT PRINT SPACE$(6l+"+/-$ PRICE"; FOR N-1 TO P PRINT SPACE$(5I:N; NEXT N PRINT PRINT PRINT V$(1)+SPACE$(4)+"0"+SPACE$[7|+"1OO"+SPACE$(7l; FOR N-1 TO (P-1) PRINT STR$(M(N,2))+SPACE$(8-LEN(STR$IM(N,2I)I>; NEXT N PRINT STR$(M(P,2I) FOR N=1 TO 9 PRINT V$(N+1)+SPACE$(7-LEN(V$(N+1)>); PRINTSTR$(F(N))+SPACE$(8-LEN(STR$IFIN)I)I; PRINT STR$(T(N+1))+SPACE$(10-LEN(STR$ITIN + 1)))); FOR J=1 TO (P-1 > PRINT STR$(M(J,N+2))+SPACE$(8-LEN(STRSIM(J,N+2]))); NEXT J PRINT STR$(M(P,N+2I) NEXT N PRINT PRINT "DIVIDENDS FOR YE AR"+SPACE$(7); FOR N = 1 TO (P-1) PRINTSTR$(M(N,12))+SPACE$(8-LEN(STR$(M[N,12)))); NEXT N PRINT STRSIMIP, 121) PRINT PRINT "N EW CASH TOTA L"+SPACE$(1 1 1; FOR N = 1 TO (P-1) PRINT STR$(M(N.1))+SPACE$I8-LEN(STR$(M(N,1 ID); NEXT N PRINT STRSIMIP.D) IF Y=S, GO TO 2990 REM CHECK IF ANYONE WANTS TO SELL OR BUY ANYTHING FOR N = 1 TO P PRINT PRINT PLAYER ";N;" 02560 02570 02580 02590 02600 02610 02620 02630 02640 02650 02660 02670 02680 02690 02700 02710 02720 02730 02740 02750 02760 02770 02780 02790 02800 02810 02820 02830 02840 02850 02860 02870 02880 02890 02900 02910 02920 02930 02940 02950 02960 02970 02980 02990 03000 03010 03020 03030 03040 03050 03060 03070 03080 03090 03100 03110 03120 03130 03140 03150 03160 03170 03180 03190 03200 03210 03220 03230 03240 03250 03260 he doesn't own, the program will indicate how many shares he actually has. When a player buys shares, the program will indicate how much money he actually has if the player doesn't have enough to buy the specified number of shares. After every transaction the program will indicate the player's new cash total. At the end of the predetermined number of years (rounds), the game ends and the program will print out each player's net cash worth. I hope you have as much fun playing this game as I did writing it. I would suggest, however, using a hardcopy terminal rather than a video terminal, due to the length of the yearly tables." PRINT PRINT "YOU NOW HAVE $";M(N,1 1 FOR J=1 TO 10 IF M(N,J+1)<>0, GO TO 2620 NEXT J GO TO 2770 PRINT "DO YOU WANT TO SELL ANY SHARES (Y OR Nl"; INPUT R$ IF R$="N".GOTO 2760 IF R$<>"Y". GO TO 2630 GOSUB3160 PRINT "NUMBER OF SHARES SELLING"; INPUT R IF R<=M(N,J+1), GO TO 2730 PRINT YOU ONLY HAVE ";M(N,J+1 I;" SHARES GO TO 2670 PRINT LET M(N.J+1)-M(N,J + 1)-R LET MIN,1)-M(N,1)+(R-T(J)I GO TO 2560 PRINT FOR J=1 TO 10 IF M(N,1)>T(J), GOTO 2810 NEXT J GO TO 2950 PRINT "DO YOU WANT TO BUY ANY SHARES (Y OR N)"; INPUT RS IF RS="N", GO TO 2950 IF R$O"Y".G0T0 2820 GOSUB 3160 PRINT "NUMBER OF SHARES BUYING"; INPUT R IF R"T(JK=M(N,n,GOTO2910 PRINT "•"• YOU DON'T HAVE ENOUGH MONEY FOR ";R;' GO TO 2860 LET M(N,J+1)=M(N,J+1)+R LET MIN,1)=M(N,1)-(R*(T(JII) PRINT "YOU NOW HAVE $";M(N,1) GO TO 2760 NEXT N GOTO 1560 REM CLOSING OUT AT END OF GAME - PRINT FINAL TOTALS PRINT PRINT PRINT FINAL TOTALS ARE:" PRINT PRINT "PLAYER"+SPACE$(10I+"TOTAL" FOR N-1 TO P FOR J=1 TO 10 LET MIN,1) = M(N,1H-(T(J)"M(N,J + 1)I NEXT J PRINT PRINT USING " ### $$$$ ",N.M(N.D NEXT N STOP REM SUBROUTINE TO LOOK UP STOCK NAMES FOR BUY & SELL PRINT "NAME OF STOCK"; INPUT R$ FOR J=1 TO 10 IF R$-V$(J), GOTO 3240 NEXT J GO TO 3190 RETURN END 58 How To Make Your Computer Even More Boring. . . Interface it with a Midwest Scientific Instruments FD-8 Floppy Disk Memory System. . .with all your disk software on our PROM/RAM Board. With our FD-8 system and FDOS firmware, your com- puter is always ready to go. With the disk operating routines on PROMS, all you have to do is load your desired program from disk and start running. Of course you may have to wait 5 or 10 seconds for your p/ogram to WSpfi- load if you have lots of memory. The FD-8 interfaces to any micro- computer system via a single PIA chip... and all of our available software is included at no additional charge. MSI FDOS operating system software has many outstanding features. . . • Automatic program loading and linkage • Auto error recovery • Dynamic space allocation and file extension • Utilities for file listing, copying, deleting, or renaming The FD-8 is complete, including cabinet, all power supplies, and cables. Prices: FD-8 Floppy Disk System Kit $950.00 FD-8 System Wired and Tested $1,195.00 PROM /RAM Kit (SwTPC 6800 or 8080) $95.00 PROM /RAM Wired & Tested, with FDOS Firmware (specify 6800 or 8800 System) $345.00 PR-1 Programmer & Verification Module Designed to program 1702A PROMS, the MSI PR-1 interfaces with any microcomputer system via a single PIA chip. A complete software package is furnished with the system at no additional charge. This gives you the ability to transfer any area of memory to a PROM chip. . .read the contents of a PROM into memory. . .calculate checksums for ROMS. . .and duplicate ROMS. Following PROM programming, the software reads the PROM back into memory and compares each step with the memory content from which it was programmed for verification. The PR-1 is complete, including cabinet and power supplies. PR-1 $325.00 Send for New Free Catalog %\ THicU^eU Scientific *)*t4tflU*HeHt& 220 West Cedar Olathe, Kansas 66061 913/764-3273 TWX 910 749 6403 (MSI OLAT) Here are two MSI Dealers who can show you our products in action Microcomputer Systems, Inc., 144 S. Dale Mabry Ave., Tampa, Florida 33609 813/879-4301 American Microprocessors, Equipment & Supply Corp., Chicagoland Airport, P.O. Box 515, Prairie View, Illinois 60069 312/634-0076 •Before I forget. . .send me information • •about the FD-8 Memory System. . .and • • your new catalog. • • . Name • "Address ■ • • Citv • * State • Zip • BY177 • MSI is a dealer for Southwest Technical Products • Mastercharge & Bank Americard Orders Accepted The Types and Uses of Direct Access Storage Curt Hill 7535 Sherman Dr Omaha NE 68134 (SLgJg)) P R C E S s R (o) g to) (?) g (O) (o) s Co) (°) g C°) (o) 5 (o) C°) n (°) fid r Co) * &■ (o) g (°) (°) g Co) W g Co) Co) o (o) Co) o (o) Co) H C°) Co) g (O) (O) g (O) Why They Are Essential What is the most important part of a computer system? Well, this is a difficult or impossible question to answer, but let us look at the components. Of course, there will have to be a processor, and this selection will affect the potential of the system; but a processor alone is just expensive junk. There will also have to be main memory; generally the more of it and the faster it is the better. Then again without input and output the Figure 1 : One way to achieve an approxima- tion of direct access storage devices, and an easy way to visualize what a drum, hard surface disk or floppy disk drive will do is to consider the tape loop. A simple tape loop might hold 16 K bytes which can be read at I K bytes per second; it would thus take a long time, namely 1 6 seconds worst case, to guarantee access to any given byte with an arbitrary starting position for the tape. The access time, which in this case is the loop delay to reach a given place, can be improved to I second by multiplying the number of tape drives to 16 and shortening the length of each loop as in the second case. The ultimate improvement (in current tech- nology) is a disk or drum where the loop is now a thin magnetic film on the surface of a rapidly rotating object machined to exacting tolerances. <§E IE) PROCESSOR processor and memory will sit idle. Some type of storage that can contain large vol- umes of data or programs is also necessary so that everything need not be entered through the slow interactive 10 channels every time the system is used. The mass storage device is often a tape unit; for small scale people like us this means an audio or digital cassette or even paper tape unit; for large scale systems this also includes larger, more sophisticated units using standard 1/2 inch (1.27 cm) computer tape. The category of mass storage also includes Direct Access Storage Devices (if you see the acronym DASD, you know what it means now). If you buy a system from one of the large manufacturers it may or may not come with a tape unit of some type, but it will almost always come with some direct access storage device. Why is this? First of all what is a direct access storage device? It is generally any mass storage unit where data can be accessed somewhat ran- domly and without reading all the data that comes before it in the file. Clear enough? Well, let's look at an example. Suppose attached to a processor with some amount of memory and 10 there are 1 6 cassette tape recorders. Each cassette has a tape loop in it that can hold 1 K bytes and the data rate is 1 K bytes per second. Also the tapes are always running. These 16 tapes are func- tionally equivalent to one form of direct access storage device, so let us compare them to one tape cassette which can contain 16 K bytes with the same speed. If any data is needed the maximum delay with the 16 units is one second, with the single tape 16 seconds. Since the processor has to wait (and maybe so do you) while the data is found, this significantly affects the time it takes to do the 10 operation, and the time it takes to complete your job. Besides, what do you do if you have a program with more than one "simultaneous" input or output? There is no 60 -DATA TRACKS (SHADED) easy (or fast) way around that problem with the single cassette, but the problem is trivial with the 16. The only disadvantage is, of course, the investment in those other 15 endless loop tape drives. Fortunately one direct access storage device is cheaper than the equivalent number of tape devices, so let's take a look at the available types. Drums The three types of direct access storage devices l am going to mention are not the only types but are the most likely to be available in new or surplus form to small scale computer people like us. The first and oldest type is the drum. This is a metal cylinder coated with a magnetic oxide, as on recording tape. It rotates on its axis at a high rate of speed. Placed along the outer surface of the rotating drum are the read and write heads which move the data on and off the drum surface. Since the heads themselves do not move they repeatedly scan a fixed band around the outside of the drum called a track. The entire outer surface of the drum is divided into many tracks, each of which has its own particular read and write head(s). Therefore if you want to read or write data anywhere on the drum the most you have to wait is one revolution. An expensive drum might contain around four million bytes, perhaps a hundred or so tracks. The maxi- mum wait time, sometimes called "latency," might be about 9 ms. This capacity is of course larger than is available to most experimenters but should give some idea of what can be done with the drum. Disks Another type of direct access storage device is the disk, which can be considered a variation of the drum. Instead of a drum consider a disk like a record, and the heads are above the surface of the disk. Now the tracks are concentric circles instead of bands; other than that, the fixed head disk is very similar to a drum. On both the hard surface disk and drum the heads do not actually touch the rigid surface because of the wear involved, but instead are positioned to "fly" 50 to 250 micro inches from the surface. A variation of hard surface disks, which is the most common, is a moving head version. To prevent these flying heads from crashing, both kinds clearly require precision manufacture. The last type to be mentioned is the floppy disk. Here the disk is made out of recording tape material and is thus not rigid, hence the name. Since the disk is flexible the heads actually touch the recording surface like a tape recorder and yet head wear is not such a problem although the disk itself does wear out. On the drum and hard surface disk the drum or disk is often permanently mounted or comes in an expensive re- movable cartridge form; but on the floppy disk, the disk is a low cost (~ $10) item which can be changed in a matter of seconds. This allows inexpensive offline storage while retaining direct access for mounted cartridges. There is one more wrinkle; the floppy disk units have only one read/write head and a head positioner which moves the head to select the track as in a traditional moving head hard surface disk. The tracks are still concentric and not spiral as in a phonograph record. This means that an additional delay is entered into the system, since while the arm positioner is moving there cannot be any read or write operations going on. The capacity of avail- able floppies has been about 250 K to 300 K bytes; recently, however, double density floppy disks have been introduced and the prices have been going down. Another recent innovation is the even lower priced "mini" floppy drives. What do these devices have in common? Figure 2: The drum drive is usually implemented with fixed heads, with one set of heads per track. The capacity of a drum drive might be as little as 50, 000 bits or so, or a number extending into the millions of bytes in large scale systems. For the amateur, drum drives may occasion- ally be found in surplus stores, but documentation and technical pointers may be hard to find. 61 Quick access to any item and high data transfer rates. What does this mean to someone programming the system? Each track can be considered a separate address- able place to store data, which means that you can have many logically different files on just one direct access storage device. Also, since the access is quicker, the proces- sor waits less and works more, better uti- lizing your hardware. In most cases, direct access storage device can be considered intermediate between main memory and the slower mass storage of a serial magnetic tape. Memory is fast and also much more expen- sive, so the capacity in a system is generally low. Cassette storage has very large capacity and is inexpensive, but like all serial media it is much slower than either memory or direct access devices. Direct access devices are between the memory and serial devices in speed, price, and capacity. Therefore such devices can be considered slow memory (somewhat) or fast mass storage. So let us see how they are used. What if you just wrote a nifty new program that runs in 16 K but your system only has 8 K to spare? Do you buy another 8 K before you run this? Of course not. You logically break the program into smaller pieces, which are stored in a direct access device. When your application comes to need a program segment which is not in main memory, it goes out to the direct access storage device and loads the needed segment. Since the maximum delay of an inexpensive floppy unit is about 0.75 second and it has a data rate of 250 K bytes per second, there will be little pause before the program is again executing. Further, most of the delay is from arm positioning motions, so if all the data and program segments are on adjacent tracks the delay will typically average less than 1/30 of a second. Even if a person is waiting for the results, a large amount of such swapping can go on before the wait gets excessive. What else should the direct access device be used for? A good thing to put on such devices is program libraries. These are gener- ally of two types: source and object li- braries. The source library has source pro- grams, which are the programs in their original text form, such as a BASIC or FORTRAN program. This allows you to maintain a program for a long time and modify it as necessary at the source level, without bit twiddling. The object library contains programs in machine language. The object programs are the output of compilers or assemblers; object programs are typically ready to be loaded and executed. This is handy in that you do not have to compile the program every time it needs to be executed. Compiled or assembled code is also much more efficient than the interpre- tive execution (which literally "compiles" every time, "on the fly"). Now let's look at a macro assembler that produces object code. This is a fairly sophis- ticated assembler where all operands are defined symbols (no more worrying about actual addresses). Now suppose someone sits down and wants to assemble a program. They first tell the system monitor to get the assembler, which it does from an object library. Before a substantial time lapse has been perceived by the programmer, the assembler returns notice that it is ready to proceed. The programmer then enters source statements through the terminal. In memory is the part of the assembler that checks the validity of the statements entered. If a macro reference is entered it will go search a separate "macro library" of source text for a "macro" which is merged with the text. Besides this it writes out the source listing to another source library file and makes a symbol table which is eventually written out to a temporary file. When the pro- grammer is done the second stage of the assembler is loaded and assembles the code. It loads the machine code in the object library and then a resident loader brings the machine language code in on top of where the assembler was and starts the execution of the program. Because of the high speed of current processors and direct access devices, the programmer may be just starting to contemplate what a slick program he or she has written, when it blows up during execu- tion. Well, better luck next time; but remember this: The source and object ver- sions still exist, and if your system software is protected and all 10 is done through the system (ie: your libraries are protected) then you have not wasted all this time. Dump the memory used onto the direct access device and forget about it tonight. Tomorrow with a fresh mind you can work the source listing and the dump and figure out what hap- pened. Chances are that by modifying three or four source statements the program can be rid of the bug. One of the biggest uses of the direct access storage devices is information storage and retrieval. Whole books have been written on this one subject alone. This is a generali- zation of the problem of storing and filing programs, to extend into other areas. For instance, if you are the proprietor of a business, and want to use your computer to keep track of all your customers, with 62 The SMSJ) SfiiTilfi^ The X D°ATA C^OMAIN machine ecu, inc. We are now ONE, and the LARGEST Retail in the central United States I We have been representing, and stockin g, over 10 'mainframe' manufacturers, over 20 "add-on" and "peripheral" manufacturers, software packages for every system we sell, complete lines of experimental and test equipment, educational, technical and entertaining personal computing hooks, magazines and accessories..,, and providing in-warranty and out of warranty service to our customers,, We will now be doing all of the above, PLUS: representing more manufacturers, stocking more of everything, desi g nin g and p roducin g our own systems, BOTH hardware and software, ALL systems compatible, offering La y -Awa y and Deliver y Guarantee Plans, For the store nearest you, our catalogue, or direct ordering: WRITE: nATA nnwIATN ^06 S. College Avenue DATA DOMAIN Bloomington, IN W01 CALL: Bloomington, Ind, : (812) 33^ - 3607 ^£^™22^ Evanston, 111. : (312) 328 - 6800 ; »i„ v b,v DATA TRACKS (SHADED) CONTROLLER PROCESSOR PROCESSOR CONTROLLER RACK AND PINION (TYPICAL; OTHER METHODS USED AS WELL) Figure 3: The personal computing enthusiast is most likely to have an encounter with disk direct access storage devices. The expensive kind have hard surfaces rotating at high speed; some expensive versions are built to last "forever" with fixed heads in hermetically sealed housings; others are the conventional data processing drives with expensive cartridges for removable media containing one or more hard rigid platters. The most likely drive for the amateur is the floppy disk, a miniaturized version of the disk drive which uses flexible media like a tape recorder, a moving arm run by a stepper motor or similar mechanism, and can hold about 250 K bytes in the original form, 100 K bytes in the newer, less expensive "mini" floppies. perhaps 300 bytes of information per cus- tomer, then you would almost certainly want a direct access storage device with your computer. Why? Well, suppose that you had 200 customers. To find the file on any one of those customers requires distinguishing a mere 300 bytes out of a set of 200 * 300 = 60,000 bytes. If all that data were to be kept in main memory, you would have to buy 60,000 bytes, and you could lose your data if the power failed. It might cost $300 per 8 K board of memory (probably more) for the purchase of enough programmable semi- conductor memory for this amount of data, or at least $1500. With conventional small systems, this would use up the address space if all space were required for data, leaving no room for programs. In contrast, by using just one conventional floppy drive costing approximately $1000 to $1500 by the time it's interfaced, 200,000 to 300,000 bytes can be on line with 1/4 to 1/2 second access, and the actual main memory requirements in the machine for typical applications would be reduced, probably to the 16 K to 20 K range if an 8 K extended BASIC interpreter is used. But the data need not be just this one kind of data, and removable media can be stored for backup purposes. Thus the actual functions of the system have been considerably improved when such a storage device is added. The conclusion is that if at all possible, a system should have a floppy disk or its equivalent, the direct access storage device. The point I have been making is that direct access storage is essential to con- venient and efficient use of a computer system. A computer's potential may be largely wasted without good IO. I contend that a lowly 8008 processor with 16 K bytes and 300 K byte floppy disk will outperform an LSI-1 1 with 1 6 K words and 300 K bytes of serial cassette as a general purpose system. The LSI-1 1 is more than 1 times as fast as a processor, has a much much better instruc- tion set, twice as much memory, and uses its memory better; but nevertheless most of the time it will be waiting on IO from the cassette. A waiting processor is a wasted processor. There is not even much price difference in the two systems; it is just where the money is spent. My moral is: Get the least expensive processor that you can and spend the rest of your money on direct access storage. The final thing we have to look at is where to get DASD? This is unfortunately a sore point because they are still relatively expensive. MITS and several of their com- petitors have floppies in the neighborhood of $1000 for 300 K bytes. These prices should decline as demand allows for quan- tity purchases, just as the prices of chips have fallen. Lately Calcomp (24111 W- LaPalma Av, Anaheim CA 92801) has intro- duced the 142 double density floppy disk which has a capacity of 802 K per disk. Although these people are not out for the amateur market, it is not hard to believe that a distributor who is after the amateur market will offer them in sale. Other than that, it starts to get tricky. The used computer equipment markets and surplus markets are a good bet for drums, fixed head disks, and floppies; but the chore of interfac- ing is clearly with the buyer. On these markets there are tremendous bargains and there are also units without specifications and nearly worn out, so the buyer has to be careful. Overall the situation is not good, either expensive or risky. One of the goals of 64 this article is to stimulate awareness and demand of direct access storage devices and thus to bring prices down, as we all have seen happen with processors and other chips. When should you spend the extra bucks for direct access devices and not for cheaper mass storage? The answer is when your computer system is not fast enough. If you do not care how long it takes the system to perform any one task, then you certainly need not buy direct access devices. I per- sonally demand that my computer system should be able to do significant amounts of work on an interactive basis, and I do not like to wait excessive amounts of time for slow peripherals. Also I generally find that I can keep the machine busy even if I am not at the terminal. In conclusion, the properties of the direct access device include the ability to randomly access data on the device and high data transfer rates. This allows the device to be treated as either slow memory or fast mass storage. Without direct access devices, the processor speed may be a relatively unim- portant component of total system speed if time is spent waiting for slow devices." GLOSSARY Compiler: A program that takes source language statements and translates them into machine lan- guage. This is the object program which is executed separately from the compiler. DASD: Direct Access Storage Device. Interpreter or interpretive compiler: A program that takes source language statements as input and executes them directly after interpreting the meaning. IO: Input or output, or both. K: 1024. Macro: A segment of prewritten source code that performs a commonly used function. In a macro assembler, a macro is invoked by the use of its name, in which case the prewritten statements are inserted in replacement for the macro name. Main memory: Core or solid state electronic storage. Mass storage: A device that can contain a large amount of data, ie: a cassette tape, paper tape, or direct access device. Object program: A program in machine language ready for execution, or loading then execution. Source program: A program in the original lan- guage which is input to a compiler or interpreter, as in a FORTRAN or BASIC program. System: The sum and total of the processor, memory, IO, mass storage, and software. ■w" I22L Alto £jFW COMPLETE FLOPPY DISK SYSTEM FOR YOUR ALTAIR/IMSAI $599 That's right, complete. The North Star MICRO-DISK SYSTEM uses the Shugart mini floppy™ disk drive. The controller is an Altair com- patible PC board with on-board PROM for bootstrap load. It can control up to three drives, either with or without interrupts. No system is complete without software: we provide the PROM bootstrap, a file-oriented disk operating system, and our powerful extended BASIC with sequential and random disk file accessing. Each 5" diameter diskette has 90k data byte capacity. BASIC loads in less than 2 seconds. The drive itself can be mounted inside your computer (with specified cutout), and use your existing power supply (.5 amp at 5V and .9 amp at 12V typ). Or, if you prefer, we offer a power supply and enclosure. Sound unbelievable? See the North Star MICRO-DISK SYSTEM at your local computer store. For a high-performance BASIC computing system, all you need is an 8080 or Z80 computer, 16k of memory, a terminal, and the North Star MICRO-DISK SYSTEM. For additional performance, obtain up to a factor of ten in BASIC execution speed by also order- ing the North Star hardware Floating Point Board (FPB-A). Use of the FPB-A also saves about 1k of memory by elimina- ting software arithmetic routines. Included: North Star controller kit (highest quality PC board and components, sockets for all IC's, and power regula- tion for one drive), SA-400 drive, cabling and connectors, 2 diskettes (one containing file DOS and BASIC), complete hardware and software documentation, and shipping. MICRO-DISK SYSTEM ... $599 To place order, send (ASSEMBLED) $699 check, money order or ADDITIONAL DRIVES. ..$425 ea. BA card # with exp date ._..____ t and signature. Uncertified Ulolvt I I bo q>4.o(J ea. checks require 6 weeks FPB-A $359 processing. California resi- (ASSEMBLED) $499 dents add sales tax. NORTH STAR COMPUTERS, INC. 2465 Fourth Street Berkeley, CA 94710 SYS W/i... Your Own Executive Commands Willard I Nico DELTA t 11020 Old Katy Rd, Suite 204 Houston TX 77043 Table I: A list of the executive commands and their functions that are im- plemented in the SYS 8 monitor as it is supplied by I MSA I and Processor Technology. The table gives the hexadecimal starting locations in both the I MSA I and Processor Technology systems. Every time I get something new, I take it apart to see how it works and what I can change to make it work better for my use. My analyst says, "Don't worry! Boys are always taking clocks and radios and toasters apart." Well, that's a fine excuse for boys, but I'm pushing 32 H and still taking things apart ... so I worry! Once in a while though, I come up with what I think is a pretty good idea; like when I got my IMSAI computer running and started taking apart the software they sent with it. The program, called SYS 8, is a self contained operating system for 8080 based microprocessors. It has a system monitor, text editor, and assembler and really "runs the whole show." The software was written by a company called Microtec in Sunnyvale CA and comes free with the IMSAI. Proces- sor Technology Co supplies a virtually iden- Mnemonic Startinc Address Function IMSAI ProcTech DUMP 033B F29B Display contents of a block of memory EXEC 0154 F089 Execute a program in memory ENTR 04C1 F437 Enter data in memory FILE 0389 F2FF List data files; create or delete files LIST 060 E F584 List program in current data file DELT 0627 F5E1 Delete program lines ASSM 0700 F658 Assemble current assembly language pro- gram into object code PAGE 036D F2D8 Move 256 bytes of memory data CUST 2000 E000 Execute program at specified address BREK 070C Set or clear breakpoint PROC 070 F Proceed from breakpoint PROM F59D Program a PROM tical version as the Software Package #1. Except for a modest copying charge, they give it away free also. If you have an 8080 computer, you should have a copy of SYS 8. It works fantastically well, and you have to agree that the price is right! Executive Commands Assuming that you have rushed out and obtained a copy of SYS 8, you are now aware that there are a number of executive commands implemented, which you can call up by typing a four letter mnemonic on your keyboard. Table 1 lists the commands and what they do. Notice particularly the CUST command. Typing CUST signals the monitor to begin execution of your own special program which you have placed in memory at the address they give you in the software docu- mentation. This is a handy way to branch out of the monitor and run your own programs. It's so handy in fact that I began wishing they had provided not only CUST, but CUST1, CUST2 and so on through CUST(N) so that I could run lots of dif- ferent programs of my own by just typing a descriptive four letter command. I have several routines that I use so regularly that they are just as resident in my system as any of the commands imple- mented in SYS 8. You probably have pro- grams that punch tape, load machine code programs, calculate hexadecimal arithmetic and others that you use so often that it 66 SVNChRD-SQJND ENTERPRISES PRESENTS ADM-3 KIT IMSAI 8080 MICROPROCESSOR 24 line X 80 column VIDEO TERMINAL KIT IMSAI ALSO AVAILABLE WITH Z-80 WINTER SPECIALS ADM-3K $849.95 LSI-11 $840.00 IMSAI 8080 $559.95 FEATURING THE FOLLOWING PRODUCTS LEAR SIEGLER DIGITAL EQUIPMENT CORPORATION IMS ASSOCIATES, INC. DEC WRITERS CROMEMCO PROCESSOR TECHNOLOGY SOUTHWEST TECHNICAL PRODUCTS APPLE COMPUTER TECHNICAL DESIGN LABS (Z-80) OLIVER AUDIO ENGINEERING WORKING MODELS ON DISPLAY AT OUR NEW SHOWROOM CALL OR WRITE FOR STORE HOURS SAT (9AM -4PM) DISCOUNT PRICE LIST WEEKDAYS CALL PHONE ORDERS SYNCHRO-SOUND ENTERPRISES (212) 468-7067 193-25 JAMAICA AV All IMSAI products in stock for immediate delivery. HOLLIS NY 11423 would be a great operating convenience to be able to whistle them up from the system monitor with a mnemonic. Taking the SYS 8 software apart really paid off. I found that I could add all the executive commands I wanted. You can too! I'll tell you how to modify the system monitor program to recognize your custom four letter command mnemonics and branch to the proper memory address to execute the desired program. Since the I MSA I and Processor Tech- nology versions of SYS 8 are so similar, the instructions apply to both programs. How- ever, the memory addresses are different. When we need to refer to a hexadecimal address in the SYS 8 program, we'll use the format llll/PPPP, where Mil is the IMSAI program address and PPPP is the Processor Technology address. The IMSAI documenta- tion I have is revision 1 plus errata dated March 4 1976. The Processor Technology version is not dated, but is given as "Micro- tec Macro Assembler Ver 3.1." How SYS 8 Works Each line of characters you type in on your keyboard is stored in an area of memory called the input buffer. When you type a carriage return, entry into the buffer is terminated and the SYS 8 monitor reads the data in the input buffer to find out what it is that you want to do. The monitor makes an important decision based on the first character in the buffer. If that character is one of the numerals through 9, the monitor assumes that the entire line is data for the current assembly language program file. A branch is made to the routines that add lines to the file or replace existing lines. If the first character in the buffer is not a number, the program branches to the executive command rou- tines. This is the part we are interested in dissecting. The monitor maintains a table of execu- tive commands which it will recognize by four letter names. The table is called CTAB, and is located at address 02F1/F257. When the program has branched to the command processing routines, the first four characters in the input buffer are compared to each entry in CTAB. When a match is found, the computer JuMPs to the address specified by the next two bytes in CTAB, and the special program is off and running. After a specific number of tries at finding a match in CTAB without success, the error "WHAT?" is printed and you have to start over. Each entry in CTAB consists of a four letter program name and two bytes speci- fying the address where the named program begins. By simply adding entries to CTAB in the proper format, we can extend the repertoire of keyboard invoked, named pro- grams by as many as we wish. Adding Your Own Executive Commands In the SYS 8 program, CTAB occupies memory locations 02F1/F257 through 0332/F292. The only thing keeping us from adding commands to the current table is the fact that it is hemmed in on both sides by the B1D1 and VCHK subroutines. Clearly, either the table or the subroutines have to be moved. Moving CTAB is far easier than finding and changing all the subroutine references. So pick a spot for the new location of CTAB and give yourself lots of room so that more commands can be added as you develop new routines and programs that you want at your fingertips. Each entry that you add to CTAB will consist of six data bytes. The first four are the ASCII characters of the command name, such as DUMP, and the next two bytes are the high and low address of the beginning of the named program or routine. Note that the high address is first, then the low address in the Processor Technology version; and low address first then high address in the IMSAI version. Suppose you have a routine named FINK starting at address 0A74 and wish to add it to the command list. The CTAB entry would be: ProcTech 46 49 4E 4B OA 74 IMSAI 46 49 4E 4B 74 OA Making It Work Two changes must be made in the moni- tor program to implement the new location and length of CTAB. The first change is at location 01 5E/ F0C3. The instruction is LXI D, CTAB and references the old location 02F1/F257. Change the data in bytes 015F/F0C4 and 0160/F0C5 to give the address of the begin- ning of the new location of CTAB. (Don't forget that the low address comes first!) The second change required is at location 0162/F0C7. The MVI B, NCOM instruction loads the B register with the number of legal commands in the table. The COMS routine searches the table for a match between the command name you have typed and the entries in the table. The search is abandoned and the WHAT? error message printed if a match cannot be found after NCOM tries. You have two alternatives as to selection of the new value for NCOM. You can use the current number of CTAB tries and change the number each time you add to the table, 68 '""-..., 'v -7 Does Your System Have Cuts? WE NOW HAVE ALL IT TAKES TO GET YOUR SYSTEM RUNNING WITH COMPLETE STATE-OF-THE-ART TECHNOLOGY AT REASONABLE PRICES. Z16K MEMORY BOARD - this board is the highest density, fastest access, lowest power, S100 bus compatible static memory - for a low cost. - expandable from a minimum of 4K up to 16K in 4K steps, using our 4K MEMORY EXPANSION KIT ($140.00 each) - 200ns access static memory chips - extremely low power consumption: +12 v at l05ma nom. +8v at 205ma nom. -16v at 16ma nom. less when not selected - each 4K block can be orotected via a switch on the board - battery backup provision - has bank switching capability (up to 8 64K banks) KIT PRICE: 4K - $169; 8K - $295 12K - $435; 16K - $574 SYSTEM MONITOR BOARD - allows you to plug one board in and yet have all the features of at least 4 other boards. - The 2K ZAPPLE Monitor in masked ROM - 2K of high speed low power RAM - 2 Serial" I/O ports plus a 1200 BAUD Audio Cassette interface - One parallel I/O port - Optional power on reset start-up, so no need for a front panel - fully S100 bus compatible KIT PRICE $295 ZPU - this S100 bus compatible board features the world's most powerful microprocessor in a versatile design. - Has two on-board clocks, one being variable from DC to greater than 4MHz. - Will honor wait states qenerated by slow memory, but run at" full speed with fast memory. - The Z80 features 158 instructions, 696 opcodes, 11 addressing modes, and 22 registers. - 8 additional bufffers are used so that the Z80 functions normally with the front panel sense switches. - Only 600ma from the +8v line is used. KIT PRICE: $269 SOFTWARE: We've got the best software in the industry" - and all written exclusively for the Z80, it's all relocatable, and it's all available. - Relocating Macro Assembler - Text Editor - 1 and 2K Monitors - Zapple 8K Basic And more to come soon includinq FORTRAN IV, an FDOS and a Basic Compiler. All TDL kits use only the finest materials including solder masked silk- screened boards, cbmolete documentation and SOFTWARE with each kit. SEND FOR OUR FREE CATALOG THE MOTHER - here's the alternative to costly front panel circuitry and sheet metal to wrap your system in. - Expandable 6 slot mother board with power suoply (8v at 6A, +16v at 1A, and -16v at 1A) - Mini Front Panel circuitry with reset switch, 8 sense switches, and memory write generation. KIT PRICE: $99 TECHNICAL ^^DESIGN iZvB^LABS RESEARCH RARK, BLDG. H, 11Q1 STATE ROAD PRINCETON, NEW JERSEY DB54D CBCS] S21 - 0321 Parameter First Second ABUF BBUF 107E/DO5A 108A/DO66 1082/DO5E 108C/DO68 Table 2: Listing of hexa- decimal addresses of pa- rameter storage locations ABUF and BBUF. The ad- dresses are given in the form llll/PPPP, where III I stands for the address in the I MSA I version and PPPP stands for the ad- dress in the Processor Technology version of the SYS 8 monitor. or you can reserve space for the current length of CTAB plus all the additional entries you think you will ever need and use this future maximum number as NCOM. In the latter case, just be sure to fill CTAB unused locations with hexadecimal bytes so that there is no chance for a false match. Pass the Parameters Please! When you have moved CTAB, changed the code in the monitor as we have des- cribed, and added some of your own execu- tive commands, you are ready to discover another handy feature of the SYS 8 moni- tor: parameter passing. As we have already seen, we now have the capability to create our own executive com- mands. As an example, suppose we have a program that will enter the code hexa- decimal 00 in a block of memory locations. We call the program ZERO and add it to the command table. In order to execute the program, we type ZERO on the keyboard and then a carriage return; the rest is done automatically. However, we can make the program easier to use if the limits of the block of memory to be zeroed can be specified along with the executive command. If we wish to zero the block of memory from A100 through A1FF, it wouid be nice to be able to enter the command: ZERO A100 A1FF Specifying data to be passed along to the service routine in this manner is called parameter passing and can be easily imple- mented with the SYS 8 monitor. As we have mentioned, a complete line of keyboard input is stored in the input buffer before any action is taken by the monitor. When the carriage return character is typed, the data in the buffer is processed. We have seen that the first four characters are com- pared to the entries in the command table if they are not lines for the file. But what happens to other characters in the input buffer? Aha! If properly formatted, addi- tional characters show up in certain holding buffers. The proper format is as shown above for the ZERO command, where the command name and each parameter are separated by one or more spaces. In our ZERO example* above, the begin- ning and ending addresses of the memory block we want to zero will appear in ASCII form in the ABUF holding buffer, and in binary form in the BBUF buffer. We then have our choice of formats in which the parameters may be retrieved. Here's how the example parameters would appear: ABUF: 41 31 30 30 41 31 46 46 (ASCII hexadecimal codes) BBUF: 00 A1 FF A1 (binary integer form) Each group of four digits in ABUF is right justified. If, for example, you entered the first parameter as 27, the first four ABUF characters would be 0027. To use the parameter passing feature, begin the program with a CALL to the monitor routine VCHK at address 0333/F293. This routine checks the buffer to make sure that you didn't forget to enter a parameter when one is required by a program. If VCHK finds the parameter buffer empty, you'll get a WHAT? and will have to start over and do it right. VCHK knows whether or not a parameter was entered because all locations in ABUF are initialized to hexadecimal 00. The value you type in replaces the zeroed bytes. If you get back to your program after your CALL to VCHK, a parameter was entered and you can proceed. If your pro- gram requires a second parameter, the fol- lowing magical incantation may be used to make sure that it, too, was entered: LDA 1082/D05E ; Get first char of second parameter ORA A ; Set flags JZ 04A5/F41A ; Output error mes- sage if no parameter If you don't get a WHAT?, you've got the second parameter. After determining that you have the required data for your routine, they can be retrieved from the ASCII or binary buffers at the addresses shown in table 2. Adding your own executive commands to SYS 8 will make it easier and more con- venient to run the special programs that are resident in your system; and you won't have to look up or try to remember their starting addresses." 70 lop value/, profe//ionali/m Computer Shack stores are exciting, enjoyable places to visit. From the striking interior decor to the fun and challenge of the GAME ROOM, you'll find Computer Shack stores a completely new computer shopping experience. You can count on Computer Shack stores for total profes- sional support whether your needs are those of a com- puter hobbyist, education, science or business user. The skilled, management-trained staff offers knowledgeable service, expert maintenance, and software guidance. quality product/ At Computer Shack stores the emphasis is on quality products. Featured are the finest in microcomputers, interfaces and peripherals, including the full IMSAI line. Every store is completely stocked with tools, books and a complete line of accessories. SALE OF THE MONTH This month all Computer Shack stores feature — IMSAI 8080 Kit with a free $52.00 22/ Slot Mother Board. Each board purchased this month comes with a free $7.00 IMSAI Edge Connector. beginner/ welcomed Do you want to get started with microcomputers? Are you seeking expert guidance on computers, peripherals, software? The place to visit is your nearest Computer Shack. Watch your local newspaper for Computer Shack open- ings. Each store features a monthly Sales Special. 14860 Wicks Blvd. San Leandro, CA. 94577 (415)895-9363 Franchise Opportunities Available Now open in Hay ward CA, 22634 Foothill BlvdL,(415) 538-8080 What's A Hard Copy Gem SWTPC 6800 BASIC Southwest Technical Products Corp has released its copyrighted 4 K and 8 K BASIC software. The 4 K version was demonstrated lo us at PC 76 in September. Both feature fixed and floating point math with a full 1.0E-99 to 9.9999999999E+99 number range. In addition to the line number mode a direct (no line number) mode of execution is provided on most statements to create a calculator like mode of entry for short programs. Provisions have been made in both packages for saving and loading BASIC programs to and from either cassette or paper tape. A USER function is even pro- vided for jumping to machine language subroutines. Both packages have been written for the SWTPC 6800 Computer System. The 4 K BASIC requires a minimum of 6 K of memory with 8 K recommended, while the 8 K BASIC requires a minimum of 8 K of memory with 12 K recommended. The 4 K BASIC tape and manual are attractively priced at $4.95 on "Kansas City" cassette tape and $10 on paper tape. The 8 K BASIC tape and manual sell for S9.95 on "Kansas City" cassette tape and $20 for paper tape. All prices are postpaid in the US. These packages should work on any 6800 computer system which uses Motorola MIK- BUG. Anderson Jacobson Inc, San Jose manu- facturer of data communications equipment, recently announced the availability of its A] 841. Designed for the dual purpose user, the AJ 841 doubles as both a heavy duty IBM Selectric typewriter and an interactive re- mote computer terminal. As a terminal, the AJ 841 features 15 cps printout with a 2 character buffer to accom- modate burst typing of up to 17 characters per second. EBCD and Correspondence codes are standard for interface with any IBM computer and APL code is also avail- able. A built-in modem and acoustic adaptor may be purchased for easy remote computer access. For the dual purpose user, the AJ 841 functions as a Selectric typewriter with a 15" (38.1 cm) carriage, interchangeable fonts, typomatic and n-key rollover. For further details contact Bill Graham, Product Marketing, Anderson Jacobson, 521 Charcot Av, San Jose CA 95131, (408) 263-8520." Apply Your Computer's BASIC Software products, by nature, are largely documentation. The latest example of such documentation to cross our desk is this set SWTPC BASIC SUMMARY Commands Statements Functions LIST REM END ABS tVAL tSIN RUN DIM GOTO* STOP INT tEXT$ tcos NEW DATA ON. . .GOTO" GOSUB* RND tLENS tTAN SAVE READ ON. . .GOSUB- PATCH- SGN t LEFTS tEXP LOAD RESTORE IF. . .THEN' RETURN CHR tMID$ tLOG PATCH LET" INPUT tDES USER tRIGHTS tSQR FOR PRINT* tPEEK TAB NEXT tPOKE ■ Direct mode statements t 8 K Version only Math Operators Relational Operators (unary) r> egate Equal " Multiplication <> Not Equal / Division < Less Than + Addition > Greater Than — Subtract on <= Less Than or Equal t1 Exponen t >= Greater Than or Equal of two volumes (a third is in preparation) produced by Scientific Research Instruments Co, PO Drawer 2096, Ashland VA 23005. "What is it?" you ask. It is a package totalling 544 pages for the first two volumes, in which you will find nearly 100 complete program listings for a variety of applications. It's a perfect example of what will probably be a commonplace thing within the next few years: a "listings" book sold widely to convey useful software to users of computers. The photo shows volumes I and 2 of a three volume set. Volume 1 contains 20 business applications and personal book- keeping programs, 16 games and 13 printer output picture programs. Volume 2 contains 23 mathematics and engineering programs, as well as 23 plotting and statistics programs. According to the series table of contents printed in Volume 2, the third volume will contain several long and complex advanced business programming problems including billing and posting of accounts, inventory control, payroll, risk analysis, etc. All the software in these BASIC Software Library books is written in a subset of BASIC which is defined in an appendix of the second volume in the series. According to the author's introduction, these programs were all entered and run to verify operation. The BASIC machine used was a GE 635 computer. The listings contained in the book are photo offset reproductions of dot matrix printouts. Who Can Use These Books? The primary users of these books will be people with access to a fairly powerful BASIC machine, and a knowledge of the special fields covered by the programs. The author of the books makes no attempt to define the terms and concepts of fields covered. Thus you'll have to know what Gaussian Quadrature integration is if you wish to properly employ the 3 K byte program named "Integration 1" found on page 312 in Volume 2. You'll have to know what the terms and concepts are in a resource allocation problem for a business if you wish to successfully employ the pro- gram named "Efficient" found on page 39 of Volume 1. The BASIC language employed by these programs may differ in some details from the BASIC language employed on any given personal computer system, but the adapta- tion of the programs should be straight- forward once the differences are understood. Nearly all the programs in this scries of listings could be run on a BASIC language system which has 15 K bytes of memory on top of the requirements for the BASIC interpreter. Many of the programs are small enough to run in from 2 K to 5 K however. These programs will not work in any "Tiny" BASIC implementation since much of the calculation employs features purposely omitted from the definition of "Tiny" BASIC. These books are available from Scientific Research Instruments Co, PO Drawer 2096, Ashland VA 23005. The price for Volumes 1 and 2 is $24.95 each. The price for Volume 3 is $39.95. The brochure from the company, which accompanied the samples we received, states that machine readable versions of this software will be made available. In machine readable form, a cassette in "Kansas City" standard form will contain 8 selected pro- 72 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 BASlCs 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 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 Startrek, complete documentation and a free one year subscription to the Astral Newsletter, all for $35. For more details, send a self-addressed, 8'h by 11 stamped envelope to M&R Enterprises, P.O. Box 61011, Sunnyvale, Ca. 94088. Allow approximately 8 to 12 weeks for delivery. grams and sell for $4. In machine readable form, a paper tape with one selected pro- gram will run $2. Contact the company for further information." A Classy New Microprocessor System EC D Corporation, 196 Broadway, Cam- bridge MA 02139, has finally come to market with an advanced graphics oriented personal computer about which we've been hearing vague rumors for a year or so. This photo shows the $987.54 setup as it exists presently: The system components sold by ECD are the keyboard, power supply and computer module stack. The user supplied components of this picture are the television set, shelf, books, cassette recorder, drift- wood, rug, panelling, chair, lap, and user, with optional MIT class ring. This system has some novel and useful features which make it one of the better designs presently avail- able on the market. Gourmet Graphics . . . This is first and foremost a video graphics oriented processor. What this means is that the machine includes an advanced set of hardware designed to draw pictures on tele- vision sets with very high resolution using two different modes of representation. The system can be purchased with an RF modu- lator option to use a standard television (FCC type acceptance pending), or it can get higher resolution pictures by driving a video monitor directly. The "plain vanilla" version of graphic output supplied with this system is a rather unexciting bit map matrix of 1 28 by 160 points. This resolution is hardly exceptional, although it is good enough to represent fairly interesting figures using a dot matrix approach. But the "gourmet graphics" aspect of the ECD MicroMind product is found in its character generator. In an unparalleled improvement in flexibili- ty, the ECD engineers have asked, "Who needs a ROM dot matrix?" and answered the question with the use of a programmable memory character generator for high resolu- tion character images. By using a program- mable dot matrix character generator mem- ory instead of a ROM, the machine is completely flexible in its generation of the contents of the 8 by 12 dot matrices used for characters. These programmable charac- ter patterns provide high resolution regions within the television screen which have an effective matrix of about 500 by 700 dots over the full screen. The character cells are closely packed so detailed images can be carried over between cells when needed. The user gets 128 programmable 12 by 8 dot matrices to work with, which can then be placed in any of the character positions defined on the screen, on command, exactly as if a ROM oriented character were being generated in a conventional display. What's the user significance of all this? By using a programmable character generator, the ECD MicroMind machine first of all is not limited to any particular character set on its screen. You can display (with proper software) ASCII, APL, Kana Japanese, Greek, Hebrew, Arabic, Cyrillic, chess, music, etc, on this screen! Recognizing this flexibility, the keyboard hardware of the machine comes with changeable key tops which can be custom labelled. But variable character sets form just the start of the flexibility in this system. The fact that the character matrices have no space between characters leads to a high resolution anima- tion games graphics capability. A standard demonstration which is of- fered with the system is the game ECD calls "Animated Space War." They chose the name because they needed to distinguish it from all the other games around which go by the name "Space War" and are often simply terminal oriented simulations of Star Trek. This game is the ECD MicroMind version of the original space war game which is an MIT tradition since the early 60s. It is played with images of space ships which rotate and move smoothly across what is effectively a high resolution 500 by 700 display matrix - in short, the real thing as far as playing space war goes. If your interest is graphics, it looks as if the ECD product is the ultimate low priced system at this time. Besides Graphics . . . There is more to a personal computer than just the display. The functional descrip- tion of the ECD MicroMind more than meets the qualifications of a genuinely usable per- sonal computer. It comes with the keyboard, power supply and 8 K bytes of memory in its standard form. The system has ROM systems software sufficient to load transient system software from its high speed (400 bytes per second claimed) audio tape record- ing interface which uses advanced error detection and correction techniques. System software provided as part of your purchase includes (according to the press release) an assembler, a text editor program utilizing cursor editing methods, and an extended BASIC called NotsoBASIC. According to a designer with whom we talked after receiv- ing the press release, NotsoBASIC is an extended version of Dartmouth BASIC which is said to have Dartmouth BASIC as a proper subset. Whizbang software which comes with the system includes the afore- mentioned Animated Space War game and a version of LIFE. Options include expanding the on board memory of the three card system shown to 16 K by plugging in 16 more 4 K dynamic programmable memory chips, or ordering an optional 32 K memory extension board which can presumably be populated with any multiple of 4 K bytes. If you want a case, you'll have to wait, however. Like a number of recent new products, the initial introduction of the MicroMind is in the form of a factory built set of modules sans case. (A case apparently takes longer to tool up than the electronics which fit inside it.)" Don't Wince at This Fantom Wintek Corp, 902 N 9th St, Lafayette IN 47904, has sent along this photo of its line of Wince microcomputer modules with an announcement of a price reduction and some new ROM software. Wintek's price has been halved from $298 to $149 for the minimum configuration of the Wince control module. This module includes a 6800 proc- essor, clock, data rate generator, 1 K ROM with the new "Fantom-H" monitor, 128 byte programmable memory, an ACIA for serial IO or a PIA for parallel 10. The price of a "maximum configuration module" which includes an ACIA and two PIAs, plus 512 bytes of programmable memory as well as the processor and clocks was also reduced, from $398 to $199. All the modules, as seen in the photo, fit into industry standard 4.5" by 6.5" (11.4cm by 16.5cm) printed cir- cuit boards. The Fantom II monitor according to the release is a 1 K monitor and debugging program that allows single step execution, insertion and deletion of break points, inter- rupt vector setup, memory loading, examina- tion and changing of memory, printing or punching from memory, display of registers, system reset, and of course, execution of users programs." PDP-8 Cross Assemblers for Microprocessors Sierra Digital Systems, 1440 Westfield Av, Reno NV 89509 has announced a series of microprocessor cross assemblers called X8 ("cross-8") designed to allow program devel- opment for microprocessors on any PDP-8 with OS/8 operating system software and at least 8 K of memory. According to the press release, X8 assemblers are available immedi- ately for the 6502, 6800 and 8080 processor architectures. Each assembler is priced at $400 and is distributed in PDP-8 binary format on paper tape, DEC tape or DEC floppy disk. Near completion according to the release are assemblers for the 2650 and F8 processors. These products feature a matrix of Universal Assembler Format state- ments in which the details of each machine are embedded. Options of the assembler include pseudo operations, conditional 74 assembly, and listing formal controls. Arith- metic and logical operators arc supported in operand expression evaluation, and output can be specified in Intel BNPF formal to run common PROM burners, or in the standard loader formats published for the various processors. A detailed brochure with sample 6502 assembly is available from SDS." Want to Turn an SI 00 Bus Computer into a Number Cruncher? Use This Hardware Floating Point Board All users of personal computers for num- ber crunching applications around the home, in the lab, or at work in the commercial world will find this new Floating Point Board an attractive option. North Star Computers Inc, POB 4672, Berkeley CA 94704 has designed a hardware floating point processor which enables the micro- processor system to approach or possibly surpass a traditional minicomputer's per- formance with floating point arithmetic. How's it done? By using the same tech- niques which the minicomputer would use to implement its floating point: a specialized high speed sub-processor implemented in TTL logic. This specialized processor is shipped a series of data bytes corresponding to the operands of a floating point multiply, divide, add or subtract operation. Il is also shipped a command byte. Once it is let loose, it grinds out the answer giving several data bytes of the result operand which can then be accessed by the microprocessor program. The "grinding" process of this little black box of function takes a typical I I I us for floating multiply with 10 digit operands. The North Star Computers FPB, Model A, plugs right into an Altair or IMSAI or any other computer with the SI 00 bus. Its com- mand word sets precision up to 14 decimal digits. A status byte is used to coordinate operations and transmit error conditions back to the control processor. An added bonus of this $359 kit product (S499 assembled) is the fact that you can throw out most of the software of your present floating point arithmetic, patching in appro- priate FPB drivers in their places. In a typi- cal case, this would free up to a thousand or so bytes of memory which had been re- quired for a floating point software." Applications Oriented Computer Terminal Here is an example of a new product in- tended for traditional industrial and com- mercial custom systems markets. The product is the new HP-3070A numeric data entry terminal, which was designed to be used with the new HP 1000 computer sys- tem. The interconnection of up to 56 of these new terminals can be accomplished with a single run of twisted pair cables, tapping the cable wherever a terminal is needed, with distances up to 1.24 miles (2 kilometers). It can also act as a satellite to interface remote instrumentation in process control applications. Of particular note is the layout of the de- vice, shown in the photograph. It is a desk top console unit with a numeric key pad for data, editing keys, 15 indicator lamps and 10 special function key entry switches. The legends shown in this photograph are typed onto a layout form and are protected by a clear sheet of plastic, thus customizing the front panel clearly and very professionally to a particular application system. Here the nature of the captions reflects what looks like a direct labor accounting system for a business situation. The beauty of this particular terminal concept lies in the fact that it is general purpose, since the appli- cations program determines what the par- ticular keystrokes and display lamps mean in the minicomputer or microcomputer which would monitor the data. To find out more about the HP-3O70A Numeric Data Entry Terminal, call or write the Inquiries Mana- ger, Hewlett-Packard Company, 1501 Page Mill Rd, Palo Alto CA 94304." An 8080 Subroutine Utility Package Pragmatic Systems, POB 43, Mountain View CA 94042, recently announced a package of commonly used microcomputer subroutines written in 8080 assembly lan- guage. The package, called UT1, contains commonly used code conversions, 10 routines for numbers and character strings, and 10 drivers for commonly used periph- erals. The list of routines we received with this notice had 26 entries spread over 3/4 K of memory. Printed source listings of the program with user documentation are avail- able for $3 each plus $.35 for shipping and handling." Paper Tape Holder Ideal for the hobbyist, this device will hold approximately a 300 foot roll of paper tape as it is being read into the reader. It has been tested on 200 cps readers (also works great on Teletypes). The Paper Tape Holder guides the rolled tape to the reader mecha- nism free of kinks and twist. It is available in kit form for $8 and assembled for $12. Optional Paper Tape Rewinder is available for $4. Prices include postage and all sales are final. (No CODs.) CV Spinks, POB 9298, College Station TX 77840, (713)846-6585." Software New Product: BASIC, ETC Binary Systems Inc, 634 S Central Expy, Richardson TX 75080, has just introduced a new high level language product for 8080 microcomputer users. The product is the BASIC, ETC interpreter, written by John Arnold and Dick Whipple of Tyler TX. These gentlemen were the authors of the first extant version of Tiny BASIC to be accomplished following publication of the specification in the precursors of the present Dr Dobb s fournal of Computer Calisthenics and Orthodontia. (For info on Dr Dobb's write Dr Dobb's, POB 310, Menlo Park CA.) This new interpreter is designed to use the first 8 kilobytes of memory plus at least 1 kilobyte of scratchpad programmable mem- ory on top of that requirement. Binary Systems Inc is the parent com- pany of the Micro Store in Richardson TX. The firm is marketing BASIC, ETC as a "software kit" which includes the object code of the program (either Kansas City cassette, Digital Group audio cassette, or paper tape formats) and a 32 page user's manual, pictured here. Salient features of BASIC, ETC include: string variables up to 255 characters in length, arrays, variable precision arithmetic, hooks for assembly language routines, character and line editing, nesting of subroutines, formatted output statements, a null statement with delay attributes for to 25 seconds. The price of BASIC, ETC is $25, and the user's manual can be purchased separately for $6." 75 Product Description A Tutorial Training Computer Many readers have asked where it is possible to obtain a detailed introductory course in logic and computer design prin- ciples. Last June, at NCC, David Winkel stopped by at the booth BYTE shared with Creative Computing and demonstrated the computer resulting from his system, a tuto- rial project he has been perfecting over the past several years as an engineering educator. As an element of an engineering curriculum, or as a self-study project for a serious amateur, this would be a good starting point for building hardware skills. This product description is supplied by David, whose firm, Logic Design Inc, is located at POB 3991, University Station, Laramie WY 82070. David is a professor at the University of Wyoming, currently on sabbatical leave at the Computer Science Department of Indiana University, Bloomington IN. The Logic Design system is a method for teaching digital design that has been well proven in a university environment. Re- cently advanced amateurs have expressed an interest in the system as a way of expanding their skills and knowledge. The essence of the system is the insis- tence upon integrating practice with theory. The theory portion is expounded in a new textbook which stresses elegant digital sys- tem design styles. The design of digital systems is not the same as conventional Boolean algebra although it does use some of the very simple results of that subject. Rather, it is the study of how to take various building blocks such as NAND, NOR gates, MUXs, ALUs, registers, etc, and assemble them into a unified digital system. To illustrate the theory the student builds an elegant original version of the world's most popular minicomputer, the Digital Equip- ment Corp PDP-8. Because of the clean style used in the design the resulting computer is very simple to understand and debug (there are only 113 ICs in the processor and TTY interface). This tutorial version of the PDP-8 is very fast (330 nanosecond cycle time) and will execute instructions at twice the rate of the commercial version. While the resulting minicomputer is quite powerful, will run BASIC and costs little more than a corresponding microcomputer system, what we really have to sell is the learning experience of building it. The package is definitely not suitable for those who regard a computer as a "black box" to be used as a programming tool only. If you are interested in a deep understanding of what goes on inside a computer and are willing to expend the considerable effort required to learn this, read on. The Logic Design system evolved from 6 years of teaching university courses in digital design and computer architecture. As a result I found: 1. Conventional courses on Boolean al- gebra alone are not useful. After com- pletion of such a course a student has only the haziest notion of applying this knowledge to digital systems design. 2. There are almost no textbooks on digital systems design. 76 3. Any "textbook only" course is doomed to failure. It must be coupled with a relevant laboratory in which a real system is built. 4. Most students prefer to build a com- puter as an example of a real system. 5. There were no suitable commercial laboratory systems available. 6. Each student must build and debug his own system. As a result I was forced to design my own digital laboratory and write a text to go with it. The assumption was that engineering students would enter the course with no background in electronics or Boolean alge- bra. The goal was to start from scratch and teach students to design digital systems such as floppy disk controllers, CPUs, tape con- trollers, etc. The approach is to discuss the digital design process in the text stressing design style. This is very important since a good style will produce understandable, easy to implement designs. Simple and elegant methods of using good style are introduced. Good designs tend to be so simple that very little Boolean algebra is required in their implementation. What is needed is discussed in the early part of the text. The student gains a solid working knowledge of this by its repeated application in the examples of digital systems. The entire subject is tied together in the laboratory where a minicom- puter is constructed and debugged. To make it possible for each student to build his own computer a powerful bread- board system was developed. All of the messy but necessary items have been pre- packaged in the control panel: 1. "student proof" 5 V, 5 A power supply 2. wide range clock a. 330 nanosecond — 5 sec b. manual push button 3. enough (96) lamp drivers to display every major logic signal. These drivers are Darlingtons so they absorb virtually no power from the logic circuits. 4. 12 electrically debounced pushbuttons 5. 12 toggle switches (expandable to 16) A general purpose wire wrap backpanel is plugged into the central panel and is used to construct the digital system of interest. This panel is large enough (95 14 pin, 124 16 pin, 10 24 pin and 2 40 pin IC sockets) to construct even very large systems. Connections are made with a hand wire wrap tool using standard 30 gauge wire. The wire wrap pins are replaceable giving the backpanel essentially unlimited life. One may wonder in this day of the microprocessor why we stress design at a more fundamental level. There are several reasons for this: 1. Interfacing devices to any computer including micros requires digital design at the level we are treating the subject. One need only look at the number of digital interfaces built with integrated circuits in recent issues of BYTE to be convinced of this. 2. There will always be some projects that require more speed than a micro can supply. These designs must be built from integrated circuits using the techniques covered in the Logic Design system. 3. It is jolly good fun. In summary, what we are offering is a thorough course with one main product and two valuable by-products. The main product is a solid working knowledge of digital systems design. The by-products are a very potent breadboard system for construction of future designs and a very fast powerful 4 K minicomputer." If you want a microcomputer with all of these standard features • • . • 8080 MPU (The one with growing soft- ware support) • 1024 Byte ROM (With maximum ca- pacity of 4K Bytes) • 1024 Byte RAM (With maximum capacity of 2K Bytes) •TTY Serial I/O •E1A Serial I/O • 3 parallel l/O's •ASCII/Baudot terminal com- patibility with TTY machines or video units • Monitor having load, dump, display, insert and go functions • Complete with card connectors • Comprehensive User's Manual, plus Intel 8080 User's Manual • Completely factory assembled and tested — not a kit • Optional ac- cessories: Key- board/video display, audio cassette modem interface, power supply, ROM programmer and attractive cabinetry . . . plus more options to follow. The HAL MCEM-8080. $375 then let us send you our card. HAL Communications Corp. has been a leader in digital communi- cations for over half a decade. The MCEM-8080 microcomputer shows just how far this leadership has taken us... and how far it can take you in your applications. That's why we'd like to send you our card— one PC board that we feel is the best-valued, most complete m microcomputer you can buy. For details on the MCEM-8080, write today. We'll also include compre- hensive information on the HAL DS-3000 KSR microprocessor- based terminal, the terminal that gives you multi-code compati- bility, flexibility for future changes, editing, and a convenient, large video display format. HAL Communications Corp. Box 365, 807 E. Green Street, Urbana, Illinois 61801 Telephone (217) 367-7373 77 8 12 8 9 12 8 9 10 12 13 6 7 II 13 5 5 3 15 14 4 4 1 4 2 1 Figure 1 : Pattern matching of game situations can be made simpler through the judicious choice of bit assignments. Here is an algorithm for assigning bits of a 16 bit word (numbered to 15) to the squares of a 4x4 game board, to facilitate 90° rotations of the pattern by 4 bit circular shift operation. At (a), bits 0, 4, 8, and 12 are assigned by a symmetric progress around the square. Then, bits I, 5, 9, and 13 are assigned, also retaining a symmetric relationship resulting in a pattern as at (b). Finally, when a similar process of assigning numbers is applied to the remaining bits in a symmetrical fashion, the result is a set of four patterns which interlock in such a way that the four bit shift accomplishes a rotation. This is not a unique assignment; another assignment is shown in figure 2. Computer Models for Board Games Russell R Yost Jr 1825 E Palo Verde Phoenix AZ 85016 A board game situation can be repre- sented in binary code in a variety of ways. Often it will be found that the representa- tion chosen has major consequences in the amount of memory used for program or for the situation memory that seems to be required for most game playing programs. For example, Robert Wier, describing his HEXPAWN program in the November 1975 BYTE (page 36), had plenty of memory available, so chose a representation that was convenient for generating the display and allowed the character codes for X, O, and (space) to be stored for each of the nine squares on the HEXPAWN board. He ob- served that the game situation memory had to include those cases which were mirror images (reflections) of each other as though they were distinct situations, whereas to the human player, the symmetry makes them completely equivalent. Taking advantage of symmetry and selecting the optimum repre- sentation for minimizing memory can often result in substantial decreases in memory space allocations. Similarly, the repre- sentation can often be optimized to simplify the program. I have been thinking about a program for a TACTIX playing machine for several years, and have discovered ways of coding its board situations that reduce memory requirements by close to a factor of 8. TACTIX has been described by Martin Gardner (The Scientific American Book of Mathematical Puzzles and Diversions, Simon and Schuster, New York, 1959) as an invention of the Danish mathematician, Piet Hein, a prolific puzzle and game inventor. It is a "take away" game played on a 4 x 4 board. Initially, the board contains one piece on each square. Each player, on his turn, takes one through four pieces from a row or column; but the pieces must be contiguous. The object is to force one's opponent to take the last piece. The game seems to be related to the game of NIM; but, according to Gardner, no algorithm has been discovered for selecting the winning plays, or identifying safe situa- tions as goals for each play. I am planning to implement the game by programming the 78 computer to build a table of safe situations, by playing two moves ahead and choosing a play that results in a situation that the human cannot turn into a safe situation by any legal move. The problem is, how much memory should be allocated to such a table? Since each square can be empty or occupied, there are 2^" possible situations, which would require 131,072 bytes of memory to represent if all were safe. Regardless of how many are indeed safe, it is evident that the memory required could be drastically re- duced if advantage could be taken of the equivalence of 90° rotations and reflections of the game board. In general, eight different 2 byte words represent equivalent situations, and it is possible to choose one of them to represent the whole set. A simple way to select one of the eight is to regard each 2 byte word describing a situation as a double precision unsigned binary number, and select the smallest to represent the set. Thus, to determine if a given situation is included in the safe table, one searches the table for the smallest one of the eight numbers represent- ing the situations equivalent to the given one. Similarly, if a situation has been deter- mined to be safe, its minimized representa- tive number is the one that is stored in the safe table. Calculating the minimized number is where the assignment of the bit positions of the two bytes to the squares of the 4x4 board becomes important. The seven other equivalent numbers are obtained by three 90° rotations, a reflection, and four more 90° rotations. It occurred to me that the rotate type of shift instruction • that is implemented in most microprocessors ought to be in some way equivalent to a physical rotation of the board. Four rotations bring the situation back to the starting version; thus, considering that two bytes contain 16 bits, a 4 bit double precision shift ought to be equivalent to a 90° rotation. This leads to the construction of a bit assignment scheme for the 16 squares of the 4x4 board as shown in figure 1a. For the moment, con- sider that a single 16 bit word is involved. Bit can be assigned at random, say in the lower right hand corner. Since a 90° rotation clockwise moves this square to the lower left corner, that square must be assigned to bit 4. Similarly, the other two corner squares, proceeding clockwise, are as signed positions 8 and 12. Now, one may assign bit 1 to any of the remaining squares, which immediately results in the assignment of bits 5, 9, and 1 3, as in figure 1b. Continuing in this way, the remainder of the bits are assigned as in figure 1c. Note that bits through 3 cover a shape o 2 1 2 7 2 4 2 3 2 2 2 | 6 2 5 2 5, 6, | 2, 3, 4. 7, I , 0, .BYTE DIVISION | .^.REFLECTION AXIS Figure 2: Another operation used in match- ing equivalent patterns is reflection through an axis. Bit assignments of two bytes to a 4 x 4 game board which satisfy both the 90° rotation requirement and reflection about the horizontal axis is shown in this figure. Each byte independently generates a re- flected byte by the algorithm of table 1. For rotations, the 16 bit circular shift operation can be used to link the two bytes together. Table 1 : A Reflection Algorithm for Figure 2. In order to accomplish the reflection through a vertical axis as shown by the dashed line in figure 2, the following correspondences must be programmed. Each bit in old byte before reflection: 7 6 5 4 3 2 10 is moved to A bit in new byte after reflection: This correspondence can be programmed using a series of two bit left circular shifts to position bits, using AND and OR operations to transfer the bits: I ii ii ii ,i |, Step 1 : Clear NEW value output Step 2: Rotate OLD left 2 Step 3: TEMP:='00100010'& OLD Step 4: NEW := TEMP; Step 5: Rotate OLD left 2; Step 6: TEMP:='01010101'&OLD; Step 7: NEW:=NEWOR TEMP; Step 8: Rotate OLD left 2; Step 9: TEMP:='10001000'& OLD Step 10: NEW:=NEWORTEMP; OLD 76543210 54321076 54321076 54321076 32107654 32107654 32107654 Value NEW* -3 7- -3 7- -3 7- -230-674 TEMP* -2-0-6-4 10765432 -230-674 10765432 -230-674 1- 10765432 12305674 -5 'NOTE: The numbers in these examples represent values of the corresponding bit in the original source. The dashes in NEW and TEMP indicate bit positions which have value. NEW must be cleared prior to adding new values with the OR operation. 79 Figure 4: Bit assignments of four bytes to a 5 x 5 game board. 90° rotations by whole byte manipula- tions are facilitated, but reflection rules are com- plex. A better 5x5 com- promise is found in figure 5. o 3 lj 23 64 ?4 O4 ?3 4 3 33 5 4 4 4 U 6 3 5 3 2 5 4 5 3 4 24 H 2 3 2 5 65 3| 6| is 4 2 5 2 3| 4| 7| 2 ?2 6 2 2| 1 1 0, Figure 3: Bit assignments of five bytes to a 6 x 6 game board to facilitate 90° rotations by whole byte manipulations, and reflections about a diagonal axis by consistent rules for each byte plus the swapping of two bytes. 03 13 2j 64 04 53 43 •3 3 "4 14 22 3 2 63 64 6 2 6| 1 3 4 2 4 l 2 4 2 3| 4, 5, °2 5 2 2, h 0| 2 12 63 ?2 4 2 3 2 22 73 62 5 2 4 3 53 4 13 O3 5, 6| 3 3 2| 3, 4| t\ 23 1 1 o. Figure 5: Fhe bits of four bytes can be assigned to a 5x5 game board in this pattern. 90° rotations are accomplished as in the 4 x 4 matrix of figure 4 for bytes I and 2 which are in the corner positions; the 90° rotation component of byte 3 is a 2 position circular shift; byte 4 is unchanged under 90° rota- tion due to its central posi- tion. Reflections about a horizontal axis are ac- complished without bit ex- changes between bytes. that by four successive rotations about the center of the board covers the whole board. Since bits through 3 were chosen arbitrar- ily, many such patterns can be constructed. I have not been able to find such a bit assignment scheme that facilitates both the reflecting and rotation. Accordingly, since there are many more rotations than reflec- tions, I have optimized the arrangement for rotation. For simplifying the reflecting, I have selected the arrangement of figure 2 in which one byte represents each half of the board. (In figure 4 and subsequent figures, bits are denoted by numbers to 7, and the byte is designated by a subscript.) Thus, a single subroutine can be used twice to reflect each byte about a vertical axis. Any axis would serve for reflection, but in this case the vertical axis avoids the need for transferring bits from one byte to the other. Table 1 shows the bit correspondence under this reflection. This is a fairly compli- cated transformation compared to the sim- ple shift operation needed for 90° rotation. Should the utmost in program speed be needed, a hardware approach along the lines suggested by James Luscher in "Taking Memory Address Space," page 60, January 1976 BYTE, could be used. The general principles described above for TACTIX 4x4 can be applied to other board sizes as well, but as more bytes become necessary to represent the larger boards, rotation representation by whole byte shift- ing becomes attractive. Figure 3 shows an arrangement for the bits of the five bytes needed for a 6 x 6 board. Four bytes represent all the squares ex- cept the central four, which are represented by four of the bits of byte 5. For a 90° rotation, the first four bytes are shifted, 1 replacing 2, 2 to 3, 3 to 4, and 4 to 1 , while the fifth byte is shifted two places. For this case, reflecting about a diagonal, such as the one running from lower left to upper right, is Table 2: Bit interchanges for the reflection of a 6x6 game board about the lower left to upper right diagonal, using bit assign- ments of figure 3. After swapping full bytes 7 and 3, the same internal reorganization is applied to all bytes. Each bit in the old byte: 7 6 5 4 3 2 10 is moved to A bit in the new byte: 1 2 3 4 5 6 7 80 most convenient. Then the bits of bytes 2, 4, and 5 are rearranged internally, while the bits of bytes 1 and 3 are rearranged and traded. The rearrangement rules are the same for all bytes, as shown in table 2. When the board has an odd number of squares along each edge, a central square is invariant under rotation and reflection. This is illustrated by figure 4, which shows an arrangement that permits 90° rotation by whole byte exchanges. However, reflecting is complex, requiring the bits of each byte to be assigned to two other bytes. This is avoided in the arrangement of figure 5. Here, 90° rotation is accomplished by double precision shifting of the first two bytes the same as for the 4 x 4 board arrangement of figure 2. The third byte is circularly shifted by two places for 90° rotation, while the fourth byte, containing a single significant bit, is left unaltered. Reflecting this pattern is simplest about a vertical axis, which avoids bit exchanges between bytes. The rules are the same for bytes 1 and 2, but differ for byte 3, while byte 4 is again unaltered. Returning to HEXPAWN, here only mir- ror imaging of the board across the vertical center column is meaningful, since the 0, 1, °2 ! 2 o 3 l 3 2, 3, 2 2 3 2 2 3 h 4, 5, 4 2 5 2 4 3 5 3 machine always plays black. Since a square can be vacant or occupied by white or black, two bits are required to represent the state of each square. To facilitate the reflection about the vertical axes, one byte can be used for each column, as in figure 6. Reflection then is accomplished merely by inter- changing bytes 1 and 3. Thus, the HEXPAWN program would compare the three byte number representing a given situation with the three byte number ob- tained by reflection, and would search the model table for the smaller one. Having found the model, the indicated response would then be reflected, if reflecting the original situation produced a smaller num- ber. The number of models stored would be nearly halved by this approach." Figure 6: Bit assignments for three bytes to the 3 x 3 game board of HEX- PA WN. Since the com- puter always plays black, rotations are not used to produce equivalent pat- terns. Two bits are as- signed to each game board square in this case to allow modelling of three states: black, white or empty. Reflections about the ver- tical axis of the drawing are accomplished by ex- changing bytes I and 3 (left and right vertical columns). GET IT ALL TOGETHER! START WITH THE PROPER FOUNDATION IN BEGINNING YOUR CUSTOM COMPUTING SYSTEM. OFFERED AS A STARTER PACK- AGE, THE USER CAN SAVE ON INITIAL COST WHILE ENJOYING EASE OF FUTURE EXPANSION. THISSPECIALOFFERS: • IMSAI 8080 COMPUTER (KIT) (INCLUDING 22-SLOT MOTHER BOARD) • IMSAI 4K RAM BOARD (KIT! . GOLD IC SOCKETS FOR KITS • 10 EXTRA EDGE CONNECTORS • COOLING FAN S825 Texas Residents Add 5% Tax ALSO: OBTAIN SAVINGS WITH OUR CUS- TOM ASSEMBLY SERVICE. CALL OR WRITE FOR PRICES. MICROTEX, INC. 9305-D HARWIN DR. HOUSTON.TEX. 77036 (7131 780-7477 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 "Real World Electronics" P.O. Box 516 La Canada, CA 91011 Circle A 207 COMPUTALKER <*> CT-1 SYNTHESIZER High Quality Voice Output Altair/IMSAI/Polymorphic plug-in Nine Acoustic Control Parameters Includes 8080 Interface Software $395.00 plus shipping Order a demonstration cassette $2.50 postage paid Write for informative literature Calif, residents add 6% sales tax COMPUTALKER CONSULTANTS P.O. Box 1951, Dept. B, Santa Monica, CA 90406 81 The Built-in Logic Tester Kurt W Christner Bently Nevada Corp Box 157 Minden l\IV 89423 After unsuccessfully attempting to debug a friend's microprocessor system using the only piece of test equipment he had, a VOM, I decided that every system should have a built-in logic tester. A simple circuit with LED indicators would be adequate to troubleshoot most bad components, open circuits, and short circuits. The logic tester, permanently mounted in the chassis or on PROBE INPUT Ml ftWJ lOOfl IS. o WV Hl<^> R2 27K POWER CONNECTIONS +5V GND ICI 7405 II 7 IC2 9602 16 8 + 5V J EDGE LED-2 R4 +5V -* 330fl Figure I: Circuit Diagram of the Built-in Logic tester. Put a logic tester into your system as a permanent section, and you 'II never have to hunt for a probe again. The design here could easily be built using integrated circuit sections left over from other uses in a typical computer. Table I: Operation of the Built-in Logic Tester. This table lists several input conditions and corresponding outputs of the tester. By looking at both the Level and Edge detection LEDs, the state of the input waveform can be deduced. Input TTL Level TTL 1 Level to 1 Step 1 to Step Positive Pulse Negative Pulse Positive Pulse Train Square Wave Negative Pulse Train *Depending upon duty cycle or pulse width Level Indicator Edge Indicator LED-1 LED-2 Off Off On Off Off then On 1 flash on edge On then Off 1 flash on edge Off* 1 flash On* 1 flash Off to dim* On About 1/2 brightness On Brighter to On* On one of the printed circuit boards and pow- ered by the computer's +5 V power supply, would always be there to make quick checks. One simple and inexpensive logic tester that is ideal for building into your system provides indications of TTL logic levels and changes in logic levels. A "Level" LED illuminates for a TTL 1 input and extin- guishes for a TTL input. An "Edge" LED illuminates momentarily when the input changes from 1 to or from to 1. Although not as fancy as some of the logic testers described by Alex Burr in the Decem- ber 1975 issue of BYTE [page 20], this tester provides enough information to detect levels, steps, single pulses, and pulse trains. A more sophisticated tester could also be designed and built into your system if more extensive troubleshooting capability is desired. Construction The logic tester described here can be assembled on a small perforated board or a printed circuit board and mounted in an empty space in the chassis, or the tester can be built right on one of the microprocessor boards if there is some unused area. Figure 1 is the schematic of the logic tester. The total price for all parts will probably run less than $4. The circuit uses half of each of two integrated circuits, so a dual tester can be made, if desired. Parts layout is not critical, but observe the polarity of the LEDs, the diodes, and the electrolytic capacitor. The LED indicators should be labeled and posi- tioned so that they can be easily observed and interpreted. A binding post or a screw terminal can be used for the input connec- tion if you want the probe and test lead removable, or the test lead can be soldered to the input if you want it to always be there. Mount the tester in the chassis and connect the +5 V and ground inputs to the system power supply outputs. Using the Built-in Logic Tester Apply power to the system. The Level indicator, LED-1, should be on when the input is open or the probe is at a TTL 1 . The Level indicator should be off when the 82 probe is at ground or a TTL 0. Carefully touch the probe to ground, avoiding any contact bounce. The Edge indicator, LED-2, should flash on momentarily and then go off. Now, carefully remove the probe from ground, avoiding any contact bounce. The Edge indicator should again flash on momen- tarily and then go off. Repeat this several times to verify that the edge detector always triggers on both the positive going and the negative going edges. If it does not trigger on both edges, increase the value of CI by several hundred pF. This should make the detector trigger on both edges, although it will decrease the maximum operating fre- quency of the edge detector. Table 1 shows the operation of the Level and Edge indicators for various inputs. Using this information, you can determine what type of signal the probe is observing by what the indicators are doing. Theory of Operation The two open collector inverters, IC1a and IClb, form a non-inverting driver for the Level indicator. The tester has a fan-in of one TTL load. R1 provides some protection for the input of IC1 a. A TTL at the input turns on the output open collector transistor of IClb. This transistor shunts the current from R3 around the Level LED, keeping it off. The transistor turns off when the input observes a TTL 1, and the current from R3 flows through the Level LED, illuminating the indicator. IC1c is a buffer for the edge detector oneshot, IC2a. The 9602 oneshot works best in this circuit, although a 9601 will work with degraded performance. C1 and Dl are used to trigger the oneshot on both the positive going and the negative going edges. CI slows the edges going to the inputs of IC2a. Dl provides some offset voltage between the two inputs of the oneshot, so that pin 4 approaches before pin 5 leaves 1 on a negative going edge. This triggers the detector on the negative going edge. For a positive going edge input to IC2a, pin 5 approaches 1 before pin 4 leaves 0, which triggers the detector on the positive going edge. C2 and R2 set the time constant which controls the pulse width of the Edge indicator flash. The Q output of IC2a is normally high; thus the Edge LED is off. When the detector triggers, the Q output goes low, turning the Edge LED on. After the oneshot times out, the Q output goes high again, turning the LED off until the next edge is detected. The oneshot is retrig- gerable, so a pulse train input with a period less than the pulse width of the flash will keep the Edge indicator on. D2 protects C2 from reverse polarity conditions." V \o° u oo p*W v*v a*o oo tfO tf< ***>* «** *%*>« ,0^.p oW s *■£ TO ORDER: Please write quantity of items in box next to price Include full payment with order Mich residents add sales tax. All items are NEW from DEC unless otherwise stated- Many items in stock Please call for delivery Please in- quire for delivery quotation Name _ - Company Address City _ State _ Z P - NEWMAN COMPUTER EXCHANGE 1250 N Ann Ar Phone Main St. Dept. A bor. Mich. 48104 313/994-3200 ■^EXCHANGE Phone: 313/994-3200 mm 83 Microprocessor Quay 80MPS. For serious hobbyists* Quay 80MPS is not designed for the casual hobbyist. Only if you're serious about your personal computing, should you find out about Quay 80MPS's features, capabilities, and options. Only if you want to break free from hobby-class microprocessors ond enter a great new world of sophis- ticated computing experiences, should you get intp the Quay 80MP5. Features ' □ Single PC board. 16 pin dip connectors ' (no costly backplane or edge con- neaors.) D Z-80 CPU. 1 58 instructions, 2.5 MHz clock. D 4K dynamic RAM. Expands to 16K on board (Z-80 refreshes w/o loss of thru- put). D 1K UVEPROM monitor. Inspea, alter, dump, and load memory,- set break- points; trace ond single-step debugging; serial I/O. ..jtional UVEPROM sockets. D 4 8-bit parallel I/O ports. Vectored in- terrupt (2 Z-80 PIO's, expands to 4). D ' 1 socket for Z-80 4 channel counter ' timer. Q 1 UART. RS232 & 20 ma interface. D UVEPROM programmer (2708). D Fully buffered address, data and control. Quay 8QMP5 is $695, assembled and tested. Send for complete details: Or for fast action, Coll 201-681-8700. Masrercharge and QankAmericard accepted. COO with 1/3 deposit. N j, residents add 5% sales tax. Nee does' not include shipping and handling. Dealer inquiries invited. P.O. Box 366, Freehold, N.J. 07728. Phone: 201-681-8700 Whafs New? The $600 Floppy Disk Ohio Scientific liiblruments, by way of the Barefoot Computer Company Informa- tion Service, has sent word of their entry into the home computer mass storage marketplace. This is a $599 fully assembled floppy disk drive with read and write elec- tronics, manuals, mating connectors, system interface board (less integrated circuits and parts) and 6502 or 6800 disk operating sys- tem. OSI says that it has achieved the low price by using the microprocessor itself as the major component of the disk con- troller and interface, and supplying basically the mechanism and the critical electronics of the drive itself. The user must supply additional parts estimated at a typical cost of $145 and approximately 8 to 10 evenings of assembly time. These additional parts include the disk's power supply, an en- closure, and cables. The OSI 470 Floppy Disk and Modem board, which occupies one slot in the com- pany's system backplane, can control up to four disk drives. It also can be configured to provide a 600 baud modem with full dial up and automatic answer capabilities. With the OSI interface, all tasks that can be handled by software are, thus making it format independent so that the system can read or write virtually any diskette format including the popular IBM 3740 format. Of course, appropriate software must be used for each format. Double density recording can be used, but system clocks greater than I MHz are required unless a very simple disk format is utilized. The Model 470 comes with a simple and compact 6502 or 6800 operating system. The purchaser must specify which he wants. The operating system allows the transfer of 4 K blocks of memory to and from the floppy's 77 tracks. To perform a write operation, the user specifies the starting ^HHHFT- address of the source block and track num- ber. For a read operation, he/she simply specifies track number and starting address of the destination block. Memory is transferred in 8 bit segments, with I parity bit and I slop hit. Software automatically performs a write, read, then verily test when writing and parity tests when reading. The software will attempt to write three times before labeling a track unsafe and will attempt to read a track a user specified number of times to recover data. More sophisticated operating systems are being written for the 470, but this simplest one should allow the user to get his floppy up and running with minimum difficulty, using a small amount of memory and slow clocking. OSI says its low price for diskette drive, manuals and connectors means slim profits and therefore orders must be in writing prepaid via check, Master Charge or Bank Americard or via 20 per cent deposit for COD shipment. Purchase orders are not accepted. There is a 20 per cent restocking charge for cancellation of order unless delivery is delayed beyond 1 20 days after receipt of order. Drives are manufacturer guaranteed against defective workmanship for 90 days by General Systems International. Although the OSI interface is delivered with the GSI Model 1 05, it is compatible with the GSI 50 and IK) drives. OSI's $535 price is con- siderably less than GSI's 50 piece industrial price. Ohio Scientific is located at I 1 679 Hayden St, Hiram OH 44234. Barefoot Computer Company is exclusive West Coast distributor for OSI, and is located at POB 1 58, San Luis Rey CA 92068." Watch for These in the Parts Markets We got a press release for a new line of Dual In Line Package capacitors manufac- tured by AVX Ceramics, Myrtle Beach SC. It makes a nice neat way of mounting capa- citors (within available values not listed in the press release) and should appear sooner or later in experimenters' parts markets." A "Super" Star Trek game in BASIC. . . David Mitchell, a BYTE reader with an Altair system, announced in a letter that he is selling the software of his version of Super Star Trek. This version has the features of Super Star Trek as found in The Best of Creative Computing, Volume 1 , but he says it is optimized and modified to fit an Altair 8800 with 16 K of memory (including the MITS 8 K BASIC as part of the memory requirement). It should run with other BASIC systems after appropriate modifica- tions of course. His letter says that he has a 15 page description of the game, giving program variables and routines, available along with a listing for $3. He'll also duplicate the program on MITS compatible cassette tape for $6 using Maxwell UD tape. Write David at 2S624 Mulberry Ct, Warren- ville IL 60555.- 84 It's All a Plot to Enable You to Draw with Your Computer Here is one of the most exciting new peripherals for the enthusiast yet to come down the road. This photograph shows the new Model DFT-1 Plotter Kit manufactured by Sylvanhills Laboratory Inc, #1 Sylvan- way, POB 239, Stafford MO 65757. What this kit supplies is all the mechanical details needed to make precision II by 17 inch (28 by 43 cm) plots. And if that isn't big enough, the same firm makes the DFT-2 kit, which can be used to build a plotter which will draw on a 17 by 22 inch (43 by 56 cm) bed. According to the flyer received with this photo, Sylvanhills has been making drafting and plotting machines for school and industry for several years, and has decided to make available the mechanism alone in kit form for the hobbyist. It is up to the purchaser to design a nice flat bed on which to mount the mechanism, but anyone handy with woodworking tools should be able to accomplish such a result. The kits from Sylvanhills include the following essentials: • XY plotting assembly, assembled and tested, ready to mount on the drawing surface. This includes two 24 VDC permanent magnet motors, two incre- mental encoder disks for feedback control of position using your computer. • 2 optoelectronic shaft position sensors which mate with the incremental encoder disks. • 2 motor control printed circuit boards with all components and assembly instructions. • 1 pen lift printed circuit board with all components and assembly instruc- tions. • 1 24 VDC solenoid to raise and lower the pen which is held in a general purpose mount. • miscellaneous components, schemat- ics, suggested layouts and circuitry. If you want to make a plotter, it looks like this is the ideal way to do it. You get new equipment, completely documented, and a size that is hard to put down. You'll have to build the table on which it is mounted, and write the software needed to sense position, and move to position on command, etc. But all this is well within the realm of the microprocessor and Sylvanhills has several users at work already on 8080, 6502 and 2650 software to drive this unit. They promise to make such software avail- able to purchasers of the plotters. What does it cost? Well, for the small DFT-I plotter kit, the price is $750. The larger model DFT-2 is priced at $895. A 24 VDC power supply which provides 1 ampere regulated for the motor and drive boards is $24.95 in kit form. When you've decided to do computer art via plotter, this kit will be the place to start. . . . But don't stop at simply moving a pen. Have you ever thought that this mechanism now gives you the means to move a puppel about on a microprocessor controlled puppet stage? Hmmm. . .■ Active Filter Activities. . . National Semiconductor Corporation has just released a comprehensive series of low cost active fillers designed for use with fre- quencies up lo 10 kHz. This was announced to the world in a news release which in- cluded the application notes for the AFI00 universal active filter line. These circuits are used in analog electronics in systems that include medical, geophysical, sonar, audio, lone signaling, modem and feedback control systems (ie; If you build a robot arm, you may want to incorporate one of these as part of the design for the motion controls.). Optimal use of these filters requires the mathematical and electronics background needed lo understand Butlerworth, Bessel, Cauer, or Tschebycheff filters. Design equations are given in the applications note Microcomputer QuaydOAl does much more with the Z-80. ®uay This dynamite new microcomputer system in o kit moves data like nothing else on the market. Run it alone or plug it into an 5100 bus Altair/IMSAI. For solo performance, all you need is »an unregulated power supply and an I/O device. Plugged in, Quay 80AI is a CPU, ROM, SIO, and RAM board -run any 5100 compatible device. BUT MORE THAN THAT. Quay -GOAI's Z-80 CPU opens challenging new areas of personal computing. /'features '■ D S100 bus compatible. Rugs in one slorof your Alrair or IMSAI. D Z-80 w/2.5 MHz clock. D1K static RAM. D 512 byte (ROM) monitor. Comes up running. Inspect, alter, dump! and load memory; set breakpoint; jump to user program. Handles serial I/O or keyboard input, including setting baud rate." D 4 UVEPROM (2708) sockets. □ Serial I/O. RS-202 and 20 ma interface. □ Parallel keyboard input. Accepts stan- dard ASCII keyboard. a UVEPROM programmer. Program 2708 type UVEPRQMs, D 2 phase clock and sync. Run 51 00 com- patible peripherals. Q 158 instructions. All 78 3080 instructions plus 80 new powerful instructions. D On board voltage regulators. Quay 80AI in a kit is $450; factory as- sembled, $600. Send for complete details. Or for fast action call 201- 681-8700. Masterchorge and BanhAmerlcard accepted. COO wjth 1/0 deposit. N J. residents odd- 5% sales tax. Price does not include shipping and handling. Dealer inquiries invited. P.O. Box 386, Freehold, NJ. 07728 Phone: 201-681-8700 85 and second order filter parameters can be programmed using only four external resis- tors. As an experimenter part, however, the AF100 shines, since the commercial plastic packaged DIP version sells for $4.95 in quantities of 100 (a couple of bucks more, probably, if you buy just one, bul well within the range of the amateur). For in- formation contact National Semiconductor Corporation, 2900 Semiconductor Dr, Santa Clara CA 95051 and ask for applications information on the AFI00, or if you're into electronics, see your nearest National Semi- conductor distributor." A Pointer Vector Electronic Co is a fountain of miscellaneous hardware and tools useful in homebrewing electronic equipment. Prod- ucts of this unique and innovative company range from the new Slit-N-Wrap wiring method (highly recommended) to sockets, matrix boards and enclosures. Readers with interests in breadboarding and designing hardware should definitely get hold of the latest Vector Catalogs. Vector Electronic Co is located at 12460 Gladstone Av, Sylmar CA91342." A Patented Logic Training Computer The SOL Source (a somewhat unusual new product. . notes by Carl Helmers) The people at Processor Technology have finally gotten around to sending out nice pretty "press" pictures of their latest, the SOL Terminal Computer. This picture of SOL would be new products news to people reading trade journals and publications to which a broadside mailing of such press releases are obviously intended. However, for us here at BYTE, and our readers, somehow it seems that Bob Marsh and his associates at Processor Technology always seem to get here first with advertisements, long before they get around to writing up the press releases. You first saw this product in BYTE as part of a 6 page advertising spread which Processor Technology ran in the December 1976 issue. So, since the mere insertion of a product picture with words abstracted from the press release would be an exercise in redundancy, a more interest- ing exercise is to comment on the SOL computer as an illustration of the state of the art in personal computing circa late 1976 and early 1977. SOL is an example of the complete system concept reduced to a desk top unit with a reasonable price tag. The pretty picture you see here, and elsewhere, is the product concept of the "hassle free" prod- uct one expects, a complete computer pur- chased ready to run. For now, however, you still have to assemble SOL, but the trends in the market guarantee that it'll sooner or later be available completely assembled for the pure "user" types who have no particu- lar interest in putting the device together. In a talk I gave at the WESCON show in September 1976, I described what might be called the "ideal" computer system circa 1976-1977: an under $2000 package with processor, 8 K of memory, video display output, ASCII keyboard, audio mass storage, ROM systems software and transient systems software. Given this general description, how well does the SOL terminal computer (in kit form) meet the price and performance objec- tives? A way to find out is to use the published price list of the December adver- tisements Processor Technology ran in BYTE to specify a tape oriented system . . . the result of this mental exercise is as follows: Processor, case, power supplies, video display generator, keyboard, mini- mal programmable memory of 2 K bytes . . . SOL-20 kit $ 995.00 SOLOS Stand Alone Operating Sys- tem in place of standard CONSOL $ 100.00 8K Programmable memory, 8 KRA (for total of 10 K bytes program- mable memory in the system) $ 295.00 Audio tape interface (includes 5 K BASIC) $ 97.00 Additional transient systems soft- ware: assembler, purchased on audiotape $ 14.50 Applications programs: MATHPAC, TREK 80, GAMEPAK 1 total, purchased on audio tape $ 33.50 Additonal items not from Proc- essor Technology: 2 inexpensive cassette recorders $ 100.00 1 video monitor $ 150.00 "Benchmark" system total cost $1785.00 This $1785 expenditure is an excellent example of what contemporary personal computing systems will run in price, where a spectrum of features is chosen to allow programming in a limited 5 K version of BASIC, tape to tape data processing applica- tions, video output and an attractively packaged desk top keyboard product. The only present hitch with the Processor Tech- nology product is that this is still a kit product. But it's available, and it should fill the requirements of many individuals . . . Delivery is currently quoted at stock to 45 days after receipt of order (ARO). Processor Technology is located at 6200 Hollis St, Emeryville CA 94608." A new self paced logic trainer manufac- tured by LJ Broder Enterprises Inc, 3192 Darvany Dr, Dallas TX 75220, (214) 357-7763, has been issued US Patent 3,975,836. The Broder Logic Trainer enables the student to physically manipulate logic states in order to learn logic definitions and solve problems. When the correct solution is achieved a bar appears on the LCD indicator. All basic digital logic components appear in the 40 digital problems which are combina- tional and sequential. A counter indicates the number of logic state changes made in solving a problem. BCD can be displayed as well as the decimal number. Additional problems can be created to teach specific circuits or even nonrelated subjects. Switch- ing and Venn diagram problems are in- cluded. There are no wires or electronic components to misuse or lose. The logic trainer uses a 9 V battery. Expected battery life is one year. There is a one year warranty on parts and labor. Prices range from $59 and $2 postage and handling for single units, to $40 for 500 units and up. Delivery is 12 weeks ARO or better." Attention Educators (And Everybody Else Interested in Computers) Terak Corporation, POB 3078, Scoltsdale AZ 85257, has introduced this neat little desk top computing system based upon an LSI-11 and a floppy disk. Unassuming as it looks, this neat little desk top configuration is the Terak 8510 computer system, a stand alone replacement for time shared systems or a superintelligenl component of tradi- tional computer networks. This little box contains an LSI-11 microcomputer board, 20,000 words of 16 bit primary memory, a floppy disk drive which can store 256,000 bytes per cartridge, both RS-232C and 20 mA current loop serial interfaces for terminal or Teletype, and software which includes a disk operating system, MACRO Assembler, Editor, Linker, Librarian, Batch Processing, BASIC interpreter and Fortran IV compiler. What does it cost you to get into computing via the Terak product? Including an institutional discount policy, the press release accompanying this picture quotes a "low initial cost, slightly over 86 $5000." Add an appropriate terminal such as the ADM-3 by Lear-Siegler and you'll have an excellent computer system for use in business or pleasure, lor education or for personal computing. No price was quoted for quantity one purchases without the institutional discount. The company is will- ing to talk to dealers, so who knows . . . maybe this will be the "Cadillac" computer model for many an independent store." Plasma Displays, Anyone? ■a* mm »:** *iiEw3 *»* ** «*i» j^mfie' tJjUIlll-f yuuu ^gju ^i^wumir j^^^ j^^y ^tuiK ^yl iflEBH lU^UJff i||Uli ^^^ The Tarbell Cassette Interface • Plugs directly into your IMSAI or ALTAIR • Fastest transfer rate: 187 (standard) to 540 bytes/second • Extremely Reliable — Phase encoded (self-clocking) • 4 Extra Status Lines, 4 Extra Control Lines • 25-page manual included • Device Code Selectable by DIP-switch • Capable of Generating BYTE/LANCASTER tapes also. • No modification required on audio cassette recorder • Complete kit $120, Assembled $175, Manual $4 TARBELL ELECTRONICS 144 Miraleste Drive #106, Miraleste, Calif. 90732 (213)538-4251 California residents please add 6% sales tax Interloping Burroughs SELF-SEMI Panel Displuui Id miiroprotesMirs. A new six page application note which describes techniques for interfacing micro- processors to alphanumeric displays is now available from the Electronic Components Division of Burroughs Corp. Written by Jerry Ogdin of Microcomputer Technique, the note provides basic hardware and software instructions for interfacing and for achieving a broad variety of special display effects such as display blinking, letter or word blinking, and display of a wide variety of alphanumeric fonts and special symbols. For more information contact Electronic Components Division, Burroughs Corp, POB 1226, Plainfield NJ 07061." ASR 33 is and more! OLIVETTI 318 TELETYPEWRITER BUILT-IN PAPER TAPE 1/0 HEAVY DUTY DESIGN ELECTRIC TYPEWRITER- STYLE KEYBOARD EXTRA 10 KEY NUMERIC PAD FRICTION OR SPROCKET FEED SUPPORTED BY OLIVETTI + SHIPPING $950 GREEN PHOSPHOR MONITOR $150 IV P TO P COMPOSITE VIDEO INPUT $10 SHIPPING LONG PERSISTENCE FOR GRAPHICS ggg|| \ 10 MHz BAND WIDTH f ■ ANTIGLARE 7x9" SCREEN I ■ RASTER SCAN Ifj ! NEAT TABLE TOP UNIT "W^pSW SwTPC 6800.. .$395 IMSAI 8080.. .$599 ONE DAY SHIPMENT WRITE FOR OUR CATALOG ^ Dept. B ■ 584 Commonwealth g Boston, MA 02215 "THE BIGGEST COMPUTER HOBBY CENTER IN THE WORLD" 87 BITS™ Presents: PROS j* TV Typewriter Cookbook by Don Lancaster. A complete guide to low cost television display of alphanumeric data, several chapters of which were published ahead of the book in early issues of BYTE magazine. $9.95 Digital Logic Circuits by Sol Libes. An invaluable tutorial background volume on digital logic, arithmetic, 10 concepts and interfacing to analog devices; written by one of the founders of the Amateur Computer Group of NJ. This book acquaints the reader with much of the terminology and background concepts of digital hardware. $5.98. -Modern Operational Circuit Design by Active Filter Cookbook by Don Lan- caster. The chief chef of electronics Cook- books concocts another gourmet appetizer. Run to this book when you need to find a starting point for the design of a filter for use in an electronic application. $14.95. -Altair Design developed by Ensor John L Smith. An absolutely essential intro- duction to the use and application of operational amplifier systems. The book contains both theoretical background infor- mation and practical circuit suggestions which can be used to advantage by the experimenter. $16.95 (hardbound). , Electronic Projects for Musicians by Craig Anderson. "Even if you know nothing about electronics, you can build preamps, ring modulators, mixers, tone controls, min- iampls, fuzzes and a dozen other inexpen- sive musical projects." Furthermore, even if you couldn't care less about about musical applications, you can use this book to gain familiarity with electronic parts, circuit dia- grams and construction techniques, using the wealth of illustrations and tips found in an extended introductory chapter for the novice electronicker. $6.95. Holiday. More Altair Design developed by Ens- or Holiday. Altair Design 3 developed by Ensor Holiday. Keep the loved ones busy while you use your system . . . give them any one or all of these computer generated Altair Design books to start them (or yourself) on endless hours of creative coloring. No other coloring books are quite like these unique books. $2.50 each. Artist and Computer edited by Ruth Leavit. A visual treat, as you encounter reproductions of numerous works by com- puter oriented artists and read about these works in their own words. $4.95. Linear IC Principles, Experiments, and Projects by Edward M Noll. From basic principles to complicated systems, from simple amplifier experiments to applications in radio, TV and control systems, this book can improve your knowledge of the way circuitry of the analog world really works. $8.95. Practical Solid-State Circuit Design by Jerome E Oleksy. A self study course in the design of semiconductor circuits from the simple transistor to the complex operational amplifier. $5.95. _Boolean Algebra by Brice Ward. A background tutorial and study guide for the design and simplification of static networks of logic gates. Learn how to combine those ANDs, NANDs, NORs and ORs to evaluate complicated logical conditions of multiple inputs, electronically. $5.50. Projects in Sight, Sound & Sensation by Mitchell Waite. Dedicated "to all space cowboys." Detailed theory and practice of seven fascinating amateur electronics pro- jects, along with a complete and detailed appendix on how to make PC boards. $4.95. Creativity, Invention, & Process by John A Kuecken. Practical philosophy and history for the inventor. $3.50. Security Electronics by John E Cun- ningham. To catch a thief, apply liberal doses of ingenuity and a modicum of cleverness. Find out what's been tried in conventional alarm systems before you go off computerizing your home security sys- tem, though. $4.95. Introduction to Biomedical Elect' ronics by Edward J Bukstein. What's been done in robot doctors? Nothing so far. But in terms of electronic aids to physicians and practices of health researchers, consult this background review of the field of biomed- ical electronics. $5.50. What to Do After You Hit Return of PCC's First Book of Computer Games. This is PCC's first book of computer games, a compendium which includes descriptions of numerous games, and listings of 37 selected BASIC games. $6.95. Send to: BITS, Inc 70 Main St Peterborough NH 03458 Total for all books checked Postage, 25 cents per book for books Check payment method: My check is enclosed Bill my MC No. Bill my BAC No. Exp. date Exp. date Name Address City State Zip Grand Total $ $ Signature You may photocopy this page if you wish to leave your BYTE intact. Please allow six weeks for delivery. 88 A BIT More When you build a project, you need information. All you find in the advertisements for parts are mysterious numbers identifying the little beasties . . . hardly the sort of information which can be used to design a custom logic circuit. You can find out about many of the numbers by using the information found in these books. No laboratory bench is complete without an accompany- ing library shelf filled with references. Order these absolutely essential references from Texas Instruments today: The TTL Data Book for Design Engineers, $3.95. The Supplement to the TTL Data Book for Design Engineers, $1.95. The Linear and Interface Circuits Data Book for Design Engineers, $3.95. The Semiconductor Memory Data Book for Design Engineers, $2.95. The Transistor and Diode Data Book for Design Engineers, $4.95. The Power Semiconductor Handbook for Design Engineers, $3.95. Understanding Solid State Electronics, $2.95. The Optoelectronics Data Book for Design Engineers, $2.95. Designing with TTL Integrated Circuits, edited by Robert L Morris and John R Miller, published by McGraw-Hill, $24. — The TTL Cookbook by Don Lancaster, published by Howard W Sams, Indianapolis. Start your quest for data here with Don's tutorial explanations of what makes a TTL logic design tick. 335 pages, $8.95. — Microcomputer Design by Donald P Martin. 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 computers today. Even Intel, the originator of the microprocessor 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. $25. Send to: BITS, Inc 70 Main St Peterborough NH 03458 £Q BiunAHEBimia Check payment method: My check is enclosed Bill my MC No. Bill my BAC No. Exp. date Exp. date Total for all books checked Postage, 25 cents per book for books Grand Total $ $ Name Address City State ^ip_ Signature You may photocopy this page if you wish to leave your BYTE intact. Please allow six weeks for delivery. 89 Potpourri from BITS BITS, Inc. is a trademark of BYTE Interface Technical Services, Inc. TM It's Almost Too Late . . . fOMPI ITFR BYTE T-shirts ... to snap up bicentennial memorabilia before V^ V^ I II Vy I l^ml \ . to snap up bicentennial memorabilia before you have to hunt through the nostalgia shops and pay 100 times the original price— if you're lucky enough to find a bargain— for an item as anachronistic and otherwise remarkable as Ro- bert Tinney's Computing 1776 picture. A same-size (16 bv 20 inches, 41 by 51 cm) reproduction of Tinney's original oil painting, this poster makes an off-beat gift. Don't wait for the nostalgia shops to get the last of these posters; get yours now for only $2.95. (Do you know what your old Amazing Science Fiction magazines and Superman com- ics that Mom threw out are worth now?) Available in blue heather with blue trim and red letters, or in white with blue trim and red letters. Only $5, including postage and handling. Have you ever wondered where to go for a basic starting point in your quest for information about computer applica- tions and uses? Ted Nelson's book, Computer Lib/Dream Machines, is the place for you to begin. Computer Lib/Dream Machines is for the layman — the person who is intelli- gent and inquisitive about computers. It is written and self published by a philosopher who is also a self confessed computer fan and an excellent teacher of basic concepts. (For those who have not yet heard, ivory towers are constructed out of real and substantial white bricks.) Computer Lib/Dream Machines is must reading for the beginner, and is also a refreshing self examination for the old hand at programming and systems work. Please send me: copies of Computer Lib @ $7 50 cents postage per copy Total posters @ $2.95 T-shirts small medium Total Total large extra large white, blue trim, red letters @ $5 blue heather, blue trim, red letters Grand Total Send to: BITS, Inc 70 Main St W m i BamkAmebicarh Check payment method: My check is enclosed Bill my MC No. Peterborough NH 03458 Name Bill my BAC No. Exp. date Exp. date Address City State Zip Signature You may photocopy this page if you wish to leave your BYTE intact. Please allow six weeks for delivery. 90 Build the "Coffee Can Special" EROM Eraser 40W LAMP WOOD PLATE Lawrence Burbey Jr 2196 Patty Ln Green Bay Wl 54304 STANDARD SURFACE MOUNTING FIXTURE SI TOGGLE -—2 LB. COFFEE CAN EROM BEING ERASED PEDESTAL (BLOCK OF WOOD) If you plan to reprogram your erasable PROMs (EROMs) you have probably noticed a general lack of information on cheap ultraviolet sources to do the job. EROMs like the 1702, 1702A, 2704 and 2708 are erasable with high intensity ultra- violet light at a frequency of 2537A. Many clothes dryers manufactured in the 1950s used a germicidal ultraviolet lamp to kill bacteria during the drying process. The lamp produces high intensity ultraviolet at 2537A and can be purchased as a replacement part for less than $5 from your local appliance service departments. The ultraviolet lamp was wired in series with a 25 to 40 W 115 VAC lamp to limit current in this application, so that the ultraviolet bulb is not burned out. WARNING Shortwave ultraviolet light can harm eyes and skin. Avoid looking into the lamp when it is lit. A safe way to utilize the germicidal ultraviolet lamp as an EROM eraser is to mount it inside a 2 lb coffee can. The current limiting incandescent lamp can be mounted on the outside, along with an AC toggle switch; in this way the ultraviolet source is not visible while in use and the incandescent lamp can serve as an indicator light — don't lift the can if the light is lit. Figure 1 shows how to arrange things. The EROM to be erased is placed on a pedestal; its height should allow a one inch clearance between the ultraviolet lamp and the EROM. Erasing time is approximately 10 to 20 minutes. Remember to wire the two lamps in series (figure 1) or you will blow your ultraviolet lamp bulb. A mechanical egg timer with a loud "cling" can be used in conjunction with this unit to time the erasing interval." J® ©- -=^» SI TOGGLE, IIOVAC Figure I : The physical assembly and circuit of the inexpensive EROM erasing apparatus. An ultraviolet bulb available as a replacement part for electric clothes dryers with germicidal cycles provides the source of the ionizing light needed to erase 1 702, 2704, 2708 and similar EROM devices. ACT- 1 MICRO-TERM INC. $525 complete with high resolution 9" monitor • $400 without monitor | N CLUDED 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 91 Separate Your Sync David Rosen 7 Lillian Rd Maiden MA 02148 HORIZONTAL OR VERTICAL SYNC INPUT ••OUTPUT TO REST OF MONITOR Figure I: Sync Amplifier Circuit for Sylvania SDM-5035 Video Monitor. The amplifiers for horizontal and vertical sync are identical, and are designed to receive TTL compatible signals. The problem is: How can the separate TTL sync pulses be obtained from the TVT? While building my television typewriter (from the Southwest Technical Products kit), I searched around the various surplus stores and TV repair shops in my area for a second hand TV receiver to use as a display. Fortunately, I came across a Sylvania model SDM-5035 12 inch video monitor. This monitor was once part of a data processing terminal. It is designed specifically for opti- mum legibility in the presentation of alpha- numeric display information in dot matrix format. The model I obtained has separate sync amplifiers rather than a sync separator. The advantages of separate sync are twofold; interlacing is improved because cross talk from the sync separator is eliminated, and the computer terminal can be designed more simply because a sync combiner is unneces- sary. Of course the TVT design already has a sync combiner. This circuit must be by- passed to use the separate sync amplifiers in the Sylvania display. The Sylvania vertical and horizontal sync amplifiers are identical. One is shown in figure 1. They require positive going sync pulses compatible with most IC logic. A HORIZONTAL- ICI7A \f 7409 J ■ RIO : ik 5V 01 2N5I29 Rll 47 »RI2 :ioo r- DEO UT Figure 2: The Southwest Technical Products CT-1024 TVT Sync Combiner Circuit. This is the circuit as it comes in the kit. To apply separate sync to a monitor, simply tap the vertical and horizontal inputs to the sync combiner gate, I CI 7a. , 92 Figure 3: Physical Detail. The modification can be made by tapping the CT-1024 board with RG 1 74/ U miniature coaxial cable, which is run from the TVT to the monitor inputs. logical zero equals to 0.8 VDC and a logical one equals 2.8 to 5 VDC. These levels are conveniently available in the TVT at the inputs to the 7409 quad AND gate feeding the 2N5129 emitter follower stage that drives the TV receiver or video monitor (see figure 2). In the SWTP kit these are called IC 17a and Q1 respectively. The vertical sync pulses appear at IC1 7a pin 4, and the horizontal at pin 5. There is also a convenient spot on the printed circuit card to tap these points (see figure 3). There are two empty plated through holes connected directly to pins 4 and 5 adjacent to a 3/4 inch x 1/8 inch (1 .905 x 0.31 75 cm) ground plane near C23. This makes it easy to solder lengths of RG-174 coax right to the two empty holes, connecting the shields to the adjacent ground. The coax cable can be terminated in RCA phone plugs and brought out to the display. With this modification there is no need to alter anything else in the composite video circuitry. The combined sync signals still appearing there don't bother the display unit at all." 54 I ICI7 °°^£^ 7409 ooooooo C23 VERT Software Bug of the Month W Douglas Maurar University Library Room 634 Gaorge Washington University Washington DC 20052 SOLUTION TO SOFTWARE BUG OF THE MONTH 6 There are two acceptable solutions to this problem. First of all, even a formula which converges, like this one, can have some intermediate values that are much too big for the floating point representation in the given computer. Going over to double pre- cision doesn't help, because double precision only doubles the number of significant digits; it doesn't double the maximum exponent. The second acceptable answer is that even when the intermediate values will fit, if they are much larger than the answer, you can get unacceptable roundoff and truncation error. This is why sine routine calculations are "normalized" by the formula: sin (x + 2tt) = sin x What Prudence should have done is to replace x by the remainder when x is divided by 27r; that is, by x — (entier (x/2tt)) • 27r, where entier(z) is the greatest integer in the real number z." 93 Product Description: OSI Photo 1: The model 300 computer training board from Ohio Scientific Instruments. This is a one board computer that allows the novice to gain experience using computers before moving on to more advanced models. The 300 model has a memory write protect switch that converts all memory to read only. This protects any stored programs or data. It can be run for 20 hours from four alkaline D cell batteries for total portability. Photo 2: Ohio Scientific Instruments' model 400 Superboard. The Super- board can be based on either a 6501, 6502, or 6800 microprocessor. It contains I K of programmable memory, 512 bytes of programmable read only memory, an AC I A with RS232 or 20 mA loop interface, and a peripheral interface adapter with 16 10 lines. The board comes complete with a construction manual that covers the construction and theory of operation. Robert Baker 15 Windsor Dr Atco NJ 08004 Robert Baker wrote this review based upon lit- erature supplied by OSI, a "sleeper" in the personal computing market which has been making some pretty interesting tech- nology. Ohio Scientific Instruments, OSI, was founded in 1975 by a group of educators and engineers to produce low cost products for education and the hobbyist. In the microprocessor field, their goal is to provide state of the art computer technology in affordable and easy to understand form. Operating overhead is held to a minimum keeping the cost of their kits as low as possible while all parts for their boards are said to be sold at zero profit. However, except for specially preprogrammed read only memories to be used in monitor sys- tems, they sell only parts to populate their own boards. Newcomers to the microprocessor world will be especially interested in the OSI model 300 computer trainer. The model 300, shown in photo 1, is a single board microcomputer based on the MOS Tech- nology 6502 microprocessor with 128 bytes of memory and a 20 experiment lab manual that assumes no previous knowledge of computers or digital electronics. There are various controls and displays to load and examine memory, a sync line for easy triggering of oscilloscopes, and two input lines and an output latch for 10 program- ming. One nice feature of the trainer is a memory write protect switch that effectively converts all memory to read only memory, protecting any stored programs or data. The 8 by 10 inch (20.3 cm by 25.4 cm) board requires an external 5 VDC, 500 mA supply but will operate for about 20 hours from four alkaline D cell batteries so it can be completely portable. For small hobby systems, OSI offers their model 400 Superboard, shown in photo 2, which can be based on either a 6501, 6502, or 6800 microprocessor with up to 1024 bytes of programmable memory, 512 bytes of programmable read only memory, an ACIA with RS232 or 20 mA loop interface, and a peripheral interface adapter with 16 IO lines. The Superboard is designed for future expansion utilizing a 48 line system bus common to the 6501, 6502, and 6800 microprocessors. This same bus will locally support the Intersil 6100 12 bit micro- processor as well as the soon to be an- 94 nounced 16 bit byte at a time processors. The 8 by 10 inch (20.3 by 25.4 cm) double sided G10 board comes complete with a 50 page construction manual that also covers the theory of operation and includes specifi- cations on all components used on the board. Optional, more complete documenta- tion is available for the various microproces- sors. Construction is straightforward but troubleshooting may be difficult if a scope is not available. Free advice is available via mail or telephone while a quick turnaround troubleshooting service is available at low cost directly through Ohio Scientific Instruments. The model 430 Super 10 board provides two 8 bit digital to analog converters, an 8 bit tracking analog to digital converter, an 8 bit parallel 10 port, and any one of the following serial interfaces: Baudot Teletype interface 8 level Teletype interface Amateur radio frequency shift keying interface Audio cassette interface, Kansas City standard Although designed for use with the model 400 Superboard, the 10 board may be used with many other systems including 8008 and 8080 based systems if timing precautions described in the documentation are observed. Last summer a flier from OSI described their "315 plan" which rents you a com- puter trainer identical to the model 300 for two months. When you return the trainer you then receive a model 400 Superboard, 430 Super IO board, 440 Super video board, television typewriter and audio cassette monitor software and complete documenta- tion. The plan is designed for the electronics hobbyist with little or no hands on experi- ence with computers. It is said to provide a good understanding of both programming and hardware before actually building a model 400 based system. The three ex- change boards provided in the 31 5 plan form a complete hobby computer system which may later be expanded as desired. OSI also offers a memory expansion board, a backplane, a prototyping board, and various programmable and nonprogram- mable read only memory monitors. Future products will include a video graphics board, a PDP 8 emulator, a floppy disk interface for the GSI model 105 diskette drive, and a basic firmware board for a calculator chip and programmable read only memory with on- board programmer. For a very descriptive flier and complete pricing information, write to Ohio Scientific Instruments, 11679 Hayden St, Hiram OH 44234." THE COMPUTER HDDRI SMALL COMPUTER SYSTEMS • SOFTWARE • AMATEUR RADIO EQUIPMENT 1455-ASo. 1100E. Salt Lake City, Utah 84105 Phone:801-466-7911 "WE TAKE THE D83TC5U out of the NERD " One Of The Nations Largest Full-Service Computer Stores. Over 1600 Square Feet Of Sales And Service Facilities. WHEN YOU WRITE FOR OUR CATALOG AND ENCLOSE $1 TO HELP DEFRAY THE COST OF HANDLING AND MAILING, HERE'S WHAT YOU GET: 1. A CERTIFICATE GOOD FOR $2 ON YOUR NEXT PURCHASE 2. the COMPUTER RL1QM easy to understand CATALOG COVERING I MSA I THE DIGITAL GROUP POLYMORPHIC SYSTEMS SOUTHWEST TECHNICAL PRODUCTS CORPORATION TECHNICAL DESIGN LABS ETC. 3. the COMPUTER HQQIH -easy guide- to help you PICK THE RIGHT SYSTEM, PERIPHERALS, COMPONENTS, AND SOFTWARE FOR THE BEGINNER THE ADVANCED THE EXPERT THE SMALL BUSINESS 4. A CURRENTLISTING OF PRESENTLY AVAILABLE SOFTWARE PUBLICATIONS PERIPHERALS 5. INFORMATION ON REPAIR SERVICE, LOW COST CUSTOM PROGRAMMING AND OTHER SPECIAL SERVICES. at the COMPUTER RDQM your written questions ARE HAPPILY RECEIVED AND PROMPTLY ANSWERED WE ALSO STOCK A COMPLETE LINE OF AMATEUR RADIO EQUIPMENT BANKAMERICARD MASTERCHARGE 95 Qlsssified Ads FOR SALE: Altair 8800a with 8 K of static memory, ACR cassette interface, 2SIO 20 mA TTY interface, 8 K Altair BASIC (original), and all manuals. This system is fully assembled. The selling price is $1462. If you are interested please call (2011 343-5618 or write Arthur Brussack, 203 Bogert Rd, River Edge NJ 07661. FOR SALE: Altair 88-4MCD 4K dynamic RAM memory board. Assembled by experienced kit builder and in good working order. $190 pp within USA. Write or phone Ronald Herman, 13 Simpson Rd, Windham NH 03087. (603) 893-6428. WANTED: Selectric typewriter/terminal, appre- ciate info and/or offers to sell. Bill Mitchell, 5805 Farnham Ct, Hanover Park I L 601 03. WANTED: IBM Selectric I or II & interface for computer. State condition and price. Bill Miller, 1278 Holley Rd, Webster NY 14580. (716) 872-0004, evenings. WANTED: Western Electric model 804B1 data auxiliary set. Connects to WE 103A data set and looks somewhat like five button telephone. Craig Hjorth, 5122 Canterbury Dr, Cypress CA 90630. (714) 821-1689. FOR SALE: Two Dura Automatic typewriters, paper tape, edit-control, Selectric printer. Need some repair. One is relay logic, the other is TTL. Has parallel IO ports. Contact Sheldon Linker, World Wide Dictation, 6399 Wilshire Blvd. Los Angeles CA 90048. FOR SALE: One set consisting of unpopulated PACE CPU board, memory board, universal wire wrap breadboard, extender board, PACE data book. All boards are high quality professionally made, plated-through with gold edge contacts. Silk screened legends with part placement and value are on all boards. Asking $20 for all. Have extra CPU board for $7. For anyone who makes his own PC boards, I have a couple of real nice card racks that hold 6 cards each and have dual 22 pin edge connectors (wire wrap type), built in card guides for 5-3/4 inch cards of any height, and spacers (feet) for mounting. Asking $10 each. I'll pay postage on above items, money order please. Does anyone have a 8008 data book I could have/ borrow/buy? Steve Kelley, 9506 Peach St, Oakland CA 94603. FOR SALE: Teletype equipment - model 28 ASRs, sprocket feed, $300 up. WU desk faxs. WU model 2bs. Model 14 and 1 5 parts. Model 28 parts, polar relays, ESUs, perforators, typing reperfora- tors, TDs, etc. GW Hemphill, 132 Scott Swamp Rd, Farmington CT 06032. Phone 6-9 PM only (203) 667-0678. FOR SALE: Burroughs L-2000 with A-562 paper tape punch and A-581 paper tape reader. Excellent condition. John Crosby, K4GBL, 2506 Devon Dr, Albany GA 31707. (912) 883-4420. FOR SALE: Bunker flamo keyboard model 2200 (ASCII) and video display model 2217 combina- tion with self contained power supply, schematics and manuals included, $90. Also model 15" and table $45, 14 TD non sync motor $10, 14 reperf $25. Local sale preferred. John Keslo, 5 Belvina Cir, Pelham NH 03076. (603) 635-2508. FOR SALE: Creed TTY with interface hardware, $100. Ball 12 inch 10 MHz monitor in cabinet, $125. Two LSI-11 DRV11 parallel cards, $150 each. Jim McCord, 3710 State St, Santa Barbara CA 93105. FOR SALE OR TRADE: Computer gear, ham gear, Heathkit HW-16, CW transceiver; HG-10B VFO; POLYCOM 62 VHF AM transceiver; WATERS 361 electronic keyer. All in excellent condition. Want to get into hobby computing. Russell Schnapp, 68-07 Main St, Flushing NY 11367. (212) 268-1431. FOR SALE: MITS very low cost terminal, fully assembled, no case, $85. MITS four slot mother board, used, somewhat beat-up but serviceable, $8. IBM 2311-type disk drive, manufactured by Con- trol Data Corp, 7.5 megabytes of storage for the price of a single floppy disk drive, $850. Will trade for ASR33 teletype, Altair compatible memory, or ?. James R Einolf, 3900 Fos Dr, Loveland CO 80537. Readers 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.* WANTED: Will buy or swap - send for list. Disk drive St/or controller, any condition. Floppy disk, any condition. Microprocessor boards, printers, peripherals, working or not. Send description and price to Bob Fallon, 3979 24th St, San Francisco CA94114. (415) 824-4997. FOR SALE: IOMEC INC (DIGITRONICS) Model 2540 paper tape reader with factory power supply. Brand new in factory box with copy of manual. Reads 5, 6, 7 or 8 level tapes at 600 char per sec. First certified check or money order for $225 takes it, FOB my address. Also have assorted Teletype equipment and some new very high amperage 5 V power supplies. Robert R McCarthy, 341 Pearson Way NE, Fridley MN 55432. TRADE: Will trade the first four issues of BYTE - including that elusive #1 — for the May 1976 issue #9 and $5.TSgt John McGaw, 5049 BCSQ Box 669, APO Seattle 98742. WANTED: I am missing issues 3, 8, and 9 of BYTE magazine. If you have them available for sale, contact me, Joel Walker, POB AE, University AL 35486. FOR SALE: 1702 PROMs, unused. These require different programming than 1702AS. Address must be complemented just before data is applied. 16 PROMs (4 K bytes total) $50, with data. PW Rourke, 30 Garfield Dr, Newport News VA 23602. FOR SALE: One set of INTEL 3000 series chips, Shottky Bipolar Microcomputer set. Includes 10-3002S, 2-3001, 10-3601 (256x4 PROM), 3212, 3003, 3226, 3214. Lots of documentation, books and data sheets. Completely unused. $250. David Bright, 4809 Broad Brook Dr, Bethesda MD 20014. (301) 530-2890. WANTED: Operating or maintenance manual for Flexowriter made by Commercial Controls Corp, Model No FPC5P. Will pay for Xerox copy if necessary. Dwight Byfield Jr, 1383 Crespi Dr, Pacifica CA 94044. CLEANING HOUSE: HP 523 with printer, Ampex TM-4 tape drive with manuals, CES tape drive, new with schematics. Process Tech boards, Altair boards. Large assortment of ICs and other mini and micro parts. Also have cassettes and paper tapes of assorted games for Altair 8800. Send stamp for list. Prices very reasonable. JA MacDonald, POB 5880, Baltimore MD 21208. (301) 484-6382. INFORMATION WANTED: Anyone who owns a KIM-1 or other 6502 ^P, to exchange ideas and information. Write: Gregory F Hogg; 16 Wornom Dr, Seaford VA 23696. FOR SALE: Complete set of first 12 issues of BYTE magazine, and one copy of the book Artist and Computer edited by Ruth Leavitt, together only $35. Send check or money order to Steven Sweeney, 10406 Holbrook Dr, Potomac MD 20854. All letters will be returned unopened after items are sold. FOR SALE: Altair 8800 with two 4K dynamic memory boards, one 1 K static memory board, one audio cassette interface, one 2SIO serial interface and Info Tech terminal, $1400. All boards as- sembled and working. Philip Higgs, 7714 B-1 Bellstone, St Louis MO 63119. (314) 962-3184. FOR SALE: Friden Programatic Flexowriter. Model SPS-8, 8 level code printer with ATR auxiliary reader and duplicator. Complete with all accessories. $500. Ken McBride, 2501 Poly Webb Rd #815, Arlington TX 76016. (817) 265-5245. FOR SALE: Sphere 320 with SIM board (TTY & 2 cassette interfaces), video monitor, 4 K RAM. Assembled, burned in, working. Parts for modem. Immediate Delivery! List about $1875; asking $1600. Richard Tenney, RFD 2, Amherst MA 01002. (413) 323-4555 or (207) 633-2638. WANTED: May 1976 issue of BYTE. H Cochran, 143 Beaverbrook Rd, Delran NJ 08075. FOR SALE: ICC/MI LGO 4400/48, 4800 baud modems. List price currently is $4800 each. I have two for sale at $800 each, or both for $1500. These modems will operate in full duplex or simplex mode over normal unconditioned tele- phone lines. They have built-in equalizers and are interfaced through either EIA-RS232 or CCITT-V 24. Also, one ADS-448 data concentrator (four low speed lines to one 4800 baud line), $600. Jim Brick, 820 Sweetbay Dr, Sunnyvale CA 94086. (408) 247-0312. WANTED: May 1976 issue #9 of BYTE magazine. Please reply with condition and asking price. Pete Bonk, 41AGreenhill Dr, Fishkill NY 12524. WANTED: PDP 11 /XX preferably without mem- ory; BYTE issues #1 to 4 in fair to good condition; TEKTRONIX 465 scope; PDP UNIBUS compatible dual drive floppy disk. Ansel R Dickinson, 3520D Pan American NE, Albuquerque NM 871 08. WANTED: I would like to buy a used or nonfunc- tional microcomputer and TTY, either homebrew or name brand. Would like price under $150 but send others. Write to: Mike Wixon, 1303 Whitfield Blvd. West Lawn PA 19609. TRADE: C146A, 826MA, 860H for computer hardware, need not be working. Please contact Dale Hutchinson, 10818 Brentway, Houston TX 77070. WANTED: Inexpensive ASCII terminals and/or likewise inexpensive computer systems, preferably with documentation. Please give price and condi- tion. Any help appreciated. Contact: Floyd County Computer Enthusiasts, RR #2 Box 466A, New Albany IN 47150. SWAP: TEC attache case telephone, converts in- stantly to regular car telephone. Need Altair/ IMSAl/POLY 88 mainframe, memory or what- have-you. G Shacter, 9465 Wilshire Blvd. Suite 518, Beverly Hills CA 90202. (213) 274-9834. 96 BYTE's Bugs Identification Ambiguities? I have a "constructive suggestion" to make about your editorial policy concerning articles on construction projects. I feel that all the uncommon ICs used should have a short name given in addition to the manu- facturer's type number, and that it wouldn't be a bad idea for all the ICs, especially where the symbol is not a good identification. For example, take a look at page 51 of your May 1976 issue. IC7 and IC9 are quite under- standable from their symbols, and types such as "7400" and "555" might be so commonly used as to need no introduction at all, let alone a short name, eg: "quad 2-input NAND" which would have fit in the table at the bottom of the page without taking additional lines. However, the other ICs are not too well known, and the "74265" does seem to be not at all well known. The symbols seem to indicate two ANDs and two buffers each with an addi- tional complementary output in one package. However, I have not found this IC listed in the few sources which I have conveniently available: Lancaster's TTL Cookbook, list of Tl 7400 series in Cramer's 1976 Catalog, and the Motorola reference book on TTL /See Tl Supplement to the TTL Data Book, p. 76/. Also, unlike the other TTL ICs in this figure, it is not listed for sale in the ad on page 93 of the same issue. /It should be. I Further RS-232C Comments Re the BYTE's Bug (page 56) on RS-232 levels: I still don't think you have it quite right. An RS-232C (the C refers to the August 1969 version of this EIA standard, which is the most recent revision) driver shall give between —5 and -15 V for a mark and between +5 and +15 V for a space when given a load resistance in the permissible range of 3000 to 7000 ohms. The open circuit voltage is not to exceed 25 V in magnitude (and shall not result in a current of more than 500 mA when shorted to any other conductor in the cable including ground). However, any voltage more nega- tive than —3 V shall be considered a mark and more positive than +3 V a space. Thus, there is a slightly different signal definition depending on whether you are a driver or a receiver. This is of some practical impor- tance because there is a difference between equipment which meets the RS-232C standard and that which is "RS-232C com- patible." This latter means that it will work with equipment which meets the standard. But there is no guarantee that two pieces of "RS-232C compatible" equipment will work with each other (although they usually will — with equipment from reputable manu- facturers the incompatibility is usually on unimportant details). For example, a driver which swings between plus and minus 4 V will be interpreted correctly by an RS-232C standard receiver and a receiver which makes I I The Heathkit catalog features nearly 400 fun-to-build money-saving electronic kits A complete selection of invaluable equipment such as DVM's, VTVM's, oscilloscopes, digital and analog powe supplies and frequency counters. Also, electronic TV games, hi-fi and more. Heath Co., Dept. 343-23, Benton Harbor, Ml 49022 Heath Company, Dept. 343-23 I Benton Harbor, Michigan 49022 Please send my FREE Heathkit catalog. I am not on your mailing list Address- City_ I CL-622 Zip. MULLEN COMPUTER B OARDS BOX 6214 • HAYWARD, CA. 94545 N AUAIR/IMIAI C D NEW FOR TROUBLESHOOTING O m- AND DEVELOPMENT: A SUPER M ■" EXTENDER BOARD FOR THE "2! ■VS-lOO BUSS. V ■^ •Built in, 3 LED TTL logic probe A • Jumper links in power lines for easy B current measurement and fusing 5 • Edge connector label identifies all pins Outstanding instructions m\ Full width card; gold connector teeth -AT YOUR LOCAL COMPUTER ■" —^ •STORES, OR ORDER BY MAIL. E "D Ml: «?§ * ■CAVE) 97 101 Basic Computer Games David H. AM. An anthology of games and simulations — from Acey-Deucey to Yahtzee, all in th« BASIC language. Contains a complete listing, sample run, plus a descriptive write-up of each game. Our most popular book! Large format, 248 pp. $7.50 [6C] What to Do After You Hit Return Another collection of games and simulations — all in BASIC — including number guessing games, word games, hide-and-seek games, pattern games, board games, business and social science simulations and science fiction games. Large format. 158 pp. $6.95 [8 A] Fun & Games with the Computer Ted Sage. "This book is designed as a text for a one-semester course in com- puter programming using the BASIC language. The programs used as il- lustrations and exercises are games rather than mathematical algorithms, in order to make the book appealing and accessible to more students. The text is well written, with many excellent sample programs. Highly recommended." — The Mathematics Teacher 351 pp. $5.95 [8B] Game Playing With the Computer, 2nd Ed. Donald Spencer. Over 70 games, puzzles, and mathematical recreations for the computer. Over 25 games in BASIC and FORTRAN are included complete with descriptions, flowcharts, and output. Also includes a fascinating account of the history of game-playing machines, right up to today's computer war games. Lots of "how-to" information for applying mathematical concepts to writing your own games. 320 pp. 1976 $14.95 [8S] So you 've got a personal computer. Now what? Creative Computing Magazine So you've got your own computer. Now what? Creative Computing is chock full of answers — new computer games with complete listings every issue, TV color graphics, simulations, educational programs, how to catalog your LPs on computer, etc. Also computer stories by Asimov, Pohl, and others; loads of challenging problems and puzzles; in-depth equipment reports on kits, terminals, and calculators; reviews of programming and hobbyist books; outrageous cartoons and much more. Creative Computing is the software and applications magazine of personal and educational computing. Bi-monthly. 1-year sub'n $8.00 [ I A], 3- years $2 1 .00 [ I B], sample copy $ 1 .50 [1 C] Problems For Computer Solution Gruenherger & Jaffray. A collection of 92 problems in engineering, business, social science and mathematics. The problems are presented in depth and cover a wide range of difficulty. Oriented to Fortran but good for any language. A classic. 401 pp. $8.95 [7A] A Guided Tour of Computer Programming In Basic Tom Dwyer una Michael Kaufman. "This is a fine book, mainly for young people, but of value for everyone, full of detail, many examples (including programs for hotel and airline reser- vations systems, and payroll), with much thought having been given to the use of graphics in teaching. This is the best of the introductory texts on BASIC." - Creative Computing Large format. 156 pp. $4.40 [8L] Problem Solving With The Computer Ted Sage. This text is designed to be used in a one-semester course in computer programming. It teaches BASIC in the context of the traditional high school mathematics curriculum. There are 40 carefully graded problems dealing with many of the more familiar topics of algebra and geometry. Probably the most widely adopted computer text. 244 pp. $5.95 [8JTJ A Simplified Guide to Fortran Programming Daniel McCracken. A thorough first text in Fortran. Covers all basic statements and quickly gets into case studies ranging from simple (printing columns) to challenging (craps games simulation). 278 pp. $8.75 [7F] The Best of Creative Computing — Vol. 1 David AM, ed. Staggering diversity of articles and fiction (Isaac Asimov, etc.), computer games (!8 new ones with complete listings), vivid graphics, 15 pages of "foolishness," and comprehen- sive reviews of over 100 books. The book consists of material which originally appeared in the first 6 issues of Creative Computing (1975), all of which are now out of print. 324 pp. $8.95 [6A] Understanding Solid State Electronics An excellent tutorial introduction to transistor and diode circuitry. Used at the Tl Learning Center, this book was written; for the person who needs to understand electronics but can't devote years to the study. 242 pp. $2,95 [9AJ BYTE Magazine If you are considering a personal com- puting system now "or later, BYTE provides a wealth of information on how to get started at an affordable price. Covers theory of computers, practical applications, and of course, lots of how- to build it. Monthly. 1 -Year sub'n $12.00 [2A], 3-Years $30.00 [2B] Games & Puzzles Magazine The only magazine in the world devoted to games and puzzles of every kind — mathematical, problematical, crosswords, chess, gomoko, checkers, backgammon, wargames, card games, board games, reviews, competitions, and more. Monthly. 1-Year sub'n$12.00[3A] Games With The Pocket Calculator Sivasailam Thiagarajan and Harold Stolovitch. A big step beyond tricks and puzzles with the hand calculator, the two dozen games of chance and strategy in this clever new book involve two or more players in conflict and competition. A single inexpensive four-banger is all you need to play. Large format. 50 pp. $2.00 [8H] Games, Tricks and Puzzles For A Hand Calculator Watty Judd. This book is a necessity for anyone who owns or intends to buy a hand calculator, from the most sophisticated (the HP65, for example) to the basic "four banger." 110 pp. $2.95 [8D] Computer Lib/ Dream Machine Ted Nelson. This book is devoted to the premise that everybody should under- stand computers. In a blithe manner the author covers interactive systems, ter- minals, computer languages, data struc- tures, binary patterns, computer architecture, mini-computers, big com- puters, microprocessors, simulation, military uses of computers, computer companies, and much, much more. Whole earth catalog style and size. A doozy! 127 pp. $7.00 [8P] Computer Power and Human Reason Joseph Weizenhaum. In this major new book, a distinguished computer scientist sounds the warning against the dangerous tendency to view computers and humans as merely two different kinds of "thinking machines." Weizen- baum explains exactly how the computer works and how it is being wrongly substituted for human choices. 300 pp $9.95 [8R] BASIC Programming 2nd Ed Kemeny and Kurtz. "A simple gradual, introduction to computer programming and time-sharing systems. The best text on BASJC on almost all counts. Rating: K+" -Creative Computing. 150pp. $8.50 [7E] Microprocessors A collection of articles from Electronics magazine. The book is in three parts: device technology; designing with microprocessors; and applications. 160 pp. 1975 $13.50 [9J] Microprocessors: Tech- nology, Architecture and Applications Daniel R. McGlynn. This introduction to the microprocessor defines and describes the related computer structures and electronic semi-conductor processes. Treats both hardware and software, giving an overview of commercially available microprocessors, and helps the user to determine the best one for him/her. 240 pp. $12.00 [7C] Creative Computing Catalogue Zany 12-page tabloid newspaper/ catalog lists books, magazines, art prints, and T-Shirts. A conversation piece even if you don't order anything. Free. [5A] Artist and Computer Ruth Leavitt, ed. Presents^ personal statements of 35 internationally-known computer artists coupled with over 160 plates in full color and black & white. Covers video art, optical phenornena, mathematical structures, sculpture, weaving, and more. 132 pp. $4.95 [6D] Cloth cover $10.95 [6E] CREATIVE COMPUTING, Dept. B P.O. Box 789-M, Morristown, NJ 07960 Please send me the following: Quan. Cat. Description Price Computer Science: A First Course (2nd Ed.) ■ Forsythe, Keenan, Organick, and Stenberg. A new, improved edition of this comprehensive survey of the basic i components of computer science. There I has been an updating of important areas ! such as Programming, Structured Programming, Problem Solving, and other Computer Science Concepts. The quantity of exercises and problems has been increased. 876 pp.$16.95 [7D] Mr. Spock Poster Dramatic, large (17" x 23") computer image of Mr. Spock on heavy poster stock. Uses two levels of overprinting. Comes in strong mailing tube. $1.50 [5 B] Books Shipping charge $1.00 USA, $2.00 Foreign NJ Residents add 5% sales tax . D Cash, check, M.O. enclosed TOTAL . □ BankAmericard □ Master Charge Card No. Expiration date . Name Address City State . Zip . its decisions at plus and minus 4!4 V will correctly interpret an RS-232C standard driver. However, it is obvious that the nonstandard driver and receiver will not work correctly together. /I hope this is the last word . . . CH / Henry E Schaffer Professor of Genetics North Carolina State University Box 5487 Raleigh NC 27607 ■ A Glitch Pair in Close Orbit Doug Anderson, of Control Process Corp, 201 Atwater St, Plantsville CT 06479, phoned in a couple of glitches in the copy of Gerald Herd's "A BASIC Star Trek Trainer," which appeared in September BYTE (page 40). The glitches appear at lines 1880 and 1940. At line 1880, the subscript of the matrix variable S is incorrect. That state- ment should read: 1880 LETS(2,J) = The second glitch at line 1940 is an assign- ment operator which was mistakenly printed as a minus sign. Thus statement 1940 should read: 1940 LETR = ABS(R) And, Notes on Conversion... Doug has gotten the program converted to Altair BASIC which he is using for a demonstration "gee whiz" program for Con- trol Process Corp's booths at trade shows. He reports that one of the major differences of the BASIC implemented by Altair relative to the Data General NOVA representation shown in Gerald Herd's article is that the computed GO TO and computed GO SUB syntax differs. Thus if you use the program with Altair BASIC, you'll have to change line 330 to read: 330 ON CGOSUB 790,920,1040,1 140, 1180,1250,1310 and line 1610 read: 1610 ON Z GOTO 1620,1640,1850, 1 730,1 730,1 780,1 780, 1 780,1 830,1 830." BYTE's Eits Call For Papers: ICCH/3 We received an announcement of the Third International Conference on Com- puters in the Humanities, which is co- sponsored by the Universite de Montreal and the University of Waterloo. The conference will be held August 2—5, 1977 at the University of Waterloo, Water- loo, Ontario CANADA. Interested parties should send abstracts or papers on any topic regarding computers and their relation to the humanities to Professor Paul Bratley, De- partement d'informatique, Universite de Montreal, Montreal, Quebec H3T 1J4 CANADA. The deadline for abstracts or papers is January 15 1977." All- new Phi-Deck: precision remote controlled cassette transports starting at under $100! Featuring: • Re-engineered precision parts • New cast frames • 4 motor reliability • Remotely controlled • Precise, fast head engage/disengage • Quick braking • Various speed ranges Electronic packages for control or read/write For application In: 1. Micro processing 2. Data recording/logging/storage 3. Programming 4. Instrumentation 5. Industrial Control 6. Data duplicating 7. Security/automatic warning systems 8. Test applications 9. Audio visual/education 10. Hi-Fi 11. Others I I I I I allif-MBl A Division of The Economy Co. 1901 North Walnut P.O. Box 25308 Oklahoma City, Oklahoma 73125 (405) 521-9000 □ I am interested in application no D Have Representative call □ Send application notes Name Company Name Address City Title _State_ Phone Number. Zip_ VOLUME TWO VOLUME ONE (©©fittlF^OtKllSS *« th « Englne.rBookkeepIng iUSl SoFtware Beam Conv. Filter Fit Bond Building Compound Cyclic At last a BASIC SOFTWARE LIBRARY is available written in BASIC, immediately executable in ANY computer; micro or mini. * Vol. I - BUSINESS & RECREATIONAL, source codes, instructions, etc. 300 pg. * * Vol. II - ENGINEERING STATISTICS 6 PLOTTING Integration 1 Decision 1 Integration 2 Decision 2 Intensity Depreciation Lola Efficient Macro Flow Max. MIn. Installment Navald Interest Optical Investments Planet Mortgage PSD Optimize Rand I Order Rand 2 Pert Tree Solve Rate Sphere Trlan Return I a list of potential users, Instructions for ex- Stars Return 2 .i j ti.i ii ... ( lL . Track Schedule 1 ecutlon ana possible limitations that may arise Tp .. BB , I r lang le r »■■.. ■ u..i."i. Games when running it on various systems. plus BASIC Reference conversions, 250 pg. Included with each program Is a description, Variable Vactor • • • SPECIAL CHRISTMAS OFFER < • • Volume I or II - $24.95 each Volume I S II — $39.95 set add $2/Vol for handling $4/Vol for air mall (Continental U.S.) or send SASE for Info. TO: SCIENTIFIC RESEARCH TiZfZZ °*pt 6 8 Post Office Drawer 2096 Ashland, Virginia 23005 Money Orders and Bank Card orders shipped same day. C.O.D. and checks take longer. Animals Four Plotting 4 Stat A " r °™"t * Bagel discounts available Binomial Chl-Sq. Coeff Confidence t Confidence 2 Correlations Curve Differences Dual Plot Exp-Dlstrl Least Squares Pa I red Plot Plotpti PICTURES Polynomial . Regression ,*• „ Linus Ms. Santa Nixon Noel Noel Nude Peace Bagel Bio Cycle Cannons Checkers Craps Dogfight Golf Judy Line Up Pony Roulette Sky Diver Tank Teach He Stat 1 Stat 2 T-Dlstrlbutlon Unpa 1 red Variance 1 Variance 2 XV 99 Tom Pittman and friend selling copies of his moderately famous Tiny BASIC for 6800 or 6502 at $5 per copy. A representative of itty bitty machines expounding on the ins and outs of tiny computers. Some Candid Shots from Personal Computing 76 Surprise! BYTE editor Carl Helmers receiving the "award" of an Honorary Lifeguard Certificate, signed by the mayor of Atlantic City, presented by John Dilks, co- chairman of PC 76. Marj Kirk was circulating around the Personal Computing 76 show in Atlantic City August 27—29, taking candid photos. As noted previously in BYTE, the show was quite a success, and is but a taste of things to come in the area of people and manufac- turers gathering for enjoyment, relaxation and exchange of ideas. Future gatherings which we know about at this time include the First West Coast Computer Faire in the San Francisco Convention Center April 15-17, 1977, and the National Computer Conference's special section for personal computing June 13—16. (If your club or regional computer association is planning a big event, be sure to coordinate with us in advance.) These photos, wherever possible, have the people identified." The Door Prize Drawing. John Dilks introducing the door prize event, with Dave Jones looking on Ted Nelson, author of Computer Lib, a founding father of itty bitty machines (an Evanston IL computer store and idea fac- tory) giving his talk at the banquet on Saturday August 28. An interesting and human oriented application of computers was demonstrated by Digital Equipment Corp, which set up its LSI-il model railroad demon- stration. Here 's a theme dear to the hearts of many home computer people: applying the processor to a hobby. m§ ?""* «u» I*** (left). Numerous door prizes, large and small, were awarded, ranging from complete computers to books and other sundries. A convention is a lot of work to organize. So much strain and so many sleepless nights caught up with John Dilks, Marl's camera catching him asleep on his feet. . . . 100 *- We've got it! £-80 power for the Altair bus. Tom Kirk (left) of Techni- cal Design Labs and Gor- don French of Processor Technology at the cocktail party preceding the ban- quet. Roger Amidon, designer of the TDL Z-80 processor board for the Si 00 bus, shown ho /ding the board which was demon- strated along with Roger's Z APPLE monitor program. Vkm Robert Suding, designer of the Digital Group Systems and author of several recent BYTE articles, showing off his product. (Note that these photos were taken before the Digital Group's excellent new cabinetwork had been com- pleted. A later appearance of the Digital Group at the WESCON show provided the first public appearance of the unique and professional styling now advertised by the company.) 1 | John Whitney, maker of "Arabesque" and other visual fantasies created with the aid of computers, introducing his films. Jan Nilsson, who probably travelled furthest to get to the show, with Steve Kay of Motorola at the cocktail party preceding the banquet. Jan heard about the show when his July BYTE finally got to Sweden one week before it occurred . . . and hopped a jet to the States to see what he could see. A dealer in I MSA I products, he 's started what is probably the first retail computer store in Sweden. The IBM hospitality suite drew numerous people, who were able to see and use the IBM 5100 personal computer in the form of three demonstration sys- tems. Presentation of the "Outstanding Computer Hobbyist of the Year" award to Sol Libes. Carl Helmers made the presentation as master of ceremonies for the banquet, with David Ahl of Creative Computing (left) and James Main, one of the co-chairmen of the PC 76 event, watching. I ITM ii u i crirflLe MICROCOMPUTING FOR HOME AND THE SMALL BUSINESSMAN The professional publication bringing microcomputing technology to the hobbyist, small businessman, educator, engineer and student. Every issue edited to bring technology and people together in the simplest manner. INTERFACE AGE is packed with HARDWARE ARTICLES — Product profiles, comparisons, applications, modifications and construction pro- jects. SOFTWARE ARTICLES — Microcomputer development software, short software routines, application software, off-line software storage formats, software communication standards and access to the microcomputer software depository for all INTER- FACE AGE readers. TUTORIALS — Fundamentals of micro processors, basics for microcomputing, professional to technical transition information, understanding software, elementary math for computing. • NEW PRODUCTS — Manufacturer profiles and latest product releases. • USER COMMUNICATION — UPDATE — devoted to club and organization announcements and activities. — LETTERS TO THE EDITOR — Reader forum for expression of opinions and feedback on articles and features. • MICRO-MARKET/FIFO FLEA MARKET - Low cost/no cost advertising for the new marketeer/garage sale enthusiast. If you need to know how to get started in microcomputing or need the valuable software once your system is completed then INTERFACE AGE is a must for you. Don't Delay — Subscribe Today! r INTERFACE AGE MAGAZINE 1 P.O. Box 1234 Cerritos, CA. 90701 Name. 12 Monthly Issues: $10 U.S., $12 Can./Mex., $18 International D CHECK □ MONEY ORDER Address- City Country . State- Zip. L MAKE CHECK PAYABLE TO: INTERFACE AGE MAGAZINE J Continued from page 12 copied into the computer, the programs, written in BASIC, can be used by indi- vidual students to deepen their under- standing of selected mathematical con- cepts, or to sharpen their mathematical skills. The programs are of four kinds: tutorial, simulation, data reduction, and demonstration, and are keyed to leading textbooks in secondary school math. The programs help the student to: Develop the ability to estimate square roots; the values of polynomials; powers of A for various values of A and x; logarithms to various bases; the roots of linear, quadratic and cubic equations; sines, cosines and tangents. Develop the ability to analyze quadratic equations, use trigonometric identities and laws, and factor trinomials. Develop an under- standing of parabolas, hyperbolas, circles, ellipses, and other conic sections; higher order polynomial equations and trans- cendental equations through numerical and graphical analysis; and the concepts of equally-likely, proportions of out- comes, probability, the area/probability and volume/probability relationships, and calculus. Demonstrate that every rational number has a repeating decimal represen- tation. Define n by calculating the cir- cumference of the unit circle and as the area of the unit circle. Use Newton's method to find a real root of higher order polynomials and transcendental equa- tions. 4. Problems for Computer Solution by Gruenberger and J affray, 401 pp, $8.95. A collection of 92 problems for com- puter solution, many dealing with math- ematical topics including evaluating a polynomial, solution of algebraic equa- tions, Hastings approximations, factorials and subfactorials, permutations, Latin squares, prime numbers, chained primes, power residues, primitive roots, calcula- tion of n, etc. There is a lot of a priori help, but no completed programs. The authors had FORTRAN, not BASIC, in mind. But it doesn't matter. A classic. 5. Problems for Computer Solution by Stephen Rogowski, Student's edition, 113 pp, $3.95; Teacher's edition, 279 pp, $9.95. The student edition of this book chal- lenges the student to "write a program to . . ." do 90 different assignments in arith- metic, algebra, geometry, trigonometry, number theory, probability, statistics, cal- culus and science. There are hints at the ALTAI R 8800 OWNERS * Does your Altai r crash when the lights dim? * Is your Altair power supply inadequate for all the memory and I/O that you'd like to run? Then you need the unique Parasitic Engineering Constant- Voltage Power Supply Kit. A custom engineered power supply that installs easily in your Altair 8800 or 8800a mainframe. It has performance no other Altair power supply can match. * Full 12 amp output with line voltage as low as 90 volts or as high as 140 volts. * Isolation from power line fluctuations and noise. * Protected against overloads. Don't let power supply problems sabotage your Altair. Order your kit TODAY. only $90 postpaid in the USA. Ca residents add $5.40 sales tax. PARASITIC ENGINEERING PO BOX 6314 ALBANY CA 94706 /C- 0\ SALES. EXECUTIVE OFFICES & WAREHOUSE (jclSfX^r- RESCO ELECTRONICS Airport Industrial Park / A rport and Cenlral Hwys. ,— ,,,, ' n*** ('«•'■' s*»m Co. ot p*. Pennsauken. New Jersey 08110 ^y^/y ^ "•'* ■'"" (215) 925-6900 • (609) 662-4000 MAIL ORDER SOURCE FOR MOTOROLA MPU PARTS MPU KIT MER 68002 Evaluation Kit II $235.00 P.C. Board Alone 50.00 MPU Kit Assembler/ Editor 250.00 MPU FAMILY PARTS MC6800L8 Bit MPU $35.00 MC6820L PIA 15.00 MC6950L ACIA 15.00 MC6852L SSDA 19.00 MC6860L Modem (600 BPS) 17.00 MC6810AP 128x8 RAM 5.50 MC6880P Bus Extender (8T26) 4.90 CMOS 7 NMOS PARTS FOR MPU SYSTEMS MC14410P 2 of 8 Tone Encoder $10.21 MC1 441 1 P Bit Rate Generator 11.60 MC14412VL Universal Low Speed Modem 21.74 MC14415EVL Quad Precision Timer 11.42 MC14419P Keypad to Binary Converter 3.59 MC14435VP3V2 Digit A/ D Logic MC14503BCP Hex Bus Driver 10.58 1.28 MC14536CP Programmable Timer 6.63 MC14549BCP Successive Approximation Register 7.17 MC1408L6 7 Bit D/A Converter 6.55 MC6571 P 1 28 x 9 x 7 Character Generator 11.25 DATA BOOKS Linear $3.30 McMos 2.75 McMos Handbook 3.30 Semiconductor Selector 2.20 Bipolar Digital Logic 2.20 MPU LITERATURE Programming Manual $10.00 Applications Manual 25.00 System Design Data 2.20 Exorciser User Guide 5.50 Data Sheets $.50 ea. $10.00 minimum order $2.00 postage & handling 5% Tax NJ residents Delivery: stock to 4 wks Money Order or Cashiers Check only. TIRED OF THE PARTS ORDERING PROBLEM ..COME TO RESCO FOR YOUR M6800 MPU SYSTEM. 103 BYTE's Bits solution and references to texts. The teacher edition contains one or more BASIC programs the author wrote to accomplish each assignment, plus his analysis. There are also resource books for physics and chemistry: 6. The ENTELEK Computer-Based Physics Lab by Richard A Rader, 133 pp, 8-1/2 X 11, ISBN 87567-035-0, $14.95. This contains 10 computer programs for use in an introductory physics course. Once loaded into the computer, the programs, written in BASIC, can be used by individual students to expedite the production of tables of data by elimi- nating the tiresome chore of repeatedly calculating the same physical quantity from multiple measurements. The ex- periments to which the programs apply are found in numerous physics curricula, including those of Harvard Project Physics and the Physical Science Study Committee. They deal with Snell's law, Kepler's second law, the simple pen- dulum, speed and acceleration, momen- tum and kinetic energy, charge of ions, focal length, characteristics of simple electrical circuits, wavelengths of light, mass of the electron, etc. 7. Chemistry with a Computer by Paul Cauchon, 188 pp, 8-1 1 2 X 11, $9.95. This book contains 26 computer pro- grams for use in any chemistry course at the high school or college level. The programs, written in BASIC, are of three kinds: tutorial, simulation, and problem- generation. Representative tutorials include exercises with Beer's Law; mass, volume, and density; equilibrium con- stant; and exponential notation. Simula- tions include Rutherford's gold foil experiment, qualitative analysis, and the law of heat exchange. Representative problem-generating programs include names and formulas for salts and related acids, and problems on titration and normality, combining volumes and masses of hydrogen and oxygen, etc. The seven books are divided as to their objective and approach. Three require the student to write a computer program per- taining to some math topic (2, 4, 5). Four list programs which, once loaded into the computer, perform some useful pedagogical task (1, 3, 6, 7). All the above books, plus Computer Resource Book — Algebra by Dwyer and Critchfield ($4.20), can be pur- chased from ENTELEK Computer Books, 42 Pleasant St, Newburyport MA 01950, and, like Professor Bell, we would be in- terested to hear about any other computer resource books, either in print or in preparation. Albert E Hickey ENTELEK Computer Books" What Is It, 2 What Is It? "An inking device for hard copy impact Photo 1. printers. " The photograph published last month was a cross section of ink bearing plastic manu- factured in the form of the roll shown here. The holes (see photo 2) are designed to meter the flow of ink out to the print mechanism during the life of the ink roll, and the spaces in the foam plastic are filled Photo 2. with the ink supply. This material is manu- factured by Porelon Inc, Racine Wl, and is' sold only to printer manufacturers on an OEM custom basis. But if you see a self- inking printer without a ribbon at your computer store, chances are it uses this technology to put the ink on the print wheel, print drum, etc." New Directions for Distributors mpu Semiconductor Specialists Inc, an indus- trial distributor, will now cater to the home computer enthusiast by establishing twelve MPU Shops at their twelve US branches. The first was opened in the Chicago area at the company headquarters on October 15. The MPU Shops will have working models of five microprocessor kits, three non- assembled kits, plus four additional micro- processor chips not in kit form. Two com- plete developmental systems will be available. In addition, books, power supplies, tape readers and accessories in kit form will be carried. Paul Carroll, president, explains: "The industrial distributor has never really catered to the hobbyist, but always allowed cash sales because many engineers and buyers from industry bought small quantities for their personal use. With the advent of the microprocessor, a whole new market of computer users has developed. These people are engineers, programmers, and technicians from industry who are learning, designing, and programming microprocessor systems at home. They want a place to browse, read, have hands on practice, and see what they are buying. The MPU Shops will have the advantage of supplying many of the extra transistors or ICs they need to input or output their system. The fact that many of these "Computerists" will end up designing and specifying a future system for their employers is why Semiconductor Specialists is interested in this growing market. Mail orders as well as credit cards will be accepted by the MPU Shops. Semiconductor Special- ists Inc is located at POB 66125, O'Hare International Airport, Chicago IL 60666." 104 microcomputer^ K x 8 RA^rSK .** .-^' **> r*v», San Francisco Bay Area— where it all started— finally gets its act together. 7,000-10,000 PEOPLE ■ 100 CONFERENCE SESSIONS ■ 200 COMMERCIAL & HOMEBREW EXHIBITS 2 BANQUETS ■ SPECIAL INTEREST SOCIAL CENTERS San Francisco Civic Auditorium, Northern California's Largest Convention Facility YOU Can^BeXlPart Of It: ■ Some of the things you can do are: Exhibit a Homebrewed System • Hardware or Software • Prizes for Best "Homecooking" (just like a country fair) • Nominal Grants-ln-Aid Will Help With Exhibit Transportation Costs (grants will be refereed) Present a Talk • A Formal Paper • An Informal Talk Serve on a Panel • As a Panel Member • As the Coordinator/Moderator Give Suggestions • Topics for Talks & Panels • Speakers & Panel Participants • Interesting Exhibits (homebrewed or commercial) • Special Activities ■ Quick, write or call for more details! Jim Warren, Faire Chairperson Box 1579 Palo Alto CA 94302 (415) 851-7664 v 323-3111 ^a,^***! 15-17, Some of the Conference Sections being planned: • Computer Graphics on Home Computers • Computer-Driven, & Computer-Assisted Music Systems • Speech Synthesis Using Home Computers • Computers & Amateur Radio • Microprogrammable Microprocessors for Hobbyists • Program & Data Input via Optical Scanning • Floppy Disc Systems for Personal Computers • Computer Games: Alphanumeric & Graphic • Computers & Systems for Very Small Businesses • Personal Computers for the Physically Handicapped • Personal Word-Processing Systems • Software Design: Modularity & Portability • Personal Computers for Education associated with a Univ. of California short-course • Several Sections Concerning Standards • Other Sections for Club Leaders, Editors, Organizers, etc. Co-Sponsors include amateur, professional, & educational groups: • The Two Largest, Amateur Computer Organizations Homebrew Computer Club Southern California Computer Society • Both Area Chapters of the Association for Computing Machinery San Francisco Peninsula Chapter Golden Gate Chapter • Stanford University's Electrical Engineering Department • Community Computer Center • People's Computer Company ©1976 by Computer Faire Using Interrupts to Speed Up an ELM G H Gable 419 Jackson St Grand Ledge Ml 48837 Software systems are always subject to improvement and extension. The Eloquent Little Monitor is no exception. In the basic ELM monitor, described in my article in June BYTE, page 66, input and output to and from the terminal is handled in a fairly simplistic way. In the case of output, when a byte is ready to be printed, the terminal port is addressed and the byte is dumped onto the 10 device. If the terminal is ready, it accepts the byte and prints it. If the terminal is not ready, for instance, if it has not finished printing the last byte, the processor idles, waiting for the terminal to be ready, before actually outputting the byte. If the terminal is a Teletype, it takes 100 ms to print each byte of output. In that time, a typical microprocessor will go through 100,000 machine cycles. Input from the Teletype is even slower because almost nobody can type 10 characters per second. It is easy to see that with such an IO scheme nearly all of the processor's time is spent waiting, either for the next input byte, or for the terminal to be ready to accept the next output byte. This apparent inefficiency of wasted pro- cessor time is not a problem for a dedicated program such as ELM since there is just nothing else for the processor to be doing. The problem, however, might be dramatized in a user program that calculates and prints a series of ten digit numbers. Let us say that each number takes one second to calculate and then one second to print out the ten digits. The real computer time is two sec- onds per number. During the second second the processor spends most of its time waiting for the printer to be ready. The real time it takes to finish the job could be cut nearly in half if the processor could use the wait periods to be calculating the next number in the series. Such a system is called overlapped output. The speed problem is just as acute with very fast peripheral devices which handle data at a fixed rate. An example is the disk storage unit. A typical hard surface disk can handle data at the rate of 250,000 bytes per second or 4 lis per byte. Many micropro- cessors cannot execute even one instruction before the next byte is in position on the disk. If data is stored sequentially on a track, the best the processor can do is access each sequential byte in one plus revolutions of the disk. Such a scheme is 4000 times slower than being able to access each byte as it comes up. Clearly what is needed in this case is the ability for the disk to directly access the central memory in less than 4/is. The fundamental object in interfacing peripheral devices with the central processor is to optimize the operation of each unit. Time is the factor which must be handled; first, in the sense of the great speed differen- tial between the peripheral device and the central processor, and second, in the sense that the peripheral device and the central processor are asynchronous; that is, that the device does not start and stop its operation at any specific time relative to the processor. The speed problem is handled by system software which controls the data flow. The asynchronous timing problem requires some control level communications between the central processor and the peripheral device. Such control communications are handled in most computers by an interrupt structure. Interrupts Computers are a lot like people in that many of them tend to be very single-minded. It is difficult to talk to them when they are busy doing something else. The processor interrupt is a sort of electronic tap on the shoulder which causes the processor to stop doing whatever it was doing and give the 106 shoulder-tapper its undivided attention. This is how the interrupt oriented peripheral device communicates with the central pro- cessor. When the device wants to tell the processor something, it first sends an inter- rupt signal on the control bus and then, in some fashion, transmits the message. When the processor receives the interrupt signal, it stops processing at the end of the current instruction and accepts the message. It then takes some action on the message. The interrupt structure of the processor and the peripheral device are hardware func- tions, while the message processing is done by system software. There are many dif- ferent hardware schemes and, of course, nearly as many software routines as there are computers in the world. Messages are trans- mitted to the processor via two basic routes. One method will send the message as a set of control signals on a control bus, while the other method sends the message as data on an 10 bus. If the interrupt signal is con- sidered as part of the message, then the 10 bus route is always augmented by the control bus route. The message essentially has two parts, an identification of the source and the content of the message. There are three commonly used methods for handling the message after it arrives at the processor. One scheme simply causes one bit, determined by the message, to be set in an interrupt register in the processor. This scheme is known as a linear interrupt. It is quite restrictive on small word size machines, but is commonly used on processors with larger word lengths. Another method is to simply store the message in the interrupt register and let software analyze it. The third scheme does not store the message at all, but causes a jump to a location specified by the message. This method is called a vectored interrupt. After the processor has stored the message in Some Assumptions . . . The Eloquent Little Monitor (ELM) extensions as described here are designed to "play" with a computer which has the following hardware features: • Vectored interrupts. • Direct Memory Access (DMA) block oriented IO for a tape unit. • Polled (non interrupt) character input operations. • Interrupt oriented character output opera- tions, with interrupts taking place at the end of a character's data transfer. The use of this program with other IO schemes is of course possible, with modifications. For in- stance, vectored interrupts can be simulated if the source of interrupts is determined in software; a DMA operation could be simulated by explicitly writing a byte by byte block data transfer routine, etc. the first two schemes, it stores the program counter and jumps to a predefined location to execute an interrupt processing routine. In the third scheme, the processor stores the program counter before making the vectored jump. In virtually all interrupt structures there is some provision for disabling interrupts, either totally or selectively, by software. This provision is essential because there are times when an interrupt would be inop- portune, such as when another interrupt is being processed. In addition to the message type interrupt, most processors implement some very spe- cial interrupts. One of these is the reset line in the control bus. When a signal is put on this line, the processor stops executing the program and jumps (for example) to loca- tion zero. This allows the user to manually invoke the monitor at any time jumping to the command processing section of the monitor. At deadstart or after a reset, the monitor is in the command mode. Direct Memory Access Another special interrupt often present in general purpose computers is the direct memory access (DMA) hold line in the control bus. A signal on this line halts processing and puts the three state memory data and address buses into a high im- pedance disconnected state. A peripheral device controller may now directly access central memory for input and output opera- tions. The principal advantage of DMA is that data does not have to pass through the 107 ■•-POINTER l—^-T Figure 2: A circular buffer is conceptually a ring although in memory it is actually a region from HEAD to TAIL. Two pointers are maintained for a circular buffer: The IN pointer gives the next available location, and the OUT pointer gives the next location to be used by a processing program. In hard- ware, a circular buffer corresponds roughly to an integrated circuit called the first in first out memory, sometimes abbreviated FIFO. Figure I: A buffer is a temporary place to store data. A linear buffer is a region of memory from locations HEAD to TAIL. When data is processed location by location, a POINTER address variable is used to keep track of the present location. central processor registers. Input and output can be done essentially at memory access speeds. The controller takes data from se- quential memory locations and passes it to the peripheral device, or vice versa. Com- munication about the status of the device is handled by the normal interrupt line. This all takes fairly sophisticated hardware in the controller, which must be able to count, increment addresses and test to see when an operation is complete. Such capability implies that the controller is actually a special purpose computer processor itself. DMA controllers are often called "intelligent data channels." On many large computers, data channels can actually execute a small instruction set and have their own memories. Current minicomputer peripherals makers often in fact use microprocessors as the DMA controllers of slower speed devices. DMA can solve the earlier mentioned disk problem where the central processor was too slow for the disk. The DMA controller, with its few simple hardware instructions, can transfer data to and from the disk in less than the 4 p.s required. Buffering In cases where the peripheral device is considerably slower than the central pro- cessor, the data exchange must be carefully controlled. If uncontrolled, the torrent of data from the processor would literally flood the device. Data flow can be controlled by buffering in much the same way that a fast river is controlled by damming. Data can be put into a buffer at processor speeds and then removed at peripheral device speeds and vice versa. Speed buffering is essential for DMA operations. The central memory area accessed by the DMA controller is the buffer. The user program loads or unloads it at processor speeds while the controller loads or unloads it at its speed. Besides speed buffering the buffer implements other desir- able features of computer operation. Input line buffering in a monitor such as ELM is particularly important since it allows editing of the line before processing. Output buffer- ing for user applications facilitates the over- lap of output operations with program exe- cution. Input and output buffers can be in user memory, monitor memory or in a peripheral device controller's memory. One, two or all three of these buffer areas may be used in a scheme for input and output. So-called double buffering can be very time efficient at the expense of memory space. In addition to the sequential memory area occupied by the actual data buffer, buffer pointers, para- meters and status bytes need to be stored. A buffer memory region has three basic para- meters: its starting address (HEAD), ending address (TAIL) and the number of bytes in the buffer (LENGTH). Any two parameters must be known; the third can be calculated. In addition, a variable called the buffer pointer (POINTER) shows which byte is to be accessed next. Status bytes indicate some condition of the buffer, such as ready to be filled, ready to be emptied, etc. (In the figures accompanying this article, the letter P is used for the pointer.) A linear buffer (figure 1), is simply filled up beginning at HEAD and drained in the same way. Filling always begins at HEAD. After each byte is put in or taken out, the pointer is incremented. A circular buffer can be filled and drained continuously and simultaneously. It has two pointers as shown in figure 2. IN points to the next byte to be filled and OUT shows the next byte to be removed. Of course, the circular buffer is just a linear array operated in a circular way. When a pointer is greater than TAIL it is set 108 to HEAD. Some ambiguity occurs when IN is equal to OUT; the buffer is either full or empty. Usually, circular buffers are defined as full when they contain LENGTH-1 bytes of data. Needless to say, circular buffers are somewhat confusing and difficult to imple- ment. However, for certain situations they are very efficient. Physical Records It is convenient, and sometimes neces- sary, to transfer data to and from a peri- pheral device in some standard size block. For instance, a 1403 line printer prints a whole line of 133 characters at a time. It needs to have all the characters in the line before it can print. Such a basic block is called a physical record unit. Most disks are addressed by sector and a typical disk sector holds 256 bytes. Thus, a disk physical record unit would be 256 bytes. The physical record unit size is set by the peripheral device and its controlling hardware and represents the smallest number of bytes to be handled at one time. A serial device such as a Teletype or UART can have a one byte physical record unit, or a larger physical record unit can be defined by the controller. Naturally, buffers for a particular device must be at least one physical record unit long with longer buffers having an integer number of records. To be efficient, a circular buffer will have: LENGTH = (n*PRU)+1, where n is greater than one and PRU is the physical record unit length in bytes. ELM Extensions Software control of input and output is best done in the form of user callable subroutines located within a monitor. The remainder of this article describes such A Vectored Interrupt Example Let's take a look at how a vectored interrupt structure might work on a machine which uses a hardware stack for program control, dedicates a page of memory for interrupt vector jumps, and incorporates a three state system address bus. The diagram illustrates what such a system might look like: a processor, address and system data buses, control bus, and IO devices which have preassigned 8 bit interrupt vector addresses. Suppose that the controlling hardware for a printer has been set up to produce an interrupt after it has finished printing a character and is ready for the next data byte. The interrupt is initiated by the printer con- troller putting a signal on the "wired OR" inter- rupt line of the control bus. If the interrupts have been disabled, the processor would ignore the signal and the printer controller would keep its request pending until interrupts are again enabled. The processor finally acknowledges the interrupt by putting a signal out on its interrupt acknowl- edge line to the control bus, and then freeing up the three state address bus by disabling its own buffers. After receiving the acknowledgement, the printer controller puts the address of its interrupt vector location on the address bus as high order zeros and an 8 bit page address. The processor, which is now synchronized to the controller, reads the address into a temporary register, then again asserts control of the address bus after the printer controller has done its work. The processor then stores the old program counter content by pushing it into the hardware stack, moves the interrupt vector address from the temporary register to the program counter, and proceeds to begin executing instructions at the interrupt vector location. In this example, the interrupt looks exactly like a subroutine call. The IO device supplies an address in the first 256 locations of memory, which act like a jump table to pick individual device handling routines. Again referring only to this hypothetical example, if each entry in the interrupt vector table takes three bytes, then an interrupt could be vectored to any one of 85 different processing PROCESSOR THREE STATE DATA BUS THREE STATE ADDRESS BUS CONTROL BUS I TO OTHER ' DEVICES L -REOUEST '-VECTOR L DATA ACKNOWLEDGE ADDRESS PRINTER CONTROLLER subroutines in the monitor program. Thus 85 different interrupt messages could be processed with this structure. When processing is completed in such a system, the IO handler subroutine would perform a "return from subroutine" operation to get back to the program which was interrupted at a point just following the last instruction executed before the interrupt. The author's prototype ELM was designed and implemented for a computer with such an interrupt structure. Vectored interrupt structures of this type can often be found in minicomputers, and sometimes can be adapted to the hardware of a micropro- cessor system. For example, use of the 8080's RST instruction to select one of eight branch locations following an interrupt is a rudimentary form of vectored interrupt. The primary hardware advan- tage of a true vectored interrupt is speed; a software simulation is of course possible with a dramatically longer response time. 109 STATUS 1 USER BUFFER POINTER 1 1 MONITOR BUFFER POINTER 1 Figure 3: Buffer Control Block. When buf- fering is used to allow overlap of processing with 10 operations coordinated by inter- rupts, a buffer control block consisting of two pointers and control flags can be a useful construct. In the ELM case, the first two byte pointer is set to the address of the current user buffer, and the second two byte pointer is set to the address of the current monitor buffer used by the 10 routine. The flag called STA TUS in the first byte of this five byte control block example is used to coordinate the 10 tasks with the user's program. ( READ ) PUT USER BUFFER ADDRESS IN CONTROL BLOCK CALL INPUT; TRANSFER MONITOR BUFFER DATA TO USER BUFFER ( INPUT J [ RETURN; J Figure 4: The READ routine specified as a flow chart. In this updated version of ELM, input from the user's keyboard is accom- plished using READ. The buffer area called MB is used to accumulate a full line of data. Then the second buffer area called UB is assigned the value just read. Block assign- ments of this type: UB := MB; can be accomplished either by physically moving the data (slow), or by switching pointers (fast). IGNORE ANY EXCESS : _ I CHARACTERS [ "» I I I I 1 READ \character; ECHO PRINT , ^CHARACTER/ YES ' P-l; ILINE DELETE/ \ MESSAGE / STORE END MARK AT MB(P) STORE CHARACTER AT (P) P: ■ TAIL; ( RETURN; ) Figure 5: The line INPUT routine specified as a flow chart. This updated version of INPUT (see earlier version given as figure 4 on page 69 of June 1976 BYTE) is written to use the linear buffer MP with control variables HEAD and TAIL, plus buffer pointer P. This version of INPUT also checks for a carriage return end of line indicator, as well as buffer overflow. End of line is indicated by storing of an "end mark " character in the buffer. The notation (P) indicates that address P is being referenced within memory address space. For input and output, (P) is assumed to be within the bounds of MB, the monitor buffer area from HEAD to TAIL. (In the previous article, P was an index value; in this article P is assumed to be a full address value.) 110 subroutines in the ELM monitor designed with the principal objectives of easy user use and time efficiency. Even though the basic structure of the monitor subroutines is machine inde- pendent, it is necessary to describe them relative to specific hardware. Alterations can easily be made to fit other hardware environments. This particular system has two peripheral devices: a Teletype, which is the human interface, and an incremental tape drive used for mass storage. The central processor is an 8 bit stack machine with vectored interrupts, similar to the machine described in the "Vectored Interrupt Example" accompanying this article. The Teletype has a hardware controller as part of the interface which transmits and receives ASCII characters whenever ad- dressed. The controller sends an interrupt signal only when it has completed an output operation. The interrupt address transmitted on the 10 bus is 3. It also sends a reset signal whenever the escape key (ESC code) is pushed. Input and output with the Teletype is double buffered using linear buffers. One buffer is in the user program while the other buffer, which actually exchanges data with the terminal, is in the monitor. Each buffer is 72 bytes long, a standard Teletype line. When the user program requires input data, it places the address of the head of its input buffer in a central processor register and makes a subroutine jump to the READ subroutine. The monitor reads a line from the terminal into its buffer. This line is completely editable; characters can be re- moved by the underscore or the whole line can be deleted with CONTROL X, just as in the original ELM described on page 66 of June 1976 BYTE. When the carriage return is received, signalling the end of the line, the whole line is transferred to the user buffer. Output is handled in essentially the reverse order. The user program again puts the address of its output buffer in a processor register and calls the PRINT subroutine. A transfer is made to the monitor buffer and output is begun. The big difference is that output and program execution are over- lapped using interrupts. In addition to the buffer, this new version of ELM keeps a five byte buffer control block as shown in figure 3. The first byte is the status byte which indicates whether the buffer is "ready," "busy" or in "standby." The next two bytes are the user buffer pointer for use by the monitor when making buffer transfers. The last two bytes are the monitor buffer pointer. Figure 4 shows the user callable sub- routine READ. P represents the monitor ALTERNATE ENTRY ( OUTPUT V POINT (USED BY INTERRUPT SERVICE ROUTINE SEE FIGURE 7 ) ( PRINT J PUT USER BUFFER ADDRESS IN CONTROL BLOCK I 1 TRANSFER USER BUFFER — I CONTENTS TO I I MONITOR |_BUFFER_ PRINT CR.LF STATUS ■ STANDBY; ( RETURN, ) Figure 6: The PRINT routine specified as a flow chart. This routine makes use of the printer interrupt service routine which calls the entry point OUTPUT. Output is started by printing a character; thereafter, output continues as each interrupt causes OUTPUT to be called. 111 [ PRINTINT J— - DISABLE INTERRUPTS SAVE STATE CALL OUTPUT, (FIGURE6) RESTORE STATE ENABLE INTERRUPTS ( RETURN; J | ENTERED -I AFTER PRINTER 1 INTERRUPT I REQUEST I "~l | STORE AWAY — I I CONTENTS OF ! ALL CPU DATA USED DURING I INTERRUPT I SERVICE I I STATUS :• READY; Figure 7: The printer interrupt routine, PRINTINT, specified as a flow chart. One basic formula for an interrupt handler is: disable further interrupts, save the processor state, handle the interrupt, restore the pro- cessor state, enable interrupts and return. This plan is evident in the PRINTINT routine. The processing of this interrupt consists of testing the flag byte, ST A TUS. If the flag is not in the standby state, a byte is written using OUTPUT (see figure 6). ( TAPEINT J I I ENTERED j AFTER TAPE | INTERRUPT | REQUEST DISABLE INTERRUPTS STATUS: READY; I STATUS CHANGE I lENABLES TAPE I ""I ROUTINES TO I | PROCEED I I J ENABLE INTERRUPTS ( RETURN; J buffer pointer and HEAD is the head of the buffer. This subroutine calls the actual input subroutine INPUT, figure 5, which is the same INPUT described for the original moni- tor. When the user program calls READ the terminal may still be printing a line of output, thus the status is not ready. A loop at the top of READ waits for the buffer to be ready for the input operation. The input sequence is closed, keeping control until the whole line is read, so it is not necessary to mark the status busy. When reading is complete the line is transferred to the user buffer through the carriage return byte. During the transfer the respective buffer pointers are incremented in the control block. The output subroutine PRINT is shown in figure 6. There is another subroutine called OUTPUT for the actual output opera- tion. If the output line is less than 72 characters, it is terminated by a zero byte (NUL code). The user buffer is transferred to the monitor buffer from the HEAD through the zero byte. After the transfer the first byte is sent to the terminal and control is returned to the user program. The first byte transfer then begins, to be followed by an interrupt. When the printer is ready for another byte it produces the interrupt which begins execution of the interrupt subroutine shown in figure 7. This subroutine calls OUTPUT for the next byte and again returns control to the user program. Notice that when the last byte is sent, which is a line feed (LF code), the buffer status is marked standby. When the terminal has completed the line feed it sends an interrupt which causes the status to be marked ready again. Virtually complete overlap of output with program execution is achieved. Both input and output to the Teletype are handled through one monitor buffer since these operations may not occur simul- taneously. The user may find it convenient to have separate input and output buffers in the program. There is no conflict because the buffer address is transmitted to the monitor each time a subroutine call is made. The tape unit of the system assumed here Figure 8: The tape DMA interrupt routine, TAPEINT, specified as a flow chart. In the assumptions accompanying this version of ELM, tape 10 is performed by direct memo- ry access (DMA) hardware, which gives an interrupt when the DMA operation is fin- ished. This interrupt means that the hard- ware is again ready for an 10 operation, so the interrupt handler simply sets the tape status to a ready state. 112 WAIT UNIT | I INTERRUPT HAS CHANGED i | STATUS TO READY , INITIATES OUTPUT; — INTERRUPT AT END OF ! OUTPUT Figure 9: The tape DMA output routine, WRITET, specified as a flow chart. This routine waits until the tape device is ready so that any previous direct memory access 10 operation is completed. It then sets the status to the busy state and initiates output DMA by setting up a data pointer and data count through an output port. Processing can continue during the output operation since a direct memory access channel oper- ates independently of the central processor. If a second WRI TET call is attempted before the first is completed, the status check finds the busy state until the interrupt at the end of the 10 operation is serviced. has a DMA controller which appears only as an output device to the central processor. To start the DMA transfer, the processor trans- mits three bytes on the data bus to the controller. The first byte indicates whether the operation is input or output. The other two bytes are the central memory address of the buffer. The tape controller will transfer exactly 256 bytes between its own internal buffer and the central memory buffer. During the actual transfer the central proces- sor is held inactive. An interrupt, address 6, is produced when the controller enters the ready state. This would be after the transfer for input and after tape writing for output. Several other utility functions are available, such as skip forward, skip back and rewind. These are implemented by outputting the proper code byte on the data bus when addressing the controller. The control software is very simple. This f READT J 1 I DMA ORIENTED I TAPE BLOCK READ j ROUTINE I ( RETURN, ] I DMA TRANSFER I i ENDS WITH INTERRUPT I I I I | WAIT UNTIL I INTERRUPT I 1 HAS CHANGED | STATUS TO READY Figure 10: The tape DMA input routine, READT, specified as a flow chart. This routine waits until the tape device is ready so thai any previous direct memory access 10 operation is completed. It then sets the status to busy and initiates an input DMA operation by setting up a data pointer and data count through an output port. The input routine, however, features a status check loop which waits until the operation is completed. This prevents overlap of input and normal processing. is so because the controller hardware is quite complex and does most of the processing. The 256 byte buffer is in the user program. DMA transfer is made directly between the buffer and the controller. The monitor maintains a one byte status block which is either ready or busy. The interrupt sub- routine simply sets the status to "ready" as shown in figure 8. When the user program is ready to write out the buffer, it puts the buffer address in a processor register and calls WRITET, which is charted in figure 9. The buffer is transmitted immediately be- cause the status must be ready before the output code byte is sent. Program execution is resumed and overlapped with actual tape writing. Subroutine READT, figure 10, operates much like WRITET, except that it waits until the input operation is complete before returning to the program. The other utility functions are imple- mented with subroutines much like WRITET. The physical record unit count for 113 Figure II: With the design modifications described in this article, the memory map of the ELM program becomes a bit more complicated. JUMP TO COMMAND PROCESSOR INTERRUPT JUMP TABLE COMMAND PROCESSOR INTERRUPT PROCESSING SUBROUTINES INPUT AND OUTPUT SUBROUTINES BUFFER CONTROL BLOCKS BUFFER SCRATCH PAD STACK FAA LAA USER MEMORY POSSIBLE ROM OR PROTECTED MEMORY PROGRAMMABLE MEMORY skip forward and skip back are single bytes in place of the two byte address. Rewind is implemented by just a code byte. These utilities can, of course, be overlapped with program execution. Figure 1 1 shows the memory organiza- tion for the extended ELM monitor. The extensions are completely compatible with the original design. The scratch pad area contains the addresses and pointers needed for the command processor. The interrupt jump table and stack are machine dependent and apply to the particular hardware de- scribed in this article. The extended monitor should give con- siderable utility and flexibility for input and output operations. The user program sends or receives logical blocks of data simply by calling a monitor subroutine. A little bonus comes with the implementation of the escape key interrupt which allows the user to reset the central processor from the terminal. This makes it much easier to get out of bad situations. Many types of pro- grams, especially those that do a lot of searching, sorting or calculating between successive outputs, will be spectacularly faster with the output overlap implemented using interrupts and DMA.* U H >- 00 o 2 COMPLETE IW THIS ISSWE.: APOLLO SINCE LAST EfBDPfe, THE H-M-S. E^PTYEyES HA5 C0WT1WED ITS LONELY TREK ACWSS THE TRACKLES OCEAN. - HER CREW HA? REPAIR THE PAMVEP RePBtSPAK, AM> THE SHIP HAS BEEN Wm 5AIL FOR THREE WftKS WITH WO SIM Of LAND. Jiff, THE IWriRW&CAfc JlRIc MR- FiotK, taif i/eym, AW THE REST, CONTINUE. THEIR SEEMIN6LV HOPEltS TiiJ o 'awigu *WJ ) Am SO T«y5»iiE-t AWA^S PEAtHEC IKE tl£a PAy FKME OF m. A^.r/r.. 6UiLi\tks T&vMttS 114 Jlubs and Newsletters Community Computer Communications Australia Timothy Mowchanuk writes that he and a group of teachers have been given an Innova- tions Grant by the Australian government for the purpose of developing a low cost minicomputer system suitable for high school use. Part of this grant is also for the printing of a newsletter to act as a com- munications link between people interested in the field. Tim says that they are complete novices in this type of a venture, and would be very interested in corresponding with others with similar interest. They have not settled on a name for the newsletter but they feel that it will be called COM-3, which stands for Community Computer Com- munications. The address is POB 268, Niddrie 3042 AUSTRALIA. BABY! I MICROCOMPUTER^ ARE YOU BUYING A SYSTEM? BEFORE YOU DO SEND FOR OUR LITERATURE. COMPARE OUR SPECIFICA- TIONS WITH OUR COMPETI- TORS' KITS AND ASSEMBLED SYSTEMS! YOU WILL SEE THE BABY! I SYSTEM IS NOT A BABY WHEN IT COMES TO HARDWARE AND PERFOR- MANCE BUT IT IS WHEN IT COMES TO PRICE! COMPARE TODAY THEN BUY A BABY! I MICROCOMPUTER STM SYSTEMS, INC. P.O. BOX 248 MONT VERNON, N.H. 03057 603-673-2581 V. A Call for Papers and Participation The First West Coast Computer Faire will be held on April 15-17 1977, at the Civic Auditorium in San Francisco CA. It prom- ises to be a massive one. It is being spon- sored in part by the Homebrew Computer Club and the Association for Computing Ma- chinery's Peninsula Chapter, Stanford Uni- versity's Electrical Engineering Department, the Community Computer Center, People's Computer Company, and the Amateur Research Center. It is expected that the Faire will draw 7,000-10,000 people, will have 50 to 100 conference sessions, and will include over 200 commercial exhibitors. The conference portion of the Faire will include everything from formal papers to informal off-the-cuff talks. There will be a special session on Personal Computers for Education and others of special note on Microprogrammable Microprocessors for Hobbyists and Computer Music. For lots more information you should contact Jim Warren, general chairperson, and editor of Dr Dobb's Journal, at POB 310, Menlo Park CA 94025, (415) 323-3111 or 815-7664; or Bob Reiling, operations chair- person, and editor of the Homebrew Com- puter Club Newsletter, at 193 Thompson Square, Mountain View CA 94043, (415) 967-6754." The completely assembled and tested MP-40 printers continue to be the favorite of commercial users and hobbyists alike Featuring a 5X7 impact dot matrix, 40 columns, 75 lines per minute, 4" adding machine paper, molded casework, zinc plated chassis and power supply. Choose from one of these three interface models. • LCP • 8-bit Parallel l/F without character generator for special software fonts • ASCII • 8-bit Parallel Interface with a 64 character ASCII set • SSP • Intelligent RS232 or Current Loop data terminal. Async Serial l/F OR SELECT THE "NO FRILLS" KP-40 KIT • Mechanism, LCP l/F PC board & components Power transformer and assembly instructions SEND FOR FREE LITERATURE Master Charge Welcome • Utah Residents Add 5% Sales Tax mpi/P.O. BOX 22101/SALT LAKE CITY/UT/84122 (801) 566-0201 $ 329 $ 425 $ 575 $ 179 115 A Computer Hobbyist Club Survey Total number of meml Ders 153.7 Months since club was founded 10.8 (as of August 76) Meeting attendance: Last meeting 98.6 3 months ago 80.3 6 months ago 48.4 9 months ago 41.4 12 months ago 28.2 New people attend ing last meeting 14.5 Dues per year $ 8.60 Number of computers owned by members 33.3 Types: Altair 8800 10.7 I MSA I 8080 3.2 SWTC 6800 2.1 KIM-1 1.4 Altair 680 0.9 MIKE 0.3 JOLT 0.1 Other 8.8 Number of items in club library 94.4 Most clubs have a mon thly news- letter or magazine; average number of pages 11.8 Number of group buys per year 3.2 Average amount of each buy $1700 Table 1 : Results of the club survey questionnaire. The Southern California Computer Society, SCCS, did not have their full membership averaged in the total number of members category. The reason for this is that with a total membership of 3,000, the membership values would be unreasonably inflated. The SCCS membership was taken as 600 which was the attendance at their last meeting. The total number of computers that are owned by club members is not the same as the total number for the "computer types. " The reason for this is that everyone who filled in the number of computers question did not fill in the type of computer that they had. Several people also omitted the very important "other" category. Table 2: Results of the questionnaire investigating the interest in an organization of clubs. The amount of interest was rated on a scale of 7 to 3 with 3 indicating a great interest and I indicating a small interest. Activity Area A central depository and exchange for software, documentation, etc. Creation of interchange standards for paper tape, cassettes, floppies, etc. Organization of a hobbyist distributed computer network using dial-up lines, packet radio, etc. Negotiation with manufacturers for improved quality, price, software, hobbyist oriented architecture, etc. Organization and management of hobbyist conventions Interest (1 = 2 = some, 3 : 2.6 2.6 2.4 little, large) 2.2 2.1 David Caulkins 437 Mundel Los Altos CA 94022 In May, June and July of 1976, a survey was made of hobbyist computer clubs. The intent was to collect data on club size and activities and to evaluate interest in an organization of clubs. I used a mailing list of 52 clubs, sending questionnaires to each; 22 (42.3%) were filled out and returned. During the survey the mailing list grew to 67. Just recently, through the courtesy of Jim Warren of Dr Dobb's Journal, I've learned of a club list of approximately 100 members. Most of the survey questionnaires were filled out by club officers with their best estimates of club size, meeting attendance, etc. After examining the data and doing some cross checking, I would estimate the error of the results given at approximately ±10%. Table 1 gives averages of each of the questionnaire categories; it thus is a profile of the average hobbyist club. One of the reasons for the survey was to evaluate interest in a club of clubs: a superset organization capable of activities not readily available at the individual club level. Five areas of activity that could be investigated by an organization of clubs were explored by the questionnaire. The results are shown in table 2. I am especially interested in a hobbyist distributed computer network. Such a net- work would permit direct computer to computer exchange of data over long dis- tances. This article does not have space for a detailed discussion of the idea, but I believe it to be something hobbyists could do if they wanted to. Much of the research work for this kind of network has already been done under Advanced Research Projects Agency grants. Especially relevant is the ALOHA packet radio work done by Norm Abramson, Frank Kuo and others at the University of Hawaii. To supplement the questionnaire data, an informal raise your hand type survey cover- ing three areas was made at June and July meetings of the Homebrew Computer Club 116 Computer Census: Meeting Attendance: 300 Nun ber of Systems Type 9 June 20 July 8080 6502 6800 Z80 F8 8008 4004 TTL (from scratch) Other 53 18 12 2 6 1 1 8_ 101 69 24 26 2 2 6 1 2 8 140 Current Applications July meeting: Application % of Attendees Actively Involved Games Scientific Calculation Process Control Text Processing Language Processors Graphics Music 30 17 13 12 10 10 6 Experience Background of Meeting Attendees, July meeting: % of Attendees Employed as programmers or in computer related fields 50 Employed in electronics or re- lated fields 40 No previous experience with computers or electronics 2 No response 8 Table 3: Results of an informal, raise your hand type survey that was conducted at the June and July 1976 meetings of the Home- brew Computer Club. The average atten- dance at these meetings was 300 members. Part 2 of this survey gives the type of applications that the members are interested in. Part 3 of this survey gives a general idea of the type of employment and background the members have. of Northern California. About 300 people attended each of the meetings. The results of this survey are shown in table 3. Tables 4 and 5 show how the clubs on my mailing list are distributed geographically. As might be expected, there are high concentra- tions of clubs in the Northeast and on the West Coast. Wild Speculations and Conclusions Using the averages of table 1 and assum- ing there are 100 clubs, one can conclude that the total membership in hobbyist clubs is around 15,000 and that club members possess about 3,300 computers. The club growth rate is also interesting. Plotting meet- ing attendance averages on semilog paper yields figure 1. The straight line approxima- BYTE BINDERS and FILES Preserve those precious first 16 issues with either a handsome but rugged library file— or a binder— in flag blue Kivar library fabric stamped in gold leaf. Files: Made to hold the first 16 issues of BYTE. Price per file $4.95 ; three for $14; six for $24, postpaid. Binders: Made to hold the first 16 issues of BYTE. Price per binder $6.50; three for $18.75; six for $36, postpaid. (Add $1 each outside USA.) Send to: BYTE, POB 5120, Philadelphia PA 19141 I enclose check or money order for $ Please send me BYTE Files Binders Name (.Please print) Address City State _Zip. Satisfaction guaranteed or money refunded. Allow at least four weeks for delivery. 117 MEETING ATTENDANCE 90 f 1 1 80 70 50 f ii 40 30 li f 12 9 6 MONTHS PREVIOUS TO SURVEY Figure I: A graph showing the growth of computer hobbyist club attendance. The number of members attending each meeting is plotted against the months previous to the survey. At this rate of growth, the average club meeting attendance should double approximately every six months. No. of Quest ionnaires State or Country Clubs Sent Returned Alabama 1 California 15 12 2 Colorado 1 1 Connecticut District of Columbia 1 Florida 4 3 2 Georgia 1 1 Hawaii Illinois 1 1 Indiana 2 2 Kansas Louisiana 1 Maryland 1 Massachusetts 3 2 1 Michigan 2 1 Minnesota 2 2 1 New Hampshire 3 2 New Jersey 1 1 1 New York 3 3 3 Ohio 3 2 Oklahoma 1 1 1 Oregon 1 Pennsylvania 2 1 1 Texas 4 4 4 Virginia 2 1 Washington 1 1 Wisconsin 1 1 Canada 5 5 3 England 2 1 Table 4: A listing of the number of clubs that are in the US, England and Canada as of the time of this survey, June and July 1976. Along with a breakdown of the clubs by state and country is the number of clubs to which questionnaires were sent and the number of clubs that returned the question- naires. As might be guessed, and as is borne out by this listing, there is a concentration of clubs on the West Coast and in the Northeast. tion indicates that the time for average club meeting attendance to double is about six months. The doubling time can be calculated a different way, using the number of new people at each meeting. Assuming that 50% of these people become members, the pro- jected time for club meeting attendance to double is a little over ten months. In either case, indications are that computer hobbyist club membership is growing at a rapid rate. Like all growth curves this one must sooner or later level out. The survey has some faint evidence of this: larger club, membership in the 200 range, meeting attendance seems to be increasing at a lower rate than that of smaller clubs. Who are the computer hobbyists? The Homebrew Computer Club survey would seem to indicate that the great majority have some kind of contact with computers or electronics other than their computer hobby. I think the computer hobby movement will have a substantial and good effect on the way computers are used. Too many of us who work with them professionally have come to regard ourselves as a high priest- hood presiding over sacred mysteries. Sacred mystery keepers have a bad habit of know- ing all the reasons why something can't be done; hobbyists do not have the burden of this knowledge. The survey shows rather clearly that there are many more hobbyists than there are university graduates in com- puter science. I hold the radical view that an hour spent debugging one's own machine or program is worth ten hours of lecture about how to do it. So again, I think this is a good thing. There are dangers. The computer game already has an oversupply of hackers: programmers who write code, totally un- readable by anybody but themselves, that works almost all of the time. My thanks to all the club people who were kind enough to fill out and return the questionnaire." States With No Hobbyist Clubs on Mailing List Alaska Nevada Arizona New Mexico Arkansas North Carolina Delaware North Dakota Idaho Rhode Island Iowa South Carolina Kentucky Tennessee Maine Utah Mississippi Vermont Missouri West Virginia Montana Wyoming Nebraska Table 5: Table of those states that do not have computer hobbyist clubs on the ques- tionnaire mailing list. 118 Clubs and Newsletters Directory Zips 00000 - 10000 1. Caribbean Computer Club 2. 52 Kings Ct 4A Santurce PR 0091 1 3. Same as above 4. First Saturday of each month 5. Bits n' Bytes 6. John St Clair 7. (809)722-1424 8. $20 (includes subscription to newsletter) 9. Microcomputers, word processing 10. 10 members Club plans to purchase microcomputer for members. 1. New England Computer Society 2. POB 198 Bedford MA 01 730 5. The Computerist 6. Robert M Tripp POB 3 S Chelmsford MA 01824 8. $6 per year 1. Alcove Computer Club 2. 230 Main St, Rt 28 North Reading MA 01864 1 . Boston Area Group 2. 21 Sunset Av North Reading MA 01864 1. 10. University of Hartford Micro- computer Club College of Engineering — Dana Hall 200 Bloomfield Av West Hartford CT 06117 Room 123 Dana Hall 3rd Tuesday at Common Hour 11 AM U HA BYTE John Paul Froehlich, asst prof EE (203)243-4681 Sincere interest in microprocessor applications, games and abstract applications Current officers: president, Bryan Moffitt; vice president, Jeffrey Katz; secretary, Richard Rynaski; publica- tions director, Mark Dalphin. Here it is, the first BYTE Clubs and Newsletters Directory. This listing was com- piled by Floyd Rehling from information supplied by the various clubs listed. We ran some requests for data from clubs in earlier issues, data which sets the content of the information in this listing. Not all clubs responded to the printed requests for in- formation. This listing was correlated with back issues of the magazine and materials on file in the BYTE offices. An occasional duplication or outdated bit of information may have crept in. In the listing of the clubs, information missing in one or more of the categories indicates exactly that: We have no information. We'll be keeping the file avail- able and updating it for the next shot at publication in the magazine, one year from now; so if there are errors or if, you have a new club which has just been formed, send the information to us. The listings follow this form: 1. Name of organization 2. Mailing address 3. Meeting location 4. Meeting algorithm 5. Newsletter or publication 6. Contact person 7. Contact phone number 8. Dues or subscription fees 9. Special interests 10. Other comments 1. Southern New England Computer Society 2. 267 Willow St New Haven CT 0651 1 3. First three meetings: New Haven, East Hartford, Windsor Locks 4. Monthly, 1—5 PM on a Sunday afternoon. 5. Newsletter: Yankee Bits 8. Four issues for $1 10. Probably meet anywhere in southern New England if invited; Saturday meetings a possibility. Information on our next meeting will be sent at no charge to anyone in CT or western MA. SNECS news is published in The Computerist. 1 . Amateur Computer Society 2. 260 Noroton Av Darien CT 06820 1. Connecticut Microists 2. 601 1 1 Wendy Ln Westport CT 06880 3. Members offices in Fairfield County 4. Second week of the month; date set at previous meeting 5. Microbitz 6. George Ahmuty 7. (203)227-8534 8. $2 9. Develop interfaces, expand basic usage to commercial uses, and send speakers to local high schools, etc. 10. Develop a buyers guide, available to other clubs 1. Northern New Jersey Amateur Com- puter Group 2. Murray P Dwight 593 New York Av Lyndhurst NJ 07071 3. Fairleigh Dickinson University Becton Hall Rutherford Campus NJ 4. Second Friday of the Month 6:30-11 PM 8. $5 1 . Amateur Computer Group of New Jersey Inc 2. 1776 Raritan Rd Scotch Plains NJ 07076 3. We hold three meetings every month, as follows: General membership meeting: (in- cludes guest speaker and flea market: attendance typically 130-200). Held third Friday of month at various colleges in state — schools most fre- quently used are: Union County Tech- nical Institute, Scotch Plains and Middlesex County College, Edison. User Groups: (informal mutual help sessions for users; can bring down their equipment or software for debugging) 8080/Z80 User's Group: meets first Friday evening of month at Union County Technical Institute, Scotch Plains (attendance typically 40—50). 68.00 User's Group: meets fourth Fri- day evening of month at Chuck Wolff's, 26 Willow Dr, Apt 6A, Ocean Township. 119 Annual Festival: held at Trenton State College in May (last test had atten- dance of 1 ,500 with 45 exhibitors, 25 speakers and flea market) 5. ACG-NJ NEWS; published monthly 6. General membership meetings, etc: Sol Libes day: (201 1889-2000 x-247 eve: (201)277-2063 Marty Nichols day: (201)994-3100 x-2 18 eve: (201)361-7180 8080/Z80 User Group: Dennis Dupre eve: (201)688-9254 6800 User Group: Chuck Wolff day: (201 1842-1900 x-291 (3-5 PM) Software Librarian: Tom Kirk eve: (201)246-4242 8. Dues: $2 for 1976 10. Approximately 500 members 1. Holmdel Microprocessor Club 2. Fred Horney Rm3D317 Bell Telephone Labs Holmdel NJ 07733 3. Bell Labs Holmdel 4. As needed 5. Bits, Nybbles, and Bytes 6. See No. 2 7. (201)949-7845 8. None 10. This is a Bell Labs sponsored club. 1 . New Jersey Club 2. Bruce C Dalland 37 Brook Dr Dover NJ 07801 Zips 10000 - 20000 1. New York Micro Hobbyist Group 2. Bob Schwartz 375 Riverside Dr #1 E New York NY 10025 5. Newsletter 7. (212)663-5549 1. New York Amateur Computer Club 2. 106 Bedford St New York City NY 10014 3. 33 W 42nd St Manhattan NY Graduate Center 4. Second Thursday each month 7 PM 5. Notes 6. Ed Enck, president 7. (212)255-4942 8. $10 9. Interchange of information 1. Westchester Fairfield Amateur Computer Society 2. RR1,Box198 Pound Ridge NY 10576 3. Greenburgh Public Library, Elmsford NY 4. Varies; but plan on first Tuesday of the month 5. None as yet 6. Carlton B Hensley Pheasant Rd W Pound Ridge NY 10576 7. (9T4)P04-4213 8. Family membership $7; full time student $3 10. Visitors welcome; bring your computer or computer gear. 1 . Harold Shair 2. 41 Colby Av Rye NY 10580 1. Long Island Computer Association 2. 36 Irene Ln E PlainviewNY 11803 3. New York Institute of Technology Westbury LI 11568 4. Third Friday of the month 5. The Stack 6. Gerald S Harrison, president 7. (516)938-6769 8. $10 regular member; $5 full time student per year 1 . Niagra Region Computer Group 2. Chuck Fischer 355 S Creek Dr Depew NY 14043 7. (716)681-1597 1 . Students Cybernetics Lab 2. 16 Linwood Av Buffalo NY 14209 1 . RAMS (Rochester Area Microcom- puter Society) 2. POB D Rochester NY 14609 3. Rochester Institute of Technology, Building 9, rm 1030 4. Second Thursday of every month at 7:30 PM 5. Memory Pages, monthly newsletter 6. Dave Noderer 7. (716)244-9844 evenings and weekends 8. $5 annual dues includes the newsletter. 9. As yet we don't have any special interest groups but plan on forming some within the next 2—3 months. The major portion of our meeting is a presentation of a microcomputer appli- cation or a lecture on a specific microprocessor. 10. We hope to interact with other com- puter clubs in the following areas: Newsletter exchange, group purchase power, organization of regional com- puter fests, conferences, etc. 1. Ithaca Computer Group 204 Dryden Rd Ithaca NY 14850 2. Steve Edelman 1. Pittsburgh Area Computer Club 2. 400Smithfield St Pittsburgh PA 15222 3. 821 Old Wm Penn Hwy Murrysville PA (Basement of building) 4. Meetings are on the second Sunday of each month. The formal meeting starts at 1 PM. Come early (11 AM) for coffee and an informal display of members' equipment. 6. Fred Kitman (412)391-3800 days or Harry Kohman (41 2)931 -5866 evenings 10. Our meetings will provide you a chance to work with computers and give you important technical data, on both how to build a computer and how to pro- gram your machine once it's built. Through other members you'll become aware of surplus computer bargains and you'll be able to take part in group purchases of equipment at quantity prices. Our monthly newsletter will keep you informed between meetings and contains informative software and hardware articles. 1 . Delaware Chapter — Southern Califor- nia Computer Society 2. Martin Dimmerman 1228 Barrowdale Rydal PA 19046 1 . Philadelphia PA Area Club 2. 404 Quince St Philadelphia PA 19147 6. Richard Moberg 7. (215)829-6744 work (215)923-3299 evenings 1 . Philadelphia Area Computer Society (PACS) 2. POB 1954 Philadelphia PA 19105 3. Meeting locations vary. 4. Meetings are held every three weeks on alternate Saturday afternoons and Thursday evenings. 5. The Data Bus (monthly newsletter) 6. Dick Moberg, president 7. (215)923-3299 8. Dues: $10 regular member; $5 student member 10. PACS was formed early in the summer to cater to the needs of computer hobbyists, students, and professionals in the Philadelphia area. Our monthly newsletter, The Data Bus, offers tutorial articles, book reviews, meeting announcements, and classified ads. At our meetings you can expect a regular flea market, talks about prod- ucts and experiences, tutorials, and mapping sessions. Field trips to MOS Technology and to the Moore School (ENIAC birthplace) and a computer fair are being planned. Zips 20000 - 30000 1. Washington Amateur Computer Society 2. Robert J Jones 4201 Massachusetts Av NW #168 Washington DC 20016 4. WACS meets the last Friday in every month year 'round at the Catholic University of America in the computer center located at 3329 8th St NE, at the corner of 8th and Lawence St NE. The society also meets informally at the computer center on the Fridays following. 5. The Washington Amateur Computer Society Newsletter 6. Robert J Jones, president Address see No. 2 William K Stewart 5910 2nd St NW Washington DC 2001 1 7. (202)722-0210 8. We have limited financial resources. 120 1 . Name of organization 2. Mailing address 3. Meeting location 4. Meeting algorithm 5. Newsletter or publication 6. Contact person 7. Contact phone number 8. Dues or subscription fees 9. Special interests 10. Other comments Should anyone desire a copy of our newsletter, please enclose S.26 per copy; for every $.26 you send, we'll extend your subscription. 9. It seems at this time that the president of the club is now the Ralph Nader of the hobbyist world. He tries to keep all of us informed on the types of service the hobby vendors are giving to those of us who pay our hard earned green stamps to those seemingly speedy delivery types, and XYZ compatible manufacturers. He also has compli- ments for the good guys. 10. The club is open to all who are inter- ested in, or desire to learn about com- puters, large or small. On any typical Friday evening (or any other evening for that matter), you will find several members of the club engaged in con- versation over some new piece of hardware, or discussing ways to beat the Lunar Lander game at the compu- ter center. If anyone has any inquiries, just drop us a line. BUT PLEASE . . . enclose a self addressed stamped enve- lope with your request. 1. Chesapeake Microcomputer Club Inc 2. 236 St David Ct #4 Cockeysville, MD 21030 4. Chesapeake Microcomputer sponsors a general membership meeting on the second Wednesday of each month;' local chapter meetings occur through- out the month. 5. Analytical Engine 6. Maryland General Membership: Philip N Hisley (301)667-9690 Baltimore Chapter: Philip Sticha (301 ) 682-6000 x-304 Wheaton Chapter: Mani Alexander (301)946-4120 Laurel Chapter: Dan Messina (301)766-3202 Washington DC Washington Amateur Computer Society: Bob Jones (202)537-1984 (after 10 PM) Virginia McLean Chapter: Martin Buchanan (703)893-7978 Jim Greene (703)790-6231 Reston Chapter: Andrew Convery (703)860-1879 Richmond Chapter: Hugh Melton (804)285-2452 8. Published bi-monthly Subscription: $6 per year; Dues: $1 2 per year (includes subscription) 1. Chesapeake Microcomputer Club Inc 2. Richard A Kuzmack 1435 Layman St McLean VA 22101 7. (703)821-2873 1. Amateur Radio Research and Develop- ment Corporation (AMRAD) 2. 1524Springvale Av McLean VA 22101 3. Patrick Henry Library Maple Av at Center St Vienna VA 4. First Monday of each month at 8 PM (except holidays) 5. (Nameless, but we're thinking) 6. Paul L Rinaldo K4YKB 7. (703)356-8918 evenings and weekends 8. $10 per year or $100 life $5 per year or $50 life for second in family $2 per year for student 9. State of the art technology, computers, radioteletype repeater, technical symposia 10. Despite "Amateur Radio" in name, we spend more than 1/2 of our meetings on computer subjects. Maybe in 1977, if FCC permits it, we hope to have a computer on-line on our RTTY re- peater WR4APC, McLean VA. 1. Washington — Baltimore Computer- hobbyist Club 2. R Rubenstein 7711 Elba Rd Alexandria VA 22306 1 . Charlottesville Computer Hobbyists Club 2. POB6132 Charlottesville VA 22906 3. To be determined 4. Second Friday of each month (probable) 5. None at present 6. Pat Seitzer 7. (804)293-4973 8. To be determined 9. None 10. The club has just been formed. 1. IBM 5100 Users Club 2. Richard Easton MD 5541 Parliment Dr #104 Virginia Beach VA 23462 1. Peninsula Computer Hobbyist Club 2. Larry Pollis 2 Weber Ln Hampton VA 23663 1. Dyna-Micro Users Group 2. Dr Frank Settle Jr Box 1053 Lexington VA 24450 1. Triangle Amateur Computer Club 2. POB 17523 Raleigh NC 27609 3. Dreyfus Auditorium Research Triangle Institute Research Triangle Park NC 4. Fourth Sunday at 2 PM 5. Monthly newsletter 6. Russell O Lyday Jr 7. (919)787-4137 Where to get it. Equipment, parts, sup- plies and services. Hard to find and standard items at bargain prices. Over 600 places to find transceivers, antennas, surplus, new and used equipment, /^Ps/com- puters, ICs, components, assortments, assemblies, discounted items, test equipment, peripherals, etc. Hundreds of large and small mail order sources. A complete directory divided by sources, items and locations. Saves count- less hours of shopping. Easily pays for itself through comparative buying. Contains no advertising. r - ............. I Rush my order. I enclose $5.95 plus 55? postage and handling. Californians add ' 39? sales tax. Full refund if not I completely satisfied within 10 days. I ■ Name Address . City/State/Zip Primary interest: Amateur Radio DCBD Experimenting □ ^Ps/Computers □ Send to: Peninsula Marketing Dept. D 12625 Lido Way Saratoga, CA 95070 121 Zips 30000 -40000 1. Atlanta Area Microcomputer Club 2. 421 Ridgecrest Rd Atlanta GA 30307 6. Jim Dunion 1, Atlanta Area Microcomputer Hobbyist Group 2. Jim Stratigos, editor POB 33140 Atlanta GA 30332 1 . Jacksonville Computer Club 2. Regency East Office Park 9951 Atlantic Blvd Suite 326 Jacksonville FL 32211 3. See #2 4. Second Saturday of each month at 2 PM 5. In the flowchart stage 6. Carey Douglas 7. (904)725-8158 8. $5 per quarter 9. Community interests in computer arts and sciences 10. Everyone is welcome to meetings. 1. Tallagassee Amateur Computer Society 2. Larry Hughes Rt 14 POB 351-116 Tallagassee FL 32304 1. University of Florida Amateur Computer Society 2. Electrical Engineering Department Rm 234 Larsen Hall Gainesville FL 32611 3. Student Union 6. Steve Ackerman or Ken Massey 10. Direct all correspondence to persons above until a permanent mailing address is established. 1 . Space Coast Microcomputer Club 2. Ray O Lockwood 1825 Canal Ct Merritt Island FL 32952 7. (305)452-2159 1. South Florida Computer Group 2. 410 NW 117 St Miami FL 33168 5. I/O 6. Dr Bruce Cameron, editor 8. Dues: $5 per year or $2 per year for students (includes subscription to newsletter, as well as exchange of newsletters with other clubs); non- members may receive I/O at $2 per year (12 issues). 1 . Micro Computer Society of Florida 2. POB 3284 Downtown Station Tampa FL 33604 3. Marsh Data Systems 5405B Southern Comfort Blvd Tampa FL 4. First and third Saturdays each month at 2 PM except July, August and September (third Saturdays only) 5. I/O MAGAZINE 6. R Larry Miner 7. (813)343-2973 after 6 PM 8. Dues: $5 per quarter; special student rates available 9. All areas, including homebrew, voice recognition and all major high level languages 10. Society chapters are located in: Tampa, Vero Beach, Ft Meyer, Sarasota, Jacksonville and Gainsville. All welcome. 1. NACC 2. 1409 Blevins Gap Rd SE Huntsville AL 35802 6. Jack Crenshaw Zips 40000 -50000 1 . Louisville Area Users of U Comp 2. Steve Roberts POB 18065 Louisville KY 40218 1. Amatuer Computer Society of Columbus Ohio 2. See #6 3. Center of Science and Industry 4. First Wednesday of every month 5. I/O 6. Walter Marvin, president 408Thurber DrW Columbus OH 43215 (614)461-0535 Richard Damon, treasurer (contact for membership) 2193 Farleigh Rd Columbus OH 43221 (614)486-1551 1. Cleveland Digital Group 2. 8700 Harvard Av Cleveland OH 44105 3. 8700 Harvard Av 4. 2 PM on the third Sunday of every month 5. The Shift Register 6. Lou O'Block 7. (216)232-9055 8. $10 per year 9. All aspects of hobbyist computers for persons in the northeast Ohio area. 10. The club has an impressive list of past and future group purchases, and is building a library. Current plans call for evening and weekend hours at our clubhouse for interested members. The club is a member of the Midwest Affiliation of Computer Clubs and is active in its affairs, including the first and second annual Midwest Regional Computer Convention. 1. Universe Unlimited Group 2. 11981 Forest Av Cleveland OH 44120 1. KIM Users Group 2. Eric Rehnke 7656 Broadview Rd Apt 207 Parma OH 44134 5. KIM-1 Users Notes 10. The users group will act as a vehicle for users to exchange hardware and software ideas as well as experiences with interfacing the many peripherals now becoming available. 1. Name of organization 2. Mailing address 3. Meeting location 4. Meeting algorithm 5. Newsletter or publication 6. Contact person 7. Contact phone number 8. Dues or subscription fees 9. Special interests 10. Other comments 1 . The Midwest Affiliation of Computer Clubs 2. POB 83 Cleveland OH 44141 3. Board of trustees meeting held at the annual Midwest Regional Computer Convention 5. Private communication and corre- spondence only 6. Gary Coleman, president 7. (216)371-9304 8. None 9. Coordination of activities between member clubs 10. The MACC is a central organizing body for the many computer clubs in the states of OH, PA, IL, KY, IN, NY, Ml, Wl and CANADA. The MACC held its first annual Midwest Regional Compu- ter Convention in Cleveland last June, and will hold the second one again in Cleveland during June of 1977. The - MACC will be coordinating other activities such as group purchasing in the near future. 1. Cleveland Digital Group 2. 1200 Seneca Blvd #407 Broadview Heights OH 44147 5. The Shift Register (Eric Rehnke, editor) 6. John E Kabat Jr 7. (216)888-7531 1 . Dayton Microcomputer Association (DMA) 2. Doug Andrews 8668 Sturbridge Dr Cincinnati OH 45236 7. (513)791-6169 1 . Compute, Evaluate, Trade 2. POB 104 Tipp City OH 45371 3. Rotate in members homes 4. First Saturday in the month for the first 12 months of each year, with my wife's approval 5. Byte Back 6. Charles E Tyzzer Jr 7. (513)268-6551 x587 9. Talent and a desire to exchange infor- mation; business application 1. SR-52 Users Club 2. 9459 Taylorsville Rd Dayton OH 45424 4. No organized meetings 5. 52-NOTES (monthly) 6. Richard C Vanderburgh, editor 7. (513)233-3698 122 8. Contribution of $6 for membership and six newsletters 9. Our purpose is to Help SR52, SR56, PC100 owners/users get more out of their Tl pocket program- mables by exchanging ideas. 10. First newsletter: June 1976 1 . Indianapolis Small Systems Group 2. 54 Sherry La Brownsburg IN 461 12 3. Linde Division of Union Carbide Speedway IN 4. Second Wednesday of each month 7:30 PM. Meet at main entrance on 16th St. 5. The IND Y BYTE CHASER 6. Keith Pieper 7. (317)852-5833 8. None; subscription fee for newsletter $1.50 (six monthly issues) 9. Learning about and applying small computer systems 10. If you have suggestions as to reaching further members, obtaining speakers for programs and donations of equip- ment, etc, we would appreciate hearing them either as an article in BYTE or as a direct communication to us. 1. 2. The Floyd County Computer Enthusiasts Nathan Engle RR#2 POB 466 A New Albany IN 47150 (812)923-8066 Out interests lie mainly in games and system expansion. The members of our group are on very low budgets, but are interested in buying low cost hardware and software. 1. Louisville Area Users of Micro- Processors (LUMP) 2. Andy Ehalt 115 Edgemont Dr New Albany IN 47150 7. (812)945-4307 1 . Hoosler Amateur Computer and Kluge Society 2. Ray Borrill 1 1 1 S College Av Bloomington IN 47401 1 . Beta lota Tau 2. Richard A Petke RHIT POB 420 Terra Haute IN 47803 1. Purdue University Computer Hobbyist Club (PUNCH) 2. Rm 67 Electrical Engineering Bldg Purdue University West Lafayette IN 47907 3. Digital lab of the electrical engineering building 4. Weekly 10. Membership is limited to the student body, but visitors are welcome. 1. Detroit Area Club 2. Dennis Siemit 45466 Custer Utica Ml 48087 SOFTWARE &5QE IN RESPONSE TO POPULAR DEMAND TSC HAS WRITTEN SEVERAL PROGRAMS FOR THE USERS OF 6502 BASED COMPUTER SYSTEMS. THIS PACKAGE CONTAINS FIVE OF OUR MOST POPULAR GAME PROGRAMS AND IS COM- PATIBLE WITH KIM. TIM, OSI, AND JOLT MONITOR SYSTEMS WITH AN I/O TERMINAL. YOU GET EXCIT- ING VERSIONS OF HANGMAN, ACEY-DUCEY . SWITCH. MASTERMIND, HURKLE . AND EVEN A RANDOM NUMBER GENERATOR. ALL BOUND IN A HANDY BINDER. THIS ASSEMBLY LANGUAGE SOFTWARE PACKAGE INCLUDES COMPLETE USER DOCUMENTATION. YOU GET A COM- PLETE, WELL COMMENTED. ASSEMBLED SOURCE LIST- ING, INCLUDING A SORTED SYMBOL TABLE AND HEX CODE DUMP, INSTRUCTIONS FOR USE AND EVEN SAM- PLE OUTPUT. HOWEVER. NO PAPER TAPES OR CAS- SETTES ARE AVAILABLE AT THE PRESENT TIME. THIS PACKAGE IS EXACTLY WHAT YOU HAVE BEEN WAITING FOR. AND ITS ONLY $19.95. ORDER PD4 AQflO ATTENTION 8080 USERS. A PACKAGE SIMILAR TO THE ONE DESCRIBED ABOVE WILL SOON BE RELEASED FOR 8080 MICROPROCESSORS. WATCH FOR OUR ADS. E.QQQ NOTE THAT TSC ALSO HAS OVER 6800 SYSTEMS NOW AVAILABLE. COMPLETE SOFTWARE CATALOG PLEASE INCLUDE 37. FOR POSTAGE. INDIANA RES- IDENTS ADD 47. SALES TAX. CHECKS WILL CLEAR. 20 PROGRAMS FOR SEND $.25 FOR A WHEN ORDERING, TSC TECHNICAL SYSTEMS CONSULTANTS BOX ES74 N. LflFHYETTE INDIANA 47906 TSC 1702A MANUAL EPROM PROGRAMMER L 4iJ < Up ' • i jJfflrifrTlftVii U;1|I Jf %MH|.j|: Features hex keypad, two digit hex address and two digit hex data display. Con- trols include load, clear, go! (step), key/copy, data in/ data out, and counter up/ down. Profile card includes high voltage pulse regulator, timing, 8 bit address and 8 bit data drivers/receivers. Two 6V2" x 9" stacked cards with spacers. Allows programming in 20 minutes — copying in 5 minutes. Requires +5, —9, and +80 volts. ASSEMBLED $299.95 KIT $189.95 NOW The best of two worlds. . . use our 1702 EPROM programmer as a manual data/address entry programmer ... or connect it to your processor. IMSAI/ALTAIR computer interface (requires 3 output ports, +1 input port) and software $49.95 Briefcase unit with power supplies and interface connectors (assembled and tested only) $599.95 ANNOUNCING Our NEW 16K Byte Pseudo-Static, IMSAI/ALTAIR compat- ible RAM. Single card slot. Uses less power than equivalent low power RAM. All memory chips socketed. Uses all prime, factory fresh ICs. High quality, two-sided, through-hole- plated circuit board. Crystal controlled, totally invisible refresh system requires NO software management. Just plug it in and use like STATIC memory. Complete kit $349.95 Assembled, tested, and burned in $549.95 ASSOCIATED ELECTRONICS 12444 Lambert Circle • Garden Grove, CA 92641 (714) 539-0735 123 7. Ann Arbor Computing Club Roger Gregory 1485 Newport Rd Ann Arbor Ml 48103 (313)995-5743 1 . Southeastern Michigan Computer Organization (SEMCO) 2. POB 9578 North End Station Detroit Ml 48201 3. WJBK TV-2 Studio Southfield Ml 4. The second Sunday of the month at 6 PM 5. Data Bus 6. Mr Richard Weir 7. (313)465-3228 8. $10 per year 9. Club interests cover the whole spec- trum of microprocessors; members own systems from many manufac- turers. The background of members range from novice to hardware designer. 10. Club is six months old, has about 1 10 members, and is a member of MACC. 1. Mid-Michigan Computer Club 2. 15151 Ripple Dr Linden Ml 48451 6. Tony Preston 7. (313)629-5361 X-262 10. We are in the embryo stage. 1 . Jackson Hams and Hackers 2. Commonwealth Associates Inc 209 E Washington St Jackson Ml 49201 3. Place: variable 4. Times: spontaneous/variable 6. Jess Hancock WB8RDF (517)787-5950 Rick Cook (517)787-5950 9. General, ham, games, mathematical 10. We are an informal group of 6 to 8 persons interested in microprocessors, 1 KIM-1, and a 6502 based homebrew in the planning stage. Zips 50000 - 60000 1 . The Eastern Iowa Computer Club . 2. 6026 Underwood Av SW Cedar Rapids IA 52404 6. Mike Wimble, president 7. (319)395-4392 work (319)396-5647 home 1 . Wisconsin Area Tribe of Computer Hobbyists 2. Don Stevens POB 159 Sheboygan Falls Wl 53085 1. Bit Users Association 2. 3010 4th AvS Minneapolis MN 55408 1. Advanced Technology Research Associates (ATRA) 2. POB 456 Minneapolis MN 55440 3. 2633 Dupont Av S, M npl s, subject to special visits to other organizations announced in advance 4. Tuesdays at 7:30 PM, with special exceptions announced in advance 5. None at this time 6. Frank Stodolka 7. (612)377-7387 8. BYOB 9. PLATO and graphics, word processing, physics (fusion, energy conservation, lasers), futurism and alternate eco- nomic systems for an automated society, invention patenting and mar- keting. (All in addition to home com- puter systems, of course.) 10. All our members are science fiction fans. Our meetings are basically infor- mation exchange and brainstorming sessions. Any fans out there good at digital circuit design and construction? 1. XXX-II Users Group 2. Dick Corner 514 S9th St Moorhead MN 56560 1. Southeast Minnesota Club 2. 2122 NWAv Rochester MN 55901 Zips 60000 -70000 1 . Chicago Area Computer Hobbyist's Exchange 2. Bill Precht POB 36 Vernon Hills IL 60061 5. Cache Register Newsletter 1. (312)356-7290 1. Chicago Users Group 2. 195 Ivy Ln Highland Park I L 60035 1. ALTAIR -CHICAGO 2. 517TalcottRd Park Ridge I L 60068 3. Chicago Computer Store 517TalcottRd Park Ridge I L 60068 5. Computer Notes — Chicago 6. Lou Van Eperen 7. (312)823-2388 8. Altair owners — free; assoc. members — to be determined 9. Clinics, seminars, problem solving, applications, software, etc, as related to Altair equipment 10. The club will be primarily designed to aid the Altair owner and offer a coop- erative effort to get the most use out of the Altair System. Non-Altair owners and those contemplating pur- chase of an Altair are cordially invited to attend as associate members on a limited basis. 1 . Chicago Micro Users Group 2. 1 102 S Edison Lombard I L 60148 1 . Ice-Nine Inc 2. POB 291 Western Springs I L 60558 1 . Microcomputer APL Enthusiasts (MAPLE) 2. POB574NUMS 303 E Chicago Av 1. Name of organization 2. Mailing address 3. Meeting location 4. Meeting algorithm 5. Newsletter or publication 6. Contact person 7. Contact phone number 8. Dues or subscription fees 9. Special interests 10. Other comments Chicago I L 60611 4. We meet bimonthly via the newsletter. 5. MAPLE Leaves 6. Ruth Low, editor 8. $3 for four issues (1 year) 9. First: developming a mAPL; then, foreign languages, graphics, speech synthesis, music synthesis, etc. 1 . The Computer Network of Kansas City 2. 968 Kansas Av Kansas City KS 66105 5. KC Thru - Put 6. Earl Day 7. (913)492-9315 1. South Central Kansas Amateur Computer Association 2. 1504 N St Clair Wichita KS 67203 3. 1430 E Kellogg Wichita KS 67203 4. First and third Saturday of the month 5. Data Link 6. Cris Borger 7. (316)945-9658 8. Dues: $10 (includes subscription fee) Zips 70000- 80000 1 . Crescent City Computer Club 2. POB 1097 University of New Orleans New Orleans LA 70122 3. Room 21 20 Science Building of the University of New Orleans 4. Second Friday of each month at 8 PM 6. Emile AllineWA5 WUJ 1119 Penn Slidell LA 70458 1. Central Oklahoma Amateur Computer Society (CENOACA) 2. Lee Lilly POB 2213 Norman OK 73069 3. Oklahoma City Warr Acres Branch Library at NW 63rd and MacArthur, Oklahoma City OK 4. The second Saturday of each month at 10 AM 5. Newsbits 7. (405)364-1071 8. Subscription is included in annual association dues of $5. 1. Oklahoma City Club 2. 2412 SW 45th Oklahoma City OK 73119 1. Dallas-Fort Worth Club 2. 2377 Dal worth Apt 157 Grand Prarie TX 75050 124 ROCHESTER'S FIRST MICROCOMPUTER STORE THE MEMORY MERCHANTS COMPUTER KITS IHSAI 8080 $534-95 IMSAI 8080 i. SEALS 8K RAM J804-95 IMSAI 8080 & T.D.L. Z-80 (no 8080) 1739.95 22 card mother board add $49.00 100 pin socket 4 edge guides each J6.25 TARBELL CASSETTE INTERFACE $109.95 SEALS ELECTRONICS 8K RAM battery back-up board (less batteries) T.D.L. ZPU (Z-80) BOARD 16K FAST RAM (also available in 4,8,12K) JANUARY SPECIAL: IMSAI computer with Z-80, CASSETTE INTERFACE (both Tarbell and Byte modes), one serial, two parallel I/O ports, SEALS 8K RAM, all IC sockets. 11199.00 with 16K ram $1459-00 All kits available assembled THE MEMORY MERCHANTS P.O. BOX SPLNCERPORT N.Y. 14559 $279.95 $59-95 $249.95 $529.95 TURN ON WITH COMPTEK Now your micro can control AC power outlets with COMPTEK's NEW PC3200 Power Control System. • 1 to 32 independently address- able control channels • Remote power control units — no AC power on logic board • Optically isolated, current lim- ited, low voltage control lines • Accessible through most BASIC'S • ALTAIR and IMSAI compatible Write today for more details! nnmpt.pL "Real World Electronics" P.O. Box 516 La Canada, CA 91011 COME TO ALDELCO COMPUTER CENTER 2281 Babylon Turnpike Merrick, Long Island, N.Y. Open Mon. thru Sat. 9:30 to 5 Books, Magazines, Computer Boards and Kits 7400 IC's, CMOS, LINEARS, MEM- ORIES, 6800 & 8080 Support Chips, Rectifers Diodes, IC Sockets, Elec- tronic Parts National's SC/MP Kit only $99.95 COMPUTER CONSULTATIONS SATURDAYS 9 to 5 Evenings by appointment CALL US AT 516 378 4555 NEW IN PHOENIX Bits & Bytes COMPUTER SHOP 6819-C N.21st Ave. Phoenix, Az. 85015 (602) 242-2507 Featuring: EPA Micro-68 System Micro Term-Act 1 Keyboard Video Monitors Books, Magazines PHILADELPHIA COMPUTER STORE features The Personal Computer System IMSAI ® the digital group P Personal Computer Corporation phone: 215-647-8460 Frazer Mall Rt. 30 & 352 Frazer, PA. 19355 OFF LEASE EQUIPMENT Teletype ASR 33 $809 each F.O.B. Your local AJ service center. lodems and Couplers also available. ANDERSON JAC0B50N 521 Charcot Ave, San Jose California 95131 (408) 263-8520 1. The Computer Hobbyist Group of Northern Texas 2. Bill Fuller 2377 Dalworth #157 Grand PrarieTX 75050 1 . Houston Amateur Microcomputer Club (HAmCC) 2. 4223 SW Fwy #203 Houston TX 77027 3. About to change in the unpredictably near future; interested people should contact us for current information. 4. Second Friday and fourth Tuesday of each month (unless new meeting place forces a change). 5. NYBBLE (at present no articles; just info on meetings and unclassified ads from members) 6. David M Fogg, president (713)626-2935 Clifford Carley, secretary (713)921-7532 Bill Crews, vice president (713)353-8798 8. Presently $6 per year (but if we have to start paying for a meeting place . . .) 9. We cover the field; all fields represented. 10. We are convinced that a city the size and modernity of Houston is teeming with people who would like to join a computer club, who aren't even aware of our existence. I sincerely hope this helps to remedy the situation. 1 . NASA-JSC Computer Hobbyist Club (Houston TX) 2. Marlow Cassetti 101 1 Devonport Ln Seabrook TX 77586 7. (713)474-2923 1. Microputer Tinkers and Bug Busters Society - "Miti BuBus" (Mighty BooBoos) 2. 3845 LeBleu St Beaumont TX 77707 3. Here and there at present 6. William (Pete) Peters 7. (713)835-6144 8. At present: one dried turnip, but may be increased very soon 9. Construction projects, software, fun and games programs 10. Interested in receiving newsletters, design data, etc, from other clubs and manufacturers 1 . Texas A & M Microcomputer Club 2. POB M-9 Aggieland Station TX 77844 3. Rm 333B Zachry Engineering Center, A & M University 4. Every other Wednesday 6. Dr Charles Adams 7. (713)823-0877 8. $10 for three semesters (one year, more or less) 9. Everything, but currently many mem- bers working on construction of higher level languages for small systems. So far, club projects have been mainly software, although an effort is now being made to start some hardware projects as the club is fortunate enough to have some extremely competent hardware enthusiasts. Games are also very popular, with particular emphasis on Star Trek type games. 1 0. Meeting so often, we do not currently have a newsletter, although there has been some discussion of initiating one, tentatively titled The Last Word. Although we are a university organiza- tion, the general public is extremely welcome to attend meetings. 1 . Northside Computer Group 2. 2318Townbreeze San Antonio TX 78238 ■ 3. Currently same as above 4. Every other Tuesday evening 5. None at present 6. Jim Aldridge 7. Currently no phone 8. No dues 9. 6800 processor oriented, speech syn- thesis, graphics, interactive higher level languages 10. Newly formed and looking for a per- manent meeting place. An Altair 680b is being built up, and a speech synthe- sizer is presently in the design stage. An ACIA version of MIKBUG is being developed as is a highly graphics oriented Star Trek game. 1. Central Texas Computer Association 2. 508 Blueberry Hill Austin TX 78745 3. Old Quarry Branch, Austin Public Library 4. Fourth Monday of every month, 7:30 PM 5. Print-Out 6. R D (Ray) McCoy 7. (512)443-0971 8. Dues: $1 0; annual subscription to newsletter: $6 9. Interests range from the most elemen- tary, to the most sophisticated. (Almost any application that can be dreamed of ) 1. El Paso Computer Group 2. 213 Argonaut #27 El PasoTX 79912 Zips 80000 - 90000 1 . Denver Amateur Computer Society 2. POB 6338 Denver CO 80206 3. First Universal Church 4101 E Hampden Av Denver CO 5. DACS Newsletter 6. Jim Clark, editor 538 S Swadley St Denver CO 80228 1." CSPCC (Coeurd'Alene Society for the Prevention of Cruelty to Computers) 2. 205 Foster Apt #2 Coeurd'Alene ID 83814 3. See #2 4. Each week, Sunday evening 5. None 6. Mark Bentley, president 7. (208)664-6686 8. None yet 9. Our main goals are as follows: • Obtain a computer (probably Z-80 based) 1. Name of organization 2. Mailing address 3. Meeting location 4. Meeting algorithm 5. Newsletter or publication 6. Contact person 7. Contact phone number 8. Dues or subscription fees 9. Special interests 10. Other comments • Create or obtain a Fortran-similar compiler • Implement world simulations and war games on said computer 1 . Northern Nevada Amateur Computer Club 2. UNSCC POB 9068 Reno NV 89507 3. Washoe County Library 4. Second Wednesday, 7:30 PM or as announced 5. Meeting announcements only, sent to members 6. Al Brady 7. (702)784-4008 or 329-9386 8. None 9. Home hobby systems 10. Organized activities scrupulously avoided; meetings for purpose of information exchange Zips 90000 - 99999 1 . University of California at Los Angeles Computer Club 2. 3514 Boelter Hall UCLA Los Angeles CA 90024 1. HP-65 Users Group 2. 2541 W Camden PI Santa Ana CA 90024 1. Cola 2. POB 43677 Los Angeles CA 90043 1. Beverly Hills High School Computer Club 2. 241 Marino Dr Beverly Hills CA 90212 7. (213)277-5900 1 0. The main purpose of the club is to invite people from the computer indus- try or from related fields to our cam- pus as guest speakers. 1 . Southern California Computer Society 2. POB 987 South Pasadena CA 91030 1. San Gabriel - Southern California Computer Society 2. Dan Erickson 400 S Catalina Av Pasadena CA 91 106 1. Glendale Community College Computer Club 2. VS Lashleu 1 500 N Verdugo Rd Glendale CA 91208 126 COMPUTER MART of New Hampshire Dealers for IMSAI Technical Design Labs The Digital Group Open Mon Thru Sat 9:00-5:00 Thurs. 'til 8:30 Rt. 3 Merrimack (603)424-2981 IMSAI Dealer Systems from $540 CRT Kit ADM-3 $849 RAM 4A-4 $125 3240 W LARKSPUR PHOENIX AZ 84021 (602) 942-8405 V jew Ujom LONG ISLAND Computer leasing available. I MSAI , SWTPCo, Digital Group Processor Tech, Apple, OSI TDL-Z-80, Seals, Cromemco, Veras, Tarbell, Oliver Magazines, books, chips, sockets, connectors, terminals. IT'S ALL HERE WAITING FOR YOU FRIENDLY ADVICE TOO New York City 314 5th Ave. (32nd St) New York 10001 212-279-1048 Long Island 2072 Front St East Meadow NY 516-794-0510 AUTHORS WANTED 3C plus per word for suitable articles for Computer Appli- cations magazine; a new photo-offset publication devo- ted to personal computing hardware /software, with em- phasis on step-by-step how to do it. Full responsibility is assumed for all submis- sions, both accepted and re- turned. Write for free details to: Computer Applications, 998 Coxwell Ave., Toronto, Ontario, Canada, M4C 3G5 Computer clubs, hobbyists, and commercial advertisers, get on our mailing list. Issue #1 is at the introductory price of only 50C. Pictured above is the new OP-80A High Speed Paper Tape Reader from OAE This unit has no moving parts, will read punched tape as fast as you can pull it through (0-5,000 c.p.s.), and costs only $74.50 KIT, $95.00 ASSEMBLED & TESTED. It In- cludes a precision optical sensor ar- ray, high speed data buffers, and all required handshake logic to interface with any uP parallel I/O port. To order, send check or money order (include $2.50 shipping/handling) to Oliver Audio Engineering, 7330 Laurel Canyon Blvd.. No. Holly- wood. CA 91605. or call our 24 hr. M/C-B/A order line: (213) 874-6463. MODULES FOR ALTAIR AND IMSAI COMPUTERS 8K STATIC MEMORY - KIT $295 ASSEMBLED $375 16K STATIC MEMORY - KIT $650 ASSEMBLED $775 WIRE WRAP BOARD - KIT $ 39 EXTENDER BOARD W/C - $ 30 BATTERY BACK-UP BOARD LESS BATTERIES _ KIT $ 55 115V I/O BOARD - KIT $ 149 ASSEMBLED $200 THE 115V I/O BOARD HAS FOUR INPUTS AND FOUR OUTPUTS EACH II5VAC AT I. SAMPS. NO LONGER A NEED FOR RELAYS WITH THIS BOARD. To order send check or money order {include $2.50 shipping/handling) to ELECTRONIC ENG. 8 PRODUCTION SERVICES, Rt.# 2, Louisville, Tennessee. (Tn. users add 6% sales tax) (615)984-9640 1 . Valley Chapter — Southern California Computer Society 2. R Stuart Gibbs 5652 Lemona Av Van NuysCA9141t 1 . San Diego Computer Society 2. POB9988 San Diego CA 92109 5. Personal Systems 10. 29 Palms California Area Group Wesley Isgrigg 74055 Casita Dr 29 Palms CA 92277 North Orange County Computer Club (NOCCC) POB 3603 Orange CA 92665 Administration Building, California State University, Fullerton We usually meet in the afternoon of the first Sunday of the month. North Orange County Computer Club Newsletter Lorin Mohler, president (714)998-5831 $6 annually, includes newsletters; family memberships will be available. The club is actively acquiring software for 8080 and 6800 microprocessors. NOCCC would enjoy swapping news- letters with other computer oriented groups. We are particularly interested in using our hardware in educational applications and some games. Ideas for successful fund raising are also appreciated. 1 . Technological Developments 2. POB 2151 Oxnard CA 93034 5. Calculator Lib 6. Gene Hegedus 7. (805)486-7191 8. $2 per issue postpaid 9. Published for professionals and ama- teurs liberated by the calculator from the obnoxious drudgery of arithmetical operations. Covering the full range of commercially available calculators from the $8 models to the $1000 programmable units. 10. Contents: Tips and Trix with arith- metix, games and other programs for programmable and the $8 kind of non- programmable calculators; vocabulary, news and other tidbits, all to develop the calculator wizardry of the liberated readers. 1 . Ventura County Computer SOCIETY 2. POB 525 Port Hueneme CA 93041 3. Camarillo Public Library, 3100 Ponderosa Dr 4. The last Saturday of the month not near a holiday (Nov 20 and Dec 18). We may change this in 1977 but will give you three months notice if we do. Time: 9:30 AM to about noon. 1. Name of organization 2. Mailing address 3. Meeting location 4. Meeting algorithm 5. Newsletter or publication 6. Contact person 7. Contact phone number 8. Dues or subscription fees 9. Special interests 10. Other comments 5. The VCCS Newsletter 6. Fred Moeckel, (805)982-5852 or Bill Cowley, (805)985-2631 (home), (805)982-1045 (work) 8. Currently $5 per year 1 . Santa Barbara Computer Group 2. Glenn A McComb 210 Barrunca #2 Santa Barbara CA 93101 1 . San Luis Obispo ju-Computer Club 2. 439 B Marsh St San Luis Obispo CA 93401 3. Cal Poly State Univ SLO 4. Meetings are first and third Tuesdays of the month at 7 PM 5. No newsletter yet 6. Bob Neeper or Rick Stellmacher 7. (805)544-5441 8. No dues 9. Trading hardware and software, lectures and seminars by members of the club and industry CANADA New Hobby Computer Centre THE COMPUTER SHOP Calgary, Alberta 3515 18th St SW Phone (403) 243-0301 IMSAI, Cromemco, Polymorphic, SWTPC, etc. Plus our own Canadian made lnteralia-8000 Micro. Full re- pair facilities, low rates. Hardware/ Software specialists available for commercial or industrial control ap- plications too. GRAPHICS • Simultaneous display of text and graphics • 64 programmable GRAPHICS characters • Upper case ASCI I ROM •Character selective inverse video •All needed RAM included This high resolution low cost graphics/text display has been made possible through the use of 64 totally user-programmable graphics characters. These contiguous 8x12 "building-blocks" are accessed just like any text character and dis- played on the same 64 character x 16 line screen grid. This complete single board kit plugs directly into the S-100 bus (Altair/IMSAI) and is yours for only $199. Ask for THE DETAILER. MicroGRAPHICS P.O. Box 2189, Station A Champaign IL 61820 Terms: Prepaid. Illinois residents add 5% sales tax. DIGITAL SYSTEMS FLOPPY DISK SYSTEM COMPLETELY ASSEMBLED UNIT #1595.00 (Price guaranteed till 3/1/77) Includes: single drive, cabinet, power supply, controller, Interface and all cables - complete] y assem- bled and tested. Features Shup;p;art Associates drives and DIGITAL .SYSTEMS FDC-1 controller. Disk formatting 3s IBM compatible. Comes with single interface to the Altair/IMSAI bus. The controller uses a simnle DMA interface that allows concur- rent processor execution, uses hard- ware bootstrap without processor in- tervention. The powerful CP/M Disk Operating System, written by the originator of Intel 's PL/M compiler, is available for only $70.00. CP/M was developed on our hardware. Systems have been operating in the field for over two years . Add $575.00 for the dual drive system. DIGITAL SYSTEMS 115*1 Dunsmulr PI Livermore, Ca. 94550 (415) 443-4078 128 SOUTH FLORIDA We Carry: •IMSAI • SWTPC • Cont. Spec. Corp. •Vector • Cromemco Plus a Wide Selection Of: Chips • Sockets • Boards Magazines • Books Technical Manuals Newspapers • Brochures Service and Sales Sunny Computer Stores, Inc University Shopping Center 1238 A South Dixie Hwy. Coral Gables, FL 33146 (305) 661-6042 MORE DATA PER DOLLAR DURA MACH 10 Automatic Typewriter BASED ON THE IBM SELECTRIC TYPEWRITER, WITH A PAPER TAPE PUNCH AND OPTICAL TAPE READER, ALL IN ONE UNIT. FASTER, MORE VERSATILE THAN TTY. USES 8-BIT BCO CODE FOR PARALLEL IN/ OUT AND PUNCHED PAPER TAPE. WILL PUNCH TAPE FROM KEYBOARD INPUT, TAPE READER, OR EXTERNAL INPUT. PRINTS ON STANDARD PAGE FROM KEYBOARD, TAPE READER, OR EXTERNAL INPUT. OUTPUT TO COMPUTER FROM TAPE OR KEY BOARD. ALSO, A STANDARD TYPEWRITER, USING BCD CODED TYPE BALLS AVAILABLE FROM IBM. PAPER WIDTH, 15.25" MAX. WRITING LINE, 13" MAX. SIZE: 28" L, 15.75" D, 7.75" H. WEIGHT 70 POUNDS, CHECKED OUT f, IN EXCELLENT CONDITION. ONLY S"tOO. FOB CLEVELAND, OHIO. LIMITED QUANTITY. (THIS AD TYPED ON A DURA MACHINE) ALSO AVAILABLE: MODIFIED MACHINES, USING SELECTRIC-CODED TYPE BALLS, WITH ASCII IN/OUT. STAND-ALONE PAPER TAPE PUNCHES £ READERS. JEFF-TRONICS P.O. BOX 81"l21, CLEVELAND, OH Mil] PHONE: 2 1 6-23M-45 0S CDAY OR EVENING) 8,192 X 8 BIT STATIC MEMORY EXCEPTIONALLY LOW POWER ' M# rii'liiiiiiii.ii] 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 ICS 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 THE COMPUTER CORNER Lower Hudson Valley Southern Connecticut •IMSAI 8080 •POLY-88 •Teletype supplies • Full line of magazines •Processor Tech •Computer Book Service • Magnetic tapes & disks •Brain Games & Puzzles THE COMPUTER CORNER White Plains Mall 200 Hamilton Avenue White Plains, N.Y. 10601 Tel: (914) 949-DATA Hours: 10-6 Daily & Saturday 10-9 Thursday 6502 OWNERS ASSEMBLER/TEXT-EDITOR PRO- GRAM, in source and object form. ANSI BASIC PROGRAM STAR TREK GAME PROGRAM All above programs run in 4k mem- ory. Available on either cassette or paper tape. PROGRAMS $19.95 EACH PPD. (Texas Residents add 5% sales tax) Hard Copy Available with Purchase for an additional $12.95 ppd. Mem- bership in User Group with purchase. Complete listing of programs avail- able on request. MICRO SOFTWARE SPECIALISTS, INC. 2024 Washington Street Commerce, TX 75428 (214) 886-6300 For more information circle 133. EGjGl^ COM 7338 Baltimore Ave., Suiie 200 College Park, Maryland 20740 JOINT VENTURE GROUP OEM BUYS IMSAI kits 8 assembled units 15% 9900 board, 16 bit microP, 32 bit I/O hardware mult Er div, buffered bus, 20ma or RS232, 8 interrupts SPHERE kits 6 assembled units 10% SWTPC kits 6 assembled units 10% CROMEMCO kits 10% SANYO TV Monitors 10% VERAS F-4 computer 10% TDLZPU&Z16K 10% SEALS 8K bat. backup Mem, 10% PERSCI Dual floppy 6 intelligent controller 1*270 & 10701 SHUGART MINI-FLOPPY OFF LIST $249.00 OFF LIST OFF LIST OFF LIST OFF LIST OFF LIST OFF LIST OFF LIST $1395.00 $350.00 Negotiating with others for discounts AMD FACTORY PRIME TESTED lor MIL-STD 883C 91 L02 600ns $1.90 9102 500ns $1.85 90L02 -100ns SI. 99 9102 400ns $1.95 Isocket & capacitor with abovel $.25 Z-80 $54.00 Z80 PIO $15.00 Z-BO-CPC $15.00 1702A $8.00 8080A2.5MH $17.00 8080A3 OMH $20.00 8080PPI S10.00 8080SCI $10.00 8212 $2.50 8224 $4.75 8228 $5.50 8216/26 $2.50 9656 $9.50 9551 $9.50 oihcr chips 2900 series, 4K mems. etc Send S2.00 for newsletter & lists Full pavmeni for discounts, add 4%. mm. 4.00 loi shipping h handling, orders bulked lor lowest discount on OEM Group buys. 1 . Micro-8 Newsletter 2. Cabrillo Computer Center 4350 Constellation Rd Lompoc CA 93436 1. Computer Phreaques United 2. Mac McCormick 2090 Cross St Seaside CA 93955 1 . Homebrew Computer Club 2. POB626 Mountain View CA 94042 5. Homebrew Newsletter 10. The newsletter is sent to anyone on request; however, donations are greatly appreciated for the cost of postage labels and printing. 1. Bay Area Microprocessor's User Group 2. 1211 Santa Clara Av Alameda CA 94501 3. The Great Western Savings Building at E 14th and Davis Streets, San Leandro CA, in the community room on the second floor 4. We meet the first Thursday evening of every month at 7 PM. 5. We have no newsletter yet. 6. Timothy O'Hare 7. (415)523-7396 8. Dues are collected only if we need money and are voluntary ($.50). 1 . Bay Area Micro Group 2. 4565 Black Av Pleasanton CA 94566 1. LLLRA Hobbyist Group 2. Charles D Hoover 35 W Essen St Stockton CA 95204 1. Sacramento Minicomputer Users 2. POB741 Citrus Heights CA 95610 1. Computer Guild 2. POB 255232 Sacramento CA 95825 3. Meetings are held at members homes at present. 4. Meetings scheduled when possible 5. None at present 6. Quentin T Fox Jr, guildmaster 7. (916)489-5400 8. Presently requiring only interest, knowledge and equipment 9. General computing and controller systems development 1 0. We are very interested in the develop- ment of a portable general purpose computer (hand held?), possibly based on the Tl SBP0400A 4 bit slice processor. 1. Aloha Computer Club 2. 94-360 Hokuala St Apt 187 Mililani Town HI 96789 3. Hawaiian Telephone Plant Training School, Bldg A, at end of Kikowaena St, Moanalua 4. First Wednesday of each month at 7:30 PM 5. None yet 6. Donald D Henson 7. (808)623-1781 8. None yet 9. Undefined 10. Alternate contact: Robert Kennedy (808)946-9761 1. Portland Computer Society 2. 1003 Garland St Apt 4 Woodburn OR 97071 3. Portland Community College, in one of the rooms off of the main cafeteria (Mt Sylvania campus) 4. Third Saturday of the month, 1-4 PM 5. None published as yet, but plans afoot 6. Mike Boyd, The Byte Shop, Portland Also Percy G Wood, address see #2 7. Check with directory assistance for the Byte Shop. Else try 981-4985. 8. $10 per year 9. None for the society, but SIGs planned 10. Place to contact is the Byte Shop. 1. Portland Computer Club 2. Bill Marsh 2814 NE 40th St Portland OR 97212 1 . Northwest Computer Club 2. POB 5304 Seattle WA 98105 3. Usually meets at Pacific Science Center (near the math exhibits) 4. First and third Tuesday of the month, at 7 PM 5. Northwest Computer Club Newsletter (NCCN), monthly 6. John Marshall, NCCN editor (206)251-5695, work (206)226-7775, home Steve Patchen, (206)543-1788, work (206)364-6447, home Bob Wallace, (206)524-6359, 12-2 PM 8. Subscription/dues not set for next year 10. We have about 130 members with 40 microcomputer systems running. Mem- bership is divided about equally between hardware professionals, soft- ware professionals, and students. Canada, New Zealand 1 . Montreal Area Computer Society MACS 2. 4100 Kindersley Av Apt 22 Montreal, Quebec CANADA 3. Vanier College 5160 Decarie Blvd Montreal, Quebec 4. Once a month 5. The Golden Arches 6. Leslie Zoltan 7. (514)733-8890 8. $.50 per meeting 9. Computer applications 10. 20 members as of Sept 1 1976; have had two meetings; seeking new members 1 . Toronto Region Association of Computer Enthusiasts (TRACE) 2. Harold G Melanson POP 545 Streetsville PO Mississiagua, Ontario CANADA L5M 2C1 1 . Amateur Microprocessor Club of Kidchener-Waterloo 2. Reading Room Electrical Engineering University of Waterloo Waterloo, Ontario CANADA N2L 3G1 6. Charles Sooley or C Ed Spi ke 7. (519)885-1211 1. Canadian Computer Club 2. 861 11th St Brandon, Manitoba CANADA R7A4L1 6. (204)725-1079 1. INFO FILE 2. POB 27-206 B Mt Roskill Aukland NEW ZEALAND ■ BYTE's Bits A Business Services Time Sharing Service Quikdata is the name of an outfit which makes available large scale processing facil- ities and debugged business software which can be accessed via a small computer system lacking extensive mass storage, debugged software or number crunching capability. The service operates in a remote batch mode at 110, 300 and 1200 baud over the tele- phone network. It requires that the user's computer be equipped with an originate modem, BASIC language with 10 control for cassette or floppy disk, and the floppy disk or cassette. (Any other electronically con- trolled medium to high speed mass storage device could be used.) Write for a free brochure which describes the software which is available on a time sharing system, along with latest user man- uals, computer assisted instruction programs, a high level language for report generation, translators for BASIC and various assembler dialects, and a software exchange with 30% royalties for the authors. According to the brochure, the service of Quikdata is created by Dr Ernst J Schubert, an applied physicist and electrical engineer with extensive past experience in computer design starting at Westinghouse, Burroughs, Beckman Systems, and later business and consulting experience in economic modeling, production and inventory control software, etc. To find out what Quikdata can do for your business or professional activities with a microcomputer system, write Dr Schubert and Company at Quikdata, 3431 Cerritos Av, Los Alamitos CA 90720." Consumer Notes. . . Collectors Items We notice that several sources lately have been trying to remanufacture collector's items. Readers should be aware of what it 130 Advanced Microcomputer Products Presents Prototype Design Equipment EH 1 ^ b ' , ^S^'B^H 1 ^ : ^ "r^^-^E^r !™i'?~£' ffl § IS -1 ! — ST35 — IF — S — RTS1 — ""1 Now in nock tor Microprocessor Prototyping NEW SOCKETS & BUS STRIPS E.p.rirt»n<.f 600 . . . $10.35 8K RAM BOARD 5198.00 Aoy • MICROPROCESSOR PRODUCTS *MK PRO QMPUTER 'T^C^* BUILD YOUR OWN Photo of expanded EVK 99 $159.95 COMPLETE COMPUTER SYSTEM TV GAME KITS S6B34 1 S6B00 AM2B12 AM2841 AM33J1 ONLY ■ $29.95 ONLY ,S34.95 TV KIT NO. 3 ONLY $59.95 III SS 95 loi ?WH; l ONLY $49.95 2. UNIVERSAL KLUGE BOARD $98.00 Completely co.npai.ble 10 ibe E VK lyiiem Ttlit board alio* jddilion.lpa.-Ilh. p.i.r.1 linn 5400 hol.i, hold. 94 16pn 2. 4. 6. 9"o. orta-er centtn 2 50p.n 1 20 pm rial cabl 3. 16K BYTE RAM BOARD $77.95 16K . Bo. BK ■ I6ori|jni/»l.or. UlCl 2102'sd. 21L02'ian 4. 6 SLOT MOTHER BOARD $29.95 5. EXTENDER BOARD $46.50 25p.nRS232 75452 8T26B 74LS13S 8097 74166 74161 741HC MH0026CN 1488 1489 * I C MARKET PLACE * RF MODULATOR MODULE UM 1021 Channel 3/4 VHP MMUUta $8.95 + NEW PRODUCTS NEW FROM NEC Microcomputer! FIRST TIME OFFERED D372 Floppy Disc Controller Chip . . . . $125.00 D371 Mag. Tape Cassette Controller Chip . 99.95 Application Notes (26 pages) 6.95 Gl AY3550 4?, Digit OVM Chip 29.95 Gl AY3600 Keyboard Encoder 9.95 Intersil 8038CC 4.95 XR2263 Servo Com 6.95 R0 32513Char Gen 9.95 LM305AH LM306N LM307CN LM307M LM232K ', LM324M LM3S1CN LMJ70N LM565N LM565H LM703CN LM709H LM7D9N LM723N LM725H LM733N LM733CH .M7524N .M7525N RC3403AD RC4131CN RC41360 HC455BCN ALTAIR /IMSAI COMPATIBLE 8K MEMORY THE SAME HK UOAI1D OFFERED TO THE SCCS GROUP PURCHASE NOW OFFERED TO VOU AT THE SAME LOW LOW PRICE 1 $198.00 COMPLETE If you desire 9 1L02APC PtMN add S9.Q5 EIGHT LEVEL PRIORITY INTERRUPT CPU. ALTAIR/IMSAI 80BO COMPATIBLE FEATURES SPECIFICATIONS tugrird ro. operating *,ih CPU; Intel 8080A u. 7403N 7404N 7405N 7407N 7408N 74MN 7423N 742GN 74MN 7427N I4S0N 745 IN 745 3N 7454N 7470N 747SN 7476N 74 BON 748 2N 74145N ,70 74147N SIS" 7414BN SI .79 CD4000 CD4001 CD4009 CD4010 CD4011 CD4012 CD4013 CD4014 CO4015 CO4016 CD4027 CD4029 CD4030 CD4Q35 CD4040 CO 404 2 CO 404 3 CD40B1 CD4522 CD4526 CD4527 3 CVCLE: 2 Seq/lniinjci, ADDRESS U(. [.loll fl T i,. I/O: 756D.icc1ly Ad INTERRUPT: 3LevelPri(]iny POWER: 7 B tu II O70VDC.G0MA 6800 STARTER SET PLESSEY SEMICONDUCTORS IB 74BSN 100 PIECES MIX TAKE 1 1000 PIECES MIX TAKE '47.79T* BOS3N BOS4N I174N SI. 25 75492N (175N SI. 25 75493N '17BN 79 75494 N I1MN J2 ID 0% DISCOUNT 15% DISCOUNT SLB11C SL612C SL613C ; SL620C : SLB21C : SL622C . SLB23C : SL650C 575 SL651C 4.95 SL68DC 3.75 DIVIDERS 6.95 SP8fi20B 12.50 8 25 5P8G31B 17.00 SPB632B 17.50 SPB6340 IB 00 SPB6360 20.00 SP86380 22.00 SP8637B SPB640B J>S304IB SP8642B SP8643B : SP8646B SPB652B \2. G W V 9l ^ TRANSISTORS P/N DESCRIPTION PKG UNIT PRICE ID 100 iooo 2N91B .24 .17 .15 2N930 2N2222A .166 .155 2N2219A .16 .15 .IBS .155 .135 jnHbW T^'^XZ"'"""' TO IB .22 .30 -17B .18 .105 .155 2N3392 .IB 2N3414 .185 2N3563 2N3565 2N3638 1G5 2N3640 74 165 13 2N3646 .IBS 13 2N3904 .13 2M3906 .15 2N4092 N-'l l" v'lOBV^O TO IB 48 50 M M 47 2N4123 2N4125 PH'Sm S.g GPAi-J ros? 23 23 .15 "l« 136 .27 .2!5 2N3055 95 SO .78 .72 MJ305S 2M3725 .65 .50 ^5 FPQ3725CN d «iw mttm Tnno5My|., AM/FMcspshilily * TIMING CIRCUITS * * COMMUNICATION CIRCUITS * XHB55CP MsiKritaic T«tn. .90 XH148B DiHd RSSS2 Dr™ 145 XR55GCP OuilBSST.™. 1.75 XH1489 (k.rf B5337 n«tr.«rp 1.15 XR2556CP OujI IimmjC.reu.i 2.95 XR220B f .„,. o. »...-. i ».,!.,...„■ 475 XR2240CP fcdw.mmtlH.Tww 4.20 XR320P t,™ 1.40 * PHASE LOCKED LOOPS* * STEREO DECODERS* XI12211CP 'St. !).-., .i ! .■- I....... 5.35 XR131DP FV Stir to Dtimdulalu' 3.00 XR567CP T^.-U.cMt. 1.80 XR131DEP FW Si„to O-^oaolJi^. 3.00 XR75567CP lOMDwMn 1.80 XR1BO0 S.-.re Dt^~l^i.io. 3 00 *FUMCTION GENERATORS* XR2206CP Manal.tnic FuoeiiW Gmhio 5.25 XR2207CP CWmi CbwoM OirilUtB 3.75 *OPERA1IONAL AMPLIFIERS* XR4558CP Dual HiGiilli. Ann 1.20 XR4136CP IV«JOoAr,|. 175 XR4202CP P.oo,. m -..n» o—i Op Amo 4. 25 "T" JUST OUT POWER SUPPLY: SPECIAL OFFER *5 Voiis i.5A Reorfawd + 12 Volts 1.0A Unrsqulated Special buy on OEfV Type Power Supply Comes complete with 7.5A 117V Power Transformer All Mounted in Chassis. Only $14.95 r MISCELLANY ELC0VARI KEYBOARD !$&/&> *%^ CLOCK CHIPS FIRST TIMEOFFERED ^ IC SOCKETS 14 Pin .20 2BPin .49 16 Pin 22 40 Pir. 53 'VARIABLE RESISTORS CORCOM EMI FILTER CORCOM 204 2A Only S4.95 115/230V 5O400H1 lesi 2I0OVDC ROTARY SWITCH takes to make such items, based upon our experiences here at BYTE. A collector's item must be rare, it must have quality, it must have a very limited supply, and above all, it must have a market. We have considerable experiences with collector's items around BYTE, and believe we know one when we see one. For example, a carved jade fish in the' Huang style from the Shang period in China, circa 1766-1121 BC, in good condition, is a collector's item. A Baccarat paperweight with signature cane for 1 848 in beautiful condition is a collector's item. A Steinway 1910 baby grand player piano in mint condition is a collector's item. The Joseph Henry signalling key pictured on the front of October's BYTE is also a collector's item. All of these are examples of collector's items. None of the above were manufactured with a thought in advance that they would become collector's items." Your Friendly Computer Store. The American Dream Here is a view of another example of the movement toward local computer stores. This is a photo supplied by Dr Charles Dunning (left) owner of the Computer Mart of Waltham MA, and his partner John Dunning. The photo marks the opening of the store (officially) on October 14 1976, located at 1097 Lexington St, Waltham MA and open from 11 AM to 8 PM, Tuesday through Friday; Saturday 11 AM to 5 PM. The store carries four computer lines: IMS Associates, Southwest Technical Products, Digital Group and Sphere." Wonder About PDP-11 s? Digital Equipment Corp has just pub- lished a marketing brochure entitled "PDP-11 Computer Family Products and Services," pictured here. PDP-11 products range in size and power from the packaged LSI-11 called a PDP-11/03 to the medium scale general purpose computer system which is the PDP-11/70. For your copy, write to Communications Services, Digital Equipment Corp, 444 Whitney St, North- boro MA 01532." ^\ APL Enthusiasts Take Note APL Press is a new publishing house devoted exclusively to APL material. Seven titles are currently available, and further manuscripts are being sought. A newsletter is issued periodically, containing brief articles, reports on conferences, book reviews, prob- lems, correspondence, and other items of interest to the APL community. Readers interested in receiving the newsletters and book lists, or in submitting material for publication, should write to APL Press, POB 27, Swarthmorc PA 19081." CASSETTE MEMORY BANK Audio Cassette Recorder No. 1 Audio Cassette Recorder No. 2 Audio Cassette Recorder No. 3 1/2 Kbyte RAM 1/2 Kbyte ROM CAVE Morrow's I/O and Cassette Interface Board General Purpose 8 Bit I/O Port (ASCII Keyboard, Tape Reader, etc.) Modem or Teletype Video Terminal or other RS-232 Device MICROCOMPUTER (Morrow's 8O80A Microprocessor Board, Altair 8800, IMSAI, etc.) $120 in kit form; complete documentation *4* Ask your local computer shop OR write us direct BOX 6194 ALBANY, CA 94706 BILL GODBOUT ELECTRONICS BOX 2355, OAKLAND AIRPORT, CA 94614 TERMS: Add 50c handling to orders under $10. Cal res add tax. No COD; to place BankAmer icard® or Mas tercharge* orders, call (415) 562-0636, 24 hours. OIM9UfWttilJMBffl| If you want to see the latest in interesting goodies for ■ computer hobbyists, ask for our current flyer. It has Altai r/ IMSAI etc compatible peripherals; some of the newest octal parts, a complete ] ine of TTL , CMOS , and Low Power : Schottky ICs ; power supplies ; connectors ; enclosures ; and j all the capacitors & resistors you could ever want , as wel 1 as a full line of Vector products SEND FOR OUR FLYER!! Pill WE W! Enclosures From VECTOR I W£ )H@ i& Deluxe cases that look beautiful no screws or :!;v fasteners mar the good looks from the outside. £:|; Interior slots hold card guides, connectors •:•■;: etc. (not included with enclosure). :•:-•: Al 1 enclosures available in either :•:£ dark blue or black with white y?i; front panel. Order from the $•:: fol lowing — v:j: *VP5-17-17U: 5.51" H, 17.58" W, || 17.1" D. $79.25 :;:::: KVP7-17-17U: 7.26" I!, 17.58" W, S|: 17.1" D. $84.00 §; «VP9-17-21U: 9.01" H, 17.58" W, $& 21.6" D. This is exactly the ::•:•: same size as the IMSAI 8080 mioro- ':<:'< computer. $96.50 •S? All units shipped unassembled; :>£ for postage (excess refunded) . please include enough 96CI FACTORY FACTORY FACTORY *♦:•:•:•:•:•:•:•:■:■:•:•:■:■?:•:•:■:•:•:•: PRECISION PRECISION FRESH PRICISION ONE ■ S sVo T T V/h = S H T il/ll eubmini/'D . onnectors! MALE WITH HOOD $3.95; FE- MALE CONNECTOR $3.95. - ■ FEMA LE^] ' : HERE'S YOUR CHANCE TO BUY SOME TOP 0UALI- | TY S0LDERTAIL SOCKETS AT THE RIGHT PRICE- It PIN. . . JD/*2.1S i 1M PIN. . .1Q/*1.^.^•^^^^^^l•^^^:^-:':•:^•^:•:':■:':•:'^:'^:•^^^:•:■^>^>:■>:•:■^ Multi Meter — >:An outstanding buy... 6 DC Volt ranges, ^^fc §3 DC current, 5 AC Volts, 2 ohms, and^P** odB scale too. 50 uA movement; plus v"off" position damps meter for safe ^•transportation . Includes 34 inch test pleads but less 1 AA battery. Small-- :j:a compact 5% U X 3V x 1 5/B". ^Please add $1 postage and handling. .01* ACCURACY IN A T0-5 CAN. ..not just useful for fixed frequency os- cillators, since most numbers can be used with simple binary dividers to generate other f requenc i es . For example, 15-3&0 can divide dowi. to 60 Hz for timing pulse purposes: 16. 38^ divided by 2 1 " gives 1 Hz timing pulses; and so on. All frequencies $*t.95 apply IC dis- count schedule for quantities. ALL FREQUENCIES IN KHz. 000 000 641 500 400 800 Choose from: 12.800 16.384 19.200 32.768 40.960 100.00 240.00 20.480 30.720 60.000 153.60 SENTRY CRYSTALS — SJ..95 PER CRYSTAL Series mode, fundamental, wire leads, for hams and computer bugs. Choose from k MHz (PACE ciock crystal), 5 MH2 8 MHz, 10 MHz, 12 MHz, 15 MHz, 18 MHz (8080 clock crystal), and 20 MHz. his 4K by 8 memory board has no frills, just storage. De- signed for compatibility with JOLT systems, this board is also ideal for other micro- computers using bi-direction- al buss systems. Same size as JOLT memory card, plus lo- power operation (1.3Amax) to keep you on good terms with your power supply. If you don't need the onboard regulation or address / data buffers of our "Bigger Bro- ther" 4K board, then this is the way to go. Sockets included for all ICs. in kit form $99.95 We took everything we learned from selling *tK x 8 RAM boards for the pas t yea r , added some of this yea r ' s ci rcu it tricks, ana came up with EC0N0RAM a memory board that is even more re- markable due to its 1 ow pri ce. We ' ve engi nee red this with the user in mind, giving you sever a 1 benef i ts : * 3 regulators to share power load, plus optimized thermal de- sign, means a cooler running microcomputer * Typ i ca I current consumpt ion of under 750 ma g i ves your power supply a break * Fast Zero wait states * All TTL support ICs are latest Low Power Schottky types * For reliable and unamb i guous data transfer, all addresses, data lines, and outputs are buffered for minimum loading and maximum output capability * Power-on clear included All these features are packed on to an Al ta i r-s i zed , industrial quality double-sided PC board, with sockets for all ICs, 7 tan- talum capacitors for power supply decoupling, and plenty of by- pass capacitors 39 of them, in fact, as well as a logic print and instructions. also available assembled $129.95 Our popular ECONORAM 4K x 8 RAM board is now available assembled, tested, and warranteed for one year. Plug it in to your Altair or IMSAI and enjoy the same per- formance that has made the kit such a success guar- anteed zero wait states and current drain of 750 mA or less; on board regulation, easy address selection, and lots more . ft ECOnoROlfl" $179.95 ALTAIR 8800/IMSAI PLUG-IN COMPATIBLE. This is a 4K by 8 ER0M board... the ideal place for putting soft- ware , be it assembler , editor , or any custom set of routines. Additionally, this board may expand to 8K x 8 by simply adding more sockets and EROMs ; also available is a 2K x 8 version if you don't need a full 4K. LOW POWER: 8K board requires %A @ 5V. & 150 ma @ -12V. Buffered addresses for lightest loading , buffered outputs for maximum drive . Kit includes sockets, double- sided quality PC board, on board regulators, logic print, and instructions. Program it yourself, or have us do the programing. 8KX8 BOARD $269.95 2KX8 BOARD $135.00 8080 Soltranre Board $189.95 We took our EC0N0R0M board kit, but instead of including blank EROMs, these are programmed with assembler, editor, & monitor routines for the 8080. This is a valuable first step if you ' re try i ng to get away from mach i ne 1 anguage program! ng . There's not really enough room here to fully describe all the functions of the sof tware . . . but if you send us $2.95 (refund- able with order), we'll send you our software packet that in- cludes instructions listing, schematic, and assembly data. r from S^ proko!! ■ < iie*:mia^ , IMSAI 8080: $550 The "Heavy Duty" Computer. Altair compatible so you can use all of the inexpensive memory cards. For 22 slot Mother Board Add $45 IMSAI's new I/O board $185 * 2 parallel ports * 1 serial port * cassette interface * control port The prokoboard from BIM... $14 2/$25 The Prokoboard is the easiest way ever to get those far-out projects to work. Stick one on an Altair extender board for computer work or snap two or three (or 4 or 5) together for the work bench. 3= A perfect square 3/$35 The proko-box Just the thing for that home- less project. 4 x 7 x 2". Easy to drill, rugged ABS plastic. Comes with cover $2 60 ea. Resistors assorted values and watt- ages PC mount *1 $7 Thousand That's .007 ea.! We found these neat little aluminum boxes and couldn't resist. They have a nice wal- nut finish. Great digital clock case! 2 for S3™ NEW! The Proko Paper-Tape Reader.. .$42.00 Check or mouuy order only. Calif, resident 6% lax. All orders postpaid in the U.S. $10 Mir*. order. Prices subjeci to change without notice. the proko electronics shoppe 439 marsh st. san luis obispo, ca. 93401 ^ 805/544-5441 NEW! From Solid State Music 64 x 16 VIDEO BOARD (At last) Altair plug compatible display 32 x 16 or 64 x 16 switch selectable. Composite and parallel video ports, 8-91 L02A memory for graphics and text, upper and lower case, 2x3 grid for each location on graphics, with software. Kit $179.95 SOLID STATE MUSIC PRODUCTS 4Kx8 Static Memories MB-1 MK-8 board, 1 usee 2102 or eq. PC Board $22 , Kit $83 MB-2 Altair 8800 or IMSAI compatible Switched address and wait cycles. PC Board $25 Kit (1 usee) $112 I Kit (91L02A .5 usee) $132 I MB-4 Improved MB-2 designed for 8K "piggy-back" | without cutting traces. PC Board $30 i Kit 4K .5 usee $137 Kit 8K .5 usee $209 MB-3 1702A's Eroms, Altair 8800 & Imsai 8080 compat ibie Switched address & wait cycles. 2K may be ex panded to 4K. Kit less Proms $65 2K Kit $145 4K Kit $225 MB-6 8Kx8 Switched address and wait assignments. Memory protection is switchable for 256, 512, 1K, 2K, 4K j and 8K. 91L02A .5 usee rams, Altair 8800 & IMSAI i compatible. Kit $250 Assembled & tested $290 | I/O Boards T/0-2 1/0 for 8800, 2 ports, committed pads for 3 more, other pads for EROMS UART, etc. Kit $47.50 PC Board only $25 Mlsc Altair compatable mother board. Room for 15 connec- tors 11" x 11Vfe" {w/o connectors) $45 With 15 connectors $111.00 Altair extender board {w/o connectors) $9 With w/w connector $13.50 90 Day Guarantee on SSM Products Kits MB-2. MB-3 (2KOR4K),MB-4, MB-6, IO-2 and mother board with connectors may be combined for a discount of 10% in quantities of 10 or more. This supercedes the flier of 13 Sept. 1976. 1702A-EROM 1702A*2usec 'programming send hex list AY5-1013UART 2513 prime spec, upper or I lower case | 8080A prime CPU | 8212prime latch buffer | 8224 prime clock gen ■ 8228primesyscontroller $10.00 8.00 5.00 $6.95 11.00 25.00 4.00 5.00 8.90 MM1402A MM1404A MM5006A MM5013 MM5015A MM5016 MM5017 MM5025 MM5026 MM5027 MM5053 MM5054 MM5055 MM5056 MM5057 MM5058 MM5314 MM5316 MM5320 MM5554 MM5555 MM5556 1.90 1.90 1.50 2.50 1.50 1.50 1.90 2.50 2.50 2.80 1.50 1.90 1.90 2.80 2.80 3.50 4.00 4.50 5.95 1.90 2.50 2.50 250 1B 2503V 2504V 2505K 2507V 2509A 251 0A 251 1A 2517V 251 8B 251 9B 2521V 2522V 2525V 2527V 2528V 2529V 2532B 2533V 91L02APC 32 each 64 each $1.25 2.00 2.00 2.00 1.25 2.00 2.00 2.80 1.25 1.50 2.80 1.50 2.00 2.80 2.80 2.80 2.80 2.80 2.80 2.55 2.40 2.25 1101 1103 2101 2102-1 2111-1 2112 2602 4002-1 4002-2 MM 5260 MM5261 MM 5262 7489 74200 74L200 74C89 74L89 8223 F4702 1.25 1.25 4.50 1.65 4.50 4.50 1.60 7.50 7.50 1.00 1.00 1.00 2.00 3.95 4.95 3.50 3.50 2.50 17.00 (baud rate gen) 2.4576 MHZ Crystal 8.95 74LS00 74LS01 74LS02 74LS03 74LS04 74LS05 74LS10 74LS11 74LS12 74LS20 74LS22 74LS27 74LS30 74LS51 74LS55 74LS73 74LS74 74LS76 74LS151 74LS174 74LS175 74LS192 .40 .50 .40 .40 .45 .45 .40 .50 .55 .40 .45 .45 .40 .40 .40 .65 .65 .65 1.55 2.20 2.40 2.85 74L00 74L01 74L02 74L03 74L04 74L05 74L06 74L08 74L09 74L10 74L20 74L26 74L30 74L32 74L42 74L51 74L54 74L55 74L71 74L73 74L74 74L75 .25 .25 .25 .25 .30 .40 .30 .40 .40 .30 .35 .40 .40 .45 1.50 .35 .45 .35 .30 .55 .55 1.20 74L78 74L85 74L86 74L89 74L90 74L91 74L93 74L95 74L98 74L123 74L154 74L164 74L165 74L192 74L193 MC4044 N8264 N8263 N8826 DM8131 82S07 82S23 .90 1.40 .75 3.50 1.50 1.50 1.70 1.70 2.80 1.50 2.00 2.50 2.50 1.25 1.20 2.25 3.50 3.50 2.50 2.50 3.50 3.50 MIKOS 419 Portofino Dr. San Carlos, Ca. 94070 Please send for xistor, IC & kit lis For large orders please send money order or cash- iers check to avoid delays in waiting for checks to clear. Check or money order only. Calif, resident 6% tax. All orders postpaid in U.S. All devices tested prior to sale. Money back 30 day guarantee. Sorry we can not accept returned IC's that have been soldered to. $10 min. order. Prices subject to change without notice. Thinly disguised affiliates of KO Electronics and Surplus, S.L.O., CA 93401 TOUCH TONE GENERATOR BY MOSTEK. MK5086N produces the dual-tone multi-frequency telephone dialing signals as used in TT phones ond auto patches. Uses inexpensive crystal, 1 resistor and 1 capacitor. Both tones are internally mixed and buffered to a single output - simple ! Two additional output switches can control timers, transmitter, mute re- ceiver, enable audio amp, etc. Uses our Chomerics keyboard. Comes In 16 pin plastic DIP. MK5086N $8.95. ..Crystal for MK5086N SI .90 Specs for MK5086N 80c. Kit of parts including etched and drilled P.C. board and one of our Chomerics keyboards 519.95 MC14412 UNIVERSAL MODEM CHIP MC14412 contains a complete FSK modulator and de-mod- ulator compatible with foreign and USA communications. (0-600 BPS) FEATURES: .On chip crystal oscillator .Echo suppressor disable tone generator .Originate and answer modes .Simplex, half-duplex, and full duplex operation .On chip sine wave .Modem self test mode .Selectable data rates: 0-200 0-300 0-600 .Single supply VDD=4.75 to 15VDC - FL suffix VDD=4„75 to 6 VDC - VL suffix TYPICAL APPLICATIONS: .Stond alone - low speed modems .Built - in low speed modems .Remote terminals, accoustic couplers MC14412FL.... , $28.99 MC14-412VL $21 .74 6 pages of data ,60 Crystal for the above 54.95 MCI 4411 BIT RATE GENERATOR. Single chip far generating selectable frequencies for equip- ment in data communications such as TTY, printers, CRT s or microprocessors. Generates 14 different standard bit rates which are multiplied under external control to IX, 8X, 16X or 64X initial value. Operates from single +5 volt supply. MC14411 ., $11.98 4 pages of data 40 Crysta I for the above S4 . 95 REMOTE CONTROL TRANSMITTER. MC1442/P is a 22 channel ultra-sonic remote control transmitter I.C. CMOS B uses little power and only a few external passive compon- I ents. Applications include TV receivers, security controls, | toys, industrial controls and locks. 16 pin DIP plastic pkg. MC14422P with specs $11.10 PRECISION REFERENCE AMP LH0070-1H provides a precise 10.0 volts for use in BCD A to D converters or meter calibrators. Typical initial accuracy is .3% (t .03V) . Comes in TO-5 can. LH0070-1 H with specs $5.35 4 DIGIT COUNTER. MM74C926 is a 4 digit counter with 7 segment output. Carry output for cascading and 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 $12.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. MCI 4553BCP $8 . 72 Spec sheets $.60 TELETYPE CODE CONVERSION CHIP MM5220BL converts 5 level Baudot into 8 level ASCII. Use this chip to 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 dri Med I MTB K-60H2 $5.88 adPQffflCH Says HIGH POWER TRIAC. S''jd mount triac made by ECC. 200V, 25A. Part * G2025D is perfect for lighting, motor control, heater control, solid state relays, etc. Q2025D $2.50 MINIATURE SCR. MCR106-4 is a 200V, 4A SCR in the tiny flat power pack. Only .27" wide X .13" thick <77- 02 case). Buy this one at OEM quantity prices!!!! MCR1 06-4 75c, 1 0/S6 . 00 PROJECT OFF TO A SHAKY START? GET OFF ON THE RIGHT FOOT HEAD FOR THE PROS AT TRI-TEK HORIZONTAL OUTPUT TRANSISTOR. G.E. D56W1 is a silicon NPN high voltage power transistor designed for color and black/white TV horizontal deflection circuits. ICEV @ 1400V = .5mA!! VCE (SUS) = 600V minimum. TO-3 POWER PACKAGE D56W1 Save on this one!! $2.55 Specs for above 40 INCANDESCENT LIGHT DELAY. Small module designed to fit directly behind your wall switch-plate. Turn switch off and "L1TE-OFF" keeps light at half power for 15 seconds before turning off, allowing you to get from where you ore to where you ain't with out breaking a leg. Up to 5O0WI! LITE-OFF Model 100 w/instructions $2.15 MIDGET PUSH BUTTON SWITCH (CHEAP) Flat shaped plastic body push button DPST-NO momentary switch. 1/4" bushing mount. Body only l/4"Xl/2" X 3/4" long. CPB-0201 P 3/$l .00, 10/S3.00 SOLID STATE RELAY. Teledyne P/N 601-1010QQ is a heavy duty solid state relay module operating up to 10A at up to 250VDC . All brand new modules!! Still in original factory package. 1010QQ $6.88 MM55106 PLL FREQUENCY SYNTHESISER 18 pin DIP package IC contains phase locked loop circuits useful for frequency synthesiser application, especially those in or near the CB band. Single supply operation; CMOS technology, binary channel select; programmable divider. MM55106N $9.00. Specs 40? MOTOR SPEED CONTROL SYSTEM. uA7391 monolithic I.C. provides all functional blocks required for precision closed loop motor speed control. Use for 1% control accuracy on tape decks, industrial controls, etc $4.95 Specs .60 8 AMP DARLINGTON MJ1000 is a silicon NPN darlington in TO-3 case including a damping diode across emitter and collector. VCEO=60V, IC max - 8 AMP MJ1000 99c, Specs for MJ1000 20c i DECADE COUNTER MC14534BCP is a 5 decade real time counter with multiplexed BCD outputs. Can be cascaded for longer counts. Typically 5MHZ operation at 15 Volts. CMOS structure for low power consumption. MC14534BCP $1 1 .25 DATA BOOKS BY NATIONAL SEMICONDUCTOR DIGITAL . Covers TTL, DTL, Tri-State, etc $3.95 LINEAR. Covers amplifiers, pre-amps, op-amps, .. $3.95 LINEAR APPLICATIONS. Dozens of application notes and technical briefs covering the use of op-amps, regulators, phase locked loops and audio amps Vol 1 $3.25 CMOS Gates, Flip Flops, registers, functional blocks $3 V OLTAGE REGULATORS. A must for anyone making a power supply. Complete theory including transformers, filters, heat sinks, regulators, etc $3.00 MEMORY. Information on MOS and Bipolar memories': RAMS, ROMS, PROMS and decoders/encoders $3.95 INTERFACE. Covers peripheral drivers, level translators, line driver/receivers, memory and clock drivers, sense amps display driver and opto-couplers $3.95 (Outside U.S., add postage for 1 .5!bs) SPECIAL FUNCTIONS DATA BOOK contains detailed information for specifying and applying special amplifiers, buffers, clock drivers, analog switches and D/A-A/D converter products $3 . 25 AUDIO HANDBOOK contains detailed discussions, including complete design particulars, covering many areas of audio with real world design examples. .. $3.25 10 AMP VOLTAGE REGULATOR MPC1000 is a 10 Amp positive voltage regulator adjustable from 2 to 35 VDC. 0.1% line and load regulation with 0.005% per C temperature stability. Can be fold-back limited. Here is high current, high power with minimum bother. MPC-1000 $16.85 Specs for above 60$ NEW NATIONAL BOOK LINEAR APPLICATIONS VOL II Takes up where Vol I left you — All the latest linear devices. Along with Vol I you have a great source of application data on the most widely used devices as well as new types just appearing $3.25 INTRODUCTION TO MICRO COMPUTERS New book from OSBORNE. The first edition of this classic was a huge success. Now, due to the growth of information on the subject Osborne has expanded the work into 2 volumes. Vol I covers basic concepts, Vol II discusses real world micro computers. IMC-002 Vol I , $8.00 IMC-0O2 Vol II $8.00 'NOTHER NEW BOOK FROM OSBORNE. "8080 PROGRAMMING FOR LOGIC DESIGN" explains how an' assembly language program within a microcomputer system can replace combinatorial logic for logic de- signers, programmers or anyone who is interested in real and powerful applications of the ubiquitous 8080. PLD-4001 $8.00 tm-tek, inc. 6522 nopth 43RO Avenue, QLenOale, arizotia 85301 phone 602 - 931-6949 We pay shipping on all orders over $10 US, $15 foreign in US funds. Orders under $10, please add $1 handling. Please add insurance. Master Charge and Bank America cards welcome, ($20 minimum) Telephone orders may be placed 11AM to 5PM daily, Mon thru Fri. Call 602-93] -4528. Check reader service card or send stamp for our latest flyers packed with new and surplus electronic components. SOLID STATE SALES PO BOX 74B SOMERVILLE, MASS. 02143 WE ARE LEADING THE WAY IN CUS- TOMER SERVICE AND DELIVERY TIME FOR THE COST CONSCIOUS SEMI-CONDUCTOR USER, LARGE OR SMALL. DIODES TRANSISTORS TRIACS INTEGRATED CIRCUITS 2522 STATIC SHIFT REG $2.75 INTEL 8080 CPU S24.50 2518 -HEX 32 BIT SR S5.00 2102-1 1024 BT RAM S1.80 52304K DYNAMIC RAM $10.50 5202A UV PROM $10.50 MM5203 UV PROM S10.50 1702A UV PROM $10.75 5204-4K P ROM ■ ; $18.95 MINIATURE MULTITURN TRIM POTS 100. 500. 2K, 10K. TOOK, 200K S. 75e,.ch 3/S2.0O Multi-turn trim POissimiiai to Bourns 3010 style 3/16"x5/8"x1 -1/4"; 50, 100, 1K, 10K, 50K ohms $1.50e;i 3/S4.0Q LIGHT ACTIVATED SCR's TO-18. 200V 1A S 1.75 TRANSISTOR SPECIALS 2N3585 NPN Si TO-66 $ .95 2N3772 NPN Si TO-3 $ 1 .60 2N4908 PNP Si TO-3 $1.00 2N6056 NPN Si TO-3 Darlington . S 1.70 2N5086PNPSi TO-92 4/S 1.00 2N4898 PNP TO-66 S .60 2N404 PNPGtE TO-5 5/$ 1 .00 2N3919 NPN Si TO-3 RF $1.50 MPSA 13 NPN Si TO-92 3/S 1.00 2N3767 NPN Si TO-66 S .70 2N2222 NPN Si TO-18 5/S 1 .00 2N3055 NPN Si TO-3 $ .80 2N3904 NPN Si TO-92 5/S 1 .00 2N3906 PNP Si TO-92 5/S 1 .00 2N5296 NPN Si TO-220 $ .50 2N6109 PNP Si TO-220 $ .55 2N3638 PNP Si TO-5 5/S 1 .00 2N65I I NPN TO-92 Si 3/$ 1 .00 C/MOS (DIODE CLAMPED) 74C02- .22 4015- .95 4035-1.10 74C10- .22 4016- .40 4042- .78 4001 .22 4017-1.05 4047-2.00 4002- .22 4018-1.00 4049- ,40 4006-1.20 4019- .22 4050- .40 4007- .22 4022- .95 4066- .80 4009- .42 4027- .40 4071- .22 4010- .42 4028- .88 4076- .70 4011- .22 4029-1.10 4081- .22 4012- .22 4030- .22 4520-1.15 4013- .40 LED READOUTS FND 500-.5" C.C $1.75 HP7740-.3" C.C $1.40 MAN-7-.3" C.A SI .25 NS 33-3 (hi). arr;iy SI .35 DL 747 S2.50 Sum) 25ii loi our catalog featuring Transistors ant! Rectifiers 145 Hampshire St., Cambridge, Mass. PRINTED CIRCUIT BOARD TANTULUM CAPACITORS Terms: FOB Cambridge, Mass. Send Check or Money Order. Include Postage, Minimum 17 i [-.! i , i I: I J [' 7 WATT LD 65 LASER DIODE IR SR95 BOARD 1/16" tlin 3.50 ea 5/S2.20 VECTOR BOARD J" SPACING -5.5" X 6" SHEET $1.25 2N 3820 P FET $ .45 2N 5457 N FET $ .45 TIS43 UJT S .35 ER900 TRIGGER DIODES 4/S!. 00 2N6028 PROG. UJT S ,65 VERIPAX PC BOARD This board is a 1/16" single sided paper epoxy hoard, A%"y6W DRILLED and ETCHED which will hold up in 21 Single 14 pin IC's or 8, 16, of LSI DIP IC's with busses (01 power supply connector $4.00 MV569I YELLOW-GREEN BIPOLAR LED $1.25 FP 100 PHOTO TRANS $ .50 RED, YELLOW, GREEN OR AMBER LARGE LED's . . . ea. $ .20 14 PIN DIP SOCKETS $ .25 16 PIN DIP SOCKETS S .28 MOLEX PINS 100/ SI. 00 10007 $7.50 8 PIN MINI DIP SOCKETS $ .25 10 WATT ZENERS 3.9,4.7, 5.6.8.2. 12. 15, 18, 22, 100. 150 or 200V . . . aa $ 60 1 WATT ZENERS 4 7, 5.6, 10, 12. 15, 18 OR 22V ea, S .25 Full Wave Bridges SILICON SOLAR CELLS 2%" diameter .4V at 500 ma $5.00 ea., 6/S27.50 REGULATED MODULAR POWER SUPPLIES I - 15 VDC AT lOOma 115VAC INPUT S2/.95 5VDC AT 1 A. 115V AC INPUT . . . $24.95 12 VDC AT .5 AMP $24.95 IN 4148 II N91 4 1 . 15/31 .00" .27UF 35v 5/31.00 .47UF 35V 5/31.00 .68UF35V5/S1.00 1UF35V 5/S1.00 2.2UF 20V 5/S1.Q0 3.3UF 35V 4 .'SI. 00 4.7UF 35V 4/S1.00 6.8UF 35V3/S1.00 22UF 35V $ .40 33UF 35V $ .40 30UF GV 5/S1.00 100UF 35V S .50 150UF 15V S .50 M/001 ALARM CLOCK CHIP. S6.00 NATIONAL MOS DEVICES MM1402 - 1.7S MM1403 1.75 MM1404- 1.75 MM5013 2.50 MM5016-2.50 MM5017- 2.70 MM5055-2.25 MM5056- 2.25 MM6057- 2.25| MM5058- 2.75 MM5060- 2.75 MM5061 - 2.50 MM5555- 4.75 MM5556- 4.75 MM5210- 1.95 MM5260- 1.75 #30 WIRE WRAP WIRE SINGLE STRAND 100 FT. $1.40 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 300 .11 .30 .70 1.80 8.50 800 .15 .35 .90 2.30 10.50 1000 .20 .45 1.10 2.75 1 2.50 7400- 7401- 7402 7403- 7404- 7405- 7406 - 7407- 7408- 7409- 7410- 7411 - 7412- 7413- 7414- 7416 - 7417- 7420- 7425- 7426- 7427- 7430- 7432 - 7437- 7438- 7440- 7441- .85 TTLIC 7442- 7445- 7446- 7447- 7448- 7450- 7472- 7473- 7474- 7475- 7476- 7480- 7483- 7485- 7486- 7489- 7490- 7491- 7492- 7493- 7494- 7495 7496- 74107- 74121- 74123- SERIES .52 74125- .70 74126- .70 74151- 74 1 54 - 74155- 74157- 74161- 74164- 74165- 74173- 74174- 74175- 74177- 74180 74181- 74190- 74191- 74192- 74193- 74194- 74195- 74196- 75324- 75491- 75492- 1.05 1.40 .95 .92 .79 .70 2.10 1.20 1.20 MINIATURE DIP SWITCHES CTS-206-4 Four SPST switches In ono rninidip puckaije. . . $1.75 CTS-206-8 Hghl SPST switches in a 16 pm DIP package S2.85 AY --1013-A30K sur/par.. par./ser., uni- irsal UART S6.95 ALCU MINIATURE TOGGLE SWITCHES MTA 106SPDT $1.20 SOLID STATE SALES P.O. BOX 74B SOMERVILLE, MASS. 02143 TEL. (617) 547-4005 200 .95 1.25 2.00 400 1.15 600 1,35 1.50 1.75 3.00 4.00 SANKEN AUDIO POWER AMPS Si 1010 G 10 WATTS S 7.50 Si 1050 G 50 WATTS. . . $27.95 CCD 110 LINEAR 256 XI BIT SELF SCANNING CHARGED COUPLED DEVICE $99.00 CCD 201 100 x 100 CHARGE COUPLED DEVICE $135.00 LINEAR CIRCUITS . LM307 Op- Amp S .30 LM309K5V 1A REGULATOR .. S .95 723 - 40 + 40VV RFGULATOR . . S ,50 301 '748-Hi Per Op. Amp $ .31 320T 5.12.15, in 24V NEG REG . . S1-25 709C Op. Amu 3 .31 741 A oi 741COPAMP $ .31 710 COMPARATOR S .35 CA 3047 Hi Pel. Op. Amp $ .95 340T5, 6, 8, 12, 15, 18,24V POS REG. TO-220 $1.10 101 OPER. AMP. HI PERFORM, . , S 75 LM 308 Oper. Amp., Low Power , . S .95 747 - DUAL 741 556 - DUAL TIMER 537 - PRECISION OP. AMP. . . . LM 3900 - QUAD OP. AMP . . . LM324 -QUAD 741 560 - PHASE LOCK LOOP . . . 561 - PHASE LOCK LOOP . . . 565 - PHASE LOCK LOOP . . . 566 FUNCTION GEN 567 - TONE DECODER LM 131 ON FM STEREO DEMOD. . S2 75 S038 IC VOLTAGE CONT. OSC. . $3.90 LM 370 - AGC SQUELCH AMP. . $1 15 555 - 2*js - 2 HR. TIMER S .45 553 OUAD TIMER S2.50 FCD810 0PTO-ISOLATOR .... $ .80 1458 DUAL OP AMP S .60 LM 380 •- 2W AUDIO AMP S .95 LM 377 - 2W Stereo Audio Amp. . S2.50 LM 381 - STEREO PREAMP. ... $1.50 LM 382 - DUAL AUDIO PREAMP SI. 50 LM 311 - HI PER. COMPARATOR $ .90 LM 319 - Dual Hi Speed Comp. . . $1.25 LM 339 - QUAD COMPARATOR SI. 50 $1.00 Si 70 S .49 S1 .50 . S2.00 $2.00 $1.25 SI. 65 WE SHIP OVER 95% OF OUR ORDERS THE DAY WE RECEIVE THEM 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 4'A, 6, Th, or 9 volts DC at 100 MA. Output cord with plug, 6 ft long. No. SP-143C $4.50 3/$ 12 REGULATED LOGIC SUPPLY New from Data Control, 115 volt AC input, output of 20 volts DC 5 amps positive and 20 volts DC 15 amps nega- tive. (2 voltages) Highly regulated and filtered with "pot" adjust 10% higher or lower. Fully enclosed in steelcase. Shipping wgt. 75 lbs. $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 r Mfirae 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. $12.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 307 324 339A 741 5 .60 .52 1.80 1.60 .50 747 748 1458 3401 555 timer .82 .50 .96 .80 .60 MM5314 MM5316 7001 $3.00 3.00 8.00 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 3S» vi. \ - LMJ ■ COMPUTER GRADE LOGIC SUPPLY CAPS, BRAND NEW 3 Power supplies, transistorized & regulated. Made by TRANSISTOR DEVICES 1 5 volts DC 5 amps . $25.00 30 volts DC 2 amps 25.00 1 5 volts DC 4.5 amps 25.00 sTle&nMa. 47,000 Uf 25V $2.00 ST 1,000 50 .90 AL 32,000 25 1.75 ST 3,300 35 1.25 AL 160,000 10 2.00 ST 1,600 20 .60 AL 66,000 10 2.00 ST 8,000 16 1.25 AL 1,000 60 .90 AL 500 6 .35 AL 2,000 55 1.00 AL "ST" screwtop . . . . "AL" axial Please add shipping cost on above. PHONE 617-595-2275 FREE CATALOG SP-8 NOW READY MESHIMA P0 Bx 62 E. Lynn Mass. 01904 r*m 74oon m Tw SN7400N .16 SN7459A 25 SN7400N SN7401N SN7402N SN7403N SN7404N SN7405N SN7406N SN7407N SN7408N SN7409N SN7410N SN741 IN SN7412N SN7413N SN7414N SN7416N SN74I7N SN7420N SN742IN SH7422N SN7423N SN7425N SN7426N SN7427N SK7429N SN7430N SN7432N SN7437H SN7438N SN7439N 5N744QN SN7441N SN74-12N SN7443N SH7444N SN7445N SN74-16N SN7447N SN7448N SN74S0N SN7451N SN7453N SN74S4N SN7459A SN7460N .22 SN74154N 21 PN7470N .45 SN74155N .16 SN7472N .39 SN74156N .1$ SN7473N .37 SN741S7N 24 SN7474N 32 SN7416GN 20 SW7475N .50 SN74I61N .29 SN7476N' .32 5N74163N .25 SN7479N 5 00 SN74164N .25 SN7480N .50 SN741B5N .IS SN74B2N .98 SN74166N .30 SN7483N .70 SN74167N .33 SN7485N .69 SN74170N .45 SN7486N .39 SN74172N .70 SN7488N 3.50 SN74173N 35 SN74B9N 2.49 SN74174N 35 SN7490N 45 SN74175N .21 SN7491N .75 SN74176N 33 SN7492N .49 SN74177N .49 SN7493N .49 SN74180N .37 SN7494N .79 SN74181N 29 SN7495N .79 SN74182N 29 SN7496N .89 SN74184N .37 SN7497N 4.00 SN74I85N 42 SN74100N 1.00 SN741B6N 26 SN74107N .39 SN74187N 31 SN74121N' .39 SN74I88N .27 SN74122N .39 SN74190N 27 SN74123N .50 SN74191N .25 SN74125N .60 SN74192N 15 SN74126N .60 SN74193N .B9 SN74132N 1.09 SN74194N .59 SN74136N .95 SN74195N 75 SN74141N 1.15 SN74196N -75 SN74142N 4. DO SN74197N .75 5N74143N 4.50 SN74198N 81 SN74144N 4.50 SN74199N 59 SN74145N 1.15 SN74200N ■ 79 SN74147N 2.35 SN74279N -26 SN74148N 2,00 SN 74251 N .27 SN74150N 1.00 SN74264N .27 SN74151N .79 SN74285N ,20 SN74153N .89 SN74367N MANY OTHERS AVAILABLE ON REQUEST 20% Discount tor 100 Combined 7400's CD4000 CD4Q01 CD40O2 CD40O6 CTM007 CO40O9 CD4010 co-ion CD4Q12 CO4013 CO4016 C04017 CD4019 CD4020 CD4022 CD4023 CO4024 CD4025 CO4027 CD4028 CD4029 CO4030 25 CMOS 290 65 CD4035 CD404O CD4042 C04044 CD4046 CD4047 CD4049 CD4050 CD4051 CD4053 CO4O60 CD4066 CDJ069 CD4071 CD40B1 CD4511 CD4518 C04566 74COON 74C02N 74C04N 74C10N 74C20N 74C30N 74C42N 74C73N 74C74 74C90N 74C95N 74C107N 74C151 74 CI 54 74C157 74C160 74C161 74C163 74C1&4 74C173 74C193 74C195 MC4044 MC14D1E I.M30QH 80 LM301H 35 LM301CN 35 LM302H 75 LM304H 1 00 LM305H 95 LM3Q7CN .35 LM308H 1 00 LM308CN t.00 LM309H t 10 LM309K 99 LM310CN 1.15 IM31IH .90 LM31IN 90 LM318CN 1.50 LM319N 1.30 LM320K-5 1 35 LM320K-5.2 1.35 LM320K-12 1 35 LM320K-15 1.35 LM320T-5 1.75 LM320T-S.2 175 LM320T-8 1.75 LM320T-12 1 75 LM320T-15 1.75 LM320T-1B 1.75 LM320T-24 LM323K-5 LM324N LM339N LM340K-5 LM340K-6 LM340K-8 LM340K-12 LM340K-15 LM340K-I8 LM340K-24 LM340T-5 LM340T-6 LM340T-8 LM340T-12 LM340T-15 IM340M8 LM340T-24 LM350N LM3S1CN 9.95 LINEAR LM370N 1.1.5 LM373N 3.25 LM377N 4.00 LM38QN 1.39 lM.iMO 1,05 LM381N 1.79 LM382N 1 79 NE501K 8.00 NE510A 6.00 NE531H 3.00 NE536T 6.00 NE540L 6.00 NE550N .79 NE555V Jfl NE5G08 5.00 NE561B 5.00 NE562B 5.00 NE565H 1.25 NE565N 1.75 NE566CN 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 LM739N 1.00 LM741CH .35 LM741CN .35 LM74114N .39 LM747H .79 LM747N .79 LM74BH .39 LM74BN .39 LM1303N .90 LM1304N 1.19 LM1305N 1.40 LM1307N .85 LM1310N 2.9 LM1351N 1.6 LM1414N 1.7 LM145BC .6 LM1496N 9 LM1556V 18 LM2111N 1.9 LM2901N 2.9 LM3065N .6 LM3900N 5 LM3905N .6 LM3909 1.2 LM5556N 18 MC5558V 1.0 LM7525N .9 LM7535N 12 8038B 4.9 LM75450 .4 7545 ICN 3 75452CN .3 75453CN 3 75454CN .3 75491CN 7 75492CN .8 75494CN .8 HCA LINEAR CA3013 21 CA3032 2.5 CA3035 2.4 CA3039 1 3 CA3046 1.3 CA3059 3.2 CA3060 3 2 CA3080 S CA3081 2.C CA30B2 2.0 CA30B3 1.6 CA30B6 8 CA30B9 37 CA3091 102 CA3123 2 1 CA3130 1 3 CA3140 1 2 CA3600 17 RC4194 M RC4195 3.2 741.S0O 74LS02 74LS03 74LS04 74LS05 74LS08 74LS10 74LS13 MISM 74L520 74LS26 74LS27 74LS2B 74LS30 74LS32 74LS40 74LS51 74LS55 74LS73 S74LS00 TTL 74LS74 74LS75 74LS76 74LSB3 74LS85 74LS86 74LS90 74LS92 74LS93 74LS95 74LS96 74LS107 74LS109 7JLS112 74 LSI 32 74 LSI 36 74LS138 .65 74LS139 74LS151 74LS153 74LS157 74LS1G2 74 LSI 63 74LS164 74LS175 74LS1B1 74LS190 74LS191 74LS192 74 LSI 93 74LS194 74LS195 74LS257 74LS260 74LS279 74LS670 MM5309 MM5311 MM5312 UM5314 MM6316 MU531B CT7O01 CLOCK CHIPS 6 Oign. BCD Outpuis. fieset PIN 6 Digit, BCD Outputs. 12 ot 24 Horn 4 Digil. BCD Oulpuis, 1 PPS Oulpul 6Drgil, 12 or 24 Hour. 50 or 60 Hi A Digit, Alarm, 1 PPS Oulput Video Clock Chip. For Use Wild MM5B41 6 Digit. Calendar. Alarm. 12 or 24 Hour 5 95 DATA HANDBOOKS 'ifvout & Description of 5400/7400 ICS S2.95 'in out & Description ol 4000 Sarin ICS $2.95 'in out & Functional Description $2.95 ALL THREE HANDBOOKS S6.95 fairchilo TECHNOLOGY KITS fairchild WCHNOUXA Complete Specifications on back ol each kit SH • Packaged for WALL DISPLAY APPEARANCE Dealer's Inquires Invited — Price List Available FAIRCHII.D FTK0001 FTKOOOa FTK0003 FTK6004 FTKD005 DIGITS 0.5" High Common Caitiode Dign 0.5" High Common Anoiln Digil 357" High Common Cathode Digil 0.B" High Common Cnlhocle DiqiI 0.8" High Common Anode Digit Q.B" HIGH DISPLAY ARRAYS 12 How 3Vj Digit Clock Display 24 Hour. 4 Digit Clock Display FTK0020 FTK0021 FTK0022 FTK0023 LEO LAMPS 10 Red LED Lamps 5 Mixed Colored LED Lamps 10 LED Mounting Clips 5 Three Piece LED Mounting Adapters rTK0030 FTK0031 FTK0032 F1K0033 PHOTO TRANSISTORS 5 Flat Lens Photo Transistors 5 Round Lens Photo Transistors 3 Flat Lens Photo Darlmgtons 3 Hound Lens Photo Dailingtons nu)o.in FTK0041 riKoo-i:. 1 PHOTO AflRAYS 9-Elerneni Tape Reader Array 12-Elnment Caul Render Array Reflective Oplo Coupler COUPLERS 3 General Purpose Opm Couplers Darlington Oplo Coupler FTK04Q0 FTK0401 RK0402 HK0403 nK0405 MOS CLOCK CIRCUITS Digital Clock. Calendar Circuit (FCM7001I Digil.il Clock 'Calendar with BCD Outputs IFCM7Q02) Direct Drive Digital Clock Circuit with AC Oulput (FCM3817A) Direct Drive Digital Clock Circuit with DC Output (FCM3817D) 1 Direct Drwi! Digital Clock Calendar Circuit (fCM7015l S DC 6.00 KITS FTK0105 AulomoDile Clock Kit XC209 XC20D XC200 XC22 XC22 XC22 XC22 SSL-22 DISCRETE LEDS Gtcen Yellow Orange XC526 Red XC526 Green XC526 Yellow XC526 Orange XC526 Clear XC556 Red XC556 Green XC5S6 Yellow XC556 Orange XC556 Cleat Yellow Orange .055" dl MV50 085" dia. I red LEO DISPLAY LEDS TYPE MAN 1 MAN 2 MAN 3 MAM 4 MAN 7 MAN TQ MAN 7Y MAN 52 MAN 64 MAN 72 MAN 74 MAN 62 MAN 84 POLARITY Common Anode 5 x 7 Dot Matin Common Cathode Common Calhode Common Anode Common Anode-green Com-uon Anode-yellow Common Anode-green Common Anode-red Co-ii non Anode Cornton Cathode Cot. i>on Anode-yellow ComT.on Cailiiiile vHin.v TYPE MAN 3620 MAS 3640 MAN 4710 DL701 DL704 DL707 DL 72B DL 747 DL 750 DL 33Q FND70 FND503 FND507 POLARITY Common Anode-orange Cum man Cathode -orange Common Anode -Red Common Anode-red - Common Calhode Common Anode Com mo it Cathode Common Anode Common Cathode Common Cathode Common Calhode Common Cathode Common Anode IC SOLOERTAIL — LOW PROFILE (TIN) SOCKETS » pin 8 pin 14 pin 16 inn 10 pm 16 pin 35 SOLDERTAIL STANDARO (TIN) SOLOERTAIL STANDARD (GOLD) WIRE WRAP SOCKETS (GOLD) LEUEL #3 $5.95 ea. WIRE WRAP WIRE 30AWG — 25 ft. min. -S2.10 50 ft - S2.75 100 It - S3. 50 1000 ft. - S24.00 SPECIFY COLOR -WhitR-Vdlow-RRfl- ton- 50 PCS ASST. 1 ASST. 2 ASST. 3 ASST. 4 ASST. 5 ASST. 6 ASST. 7 ASST. 8R RESISTOR ASSORTMENTS $1.75 PER ASST. 10 OHM 12 OHM 15 OHM 27 OHM 33 OHM 39 OHM 68 OHM 82 OHM 100 OHM 180 OHM 220 OHM 270 OHM 470 OHM 560 OHM 690 OHM 1 2K 1 5K 1 8K 18 OHM 22 OHM 47 OHM 56 OHM 120 OHM 150 OHM 330 OHM 390 OHM 820 OHM IK 2 2K 2 7K 330K 820K 2 2M 5 6M 1/4 WATT 5°= 50PCS. 1/4 WATT 5% 5DPCS. 1/4 WATT 5% 50 PCS. 1/4 WATT B% 50 PCS. 1/4 WATT 5% 50 PCS. 1/4 WATT 5% 50 PCS. t/4 WATT 5% 50PCS. Includes Resistor Assortments 1 -7 (350 PCS.) $10. 95 ea. $5.00 Minimum Order — U.S. Funds Only Calltomia Residents — Add 6% Sales Tai Spec Sheets ■ 25e — Send 24c Stamp (or 1977 Catalog Dealer Olscounl Available — Request Pricing 1021-A HOWARD AVE.. SAN CARLOS. CA. 94070 PHONE ORDERS WELCOME - (415) 592-8097 All Advertised Prices Good Thru January OTOT JMT 1 HI 10» *« l Pa ON ON NON. ON m 2.95 255 2 15 1 87 1.58 1 70 1.43 m 2.95 kii ON ». ON HI us 1SS .« 1M MINIATURE TOGGLE PUSH BUTTON PB-123 $1.75 V PB-126 $1.75 S THUMBWHEEL SWITCHES THUMBWHEEL SWIH s" (OSuioitWrrt-lWiw ' Siio ', Sfl 1? j Ore.mji 3 00 SF 7T ' tOPoHlionHCDonl, ' ?M -SB* I . 300 J'- SENIESSI (•D.tMpuoiluRif, mm mm 40 SH DP j b>» DIP SWITCH ItifiSP s*ilcriDS IfMliirf -.['vfln SI'S! slide switcMiS in .1 molded dip They are iOimHv sutjerj tot mrcrofitocessfl ""•'""' S1.95 CLIPLITE!! 4 $1.00 NEW LED MOUNTING SYSTEM | *k i CLIPLITE mourns from the front of the Panel in a .250 hole on 3/8" centers. Panel thickness from 1/16" to 1/8". • CLIPLITE equalizes and increases the brightness commonly used wide beam LEDS. • CLIPLITE is to be used with XC556 LEDS. • Specify colors— red, g reen , amber , or yellow wh ordering. TYPE 1N746 1M751A IN752 1N753 IN 754 INQ59 1N965Q 1N5232 1 N5234 1N5235 1115236 1N456 1N458 1N4B5A 1N4001 IN 1002 1N4O03 1N4Q04 ZENERS - VOLTS W 3.3 400mm 5 1 400m 5 6 400m 6.2 400m 6.8 400m B.2 .100m 15 400m 5 6 500m 6.2 500m B 8 500m 7 5 500m 25 40m 50 PIV I AMP 100 PIV 1 AMP 200 PIV 1 AMP 400 PIV 1 AMP DIODES - PRICE TYPE 41 00 1N4005 4 1 00 1N4006 4 1 00 1N4007 4'1 00 1N3600 4 1 00 1N4148 8/1 00 1N4154 4 100 1N4305 28 1N4734 28 1N4735 2B 1N4736 28 1N473B 00 1N4742 6 1 00 1N4744 6 100 1N1183 12 1 00 IN1184 12 100 1fJ1185 12100 1N1186 12 100 1N11B3 RECTIFIERS VOLTS W 600 PIV 1 AMP 800 PIV 1 AMP 1000 PIV 1 AMP 50 200m 6'1 35 15 10m 10m 1w 50 PIV 35 AMP 100 PIV 35 AMP ISO PIV 35 AMP 200 PIV 35 AMP 400 PIV 35 AMP SCR AND FW BRIDGE RECTIFIERS C360 C3BM 2N2328 MDA 980-1 MDA 980-3 1SA(§>400V 35A @ 200V 1 6A @ 200V TRANSISTORS 2N7221 mm :t;-:ii,ua FM!41S !NJ4i4 :'n;"j;)[n1 1HXS3 ?N3055 MJHOSS NUE29SI PIIJ39? iSt 03 3*1 00 4.'Sl 00 SSt oc 2N3705 ?N370B 3N3707 2N37tt PN3734 ?H37?5 7M3903 SH3901 ?N39DS 2N3906 ?N4013 2N4D14 2N4123 SSI DO 5 Si 0(1 iL 5-S1 00 T 5S1 00 r PfWJJ9 prj^bo 2H44R0 2M4401 MUM 2M4403 ?NM(R 2Mb086 2NM1B7 jusoae 2NMB9 2N5129 2HM39 2NS209 2N5M1 LM06EHSCR ■lit DO J 51 00 b Si 00 CAPACITOR 10 pl 22 pi 47 pi 100 pl 220 pl 470 pl 001ml 0022 0047ml 01 ml .15/35V 22,'35V 33/35V 47.35V 50 VOLT CERAMIC DISC CAPACITORS 10-49 50-100 001/.F 04 03 OMJjtf 04 03 OVF 05 04 03 022pf 05 04 03 047*25V I.OffiOV 4.7/16V 4.7/25V 4.7*50V 10/16V 10.25V 10/50V 47/50V 100.16V 100.25V 100,50V 220/ !6V 4 70 /25 V .13 ea CRYSTALS \m Pllit CV1A CV2A CV3A CY7A CY12A CV14A CV19A CY22A CV306 THESE FREQUENCIES ONLY Frequency 1 .000 MHz 2 000 MH2 4.000 MHz 5 000 MHz 10 000 MHz 14 31818 MHz 18 000 MHz 20.000 MHz 32 000 MHz Csse/SlylB HC33.'U HC33U HC1MJ HC18/U HC18U HC18U HCI81I HCIO'U HC18.U -PtTcT J5.95 S59S S4.95 SA95 S4 95 S4.95 S4 95 S4 95 54.95 XR-2260K8 Kil $27.95 XH 2?07CP 3 85 STEREO DECODERS XR l.ilOCP S320 XR ixjoep j 20 XR-1BOOP 3 2D XR-3567 2 99 EXAR MISCELLANEOUS XR-2206KA Kil S17.95 TIMERS 32 BIT He. 40 BIT 512 Dynamic 1024 Dynamic Dual 256 BIT Dual 512 BIT Quae 80 BiT 1024 Sialic File 16. 4 Reg UART'S 30K Bain: ROMS lfK'4 liil »fi:ir|r,]Mini;iliie 8080 SUPPORT DEVICES 8 BIT INPUT/OUTPUT PORT FOR 8080 S A 95 NON INTERRUPT BI-DIRECTIONAL BUS DRIVER 6 95 CLOCK GENERATOR AND DRIVER FOR 8080 12.95 SYSTEM CONTROLLER AND BUS DRIVER FOR 8080 12.95 RAMS $19 95 S 9 95 tO 95 HOI 1103 2101 2102 2107 3599 91L02 74200 93421 MM5262 1702A 5203 82S23 B2Sl2;t 74S2B7 3601 1024 Sialic Dynamic Static Sialic Dynamic Sialic MNOS Sialic Siahr Static Static Sialic Statrc Sialic Dynamic PROMS Fames Famos Open C Tnstatfl Slain: 8080 S24.95 9 95 6.95 29 95 256 Bit (32 x 8] Open Collector 256 Bit 132 « 8) Three Stale 1024 Bd 1256 > 4| Open Collector 1024 Bit (256 x 4) Three State 2048 Bit (512x4) Open Collector BIPOLAR PROM SPECIAL 2 95 6306-1 2 95 6340-1 3 49 6341-1 3 49 6352-1 9.95 6353-1 2048 Bit 1512 x 4) Three State 2048 Bil (512 x Bl Open Collector 2048 Bit (512* B) Three State 4096 Bit (102 x 4) Open Collector 4096 Bit (1024x4) Three Slate 19.95 19.95 19.95 19.95 Continental Specialties lb $19-95 SB. »**« ■ ■■•■■• ,7. .-.- BUDGET KIT , L ■ \ . %% , ,,„....„,., _^ or , ' .: .29.95 rrom ■yi.i.i ioi CnmpM i. 1 'i - m*m ' • 39.95 -,f mi i n %J ft ,.-^ sr.iviTE'i;,' .i0U 'i.n.ftii. Proto Board 6 S15.95 SPECIAL! LOGIC MONITOR Simultaneously disn j dynamic logic stale; : HTl or CMOS OIP ICs Pocket sue msm- OT Pro' QT-T3S or-i2s • DT-47B " QT 35S OT lypc OT-S9S OT-59B QT.47S QT-47B OT-35S OT-35B OT-1BS OT 1 2S OT-es ot-ts Grab Bag Specials CAPACITORS - 10(1 U Ceramic Disc CAPACITORS - 60 ea Mylar CAPACITORS - 60 ea Elecirolytics CAPACITORS ■- 40 ea Dipped Tantalum DELAY LINE - 10 ea DIODES — 100 ea Germanium DIODES — 100 ea Reel ilieis Silicon DIODES — 100 ea Silicon IC s — 100 ea UnmarkcJ or House * LEDS - 100 ea Assl S/es & Colors LAMPS NEON - 40 ea >JE2 lype POTENTIOMETERS- tO pes PC Mount Ass RESISTORS 100 ea Values & Wattages 4 OO'lOl 4.00/101 3 OO'lOl 2 00lol 7 00,'lot 2 OO.'lOt 4 OO.lo! 5 OOiloi 3 OO.'lol 4 00 lol 1 00 lol RESISTORS - 40 ea wire-wounrl 3-10 W^ 1-100 ohm RESISTORS — 40 ea wire wound 3-10W/100-25K SWITCHES - 12 ea Micro Switches SWITCHES — 25 Mmialuie Slide SWITCHES — 12 eacn Rocker SWITCHES - 20 ea Rccd-Coil f. Magnetics THERMISTORS — 20 ea TRIMMERS — 40 ea. Mimalurc TRANSISTORS — 100 ea Plastic X Power TUBING. SHRINK - 30 pes 6' Assl SiICS A Colors PRINTED CIRCUIT BOARDS — Mln. 50 ea. Various Components S2.00 each DIGITAL QUARTZ CAR CLOCK Complele 8 Digd Display i 5 FunclmnsconsstsDl addition suhlraciion.mui liplication. division percentage with const all lunclinns. wdh lull floating decfnat pain! i Power source is 1 piece 9V DC Battery uOGP lack 'o> AC adapter DIGITAL STOPWATCH . Briiiiu 6 D.gil LED Display • Times lo 59 minutes 59 59 seconds • Crystal Controlled lime Base • Thiee Stopwatches in One Times Single Event — Split 8 Tayio' • Swr4.5' x2 15 x 90 )4';ouncest • Uses 3 Penhte Cells Kit — S39.95 Assembled — S49.95 Heavy Duly Carry Case S5. 95 DIGITAL ALARM CLOCK This 4 digit Novus Alarm Clock is a very reliable and smartly styled unit It provides such features as an alarm sellable to any minute of the day, a 7 minutes snooze alarm, a power failure indicator, and even an A.M., P.M. indicator. Novus $19.95 NOT A KIT JE700 CLOCK the .if 700 is a low cnsi digital clock Put is a veiy luqh qu.tlilv unit Ihe unit lea lures a simulated walnut case with di mensinnsolB x2\- il II utilizes a MAN T.' Ingtl brightness re.idniil and (hi- MMS.ll! clock chip $17.95 KIT this large digit clock i 6 hours 8, minutes. ,3" seconds) lealures ihe MM5314 clock chip II operates Irom 117 VAC. and will operale in either a 12 or 2-1 hour mode The clock is eomplele with a walnui grain case, and has fast set. slow set. and hold lime set features ALL COMPONENTS & CASE S34.9S WIRED & ASSEMBLED $39.95 JE803 PROBE The Logic Piolie is a unit winch is tor me most part indespensihlp in trouble shooting Ingtc tamilies TTL DTL RTt CMOS It derives the lower .1 needs to Operate directly oil ol ttw circuit under est drawing a scant 10 mA ma* II uses i UAN3 cadoul lo indicate joy pi ihe loliowing slates Dv hase syintmls iHt 1 iLOWi mPUlSEi P Ihe Probe f^\ deled iugn Ireguency pulses to 45 MHz i I hf iimt! .it MOS li'uels or circuit damage - U $9.95 Per Kit printed circuit board PL 5V 1A Supply This is a siandard TTL power supply using trie well known LM309K regulator IC to provide a solid 1 AMPol curiam at 5 volts We try to make things easy tor you hy providing everything you reed in one package, including the I ■»""* $9.95 Per Kit 5 VOLT POWER SUPPLY $39.95 Completely Assembled • +5 Volts @ 6 Amps Regulated Output • 5 Volts @ 6 Amps Regulated Input • 6.3Volts @ 5 Amps Unregulated Output Length 8 S / B " x Width B& x Height 4" 3S'^. ( imitad Supply Asfc BYTE Some letters to BYTE are technical in nature and are best served by some form of response. We will try to answer as many such letters as possible. If you have a puzzle concerning some aspect of the personal computing field, write down a clear statement of your question and send it to: Ask BYTE Byte Publications Inc 70 Main St Peterborough NH 03458. We will publish names and addresses of individuals making Inquiries unless you specifically request us to omit the reference." Help! I Want Robots I am not sure where to start my plea. I hope I don't sound too negative when I say I'm not sure if you can help me. The unsureness is based on trying to get informa- tion on a growing (?) but frustrating interest of mine and that is robotics. Looking at the front cover of BYTE #12 has my hopes up a small amount. First of all I am not interested in in- dustrial robots of the assembly line variety, nor robots that are controlled by a human operator at a remote position. My interest instead lies on self-navigating self-contained robots [shades of Asimov!] that function with their own feedback devices with their "intelligence" on board. I realize the "state of the art" of this type of robot is not too sophisticated as of this time. However, until I started my own search for information on this area I did not realize how destitute of information the field was. The information pool at the amateur level is dry. [It should be — no nonamateur has yet built one either. [ It took me two to three months of intensive searching to even begin to dig up a few stray pieces of information. One thing I turned up was and still is above my head (although I'm working on it) and that is a pair of books by John F Young, one called Robotics and another called Cybernetic Engineering. To further add to my frustrations I see advertisements such as found in your maga- zine that allude to the use of products in robotics. For example the Cromemco adver- tisement in BYTE #1 1 . That ad shows a D-A converter with box diagram inputs and outputs with one of the outputs labelled "robots." Did they throw this in for the fun of it or are they honestly aware of actual robotic applications along these lines? The article in BYTE #12,"Friends, Humans and Countryrobots ..." once again implies the use of currently available products in robotics. Other magazines have implied simi- lar things in past issues. What I need to know is: 1 ) Are there any amateur clubs in existence in the field of robotics? 2) Do any companies exist that sell kits of possibly a rudimentary robot or even a plastic model usable for serious robotics? 3) Are there any plans in existence that would discuss the building of a robot on a "serious" level? 4) Are there any books on the amateur or hobby level on robotics? Or, as a last resort 5) is there in existence a nifty technical looking multicolor poster that I could hang on the wall and dream the impossible dream about? Dean Blondefield 24383 Park St Hayward CA 94544 Wow! Who knows where to begin, but here are some (not necessarily complete) answers to a few of your points, last in first out: 5) For posters, look up some science fiction maga- zines at your local newstand; several such magazines sell posters taken from covers. 4) Not that we know about. 3) Not any current plans using microcomputers and A I tech- niques, though wait a few years and there should be some. 2) No (let the company which does prove us wrong by protesting). J) Unknown to us. Maybe you should start one. Now that the explicit question stack is popped, some general comments: In order to build robots, you need digitally controlled feedback networks (programs plus periph- erals) to position the arms, legs, what have you, based upon sensor data. The Cromemco D-A card could indeed be used as a key element in that process. But there are two key problems in making robots: One is the mechanical one of making a responsive and reliable mechanical system for locomotion and manipulation of objects; this is not too insurmountable; the second one is what all the A I people have been spending years upon, the problem of building and de- bugging the software needed for pattern recognition, decision making and learning in automata, then deciding just what will be the general operations and coding to put into the robot's computer memory. The best tactic for you as a person interested in finding out about what is known is to concentrate upon the "artificial intelligence" branch of computer science, since the major problems are not mechanical but figuring out what to tell the mechanical parts of the robot to do. There is no trite and easy answer to the problem of designing the humanoid robot; the stage we're at now is very primitive technology compared to the robot technology of science fiction romances. ■ 140 DELTA ELECTRONICS POST OFFICE BOX 2, AMESBURY, MASSACHUSETTS 01913 Phone (617) 388-4705 60 SOCKET PROTOTYPE BOARD This prototype board, removed from equipment, cost the original user over $200 00 it contains a total of 60 14 and 16 pin gold plated wire wrap IC sockets Ideal for design work. The board is 5'/ 2 "x1 1 ", and has 2 standard sets of contacts for edge connectors. Contains many .01 caps for by-passing. You do have to remove the original wire wrap on the reverse side. Quantity strictly limited STOCK NO. B6434 $29.50 ea. 2/57.00 EQUIPMENT SAFTEY LOCK This almost completely burglar and tamper proof lock is ideal for your electronic equipment protection. The keys are fluted cylinders, that can only be duplicated by the manufacturer, when properly authorized. Fits any panel from 1/16" to 3/4". Mounting hole is 3/4". A Va-20 shank on the lock will hold any arm to activate a micro switch. STOCK NO.B5469 $3.00 per set (1 lock, 2 keys) 2 sets $5.00 DUAL THUMBWHEEL SWITCH This 2 wheel Thumb Wheel switch counts up to 29 as is. By removal of a small pin it will count up to 99. Each wheel operates a 2 pole ten position switch. Mounts in 4 holes. 1 9/1 6" apart. All switch leads are gold plated. STOCK NO. BS467 $3.50 ea. 2/6.00 4.000000MHZ PRECISION CLOCK or TIMING CRYSTAL 4.000000 Mhz Crystal. Ideal for computer timing circuits, or as a time base fordigital clocks and gating circuits. STOCK NO. B1001 CR-18A/U 4.000000 Mhz. Crystal 3.95 2/7.00 y '-^Lpw *■'"' nii.injgl 44 POLE REED SWITCH This unusual circuit board contains 44 single pole, normaly open G.E. reed relays. The relays are in 4 banks of 1 1 each. They are activated by the elongated coil, (to right of photo), which when 1 2 VDC is applied, closes the contacts on 1 1 of the reeds. Four coils are supplied, and 1 or any of them may be activated at one time. Thus it is possible to use any or all banks of reed at one time. We supply 1 44 reed board, 4 coils, and an edge connector in each set. STOCK NO. B5468 1set $12.50 2 sets $24.00 SPECTROL MINIATURE PC MOUNT ROTARY SWITCHES Miniature printed circuit board rotary switches are just about impossible to find on the surplus market. We have been fortunate in locating 3 different numbers, made by SPECTROL, and are still current distributor items. SPECTROL 87-22-25 is a 2 pole 5 position PC mount switch either thumbwheel or screw driver operated. SPECTROL 87-21-19 is a 1 pole 9 position thumb wheel or screw driver operated switch. SPECTROL 87-12-1 is a 1 pole 1 1 position screw driver operated miniature PC mount switch. All above switches are approx. Vt" diam. and V4" high. STOCK NO. B1 004 2 pole 5 Pos. $2.00 ea. 4/7.00. Stock No. B1 005 1 Pole 1 Pos. 1.75 2/3.00 STOCK NO. B1 006 1 Pole 9 positions $2.00 ea. 4/7.00 Limited Quantities on all switches B1005 FERRO-RESONANT POWER TRANSFORMERS These transformers are Ferro-Resonant, and price includes the regulating capacitor. Both made by TRIAD UTRAD STOCK NO.B6436 has 4 windings and an isolation winding. Winding 1 is 1 or 1 2 volts @ 4. A. Winding 2 20 or 22 volts I2A. winding 3 is 20 or 22 volts @ 2 A. Winding 4 is 9 or 1 1 volts @ 4 A. The isolation winding is about 1 00 VA. All windings mentioned above have a tap, and both possible voltages are shown for each winding. STOCK NO.B6436 1 0.95 ea. 2/20.00 (includes capacitor) STOCK NO.B6437 has 4 windings and an isolation winding. Winding 1 is 22 or 26 volts @2 A. Winding 2 is 17 or 21 volts @6 A. Winding 3 1 2.5 or 1 4 volts @ 6 A. and winding 4 is 32 or 35 volts 2.5 A. Isolation winding is about 1 00 VA. All windings have a tap, and both possible voltages are shown for eac.fr winding. STOCK NO.B6437 10.95 ea. 2/20.00 (includes capacitor). 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 $1 5. S.D. SALES CO. P.O. BOX 28810 -B DALLAS, TEXAS 75228 Z-80 CPU CARD KIT FOR IMSAI/ALTAIR $149: T From the same people who brought you the $89.95 4K RAM kit. We were not the first to introduce an IMSAI/ALTAIR compatible Z— 80 card, but we do feel that ours has the best design and quality at the lowest price. The advanced features of the Z— 80 such as an expanded set of 158 instructions, 8080A software compatibility, and operation from a single 5VDC supply, are all well known. What makes our card different Is the extra care we took In the hardware design. The CPU card will always stop on an Ml state. We also generate TRUE SYNC on card, to Insure that the rest of your system functions properly. Dynamic memory refresh and NMI are brought out for your use. Believe it or not, not all of our competitors have gone to the extra trouble of doing this. As always, this kit includes all parts, all sockets, and complete Instructions for ease of assem- bly. Because of our past experience with our 4K kit we suggest that you order early. All orders will be shipped on a strict first come basis. Dealers inquiries welcome on this Item. Kit shipped with 2 MHZ crystals for existing 500NS memory. Easily modified for faster RAM chips when the prices come down. Kit includes Zilog Manual and all parts. JUMBO LED CAR CLOCK $16.95 KIT You requested it! Our first DC operated clock kit. Professionally engineered from scratch to be a DC operated clock. Not a makeshift kluge as sold by others. Features: Bowmar 4 digit .5 inch LED array, Mostek 50252 super clock chip, on board precision time base, 12 or 24 hour real time format, perfect for cars, boats, vans, etc. Kit contains PC Board and all other parts needed (except case). 50,000 satisfied clock kit cus- tomers cannot be wrong! FOR ALARM OPTION ADD $1.50 FOR XFMR FOR AC OPERATION ADD $1.50 60 HZ CRYSTAL TIME BASE FOR DIGITAL CLOCKS S.D. SALES EXCLUSIVE! KIT FEATURES: A. 60HZ output with accuracy comparable to a digital watch. B. Directly interfaces with all MOS Clock Chips. . C. Super low power consumption. (1 .5 ma typ.) $5.95 Or D. Uses latest MOS 17 stage divider IC. 2/$10. E. Eliminates forever the problem of AC line glitches. F. Perfect for cars, boats, campers, or even for portable clocks at ham field days. G. Small Size, can be used in existing enclosures. KIT INCLUDES CRYSTAL, DIVIDER IC, PC BOARD PLUS ALL OTHER NECESSARY PARTS & SPECS 50HZ CRYSTAL TIME BASE KIT - $6.95 All the features of our 60HZ kit but has 50HZ output. For use with clock chips like the 50252 that require 50HZ to give 24 hour time format. CO THIS MONTH'S SPECIALS! 300.00 KHZ CRYSTAL - $1.50 8080A - CPU CHIP by AMD - $19.95 82S129 - 256 x 4 PROM - $2.50 N.S. 8865 OCTAL DARLINGTON DRIVERS 3 for $1 .00 Z-80 - CPU by Zl LOG - $69.95 MM5204 - 4K EPROM - $7.95 Prices in effect this month ONL Y! 4K LOW POWER RAM BOARD KIT THE WHOLE WORKS - $89.95 Imsai and Altair 8080 plug in compatible. Uses low power static 21 L02-1 500ns. RAM's, which are included. Fully buffer- ed, drastically reduced power consumption, on board regulated, all sockets and parts included. Premium quality plated thru PC Board. SIGNETICS ANALOG MANUAL - $5.95 Just out! From the acknowledged leader in linear technology. Theory, applications, and specs, on op amps, timers, phase locked loops, etc. 637 pages. A MUST For Any Technical Library! Z-80 Manual - $7.50 Separately. STICK IT! in your clock in your DVM, etc.! Huge Special Purchase Not Factory Seconds As sold by others! $3.95 4 JUMBO .50" DIGITS ON ONE STICK! (with colons and AM/PM Indicator) BUY 3 for $1 0. BOWMAR 4 DIGIT LED READOUT ARRAY The Bowmar Opto-Stick. The best readout bargain we have ever offered. Has four common cathode jumbo digits with all seg- ments and cathodes brought out. Increased versatility since any of the digits may be used independently to fit your applications. Perfect for any clock chip, especially direct drive units like 50380 or 7010. Also use in freq. counters, DVM's, etc. For 12 or 24 hour format. UP YOUR COMPUTER! 21L02-1 IK LOW POWER 500 NS STATIC RAM TIME IS OF THE ESSENCE! And so is power. Not only are our RAM'S faster than a speeding bullet but they are now very low power. We are pleased to offer prime new 21L02— 1 low power and super fast RAM's. Allows you to STRETCH your power supply farther and at the same time keep the wait light off. 8 for $12.95 HOUSE NO. TTL 7400-8/$1.00 7420-8/$1.00 74141 - 3/$1 .00 7404-8/$1.00 7437-5/$1.00 74153 - 3/$1. 00 7408 - 8/$1 .00 7438 - 5/$1 .00 Please specify that you are ordering House No. TTL WESTERN DIGITAL UART No. TR1602B. 40 pin DIP This is a very powerful and popular part. NEW-$6.95 with data LIMITED QUANTITY RESISTOR ASSORTMENT % W 5% and 10% PC leads. A good mix of values. 200/$2. FAIRCHILD BIG LED READOUTS A big .50 inch easy to read character. Now available In either common anode or common cathode. Take your pick. Super low current drain, only 5MA per segment typ- ical. FND510 Common Anode FND 503 Common Cathode PRICE SLASHED! 59c each TERMS: Money Back Guarantee. No COD. Texas Residents add 5% tax. Add 5% of order for postage and handling. Orders under $10. add 75c. Foreign orders: US Funds ONLY! SLIDE SWITCH ASSORTMENT Our best seller. Includes miniature and standard sizes, single and multi- position units. All new, first quality, name brand. Try one package and you'll reorder m °re. SPECIAL 12/$1. MOTOROLA POWER DARLINGTON Back in Stock! Like MJ3001. NPN 80V. 1 OA. HFE 6000 TYP. TO-3 case. We include a free 723C volt reg. with schematic for power supply. SPECIAL — $1.99 CALL YOUR BANK AMERICARD OR MASTER CHARGE ORDER IN ON OUR CONTINENTAL UNITED STATES TOLL FREE WATTS: 1-800-527-3460 Texas Residents Call Collect 214/271-0022 S.D. SALES CO. P.O. BOX 28810 B Dallas, Texas 75228 21L02-1 RAM 500 IM. S. 8 for $12.95 82S129- 256x4 PROM Bl - POLAR-FAST! $2-50 8080A CPU CHIP $19.95 By AMD ZILOG Z-80 CPU CHIP $69.95 MM5204 4K EPROM $7.95 S. D. SALES CO. N other PAGE P.O. BOX 28810- s EE t^s° n0 DALLAS, TEXAS 75228 Bill To get further information on the products advertised in BYTE, fill out the reader service card with your name and address. Then circle the appropriate numbers for the advertisers you select from this list. Add a 9 cent stamp to the card, then drop it in the mail. Not only do you gain information, but our advertisers are encouraged to use the marketplace provided by BYTE. This helps us bring you a bigger BYTE. Header Service 75 A&P131 168 Aldelco125 173 Anderson Jacobson 125 166 Arizona Micro Systems 127 142 Associated Electronics 123 4 BITS 88, 89, 90 149 Bits and Bytes 125 * BYTE'S Binders 117 126 Cheap I nc 129 127 Comptek125 207 Comptek 81 140 Computalker 81 175 Computer Applications 127 161 Computer Corner 129 * West Coast Computer Faire 105 176 Computer Mart of NH 127 83 Computer Mart of NY, LI 127 141 Computer Room 95 208 Computer Shack 71 179 Computer Shop (Canada) 128 1 38 Computer Warehouse 87 87 Creative Computing 98 41 Cromemco 1 178 Cybercom 14 97 Data Domain 63 125 DEC 15 171 Mullen 97 7 Delta 141 22 National Multiplex 53 78 Digital Group 29 129 Newman Computer Exchange 83 180 Digital Systems 128 155 North Star 65 170 ECD 17 40 OSI49 79 Economy Co 99 147 OK Tool 55 162 EEPS127 64 Oliver Audio Eng 127 47 Electronic Control Tech 129 63 Parasitic 103 9 Godbout 133 181 Peninsula Marketing 121 * HAL 77 # Per Com Data 16 55 Heath Co 97 105 Personal Computer Corp 125 11 lasis 20, 21 23 Polymorphic Systems 33 12 IMSAI 13 24 Processor Tech 5, 6, 7, 8, 9, 10 60 Interface Age 102 167 Quay 84, 85 15 James 138, 139 177 Resco 103 172 Jefftronics 129 26 Scelbi 31 163 Memory Merchants 125 # Scientific Research 99 18 Meshna 137 27 SD Sales 142, 143 182 MicroGRAPHICS 128 59 Solid State Sales 136 133 Micro Software Spec 129 29 Southwest Tech CI I 77 Micro-Term 91 30 Sphere CI 1 1 174 Microtex 81 99 STM 1 1 5 57 Mikos 134 164 Sunny Computer Stores 129 112 MiniTerm 27 96 Synchro-Sound 67 * MITSCIV 121 Tarbell 87 62 Morrow 132 82 Technical Design Labs 69 71 MPI 115 136 Technical Sys Cons 123 132 M&R Enterprises 73 32 TriTek 135 119 MSI 59 137 Vector Graphic 41 BCM6- BYTE's Ongoing Monitcp Bex * Reader service inquiries not solicited. Correspond directly with company. BOMB Results, October Issue and, Now, a The results of the BOMB tally for Octo- ber found a first place evaluation for R Scott Guthrie's part 2 of the "Mathematical Func- tion Unit" description, with second place going to Mike Wilber and Dave Fylstra's article "Homebrewery vs the Software Priesthood." Scott receives a bonus of $100 for his placement, and a check for $50 goes to Mike and Dave for their efforts. Starting this month, BOMB will achieve a greater level of convenience through the postcard form bound into the issue opposite this page (most people don't like to debauch their BYTEs by ripping up the BOMB page, so they send in photocopies). BYTE authors appreciate your feedback about their efforts. We recognize this by providing a monthly bonus of $100 and $50 to the two authors with the highest BOMB voting tallies, awards which are above and beyond the normal author's payment for articles. You can participate in the voting by rating each article on a scale of to 1 using this form. Each article is assigned a unique BOMB Card number in the BOMB section opposite this card. For each article listed, circle your personal rating, then drop the card in the mail with appropriate postage. The cutoff date for receipt of your BOMB evaluation is the 10th of the month following the month of publication. Thus the January 1977 BOMB ratings are due February 10 1977." On BOMB Card, Article No. ARTICLE PAGE 1 Dollhoff: Making Hash With Tables 18 2 Jewell: Drive a Teletype Without UART 32 3 Allen: Saturation Recording's Not That Hard 34 4 Liming: Watts Inside a Power Supply 42 5 Kreitner: Pick Up BASIC by PROM Bootstraps 50 6 Baker: Black Friday 56 7 Hill: Direct Access Storage 60 8 Nico: SYS 8'/ 2 66 9 Yost: Computer Models for Board Games 78 10 Christner: Built-in Logic Tester 82 11 Burbey: "Coffee Can Special" EROM Eraser 91 12 Rosen: Separate Your Sync 92 13 Gable: Using Interrupts to Speed Up an ELM 106 14 Caulkins: Computer Hobbyist Club Survey 116 144 i / WHAT a SWEET DEAL! Programmable Microprocessor Controller! $194 oo The Sphere TPU/l micro computer on a card s designed for use in control environments; vhefher it be personal or business. TPU is an expandable CPU on a 4.4X4.9 inch edge con- lector board with the Motorola 6800 micro- processor, a 6820 parallel interface, 256 or 512 bytes of EPROM, 2048 bits of static RAM and a crystal controlled clock driver. You can orogram the read only memory with special inst- ructions to meet your own needs or buy our prog- rammed ROM'S. The static memory is expandable to 32K and you can control teletype or other l/O. The TPU has a 72 pin edge connector with all the necessary signals to interface to almost any device. Use it to operate your sprinkling system, lights, heating/cooling system, security system or even control your electric train. The applica- tions are limitless. The TPU/l is completely assembled and tested; includes schematics and manual. FOR $194 ITS ONE SWEET DEAL! SPHERE CORPORATION Dept. 104 P. O. Box til Bountiful, Utah 84010 (801) 292-8466 Please send me Sphere CRT Interface kits. Enclosed Check/Mastercharge/Bankamerlcard Amount $ Name Address City Card No. State & Zip Limited offer, prices subject to change • Allow up to 30 days for delivery. Measuring just 11" wide x 11" deep x 5" high, and weighing a mere 7 pounds, the Altair™ 680b is a complete, general-purpose computer. The secret to this revolutionary, small computer is its CPU board. This double-sided board fits along the bottom of the Altair case and plugs directly into the front panel board. It contains the new 6800 microprocessor, 1,024 bytes of RAM memory, a 256 byte PROM monitor, provisions for 768 bytes of additional PROM or ROM, and a single Interface port with a Motorola ACIA serial interface adapter which can be configured either RS-232 or TTY. A five level Baudot interface option is also available. The Altair 680b can be programmed from front panel switches, or it can be interfaced to a video display terminal, or teletype- writer. Three additional circuit boards can be plugged inside the Altair 680b for further memory and interface expansion. The first of these boards is a 16K static RAM memory board. Software already developed includes Altair 680 BASIC with all the features of the 8K BASIC previously developed for the Altair 8800. These include Boolean operators, the ability to read or write a byte from any I/O port or memory location, multiple statements per line, and the ability to interrupt program execution and then continue after the examination of variable values. This software takes only 6.8 K bytes of memory space and a copy is included free with the purchase of the Altair 680 16K memory board. Other software includes a resident two pass assembler. The Altair 680b is also compatible with Motorola 6800 software. The Altair 6806 is ideal for hobbyists who want a powerful computer system at an economic price. Altair 680b owners qualify for membership in the Altair Users Croup, and like other Altair owners, they receive a complimentary subscription to Computer Notes and complete factory support. PRICES: Altair 680b kit with complete, easy-to-understand assembly man- ual, operator's manual, and programming manual $466 Assembled Altair 680b " $(,25 Altair 680b Turnkey model kit 395 Expander Card 680MB (required to expand 680) $ 24 Altair 680BSM 16K static RAM board kit with 680 BASIC $685 Altair 680 BASIC when purchased separately $200 Baudot option $ 42 MAIL THIS COUPON TODAY □ Enclosed is a check for } D BankAmericard a or Master Charge # □ Altair bHOh □ Kit □ Assembled □ Ot/ier (specify) enclose $8 for postage and handling □ Please send free information package. NAME ADDRESS CI1V S1ATE t X ZIP 2450 Alamo SE/Albuquerque, NM 87106, 505-243-7821 NOTE: Altair is a trademark of MITS. Inc. ations subject to change. Please allow up to 60 class for delivery.