FEBRUARY 1978 VOLUME 3, Number 2 -\ f \ r\ $2.00 in USA k -r^K-""" 3S '■■*%% •*:--*. PigM 3%, -3fc -# -*F~ i ?y e T?^^^ '"' * i, V. 6800/2 IS HERE The 6800/2 uses our new A2 processor board with socket space for 8K bytes of ROM/PROM. This makes it possible to use the 6800 in applications where ROM programs are useful without purchasing an expensive PROM accessory board. The A2 board has a DIP switch selector that allows you to replace any 8K block of memory above the RAM memory that extends to 32K with memory external to the processor board itself. This lets you develop special pro- grams that will later be put in PROM in a normal RAM memory card where it can be modified and debugged. The A2 board has a crystal controlled baud rate oscillator and a separate clock driver oscillator whose frequency may be changed with a programming resistor. The A2 processor board gives you the maximum possible flexibility in setting up a computer system. SWTBUG® Monitor- The 6800/2 is supplied with our new SWTBUG® monitor. This new monitor is software compatible with the earlier Mikbug® monitor used in the 6800. All major subroutine entry points are identical. SWTBUG® features a resident MF-68 Minifloppy disk boot, single level breakpoints, vectored software interrupt, generation of punch end of tape formatting and automatic interface configuring for either theMP-C control interface or MP-S serial interface. AC I A Type Interface- The 6800/2 uses our MP-S serial interface. This RS-232 and 20 Ma. TTY compatible interface may be configured to op- erate serially at the following baud rates: 110, 150,300, 600, 1200, 2400, 4800 and 9600. Complete interrupt con- trol is available through the user's software. 4K Static MEMORY- The 6800/2 comes wth 4K of static RAM memory on our MP-8M board. The memory may be expanded to 8K by the addition of eight more memory chips. No additional parts are needed. Full buffering of all data, address and control lines is a standard feature. Memory expansion to 32K of continuous RAM memory and up to a 48K mixture of ROM/RAM is possible with this system. accessory boards- do you have a special job? Our accessory boards make it possible to use the 6800/2 for almost any type of computer application. We have our MPT interrupt timer with soft- ware interrupt selectable output. Our MP-N calculator inter- face that allows you to do arithmetic functions in hard- ware. Our MP-R EPROM programmer that programs and verifies EPROMs right in the machine— and more coming. 6800/2 Kit $439.00 ppd Cont. U.S. 6800/2 Assembled $495.00 ppd Cont. U.S. ® SWTBUG is a registered trademark of Southwest Tech. Prod. Corp. Mikbug®is a registered trademark of Motorola, Inc. SOUTHWEST TECHNICAL PRODUCTS CORPORATION 219 W. RHAPSODY SAN ANTONIO, TEXAS 78216 Circle 1 10 on inquiry card. You can now have the industry's finest microcomputer with that all-important disk drive YOU CAN GET THAT ALL-IMPORTANT SOFTWARE, TOO Loading your programs and files will take you only a few seconds with the new Cromemco Z-2D computer. You can load fast because the Z-2D comes equipped with a 5" floppy disk drive and controller. Each diskette will store up to 92 kilobytes. Diskettes will also store your pro- grams inexpensively — much more so than with ROMs. And ever so much more conveniently than with cas- settes or paper tape. The Z-2D itself is our fast, rugged, professional-grade Z-2 computer equipped with disk drive and con- troller. You can get the Z-2D with either single or dual drives (dual shown in photo). CROMEMCO HAS THE SOFTWARE You can rely on this: Cromemco is committed to supplying quality software support. For example, here's what's now available for our Z-2D users: CROMEMCO FORTRAN IV COM- PILER: a well-developed and power- ful FORTRAN that's ideal for scien- tific use. Produces optimized, relo- catable Z-80 object code. CROMEMCO 16K DISK BASIC: a powerful pre-compiling interpreter with 14-digit precision and powerful I/O handling capabilities. Particularly suited to business applications. CROMEMCO Z-80 ASSEMBLER: a macro-assembler that produces relo- catable object code. Uses standard Z-80 mnemonics. The professional- grade microcomputer for professionals ADVANCED CONTROLLER CARD The new Z-2D is a professional system that gives you professional performance. In the Z-2D you get our well- known 4-MHz CPU card, the proven Z-2 chassis with 21 -slot motherboard and 30-amp power supply that can handle 21 cards and dual floppy drives with ease. Then there's our new disk con- troller card with special features: • Capability to handle up to 4 disk drives • A disk bootstrap Monitor in a 1K 2708 PROM • An RS-232 serial interface for interfacing your CRT terminal or teletype • LSI disk controller circuitry Z-2 USERS: Your Z-2 was designed with the future in mind. It can be easily retrofitted with everything needed to convert to a Z-2D. Only $935 kit; or $1135 for assembled retrofit package. ra Cromemco Shown with optional bench cabinet We're able to put all of this in- cluding a UART for the CRT interface on just one card because we've taken the forward step of using LSI con- troller circuitry. STORE/FACTORY Contact your computer store or Cromemco factory now about the Z-2D. It's a real workhorse that you can put to professional or OEM use now. Kit: Z-2D with 1 disk drive (Model Z2D-K) $1495. Assembled: Z-2D fully assembled and tested (Model Z2D-W) $2095. Additional disk drive (Model Z2D-FDD) $495. SOFTWARE (On standard IBM-format soft-sectored mini diskettes) 1 6K BASIC (Model FDB-S) $95 FORTRAN IV (Model FDF-S) $95 Z-80 Assembler (Model FDA-S) $95 Circle 34 on inquiry card. ^^__^B Specialists in computers and peripherals 2400 CHARLESTON RD., MOUNTAIN VIEW, CA 94043 • (415) 964-7400 BYTE February 1978 1 The easy way to get disk storage, FORTRAN IV, and other programming power Control up to four 8" drives Control up to three 5" drives CRT terminal interface Function switches LSI circuitry 1 kilobyte PROM Here's a new disk controller and disk drive combination that will set you up for truly powerful disk storage. The new controller is extremely versatile. You can use it with either our new 5" single disk drive or our 8" dual disk drive. In fact, the con- troller will interface up to three 5" or four 8" drives. That means you can have enor- mous disk storage since the new con- troller puts 92 kilobytes on each side of a 5" diskette and 256 kilobytes on an 8" diskette. Recording is in soft- sectored IBM format. FORTRAN IV AND MORE You can get still more Cromemco disk operation aids. For example, we also offer FORTRAN IV for our com- puter users. And as in so many things, we are the first manufacturer in the field to offer this advanced program for the Z-80 /i.P. Besides FORTRAN IV we also offer our special BASIC (14-digit precision), our Z-80 Assembler, and now an en- tertainment diskette with over a doz- en of our Dazzler® games. KEYBOARD CONTROL The new Model 4FDC disk con- troller (supplied in our Z-2D) is for our Z-2 computer or any S-100 bus computer using our Z-80 CPU card. You should also know about these other capabilities of the new con- troller: • Its PROM-resident Disk Operating System (RDOS) gives you key- ! BYTE February 1978 Single 5" disk drive Dual 8" disk drive board control of your disk drive and also includes a bootstrap to load our powerful CDOS disk operating system supplied on all Cromemco diskettes. • The controller will interface your CRT terminal through its RS-232 serial port. May save you an I/O. • It has 5 programmable interval timers. • It has vectored interrupts. • And it has an 8-bit parallel input port and an 8-bit parallel output port. LOOK TO THE FUTURE This new disk controller equips you for the future as well as for now. Not only can you now have very large storage, but the features of the controller and the standard IBM for- mat protect you from early obso- lescence. STORES/FACTORY This new card and the disk drives are in production and available. So contact your computer store or the factory today and you can have the power of FORTRAN IV and a large memory right away. PRICES Model 4FDC-K Disk Controller kit $ 395 Model 4FDC-W Disk Controller assembled . . .$ 595 Model WFD 5" single disk drive assembled . .$ 495 Model PFD-K 8" dual disk drive kit $1995 Model PFD-W 8" dual disk drive assembled . .$2495 Disk drives are complete with power supply, case and cables. SOFTWARE Purchasers of Cromemco computers or drives may purchase software on 5" or 8" diskettes as follows: 5" 8" Diskette Diskette Model Model Price FORTRAN IV FDF-S FDF-L $95 Z-80 Assembler FDA-S FDA-L $95 16K BASIC FDB-S FDB-L $95 Dazzler® games FDG-S FDC-L $95 ra Cromemco ^^_^ ^B Specialists in computers and peripherals 2400 CHARLESTON RD., MOUNTAIN VIEW, CA 94043 • (415) 964-7400 Circle 34 on inquiry card. r* 1 m m m #■« k EITi February 1978 "\ In the Queue Volume 3 Number 2 Foreground PUBLISHER Virginia lYsihkc Londner EDITOR IN CHIEF 6 A PENNY PINCHING ADDRESS STATE ANALYZER Hardware— Ciarcia Carl T Hclmcrs lr PRODUCTION MANAGER Judith Havc> 35 TAKING THE FIRST STEP Hardware— Bober ADVLRTISINC, DIRLCTOR Dt-hrj Boudrleau CIRCULATION MANAGER 42 SIMULATION OF MOTION: Extended Objects, Applications for Boating Software— Smith Gregory Spil/faclen EDITORS Christopher P Morgan 52 ADD A $3 LIGHT PEN VIDEO DISPLAY Hardware— Webster- Young Blaise W Liffick CO-OP EDITOR Scull Morrow 62 SWEETS FOR KIM So ftware—Fyls tra PRODUCTION EDITORS Karen Gregory Nancy Salmon 114 A MINIFLOPPY INTERFACE ADVERTISING Norccn Bardslcy PRODUCTION ASSISTANT Mass Storage Subsystems— Allen Background Cheryl Hurd CIRCULATION ASSISTANT Pamela R Heaslip 14 CIE NET: Part 1, The Beginnings Personal Computing Networks— Wilber DEALER SALES Ginnic F Boudricau TRAFFIC MANAGER 25 SOME MUSINGS ON BOOLEAN ALGEBRA Tutorial— Bunce-Schwartz Edmund D Kelly |r ART Wai Chiu Li 80 PERSONAL COMPUTERS IN A COMMUNICATIONS NETWORK Sys terns —S tein wedel Dorothy Sh.umjnsky Ellen Shamonsky BOOK PUBLISHER 84 THE BRAINS OF MEN & MACHINES: How the Brain Controls Outputs Robotics— Kent Christopher E Smith EXLCUTIVE SECRETARIES I Ml Calllhan 162 PROGRAMMING ENTOMOLOGY Software— McGath Patricia Clark Laura A Hanson RECEPTIONIST 168 ASIMPLE DIGITAL FILTER Hardware— Grappel Nucleus Jacqueline Earnshaw CLUBS AND NEWSLETTERS David Wo/mjk DRAFTING Douglas Glen Stephen Krusc 4 In This BYTE Lynn Malo Bill Morcllo 5 About the Cover Dorothy Shamonsky 19 Complete ASCII TYPOGRAPHY Custom Marketing Resources Inc 20 Letters Goodway Graphics 30 Languages Forum: The Case for a "Compiler Interpreter" APL Character Representations PHOTOGRAPHY Ed Crabtree PRINTING 60 Letter from the Publisher Runiford Press NEW PRODUCTS EDITOR 93 BYTE's Bugs Daniel Flystra 126 Ask BYTE ASSOCIATES Walter Banks 127 BYTE's Bits Steve Ciarcia 129 Clubs, Newsletters David Fylstra Portia Isaacson 134 Languages Forum: Comments on APL Character Generators Baking Baker BITS INC Dennis Bliem Floyd W RchliiiR 159 Languages Forum: Reactions to Previous Comments Jim Tfavisano Ronald Witzke 167 Technical Forum: Measuring Program Size Jeremy Youst 172 Technical Forum: Some Plotting Comments A Standard for Writing Standards ADVERTISING SALES EAST COAST, MIDWEST 178 New York Notes Haiar Associates Inc 182, 200 What's New? ,v; ' ° « 17 Durant St West Roxbury MA 02132 206 Classified Ads ''//jiDPVi' BOMB ZyMiff? (617)325-5380 208 100 W Chicago Ave 208 Reader Service '>'>' Chicago IL 60610 (321) 337-8008 CALIFORNIA BYTE is published monthly by BYTE Publications Inc, 70 Main St. Peterborough NH 03458. Address all mail except sub- Buckley/Boris Associates Inc scriptions to above a Jdress: phone I603) 924-7217. Address all editorial correspondence to the editor at the above address. 912 South Barrington, Suite 202 Unacceptable manusc ripts will be returned if accompanied by sufficient first class postage. Not responsible for lost manu- Los Angeles CA 90049 (213)826-4621 scripts or photos. Op nions expressed by the authors are not necessarily those of BYTE. Address all subscriptions, change of address. Form 3579, and fulfillment complaints to BYTE Subscriptions, PO Box 590, Martinsville NJ 08836. Second class postage paid at Pete borough NH 03458 and at additional mailing offices-USPS Publication No. 102410. Canadian second class registration No. 9321 . Subscriptions are $15 for one year, S27 for two years, and S39 for three years in the USA and its possessions. In Canada and Mexico, S17.50 for one year, S32 for two years, and $46.50 for three years. $25 for a one year subscription by surface mail worldwide. Air delivery to selected areas at additional rates available upon request. $25 for a one year subscription by air delivery to Europe. Single copy price is $2.00 in the USA and its possessions, $2.40 in Canada and Mexico, S3. 50 in Eu rope, and S4.00 elsewhere. Foreign subscriptions and sales should be remitted in United States funds. Printed in United Sta tes of America. Each separate contribution to this issue and the issue as a collective work copyright© 1978 by BYTE Publications Inc. All rights reserved. s- ' ' > BYTE February 1978 Page 162 Page 6 With good reason, many computers these days have no front panel for low level data entry and display. But some- times a real time pattern "signature" of an executing program can be useful. This month, Steve Ciarcia shows how to build A Penny Pinching Address State Analyzer which can be used with an X-Y oscilloscope to monitor the address bus of your computer in real time. If you build this state analyzer, you'll see a unique pattern corresponding to each "steady state" loop of an executing program. When is a personal computer more than a personal computer? When it is plugged into a network of personal computers for purposes of message transfer via phone lines, sharing of programs, and perhaps even execution of multiple player logical games. In this issue, Mike Wilber begins a three part series of articles on the concept of CIE Net: A Design for a Network of Community Information Exchanges. Page 14 Are you looking for a driver for your model railroad's roundhouse turntable? Perhaps you need some motive power for a robot. For genera- tion of controlled rotary motion, stepper motors as described in Robert E Bober's article Taking the First Step are essential. He provides readers with valuable background information on these fascinating mechanical out- puts for personal computers. Page 35 +~ In This BITE When is a boat like a raft of bottles? When it is conceptually chopped into many individual buoyancy elements for the purpose of simulating its per- formance on a choppy water surface? In this issue Stephen P Smith con- tinues his series of articles on the simulation of motion in personal com- puters with a discussion of motion of extended objects in Simulation of Motion, Part 4: Extended Objects, Applications for Boating. Turn to Stephen's article for more details and a BASIC program which simulates rolling or pitching motions of an arbi- trary boat hull cross section. Page 42 Interactive editing is enhanced when a light pen can be used to zero in on a text location. See how to Add a $3 Light Pen to Your Video Display using the combination of hardware and software techniques provided by John Webster and John Young in this issue. Page 52 If you own a K1M-1 computer, here's an answer to the perpetual problem of entering and debugging large programs. Dan Fylstra's article SWEETS for KIM shows you how to add a mini text editor and assembler that fits in the KIM's 1 K bytes of programmable memory and still leaves room for your programs. Page 62 In past BYTEs Mike Wilber and Dave Fylstra have suggested the con- cept of a "Community Information Exchange." Read Jeff's Personal Com- puters in a Distributed Communi- cations Network for a discussion of some of the technological (and poli- tical) aspects of such a concept, which is well within reach of our present personal computing hardware and software. Page SO Last month, we began Ernest W Kent's series of articles on The Brains of Men and Machines. The discussion continues this month with the next installment, How the Brain Controls Output. Aspiring robotics hackers will find this to be an invaluable back- ground input on the information sys- tems found in nature, which can serve as a source for ideas on new infor- mation systems designed by humans. Page 84 The minifloppy has arrived, as many readers probably know, and its popularity is increasing with time. If you'd like to take advantage of its low cost, then read David Allen's Minifloppy Interface and try your hand at adding a minifloppy to your system. Page 114 Entomology is the study of bugs. Gary McGath provides some introduc- tory insight into various species of programming bugs, and some general design guidelines to prevent their occurrence in his background article on Programming Entomology. Page 162 Have you ever needed to experi- ment with a circuit and ended up rewiring it again and again? Wouldn't it be nice to have a program that simulated the circuit and could be easily modified to change the para- meters? Read Robert Grappel's A Simple Digital Filter and find out all about filter simulation on your own computer. Page 168 BYTE February 1978 About the Cover. . . The February issue contains two articles on the subject of communications networks for the personal computer user. The idea here is to create a number of noncommercial networking applications based on individual experimenters talking to individual experi- menters. One of those articles, by Mike Wilbur (who spends his professional time at Stanford Research Institute), is a hypotheti- cal design specification in several parts for a "Community Information Exchange" net- work. Mike's article was written as a prelude to work of the PC Net committee headed by Dave Caulkins and including a number of the Homebrew Computer Club members in and around Palo Alto CA. Using Mike's preliminary design as a model, we asked Robert Tinney to create this fantasy on a theme of Community Information Exchanges. The "Community Information Exchanges" are processing nodes of the CIE network, talking locally with telephone lines and globally via such long distance media as amateur radio (including perhaps satellite links via AMSAT). The "walls" of CIEIand represent the boundaries of the protocol of the network: through an appropriate interface the users of the CIE NET protocol can talk to the PC NET protocol through a PC NET "gate," to an ARPA net protocol through an appropriate gate arranged by some friendly local university's computer science department or artificial intelligence laboratory, or to the "X" network where X in the picture is "MUSIC" but could be arbitrary. The CIE as originally en- visioned is an amateur and noncommercial group growing out of a common interest in compuer to computer communications. It would in some sense serve as a prototype and innovative test bed for what might later become low cost commercial networks in much the same way that numerous amateur radio innovations are now part of the tech- nology of radio communications. . .CH" Articles Policy BYTE is continually seeking quality manu- scripts written by individuals who are applying personal computer systems, designing such sys- tems, or who have knowledge which will prove useful to our readers. For a more formal descrip- tion of procedures and requirements, potential authors should send a selfaddressed, stamped envelope to BYTE Author's Guide, 70 Main St, Peterborough NH 03458. Articles which are accepted are purchased with a rate of up to $50 per magazine page, based on technical quality and suitability for BYTE's readership. Each month, the authors of the two leading articles in the reader poll (BYTE's Ongoing Monitor Box or "BOMB") are presented with bonus checks of $100 and $50. Unsolicited materials should be accompanied by full name and address, as well as return postage. ■ stop Jitte SHHP.SrSaft sssm M S567R SSEfffl ■ S5E.?fl. BS&7J3 SS&7H S5E.7A SS67A SStYPR MHWsWii^nWil Snow YOURS FOR ONLY s 149. 9|| Now, the first complete software oriented video system (theVB-1B) is even more versatile. The newly improved VB-1B Video Interface Board gives you 128 possible characters to play with. Graphics galore. Horizontal and vertical oscillators that operate within 1.6% of actual TV standards to get rid of wiggle, rolling and jitters. The VB-1B cuts snow by up to 50% and provides 8% left and right margins. And we'll give you a "Doodle" program so you can play around with graphic shapes on your own screen. Easy connection and adjustments . . . with the new VB-1B. Available— along with all our other S-100 bus compatible products— either from your local computer store or from us directly. CUbBTCDm A Division of Solid State Music 2102A Walsh Avenue Santa Clara, CA 95050 Circle 107 on inquiry card. Telephone (408) 246-2707 Gispcis's Circuit Cellar HIGH ORDER ADDRESS LINES LOW ORDER ADDRESS LINES SCOPE INPUT 330 I/2W ^W — ,.i i «-». n , • PRICE Compatible Disc Drives Kit $190 Assembled $265 Ask about our disc drives priced as low as $525. TARBELL PROTOTYPE BOARD Model 1010 ..l.lllll.llll... III! Gold plated edge pins Takes 33 14-pin ICs or Mix 40-pin, 18-pin, 16-pin and 14-pin ICs Location for 5 volt regulator Suitable for solder and wire wrap ALTAIR/IMSA1 compatible Price: $28.00 For fast, off the shelf delivery, all Tarbell Electronics products may be purchased from computer store dealers across the country. Or write Tarbell Electronics direct for complete information. "ALTAIR is a trademark/tradename of MITS, Inc. 20620 South Leapwood Avenue, Suite P Carson, California 90746 (213) 538-4251 Circle 114 on inquiry card. BYTE Fcbm.iry I978 11 Photo 4: A complex bus addressing pattern during the execution of a BASIC program. computer is a basic memory test program as it scans through memory. Dynamically varying displays such as these are very difficult to photograph and would appear as blurs. The photos I have included are those of programs with addressing suffi- ciently repetitive so that the pattern appears stable (see photo 4). There is one particular instance that proved the worth of the address state analyzer on my system. I had received and was in the process of checking out the TDL 12 l< Super BASIC software package distri- buted by Micro COM for the Digital Group Z-80 system, and was having trouble getting the software to execute in 26 K of memory. Rather than call the company and complain of a possible bad tape, I turned on the address state analyzer and loaded the tape. I could see the computer cycling through the cassette input section of the monitor and depositing it in increasingly higher portions of memory. At its conclusion, the words "Highest Memory" appeared on the screen. I promptly typed in 26000 and hit a carriage return. The computer took off and started doing a scan across memory in a pattern similar to that of a memory test program. Following this, the computer went into visible convulsions (or the electronic equi- valent) on the ocilloscope and never re- turned to the display. I loaded the program once again and this time answered the ques- tion with 20000. The result was an intro- ductory blurb indicating that BASIC was fully operational. A quick scan of the 2 K bytes of memory on the processor board verified that they were wired for something other than 24 K to 26 K. The address state analyzer (in which I now had considerably more faith) told the complete story. After replying to the "Highest Memory," the program apparently scanned memory and tried to verify that the typed input was indeed plausible. In a false case it got hung up. Resetting the memory bank decoding circuit for 24 K to 26 K, of course, solved the problem. Next month: "Programming EROMs with BASIC."" 12 BYTE February 1978 feat itc J INTRODUCING SCELBI'S OPTIONAL HARDWARE Additional memory beyond 2K allows expanded text buffer storage area. Recommend 4K-8K for practical applications. Bulk storage I/O devices allow text to be saved for future use/modlficatlon. SOFTWARE REQUIRED User provided I/O driver routines for whatever I/O devices will be utilized. Each I/O device is linked to the program by a single vector for ease in adapting the program to individual systems. MEMORY UTILIZED The assembled listing provided in the manual resides in pages Ol through 05 (hexadecimal which is OOl through 005 octal). Pages OO, part of 05, and all of 06 (hexadecimal- OOO, part of 005 and all of 006 octal) are left available for user provided I/O routines. Pages 07 (hexadec- imal -007 octal) through available memory used for text buffer. OPTIONAL PAPER TAPE NOW AVAILABLE An optional object code on punch- ed paper tape is available. Specify 8O8OED-OPT, $6.00. And you can order optional commented source listing on paper tape too. Specify 8O8OED-SPT, $20.00. Circle 102 on inquiry card. Here, at last, is an efficient way to edit text when preparing program source listings or other text material. You'll need an 8O8O computer, with a minimum of 2K memory (of which at least IK should be RAM); a text input device, like a keyboard; and a display/text output device. MNEMONICS UTILIZED This program is written in 8O8O machine language standard industry accepted mnemonics for the 8O8O CPU (such as MOV A, B; INX H; CALL; etc.) (Note: SCELBI is discontinuing its use of special 8O8O compatible mnemonics which have character- ized its 8O8O programs in the past.) PROGRAM OPERATION This is a standard line-oriented text editing program intended for use In the creation of source listings and similar text manipulations. The pro- gram operates in two modes; the Text Entry mode for entering text into the text buffer and the Command mode used to specify operator directives. Information in the text buffer may be manipulated using the Command directives and the contents of the text buffer transferred to an external storage device or filled from an exter- nal storage device. PROGRAM COMMANDS APPEND (A) text to the text buffer; CHANGE (C) text; DELETE (D) text; IN- SERT (I) text; LIST (L) text; character SEARCH (S); READ (R) from or WRITE (W) to an external storage device; CLEAR text buffer; plus single character deletion, tab (spacing), and various character search directives. DOCUMENTATION In the famous SCELBI tradition. The program manual describes the $ operation of the editor, presents detailed discussions of all major routines with flow charts, contains two completely assembled listings (one with addresses and object code in hexadecimal notation and one in oc- tal notation), and of course includes operating Instructions and tips on enhancing the program if desired. SPECIAL FEATURES Because the program has been carefully organized and written with all memory references assigned labels, it may be readily reassembled to reside in any general area in memory. This program may even be assembled to reside in just IK of ROM provided that some RAM area is available for scratch pad and text buffer usel OPTIONS A punched paper tape of the ob- ject code for this editor (as described in the documentation) is available. The object code tape is provided in the widely accepted "hexadecimal format." Also, the complete, com- mented source listing of the program as presented in the documentation is available in straight ASCII format on punched paper tape. Fan-fold paper tapes are provided for ease in nan dling. Additionally, opaque paper tape is supplied to facilitate the use of low cost optical paper tape readers now in widespread use. NOTE: Paper tapes are sold only as optional supplements to the documentation. ORDER YOUR COPY TODAY.. .$1 4) 95 12 ICIITI tOMIIIfin CON 1 1 If INC INC. Post Office Box 133 PPSTN Milford, CT 06460 Price shown lor North American customers. Master Charge, Postal and Bank Money Orders preferred. Personal checks delay shipping up to 4 weeks, specifications, availability sub|ect to change without notice. SCELBI Books are available In many line Computer Stores. IMPORTANT! In- clude 75C postage/handling for each Item delivered by U.S. Mall Book Rate; or S2 for each Item shipped First Class or via UPS. BYTE February 1978 13 About the Author: Mike Wither is a mem- ber of the technical staff at SRI International in Menlo Park LA. He has been actively working on the concept and defini- tion of the Community Information Exchange for more than two years, and has a history of work at the frontiers of comr puter science in areas Including network design and artificial intelligence. CIE Net: Mike Wilber 920 Dennis Dr Palo Alto CA 94303 A Design for a Network of Community Information Exchanges Part 1: The Beginnings The need for a personal computer telecommuni- cations network is rapidly becoming inescapable. Motivation and Background: Why Build a Network? A good, cheap and practical telecom- munication network can be extremely useful to the personal information processing community. It can provide a means by which people exchange programs and files of data. For example, a respectable dictio- nary can be built by 1000 people who each contribute 20 words. Just as important, a good telecommunication facility can help people talk to one another, for instance, to advertise the presence of a good data file, or to explain just when one technique is supe- rior to another. These considerations and others are explored in more detail in an earlier BYTE article. (See "Homebrewery vs the Software Priesthood," by Wilber and Fylstra, October 1976 BYTE, page 90.) The need for a personal computer tele- communication network is rapidly becoming inescapable. Now that personal computers are economically feasible, manufacturers are selling cheap reliable systems in astounding quantities to personal users of information processing, each of whom stands to gain from freely shared interactive experience. Already, hobbyist clubs and other, more primitive, information exchanges have sprung up to fill the void. Telecommunica- tion can greatly facilitate the free exchange of ideas and data that currently take place on a limited but increasing scale. How This Effort Got Started In response to this need, I designed a net- work for presentation at the First West Coast Computer Faire in April of 1977. That work was unfinished as the Faire proceedings press deadline loomed, so I wrote up the design considerations for publication there. Since then, I have finished the design, of which the main part of this series of articles is a detailed exposition. I was not alone in feeling this need and responding to it with action. After the Faire, Dave Caulkins organized a group to design and implement a personal computer net- work; this group has thus taken PCNET as its name. The PCNET committee started from many of the premises I feel are im- portant, but it has identified a slightly dif- ferent set of problems, and it has solved almost every one of them differently, and so it is developing a design that differs considerably from mine in its details. The PCNET design was rapidly develop- ing at the press deadline for this article and is thus not detailed here. Its broader aspects Continued on page 138 14 BYTE February 7978 The UMmate Turn-on On/off control everywhere- by computer over the AC wiring Now it's simple and economical to control AC devices remotely from an S-100 or Apple II computer. Mountain Hardware's new Introl™ system delivers on/off commands over the existing AC lines — so you don't have to string a foot of wire! Control at any AC outlet. The Introl system impresses a code- modulated 50 KHz control signal on the house wiring. Then decodes the signal at any outlet to switch AC devices on and off. You can control lights, refrigerators, TVs, solenoid valves, sprinklers, burglar alarms — and many other things we leave to your fertile imagination. With the addition of input sensors to your computer system, you can automatically control variables such as temperature and soil moisture. Here's how it works. You plug in a single AC Controller board at the computer bus and connect the AC Interface Adapter to any con- venient 115 VAC outlet. The AC Controller is now connected to address as many as 64 channels remotely. But it's completely isolated from the 1 15v power, so there's no chance of short or shock. At any outlet where you seek control, plug in a Dual Channel AC Remote. Then plug one or two devices to be controlled into the box. Every AC remote has two independent 500 watt channels. When commanded by the computer, the Dual Channel AC Remote turns the devices on and off independ- ently. When polled by the compu- ter, the Dual Channel AC Remote sends a signal back, telling the computer the status of each device. Bidirectional communication pro- vides error free operation. Simple programming. You write your control program in BASIC or Assembler language. Software sub- routines for the control programs come with the equipment — along with complete documentation. If you have an S- 100 computer, you can program on/off commands at any day and time using our option- al 100,000 day Calendar/Clock Board. A self contained power source assures fail safe operation. Modest prices. The AC Con- troller, for both the S- 1 00 and Apple II computers, costs $149 in kit form or $189 completely assembled and tested. Each Dual Channel AC Remote costs $99 as a kit or $149 assembled and tested. Thus, a fully operative system in kit form can be yours for as little as $248. The Calendar/Clock Board for S-100's costs $179 in kit form, $219 assembled and tested. All prices are f .o.b. Ben Lomond, CA. Prices are USA Domestic. Cal- ifornia residents add 6% sales tax. Where to find it. The Introl system can now be found at compu- ter shops throughout the U.S. and Canada. Drop by and ask for a dem- onstration. Mountain Hardware, Inc., may be reached at Box 1133, Ben Lomond, CA 95005. Phone (408) 336-2495 AC Controller (Apple) Dual Channel AC Remote i& Mountain Hardware Circle 78 on inquiry card. AC Controller (S-100) BYTE February 1978 15 Introducing Apple II. % The home computer that's ready to work, play and grow with you. Clear the kitchen table. Bring in the color T.V. Plug in your new Apple II* and connect any standard cassette recorder/player. Now you're ready for an evening of discovery in the new world of personal computers. Only Apple II makes it that easy. It's a complete, ready to use computer— not a kit. At $1298, it includes features you won't find on other personal computers costing twice as much. Features such as video graphics in 15 colors. And a built-in memory capacity of 8K bytes ROM and 4K bytes RAM -with room for lots more. But you don't even need to know a RAM from a ROM to use and enjoy Apple II. It's the first personal computer with a fast version of BASIC— the English-like pro- gramming language— permanently built in. That means you can begin running your Apple II the first evening, entering your own instructions and watching them work, even if you've had no previous computer experience. The familiar typewriter-style keyboard makes communication easy. And your pro- grams and data can be stored on (and re- trieved from) audio cassettes, using the built- in cassette interface, so you can swap with other Apple II users.This and other peri- pherals—optional equipment on most per- sonal computers, at hundreds of dollars extra cost— are built into Apple II. And it's designed to keep up with changing technol- ogy, to expand easily whenever you need it to. As an educational tool, Apple II is a sound investment. You can program it to tutor your children in most any subject, such as spelling, history or math. But the biggest benefit— no matter how you use Apple II— is that you and your family increase your familiarity with the computer itself. The more you experiment with it, the more you discover about its potential. Start by playing PONG. Then invent your own games using the input keyboard, game paddles and built-in speaker. As you experi- ment you'll acquire new programming skills which will open up new ways to use your Apple II. You'll learn to "paint" dazzling color displays using the unique color graphics com- mands in Apple BASIC, and write programs to create beautiful kaleidoscopic designs. As you master Apple BASIC, you'll be able to organize, index and store data on household fi- nances, income tax, recipes, and record col- lections. You can learn to chart your biorhythms, balance your checking ac- count, even control your home environment. Apple II will go as far as your imagination can take it. Best of all, Apple II is designed to grow with you. As your skill and experience with computing increase, you may want to add new Apple peripherals. For example, a re- fined, more sophisticated BASIC language is being developed for advanced scientific and mathematical applications. And in addi- tion to the built-in audio, video and game interfaces, there's room for eight plug-in options such as a prototyping board for ex- perimenting with interfaces to other equip- ment; a serial board for connecting teletype, printer and other terminals; a parallel inter- face for communicating with a printer or another computer; an EPROM board for stor- ing programs permanently; and a modem board communications interface, or a floppy disk interface with software and complete operating system . And there are many more options to come, because Apple II was designed from the beginning to accommo- date increased power and capability as your requirements change. If you'd like to see for yourself how easy it is to use and enjoy Apple II, visit your local dealer for a demonstration and a copy of our detailed brochure. Or write Apple Apple II™ is a completely self-contained computer system with BASIC in ROM, color graphics, ASCII keyboard, light- weight, efficient switching power supply and molded case. It is supplied with BASIC in ROM, up to 48K bytes of RAM, and with cassette tape, video and game I/O interfaces built-in. Also in- cluded are two game paddles and a demonstration cassette. SPECIFICATIONS • Microprocessor: 6502 (1 MHz). • Video Display: Memory mapped, 5 modes— all Software-selectable: • Text— 40 characters/line, 24 lines upper case. • Color graphics— 40hx48v, 15 colors • High-resolution graphics— 280hx 192v; black, white, violet, green (16K RAM minimum required) • Both graphics modes can be selected to include 4 lines of text at the bottom of the display area. • Completely transparent memory access. All color generation done digitally. • Memory: up to 48K bytes on- board RAM (4K supplied) • Uses either 4K or new 16K dynamic memory chips • Up to 12K ROM (8K supplied) • Software • Fast extended Integer BASIC in ROM with color graphics commands • Extensive monitor in ROM •I/O ■ 1500 bps cassette interface • 8-slot motherboard • Apple game I/O connector • ASCII keyboard port_ ■ Speaker • Composite video output Apple II is also available in board-only form for the do-it-yourself hobbyist. Has all of the features of the Apple II system, but does not include case, keyboard, power supply or game paddles. $798. PONG is a trademark of Atari Inc. *Apple II plugs into any standard TV using an inexpensive modulator (not supplied). Computer Inc., 20863 Stevens Creek Blvd., Cupertino, California 95014. apple computer inc. Order your Apple II now. from any one of the following authorized dealers: ALABAMA Computerland 3020 University Dr. N.W. Huntsville 539-1200 The Computer Center 303 B. Poplar Place Birmingham 942-8567 ALASKA The Alpha Corporation 100 W. Int'l Airport Rd. Anchorage 279-1316 Team Electronics Anchorage 276-2923 Anchorage 272-4823 Fairbanks 456-4157 ARIZONA Byte Shop Tempe 894-1129 Phoenix 942-7300 Tucson 327-4576 CALIFORNIA A-VIDD Electronics 2210 Bellllower Road Long Beach 598-0444 Byte Shop Citrus Heights 961-2983 Palo Alto 327-8080 Pasadena 684-3313 San Jose 377-4685 San Mateo 341-4200 Santa Clara 249-4221 Walnut Creek 933-6252 Computerland ElCerrito 233-5010 Hayward 538-8080 Inglewood 776-8080 Mission Viejo 770-0131 San Diego 560-9912 San Francisco 546-1592 Thousand Oaks 495-3554 Tustin 544-0542 Computer Components 5848 Sepulveda Blvd. VanNuys 786-7411 Computer Country 506 E. 1st. St. Tustin 838-4770 Computer Playground 6789 Westminster Avenue Westminster 898-8330 Computer Store 1093 Mission St. San Francisco 431-0640 The Computer Store 820 Broadway Santa Monica 451-0713 Electric Brain 3038 N. Cedar Ave. Fresno 227-8479 Home Entertainment Emporium 2100 Sepulveda Blvd. Manhattan Beach 546-2501 Rainbow Computing, Inc. 10723 White Oak Granada Hills 360-2171 Strawberry Electronics 71 Glenn Way #9 Belmont 595-0231 COLORADO Byte Shop 3464 S. Acoma St. Englewood 761-6232 Team Electronics Boulder 447-2368 Colorado Springs 596-5566 Fort Collins 484-7500 Grand Junction 245-4455 Greeley 356-3800 Longmont 772-7800 Pueblo 545-0703 CONNECTICUT Computerland 2475 Black Rock Turnpike Fairfield 374-2227 The Computer Store 63 S. Main St. Windsor Locks 627-0188 DELAWARE Computerland Kirkwood Highway Newark 738-9656 FLORIDA Byte Shop Ft. Lauderdale 561-2983 Miami 264-2983 GEORGIA DataMart, Inc. 3001 N. Fulton Drive Atlanta 233-0532 HAWAII Real Share 190 S. King Street #890 Honolulu 536-1041 ILLINOIS Computerland Arlington Heights 255-6488 Niles 967-1714 Oaklawn 422-8080 Data Domain 1612 E.Algonquin Rd. Shaumburg 397-8700 Itty Bitty Machine Company 1316 Chicago Avenue Evanston 328-6800 Team Electronics Carpentersville 428-6474 Decatur 877-2774 Galesburg 344-1300 Moline 797-8261 Peoria 692-2720 Rock Island 788-9595 Rocktord 399-2577 Schaumburg 882-5864 Springfield 525-8637 INDIANA The Data Domain Fort Wayne 484-7611 Bloomington 334-3607 West Latayette 743-3951 Indianapolis 251-3139 The Home Computer Center 2115 E. 62nd St. Indianapolis 251-6800 IOWA The Computer Store 4128 Brady St. Davenport 386-3330 Team Electronics Ames 232-7705 Bettendort 355-7013 Cedar Rapids 393-8956 Davenport 386-2588 Dubuque 583-9195 Iowa City 338-3681 Sioux City 252-4507 Sioux City 277-2019 Waterloo 235-6507 Video Midwest, Inc. 2212 IngersollAve. Des Moines 244-1447 KANSAS Barney & Associates 425 N. Broadway Pittsburg 231-1970 Team Electronics Garden City 276-2911 Hutchinson 662-0632 Lawrence 841-3775 Manhattan 539-4636 Salina 827-9361 Topeka 267-2200 Wichita 685-8826 Wichita 942-1415 Wichita 682-7559 KENTUCKY Computerland 813 B. Lyndon Lane Louisville 425-8308 The Data Domain Lexington 233-3346 Louisville 456-5242 MARYLAND Computerland 16065 Frederick Road Rockville 948-7676 Computers, etc. 13A Allegheny Ave. Towson 674-4742 MASSACHUSETTS The Computer Store, Inc. 120 Cambridge Street Burlington 272-8770 MICHIGAN Team Electronics Escanaba 786-3911 Menominee 864-2213 MINNESOTA Team Electronics Minnetonka 544-7412 Edina 920-4817 Eden Prairie 941-8901 Bemidji 751-7880 Willmar 235-2120 St. Cloud 253-8326 Owatonna 451-7248 Hibbing 263-8200 Virginia 741-5919 St. Anthony 789-4368 West St. Paul 451-1765 Minneapolis 377-9840 St. Paul 227-7223 St. Cloud 251-1335 Minneapolis 869-3288 Minneapolis -378-1185 Maplewood 777-3737 Mankato 387-7937 Eveleth 749-8140 St. Paul 636-5147 MISSOURI Electronic Components. Intl. 1306-B South Hwy63 Columbia 443-5225 Team Electronics Biscayne Mall 301 Stadium Blvd. Columbia 445-4496 MONTANA Computers Made Easy 415 Morrow Bozeman 586-3065 Team Electronics Great Falls 852-3281 Missoula 549-4119 NEBRASKA Team Electronics Grand Island 381-0559 Lincoln 435-2959 Omaha 397-1666 Omaha 333-3100 Norfolk 379-1161 North Platte 534-4645 NEW HAMPSHIRE Computermart 170 Main Street Nashua 883-2386 NEW JERSEY Computerland 2 De Hart Street Morristown 539-4077 Computermart 501 Route 27 Iselin 283-0600 NEW YORK Computerland Buffalo 836-6511 Ithaca 277-4888 Computer Mart of NY. 118 Madison Ave. New York 686-7923 Co-op Electronics 9148 Main Street Clarence 634-2193 NORTH CAROLINA Byle Shop 1213 Hillsborough St. Raleigh 833-0210 Computer Room 1729 Garden Terrace Charlotte 373-0875 Rom's & Ram's Crabtree Valley Mall Raleigh 781-0003 NORTH DAKOTA Team Electronics Bismarck 223-4546 Fargo 282-4562 Grand Forks 746-4474 Minot 852-3281 Williston 572-7631 OHIO Computerland 1304 SOM Center Rd. Mayfield Heights 461-1200 The Data Domain Dayton 223-2348 Cincinnati 561-6733 OKLAHOMA Bits. Bytes & Micros 1186 N. MacArthurBlvd. Oklahoma City 947-5646 High Technology 1020 W. Wilshire Blvd. Oklahoma City 843-9667 Team Electronics Norman 329-3456 Oklahoma City 634-3357 Oklahoma City 848-5573 Stillwater 377-2050 Tulsa 633-4575 Tulsa 252-5751 Yokon 373-1994 OREGON Team Electronics Bend 389-8525 Canby 266-2539 Salem 364-3278 PENNSYLVANIA Computer Mart of PA Route 202 King of Prussia 265-2580 SOUTH DAKOTA Team Electronics Pierre 224-1881 Rapid City 343-8363 Sioux Falls 336-3730 Sioux Falls 339-1421 Sioux Falls 339-2237 Watertown 886-4725 TEXAS Byte Shop 3211 Fondren Houston 977-0664 Computerland Houston 997-0909 Austin 452-5701 Computer Shops. Inc. 13933 North Central Dallas 234-3412 The Computer Shop 6812 San Pedro San Antonio 828-0553 Computer Terminal 2101 Myrtle SI. El Paso 532-1777 The KA Computer Store 1200 Majesty Drive Dallas VIRGINIA The Computer Hardware Store 818 Franklin St. Alexandria 548-8085 Home Computer Center Virginia Beach 340-1977 Newport News 595-1955 Timberville Electronics P.O. Box 202 Timberville 896-8926 WASHINGTON Team Electronics 423 W. Yakima Yakima 453-0313 WASHINGTON, D.C. Gerogetown Computer Store 3286 M. St. N.W. Washington. D.C. 362-2127 WISCONSIN Team Electronics Eau Claire 834-0328 Eau Claire 834-1288 Madison 244-1339 Milwaukee 461-7600 Racine 554-8505 Sheboygan 458-8791 Greendale 421-4300 Rhinelander 369-3900 LaCrosse 788-2250 Wausau 842-3364 Milwaukee 672-7600 Janesville 756-3150 Manitowoc 684-3393 Milwaukee 354-4880 Oshkosh 233-7050 WYOMING Team Electronics Hilltop Shopping Center 207 S. Montana Casper 235-6691 CANADA Future Byte 2274 Rockland Montreal, Que. 731-4638 AUSTRALIA Computerland 52-58 Clarence St. Sydney, NSW 29-3-153 apple computer inc. 10260 Bandley Drive Cupertino, California 95014 (408)996-1010 EURAPPLE European Operations of Apple Computer, Inc. 2031 Byron Street Palo Alto, CA 94301 (415)964-7020 18 BYTE February 1978 Circle 5 on inquiry card. Complete ASCII 128 CHARACTER ASCII TABLE David M Ciemiewicz 533 N Holly St Elizabethtown PA 17022 Most of the time when you see a maga- zine article that requires an ASCII table, the table accompanying the article is either incomplete or is in a numeric system that you cannot use without converting it. The table I have devised is complete 128 character ASCII. Each character is ac- companied by its binary, octal, decimal and hexadecimal equivalent. This table has proven invaluable to me, as I am sure it will to you." U TO £ £ O Binary Bit 7 to BitO u o E 'u V Q re E 'o 9 •a re X 0> I a u re V- re £ Binary Bit 7 to BitO re u o re E 'o a> O re E u a> 13 re X 0) I 1 01100000 140 096 60 p 01110000 160 112 70 a 01100001 141 097 61 q 01110001 161 113 71 b 01100010 142 098 62 r 01110010 162 114 72 c 01100011 143 099 63 s 01110011 163 115 73 d 01100100 144 100 64 t 01110100 164 116 74 e 01100101 145 101 65 u 01110101 165 117 75 f 01100110 146 102 66 V 01110110 166 118 76 9 01100111 147 103 67 w 01110111 167 119 77 h 01101000 150 104 68 X 01111000 170 120 78 i 01101001 151 105 69 V 01111001 171 121 79 i 01101010 152 106 6A z 01111010 172 122 7A k 01101011 153 107 6B { 01111011 173 123 7B 1 01101100 154 108 6C I 01111100 174 124 7C m 01101101 155 109 6D } 01111101 175 125 7D n 01101110 156 110 6E 01111110 176 126 7E 01101111 157 111 6F DEL 01111111 177 127 7F Note: The bit 7 in the binary column is sometimes a 1 or is some- times used as a parity bit. a re re o Binary Bit 7 to BitO re o o re E 0) a o 9 ■o re X V I «5 o re re O Binary Bit 7 to BitO re u o re .E *o Q u 0> ■D re X OS I NUL 00000000 000 000 00 00110000 060 048 30 SOH 00000001 001 001 01 1 00110001 061 049 31 STX 00000Q10 002 002 02 2 00110010 062 050 32 ETX 0000001 1 003 003 03 3 00110011 063 051 33 EOT 00000100 004 004 04 4 00110100 064 052 34 ENQ 00000101 005 005 05 5 0011Q101 065 053 35 ACK 00000110 006 006 06 6 00110110 066 054 36 BEL 00000111 007 007 07 7 00110111 067 055 37 BS 00001 000 010 008 08 8 00111000 070 056 38 HT 00001001 011 009 09 9 00111001 071 057 39 LF 00001010 012 010 0A 00111010 072 058 3A VT 00001011 013 011 0B ) 00111011 073 059 3B FF 0Q001100 014 012 0C < 00111100 074 060 3C CR 00Q01101 015 013 0D = 00111101 075 061 3D SO 00001110 016 014 0E > 00111110 076 062 3E SI 00001111 017 015 OF ? 00111111 077 063 3F DLE 00010000 020 016 10 @ 01000000 100 064 40 DC1 00010001 021 017 11 A 01000001 101 065 41 DC2 00010010 022 018 12 B 01000010 102 066 42 DC3 00010011 023 019 13 C 01000011 103 067 43 DC4 00010100 024 020 14 D 01000100 104 068 44 NAK 00010101 025 021 15 E 01000101 105 069 45 SYN 00010110 026 022 16 F 01000110 106 070 46 ETB 00010111 027 023 17 G 01000111 107 071 47 CAN 00011000 030 024 18 H 01001000 110 072 48 EM 00011001 031 025 19 I 01001001 111 073 49 SUB 00011010 032 026 1A J 01001010 112 074 4A ESC 00011011 033 027 1B K 01001011 113 075 4B FS 00011100 034 028 1C L 01001100 114 076 4C GS 00011101 035 029 1D M 01001101 115 077 4D RS 00011110 036 030 IE N 01001110 116 078 4E US 00011111 037 031 1F O 01001111 117 079 4F SP 00100000 040 032 20 P 01010000 120 080 50 ! 00100001 041 033 21 Q 01010001 121 081 51 " 00100010 042 034 22 R 01010010 122 082 52 # 00100011 043 035 23 S 01010011 123 083 53 $ 00100100 044 036 24 T 01010100 124 084 54 % 00100101 045 037 25 U 01010101 125 085 55 & 00100110 046 038 26 V 01010110 126 086 56 ' 00100111 047 039 27 w 01010111 127 087 57 ( 00101000 050 040 28 X 01011000 130 088 58 ) 00101001 051 041 29 Y 01011001 131 089 59 * 00101010 052 042 2A z 01011010 132 090 5A + 00101011 053 043 2B [ 01011011 133 091 5B 00101100 054 044 2C \ 01011100 134 092 5C — 00101101 055 045 2D ] 01011101 135 093 5D 00101110 056 046 2E A 01011110 136 094 5E / 00101111 057 047 2F - 01011111 137 095 5F Abbreviations for Control Characters: NUL — null, or all zeros DC1 — device control 1 SOH — start of heading DC2 — device control 2 STX — start of text DC3 — device control 3 ETX — end of text DC4 — device control 4 EOT — end of transmission NAK — negative acknowledge ENQ — enquiry SYN — synchronous idle ACK — acknowledge ETB — end of transmission block BEL - bell CAN — cancel BS — backspace EM — end of medium HT — horizontal tabulation SUB — substitute LF — line feed ESC — escape VT — vertical tabulation FS — file separator FF — form feed GS — group separator CR — carriage return RS — record separator SO — shift out US — unit separator SI — shift in SP — space DLE — data link escape DEL — delete BYTE February 1978 19 COMPLETE >k iwgi^Ei? MAN/PAK HORIZON-2 COMPUTER Z80 CPU 32K Memory with Parity Option 12 Slot Motherboard Parallel & Serial Interfaces 6 100 Pin Edge Connectors Dual Floppy (1B0.000 Bytes) Enhanced DOS/Basic COMPU 1-2-3 SYSTEM k HAZELTINE 1500 I VIDEO TERMINAL Programmable Brightness Levels Automatic Repeat on all Keys 24x80 Display on 12" screen Non-Glare/High Legibility Upper/Lower Case Reversible Video Audible Alarm vl -J READY-TO -GO! PLU 3 CENTRONICS 779 SERIAL PRINTER ■ Excellent Print Quality ■ Tractor Feed ■ Print Speed: 21-130 Ipm ■ Max. Print Width 8" ■ 80 or 132 char/line )S with I/O Drivers for HAZELTINE & CENTRONICS ■ All Cables 10 Diskettes OPERATIONAL IN SECONDS: ® Connect fli\ Cables \^J Insert DOS Diskette ©! Hit Reset SAVE TIME, ENERGY & MONEY! Components purchased separately cost $5693. Now for a limited time only — send $5145 to: 120 Bethpage Rd. ■ Hicksville, N.Y. 11801 or CALL COLLECT: (516) 433-0613 Gentlemen: Please rush me my Complete Computer System. Enclosed is $5145 □ Check □ M.O. D Master Charge □ BankAmericard # Exp. Date: N.Y. Residents Add 8% Sales Tax. Shipped F.O.B. Hicksville, N.Y. - Collect. Name. Address. City .Phone. .State. -Zip. □ Please send more information Dealer Inquiries Invited Letters CELTIC PIANO NOTES I was very interested in the article, "Notes on Interfacing Player Pianos" (September 1977 BYTE, page 112), especially since this was the subject of a student project here in 1973-74 by Stephen Cowles. The piano, which I bought for the university laboratory, was a simple MORS 88 note nonreproducing model, and we found the electronic/ pneumatic interface to be the most difficult part. I was delighted therefore to hear about the Reisner relay. The original system was a dual track cassette for serial clock and data plus circuitry which looks very much like figure 4 of your article, and in my opinion having constructed the special TTL electronics and got it to work, there is a better solution. This year we are building a general interface which can be connected up to any player piano having rubber tubing, and strongly believe that the cheapest solution, bearing in mind building time and fault finding, etc, is to use a micro- computer with about 98 parallel output lines (say Motorola PIAs) driven by a microprocessor which receives the serial data in any of the standard ways. Our original system only played "Three Blind Mice" rather shakily from a PDP-11/45, but we did write a PDP-11 interactive compiler which constructed keyboard images directly from typed-in sheet music, and we shall keep that sys- tem for making the magtapes. We will let you know how the new system comes along. Prof F G Heath Gavin Weir Heriot-Watt University 31-35 Grassmarket Edinburgh SCOTLAND EH1 2HT ORGANS, MUSIC AND PROGRAMMING Chances are, it's occurred to you long ago: there's an amusing philosophical similarity between organ stop lists and computer machine language instruction lists. Nicholas Bodley 300 W 108 New York NY 10025 One might consider the organ stop list as being equivalent to initialization data for a complicated program. Con- sider the score to be the equivalent of a music program. The parallels are very, very strong and tend to drive a number of people into music as well as program- ming. We've heard it said by some people Circle 66 or responsible for hiring programmers that musicians make excellent programmers. BARCODE ON A BALL Regarding the letter on page 12 of the October 1977 BYTE concerning an IBM ball that will print bar code and letters together: Datatype Corporation, 1050 NW 163rd Dr, Miami FL 33169, (305) 625-8451, had such a system. Bar code was ASCII. I don't know if they're still in business. Joe Fisher Computer Consultant 1120 E 52nd, Room 203 Austin TX 78723 NEWT POINTS I have some corrections on your part and on mine regarding my article about "Newt: A Mobile, Cognitive Robot" (June 1977 BYTE, page 30). First (my mistake), on page 38, the stepping motor drive circuit motor cable color desig- nations are wrong. The single color labels "red" and "green" should be interchanged or the motor will just sit there and quiver. In several places the shading of Newt in figure 1 is incorrectly done, making a single surface appear broken into two surfaces, etc. On page 30, the caption on figure 1 should have also mentioned that the turret is capable of panning left and right as well as tilting up and down. On page 44, it is not true that any mobile robot must incorporate programs for seeking electrical outlets. For example, a robot on Mars might have a hard time finding an outlet! On page 45, paragraph 1, the phrase "such as already demonstrated by the Viking robots" is unfortunate, since the Viking landers do not qualify as cog- nitive robots in the context of this article. They are sophisticated tele- operators. A Mars "rover" robot project, however, is in progress at Jet Propulsion Laboratories. I am looking forward to writing more about Newt as things progress over the next few years. One possibility is a series of four articles. The published article was an overview of the system with emphasis on the motive subsystem. Three more articles would cover in some detail the manipulator, the sensory turret vision system, and finally the software experiments with Newt. All this depends, of course, on how much we can get done in the next several years. I have been able to resume work on Newt almost immediately upon return- ing from France. The hand wired step- ping motor drivers have been replaced by compact printed circuit versions and next week an order will go out for about $400 worth of gears and bearings for the manipulator assembly. With luck, the manipulator should be working within six months. Other lower priority items being worked on at DATALYZER ... a 24 channel Logic Analyzer for your S100 Bus 24 Channel LOGIC ANALYZER, complete with 2 cards and 3 sets of probes. Features — 24 channels with 256 samples each. — Display of disassembled program flow. — Dual mode operation — external mode analyses any external logic system. Internal mode monitors users data and address bus. — Selectable trigger point anywhere in the 256 samples. — 0-16 bit trigger word format or external qualifier. — 8MHz sample rate — Synchronous clock sample with coincident or delayed clock mode. — User defined reference memory. — Displays and system control through keyboard entry. — TTL Logic level compatible (15 pf and 15 ua typical input loading.) Displays in Binary Displays in Hex Display of disassembled program flow. The DATALYZER Designed to plug easily into your S-100 Bus, the DATALYZER is a complete system — for only $495. Display of disassembled program flow is a standard feature, not an extra. And the low price includes 30 logic probes, so you can hook up immediately, without additional expense. The DATALYZER is available in kit form ($495), and as a fully assembled device on two PCB's ($595). Operators' manual $7.50. A substantial warranty, and the Databyte, Inc. commitment to service make the DATALYZER a worthwhile investment. Databyte, Inc. 7433 Hubbard Avenue Middleton, Wisconsin 53562 Tel: (608) 831-7666 Circle 36 on inquiry card. BYTE February 1978 21 WARBLE ALARM CAR-VAN CLOCK WITH HEADLIGHT ALARM ELAPSED TIMER SECONDS DISPLAY SWITCH 9 MINUTE SNOOZE ALARM SIMPLE4WIRE HOOK-UP JUMBO //'LEO DISPLAY 1 TO 59 MINUTE COUNTDOWN TIME n "'INS SIMULTANEOUSLY WITHULOCK! RUGGED ABS CASE COMPLETE KIT $35.95 ASSEMBLED $45.95 DIGITAL AUTO INSTRUMENTS »i tachometer SEVEN MODELS! »2 WATER TEMP. #3 FUEL LEVEL *4 SPEEDOMETER* #5 OIL PRESSURE «6 OIL TEMP. «7 BATTERY MONITOR Kll INCLUDES CASE A ALL (AfiDWA E PRESSURES FEMP.SE [DERS ASSEMBLED MAIN PC OAK II 4' ORANGE ED'S ABS CAS ■ADD $10 FOR REQUIRED SPEED SENDER . S15 FOR SPEED SENDER ALONE KIT: $49.95 ASSEMBLED: $59.95 ELECTRONIC 'PENDULUM' CLOCK SWING PENDULUM 7" HOURS AND MINUTES DISPLAY TIME SET PUSH BUTTONS ALARM FEATURE KIT-UNFINISHED CASE $59.95 ASSEMBLED-STAINED CASE $69.95 QUARTZ DIGITAL AUTO CLOCK OR ELAPSED TIMER! ELAPSED TIMER: HRS, WINS & SECS SIMPLE PUSHBUTTON RESET & HOLDTOGGLESWITCH KIT If/Cl UDES £ VERYTHING NOTHING £LS€ TO BUY! 4- LEDSI IN TEPNA L BATTERY BACK UP! NONPOLAR INPUT! 12 OR 24 HR MODE KIT: $27.95. ASSEMBLED: $37.95 WOW WITH ELAPSED TIME! 3Vz DIGITAL CLOCK 4 DIGIT KIT. $49.95 6 DIGIT KIT $69.95 <1 DIGIT ASSEMBLED. $59.95 6 DIGIT ASSEMBLED. §"]§ Q§ 117 VAC 12 OR 24 HR MODE KIT COMES COMPLETE! 5 DIGIT VERSION 27"* 5" x T1-". . . 4 DIGIT VERSION: IB" x 5" x Hi" i*:h • FAST, ACCURATE A/D, D/A CONVERSIONS • EIGHT ANALOG INPUT CHANNELS • ONE HIGH-SPEED ANALOG OUTPUT • OCCUPIES ONE I/O SLOT • $87.50 KIT $115.00 ASSM. SC-1 SERIAL INTERFACE CARD • RS-232 SERIAL INTERFACE • FULL CONTROL SIGNALS IMPLEMENTED • MOST VERSATILE SERIAL I/O AVAILABLE {• $30.00 KIT $40.00 ASSM. FOR MOTOROLA "D2" /DA-1 UPGRADE KIT • CONVERTS D2 TO TERMINAL I/O • RETAINS FULL CASSETTE I/O CAPABILITY • INCLUDES RT/68MX ROM - MONITOR/O.S. • ALLOWS USE OF BASIC, EDITORS, ASSEMBLERS, ETC. • RS-232 SERIAL INTERFACE • DA1 w/70 p. MANUAL $69.95 MOTOROLA MMS68104 16K RAM • 16K BYTES DYNAMIC RAM • ENGINEERED SPECIFICALLY FOR "D2' • EXORCISOR — TYPE BUSS V $395.00 ASSEMBLED M6800 SOFTWARE /A/BASIC COMPILER • 8K EXTENDED BASIC COMPILER • CONVERTS BASIC PROGRAMS TO FAST, MEMORY EFFICIENT MACHINE LANGUAGE • DESIGNED'FOR RT/68 — SUPPORTS MULTIPROGRAMMING • EXTREMELY VERSATILE I/O • KC CASSETTE + MANUAL — $49.95 RT/68MX OPERATING SYSTEM • EXPANDEDCONSOLE MONITOR ROM • REAL TIME OPERATING SYSTEM • DIRECT MIKBUG REPLACEMENT • PIA OR MULTI-ACIA I/O V RT/68MX ROM w/MANUAL $55.00 J U.S. Orders Postpaid Master Charge & VISA Welcome Write or call for Free Catalog. MICROWVRE SYSTEMS CORPORATION P.O. BOX 954 • DES MOINES, IOWA 50304 • (515) 279-9856 24 BYTE February 1978 Circle 74 on inquiry card. Figure 7: The Venn dia- gram universe is the collec- tion of all points in the rectangle; the points inside the circle (p) are points corresponding to terminal p being H. Those outside (p) refer to p=L Some Musings on Boolean Algebra The purpose of this article is to unify the concepts of digital electronics, the graphical representation of set theory and proposi- tional calculus, using Boolean algebra. Our motivation for the background work repre- sented in this article was the design of an encoder for a surplus keyboard. That was as much a problem in set theory and propo- sitional calculus as it was in digital design. First a note about the subject matter of this article. The availability of MSI and LSI makes the systematic reduction of many logic functions a waste of both time and money. For example you can buy an 8 bit addressable latch for about $1.50. Synthe- sizing it out of small scale integration can take some 75 gates or 30 integrated circuits. No money or time savings here! The fol- lowing techniques are quite general, though, and you can certainly find design problems that don't have off-the-shelf solutions. In this particular case (keyboard encoding), off-the-shelf solutions exist. But learning about logic design techniques requires illustrative examples. Encoding a large set of inputs serves well as such an example. In the various systems, digital, graphical and logical, analogous concepts are expressed differently. We're going to show the equiv- alences which exist. Digitally and logically we have a "system," where graphically we have a "universe." Universe and system will mean the same thing to us. Our system is composed of "states," while our universe consists of "points." The meaning of point will be clearer after we've explained state. Physically we picture a device with several terminals, some input and output, the others internal, perhaps not even accessible. Sup- pose there are N terminals, each of which can have its signal level high (H) or low (L). H and L are the two possible states of any terminal. We want to know how many states the system has. There are two states for the first terminal, times two states for the sec- ond, times two for the third, . . . times two for the N tn , giving a total of 2 N states for the system. Another way to express this is to consider each terminal of the device to be represented by some bit in a binary word. For N terminals we need an N bit binary word, the p tn bit representing the state of the p tn terminal. Since an N bit binary word can take 2^ different values, our system must have 2^ different states. Each possible arrangement of Hs and Ls on the various terminals defines a unique system state, which corresponds to a point in our equiva- lent Venn diagram universe. The logical analogy to the digital terminal is the proposi- tion, merely a statement, which is true (T) =1 or false (F) = 0. Think of any device terminal, call it p and define the proposition which is T when p = H and F when p = L. Of course we call this proposition p also. Graphically we col- lect all the points of our universe which correspond to system states with terminal p = H and enclose them in a curve as in figure 1. It is the interior of this region that corresponds to p. In summary we equate propositions with regions and label them p, q, r, etc. If a device has two inputs, two outputs and four internal terminals then the universe has 2& = 256 possible states or points. The aforementioned keyboard en- coder is a 64 input, 7 output and n internal terminal device where minimizing the un- known, n, is one way of stating the logic design problem. Venn diagrams are an easy way to demon- strate the laws of logic. For example it's an Dan Bunce 139 Morewood Av Pittsburgh PA 15213 Art Schwartz 740 Broughton St Pittsburgh PA 15213 BYTE rebruary 1978 25 Figure 2: The output of the inverter is the com- plement of the input. A small circle means invert the signal. The triangle symbolizes an amplifier or "buffer" of the digital signal. Figure 4: A degenerate case of figure 3a. Specifi- cally, the empty set: pAq=0. Said differently, there are no states for this system with p=H and q=L. Figure 5: A 2 input AND gate is shown in (a) and a 2 input OR gate is shown in (b). Equivalences for the "inverted" forms of these gates are shown at (c), NAND; and at (d), NOR. Figure 3a: The most gen- eral example of two vari- ables. Apparently different examples are degenerate cases of this figure. axiom of logic that (p) = p. (An axiom is something that you can't prove; you simply must assume it is true in order to build a system of thought.) Figure 1 makes this very plausible because p partitions the universe into the regions p and p (read as not p or complement of p). p lies outside of p. Now what lies outside of p? It can't be p and it must be inside the universe. All that's left is p. It seems reasonable to accept (p) = p. The inverter or inverter gate (fig- ure 2) is the digital device that generates the complement of its input. The excitement begins when we label some other terminal q and associate with it the proposition which is true when terminal q = H. Then p and q together partition our universe as shown in figure 3a. For even two variables there are many possibilities, one of which is shown in figure 4. This relation is written p = > q; another common form is p<=q (read as p implies q or p is contained in q). In this example look at the areas p and q. Area q is smaller than and wholly contained within p. This illustrates another of the axioms of logic, (p = >q)=>(q=>p). Of course we might have the other case, q = > p. If we have p = > q and also have q = > p we then have the definition p = q. Implication and equation are distinct concepts. ;:£>"< :Z> pvq ) L^°~~ saME AS JP I y \s°~ same as — j J° — Figure 3b: The region pyq is shaded. The region r of the text is unshaded. There are many other possibilities for two variables but they're all special cases of figure 3a. In general some points will lie in both p and q. Call this set of states s and write s = pAq, read s = p and q. This is often written s = pq symbolic of ordinary multi- plication, since associating the possible binary values of or 1 with the variables p and q gives numerically correct results for s. Digitally we realize this set with the AND gate as shown in figure 5a. We'll call it the set of states for which p = T and q = F. We see that we can write t = pAq. A third region is u = pAq. What about the fourth region, that for which p and q are both L? Certainly this set r = pAq. But we can describe it differently. First we form the set for which either p or q = 1 . This is the region of both circles and is shown in figure 3b. It is the set pvq (p or q) which, since we're adding areas, is sometimes written p + q. It comes as no great surprise that the OR gate exists for just this purpose (see figure 5b). When we form the complement of pvq, we again get the set r! Our diagrams have given us one of De- Morgan's laws: pAq = (pvq)- We can get an equivalent form of the law by taking the complement of both sides of the equation, (pAq) = pvq- Fi gure 3a also gives us the oth er law , pvq = (pvq), which is equivalent to (pvq) = PAq. Now you begin to see where we're going. If we want our system to generate pAq from p and q we have options. We could use either a NOR gate (NOR = > not OR), or an inverter each for p and q followed by a 2 input NAND gate. In a NOR gate the inver- ter follows the OR gate. Use figure 3a to convince yourself that pvq is different from (p vq). There are NAND gates as well and you've probably guessed what they do. It's worth noting that in the usual mode of operation a transistor inverts the signal. Consequently NANDs and NORs are more easily fabricated than ANDs and ORs, and more often used. Now a reminder about what all this 26 BYTE Fcbnwy 1978 Figure 6: Diagram used to show operations are associ- ative and distributive. \> means. The ps and qs are terminals, regions or propositions. But most of all they're or 1 . pAq is also or 1 . If p = 1 at the same time that q = 1 then pAq = 1, if either (or both) is then pAq = 0. What about pVq? If both are 0, pvq is 0, but if either is 1 then pVq = 1. One objection to the notation + for OR is that 1+1=1. We can consider three variables by referring to figure 6. Convince yourself of the following: (pvq)vs=pv(qvs)=p v qvs (p Aq)AS = p A(q As) = p Aq As. In words, the operation v and A are associative. The next two examples are only a little harder to see: p v(qAs) = (pvq) a(pvs) p A (qvs) = (pAq)V( P As). In mathematical parlance, the operations are distributive. The formulas show that within a set of parentheses order doesn't count; that is pAq = qAP or pVq = qVP- This means the operators are commutative. We want to write equations in more than three variables but shading the subregions of five circles creates eye strain faster than un- derstanding. Our diagrams have been most helpful, though, for we can go on symbol- ically, by repeated application of what we've already learned. Let's work out an example. Jo reduce x = [(pvq) vs] At we define a new vari- able, and continue to define new variables as often as necessary: u = (pvq) Vs, so the original expres sion takes the simplified form x = uAt = (UVT). W hat's u? lust plug in u = (p v q) V s, sou = (pvq vs). Substitute back and write: x = [(p v q V s) V t] . One circuit that generates x is shown in figure 7. We emphasize again, x is a number, either or 1, and its value depends on the values of p, q, sand t. For many variables, we'll run out of let- ters to designate propositions. There's an easy way around this. If we have a proposi- tion a, and later in the problem we find we'd like to call a different proposition a also, we tack on subscripts. The first proposition becomes a(1), read a-one or a-sub-one, the second a(2). We never run out of subscripted letters, but more important subscripting allows a more compact notation. When we have a(1) v a(2) v a(3) V . . . v a(n) we write this as n V i=1 0). Similarly we can form b(1)Ab(2)A...A b(m) m : A (b(j)). The first time you encounter this notation it appears awkward. In fact it's very effi- cient, but like any unfamiliar concept it requires some mental accommodation. When- ever you feel uncomfortable with it just go back to the definition and expand it. It soon becomes second nature. We'll pose and solve a final problem. The Teletypewriter keyboard which started this article has 64 switches. We wanted a circuit which shows when any of the switches have been pressed. The goal is, in effect, a 64 input OR gate. Nobody makes such a thing (if they did they'd need a 68 pin package to put it in), but we can synthesize it. Just follow the expansion: V ai = where b(1,j)=a(j),b(2,j) = a(16+j)...b(8,j) b(i,i = a(8+j), b(3, a(56+j). Once you understand how to break OR into NOR then NAND (reading from inside the parentheses since that's the way the signal flows), you can nest successively, generating: Figure 7: Circuit repre- senting the equation: x=l(p\/q) vs/ f\t. BYlt Fcbruan l'J78 27 a(i T> €> X>i ^€^ fO va (i) I" 1 F/gwre 5: A 64 input OR gate. Dotted lines indicate repetition of the relevant element. For example, there are 32 2 input NOR gates at the leftmost level. 4 A 1 [2/4 V A 1 \1 "2 V d(i, 1 ,k,l) )l NORs. Four of these come in one integrated circuit package which means we need eight packages at the input level. The second level requires four packages since there are two of these gates in each integrated circuit, the third two packages and the fourth one half package. The circuit uses approximately 15 integrated circuits. We achieve the same result more directly if we begin with the complemented signal from each switch. In practice this means the switch is wired H rather than L. It is neither more nor less difficult. We write the following: V(a(i)) 4 /4 T4 A [ V A 1 \i Li (c(j, k, I)) beginning with complemented signals we need 4 input NANDs, NORs, and NANDs, as shown in figure 9a. An even more direct means to our end is the following formula which is illustrated in figure 9b: V(a(i)) A 1 V (b(j, k)) 1 Working from the inside out we need NOR gates, NAND gates, NOR gates, NAND gates. 2 input NORs are common, as are 4 input NANDs. If we feed the 64 input signals into 32 2 input NORs, their outputs into eight 4 input NANDs then on into four 2 input NORs and finally into a 4 input NAND, we have a 64 input OR. Using a logic circuit representation, figure 8 shows how this expression might be wired. At the first level we've used 32 2 input where all NAND and NORs are 8 input. This requires only nine packages. The only thing wrong with the last method is 8 input NORs are unusual. They are available in newer CMOS, but not in low numbered (7400) TTL. Since there are other nearly as simple and certainly less expensive ways of doing the job it hardly pays to look for the special integrated circuits. Having established (or more correctly, justified) the laws of logic and worked a few a(i ){ Figure 9: Two different ways of building a 64 in- put OR gate. a(i)( =3 y°— Va( 28 BYTE February 1mp|%r/Controller he Answer For... Student Hobbyist Manufacturer 8700 Processor: 6503 MPU. Wear free "ActiveKeyboard", Micro-Diagnostic? Extensive documentation. FullySocketed. Pieblig Monitor: Relative address calculator. Pointer High-low. User Subroutines, Back- step key. CaSSCtte Interface: Load & Dump by file » . Tape motion control. Positive indication of operation. Applications systems from $90 (lOunit quantity) Development systems from $149 (single unit) tell me more ,;„;;, see for myself thtit the s70f> is The Answer. ( ) Please send documentation ;uid price lists. ?ii> enclosed. ( 1 I don' t need documentation nunc ( ) Please send FREE CATALOG. :.,ldr<'SS- ma "if V* vt:itr.- 7lp- ELECTRONICS DEPT2-B . 1Q20 W Wilshire Blvd. • Oklahoma City. OK 73116 (4051 843-9626 Y(m) 0.05 0.50 0.15 0.49 0.25 0.47 0.35 0.45 0.45 0.42 0.55 0.39 0.65 0.36 0.75 0.31 0.85 0.37 0.95 0.22 49 Listing 1 : This program simulates the vertical and angular motion of a boat In response to sea waves. Because it involves a lengthy summation, it is inherently slow. I have, therefore, used only the second order predictor corrector formu- las, and have employed a large step size. Readers who want more accuracy and who can afford to wait for results should implement the fourth order equations presented in my previous article on automotive applications (December 1977 BYTE, page 112). They should also increase the number of "bottles" used to describe the hull, and decrease the step size. It should also be noted that the program does not simulate the viscous damping action of the water. As a result, if you are unfortunate enough to specify a resonant frequency of the hull as the wave period, the boat will appear to leap out of the water. While this result is obviously erroneous, it will highlight a design to be avoided. 100 lie in 112 120 148 150 160 170 180 190 200 209 210 211 212 214 216 218 220 230 240 250 260 270 280 290 300 310 315 320 321 336 34(3 345 346 356 360 376 375 376 386 396 460 410 428 436 440 445 450 460 470 475 480 490 500 508 510 520 530 540 550 560 570 571 666 636 640 668 665 666 667 668 669 REM SHIP MOTION SIMULATION REM DESCIBE HULL CROSS SECTION REM X IS DISTANCE FROM CG TO CENTER OF BOTTLE REM Y IS LENGTH OF BOTTLE BELOW WATER AT EQUILIBRIUM DIM xae>,Y DATA 0.05,0.5,0.15.0.49,0.25,0.47,0.35,0.45,0.45,0.42 DATA 0.55,0.39,0.65,0.36,0.75,0.31,8.85,0.27,0.95,0.22 FOR J=l TO 10 READ XU>,Y NEXT J REM SET BUOYANCY FACTOR; "BOTTLE AREA"*DENSITY*9. 8 6=6.01*1.03*9.8 REM COMPUTE MASS*2 NEXT J REM SET SEA STATE: HEIGHT(H), LENGTHCL). PERIOD(P) H=8.2 L=5 P-2 REM INITIALIZE INTEGRATION VARIABLES DATA 0,0,0,0,0,0,0,8,8,8,0,6,8,0 READ Z,Z1,V,V1,A,A1,R,R1,Q,Q1,C,C1,T REM INITIALIZE STEP SIZE AND PRINT INTERVAL D=0.1 K>0 K1-0.1/D PRINT "TIME. SEC) VERTICAL POSITION(M) ANGULAR POSITION(DEG) ' REM SUM FORCES AND MOMENTS ON THE "BOTTLES" G0SU8 666 REM PREDICT VERTICAL MOTION REM A.U.Z ARE ACCELERATION. SPEED, AND POSITION A1=F "M-9.8 V=V1+D*A1 Z=Z1+D*V1 REM PREDICT ANGULAR MOTION REM C,0,P ARE ACCELERATION, SPEED, AND POSITION C1=G-'I Q=fll+D+Cl R=R1+D*Q1 REM SUM NEW FORCES AND MOMENTS FOR CORRECTOR FORMULAS K=K+1 T=T+D GOSUB 660 REM CORRECT VERTICAL MOTION A=F/M-9.8 V=V1+D/2* Z=Z1+D^2*(V+V1> REM CORRECT ANGULAR MOTION C=G.-'I Q=Q1+D/2* R=Rl+D--2*(Q+en REM PREPARE FOR NEXT STEP V1=V Z1=Z Q1=Q R1=R IF K.'L> > Wl=Y+W manner. The hull can now be described by a table of Xs and Ys. The Xs represent the distances from the center of gravity to the center of each bottle. The Ys represent the lengths of each bottle below the waterline at equilibrium. Now, instead of making a series of calculations for one or two bottles, we make them for many. Just as before, the sum of the forces influences the vertical motion of the center of gravity, and the sum of the moments influences the angular motion around the center of gravity. We now have an effective method for dealing with distributed forces. We simply divide the area over which the force acts into small segments. Within each segment, we neglect the distribution and calculate a discrete force and moment. Finally, we sum the force and moments to find the effects on the linear and angular speeds. I have included a BASIC program with this article to illustrate the technique as applied to our boating example. With the data supplied, it computes the rolling motion of the hull cross section pictured in figure 3. Boating enthusiasts will be able to insert some other hull cross sections (deep vee, trihull, etc) in the data statements and compare the response to the sample sea states. If lateral (side to side) sections are used, the program will simulate rolling motion. If longitudinal (fore and aft) sec- tions are used, the program will compute pitching motions. Interested readers should be able to extend the program to include three dimensional boat models and simulate both angular motions simultaneously. With the inclusion of techniques for handling distributed forc.es and combined angular and linear motion, your collection of software tools for simulating motion is fairly complete. When using these tools on a personal computer, you should try above all to limit the scope of your simulations. Determine which motions really interest you and neglect or restrict the others. Divide the simulation into degrees of freedom, pref- erably three or less if your program is to execute with reasonable speed. Compute each force and moment individually, then apportion and sum them within the degrees of freedom. Finally, step the velocity and the position into the future. Use a small step size in your early runs, 0.01 seconds or less. Increase it to save run time only as long as your results do not change significantly. Following this procedure, and using the BASIC programming examples I have pro- vided as a guide, you should be able to find some interesting new applications for your personal computer. 50 BYTE February 1978 Circle 89 on inquiry card. Listing 1, continued: 676 IF M1>0 THEN 672 671 Hl=8 672 F1=B*I41 673 G1=X(J> *F1 675 REM MIRROR IMAGE GUJES NEGATIVE HALF 678 H»H/2*SIN<£. 28318*< T/p-XC J>/L> > 679 W1=Y(J> -Z+SIH(R)*X6 THEN 682 681 Wl=8 682 F2=B*W1 789 G2=-X1GE FOR THE S/VIALL BUSINESS HAS ARRIVED! The Computer Mart is offering the first complete line of off-the-shelf professional business software! APPLICATIONS INCLUDE: • General Ledger— Daily Journal. Balance Sheet. Income State- ment, G/L Report. • Accounts Receivable — Daily Journal, Aged Receivables, Sales Journal, Statements, Customer Listing. Cash Receipts • Accounts Payable— Daily Journal. Open Payable. Vendor Checks. Check Register, Cash Disbursements • Payroll — Payroll Register. Quarter/Year-to-Date. Checks, 941's, W-2's. • Solar Energy Analysis— analysis of feasibility of solar energy • Mail-Label— add. delete and change functions, full sorting and letter writing capability CO/VIING SOON! • Project Control Accounting — provides logistic control and financial accounting of projects undertaken by the organization • Educational Performance Evaluation— a system to store and analyze student performance for any course which utilizes tests, quizzes and homework for grades • Medical Billing & Scheduling— clinical accounts receivable package. • Point of Sale Inventory Control — full inventory control from point of sale. • Micro Information Retrieval— sophisticated system for record access and manipulation • Time Input Processor— stand-alone system for processing time cards. • Word Processor— full function, CRT display, editing We will not be undersold by any company with nationally ad- vertised prices on any of the following hardware: IMSAI DIGITAL GROUP CROMEMCO PROCESSOR TECH NORTH STAR VECTOR TDL LEARSIEGLER ICOM SWTP SEALS IMS SOLID STATE MUSIC SD SALES HEURISTICS DATA GENERAL NATIONAL MULTIPLEX TELETYPE DECWRITERS GRI ALPHA MICRO MICRO-TERM INTEGRAL DATA Call for the lowest quote! (TDL Software interfaced to North Star Disk.) RICK INATOME — [■ETi[]iJt3i Hart 1800 W. 14 Mile - Royal Oak, Michigan 48073 - (313) 576-0900 Dearborn Hgts., Michigan OPENING SOON 420 Park Ave. W. Chatham, Ontario (519) 354-2840 Windsor, Ontario Canada Circle 28 on inquiry card. BYTE February I978 51 Photo I : A general view of the authors' light pen and interface circuit. The pen itself was made from a fairly standard marking pen with a photo diode mounted at the tip. A length of shielded cable runs from the diode through the pen body to the miniature phone connector which plugs into the jack on the circuit board. Add a $3 Light Pen to Your Video Display John Webster and John Young University of New Brunswick Audio Visual Services Kierstead Hall Fredricton, New Brunswick CANADA E3B 5A3 The use of a light pen can greatly facili- tate entry of display characters on your video display. The layout of complex game boards, charts and graphs, or character editing can be accomplished more quickly and easily if you have the ability to add or delete characters anywhere on the screen without first having to position the cursor. This article describes the design and con- struction of a very inexpensive light pen and driver program to accomplish this function with a Processor Technology VDIM-1 . The Circuit Figure 1 shows the light pen circuit that can be constructed for well under three dollars. When used with a VDM-1 it requires no additional 10 ports. Component layout of the circuit is noncritical. The authors' prototype was assembled on a small piece of perforated board and attached to the VDM-1 board. It could be mounted any- where in the computer or keyboard en- closure. A four foot shielded cable con- nects the photo diode to the other components through an optional jack. Any discarded ball point or felt tip pen may be used to house the diode. Alter- natively it may be attached to the end of the cable with heat shrink tubing. The smaller the diameter of your light pen body, the easier it will be to use. Any surplus quality photo diode may be used as a pickup. If the diode is of the type 52 BYTE February 1978 ALL TOGETHER NOW! The acclaimed Equinox 100® mainframe kit ($799) is now a complete S-100 system. Because now there is an Equinox 100® I/O interface kit ($120) that handles the hard work of interfacing all your peripherals. And Equinox 100® 4K memory kits ($109). Assembled 8K memory boards ($188). EQU/ATE® editor/assembler and BASIC-EQ® software on cassettes. It all goes together. It all works together. It's all together now at special system prices. See The Equinox System® at your local computer shop. Call toll-free to 800-648-5311. BAC/MC accepted. Or write Equinox Division, Parasitic Engineering, P.O. Box 6314, Albany California 94706. THE EQUINOX SYSTEM® When you put it together, it's really together. Circle 93 on inquiry card. BYTE February 1978 53 -I I- 31 ImS. APPROX. PHOTO SHIELDED DIODE / ^g^JACK +SVIFROM VOM-I) U— l6.7mS-»j l-^ TO SINGLE BIT <— * COMPUTER INPUT GND (FROM VDM-1 ) Figure I : This fairly simple circuit transforms light from the video monitor output into a TTL signal which can be monitored by a program such as that shown in figure 2 and listing I. A typical oscilloscope waveform of the out- put is shown in the figure. mounted in a plastic lens, a fine file and emery cloth may be used to flatten the end and provide a narrower angle of acceptance. When you have constructed the circuit, use an oscilloscope to monitor the output as you pass the pen across a television screen. A white area should produce an out- put as shown in figure one. A dark area should produce a 5 VDC level. Sensitivity can be adjusted by using the brightness and contrast controls on your television. Once you have a satisfactory output, the circuit may be wired to the VDM-1. The output of the circuit is connected to pin 14 of IC39 on the VDM-1 board. This is an input to a spare three state buffer on the status port. Then connect pin 13 of IC39 to pin 9 of IC39. This hooks the output of the three state buffer to data bit DI7. The output signal from the light pen will now appear on DI7 when an input from status port C8 is performed. Program Design The light pen circuit will produce a nega- tive output whenever a white screen area is sensed. This condition may be used by appropriate software to locate the pen's position on the 16 by 64 grid of the VDM- 1 's display. First, the top line of screen information is stored away and white cursors are written into all 64 positions of this line. The display is then scrolled so that this first line appears at the bottom of the screen and the rest of the screen is blanked. This is done by out- putting hexadecimal FO to the VDM-1 's status port (hexadecimal C8). The display is then scrolled upward one line at a time until an output from the pen is sensed indicating the proper line. Each time the value output to the status port is modified to scroll up one line, the status port value is also saved on the stack. As soon as the proper line is located, this status word is retrieved and decoded to find the actual unscrolled beginning of line address of the line the light pen is on. This decoding is achieved through a puzzling series of left rotations and additions in the BINGO section of the program. The resultant be- ginning of line address is then stored at locations hexadecimal ED and EH for future reference. Black is now written over the white line, position by position, until the output from the light pen disappears indicating the location of the pen. The value in register L now indicates the displacement from the beginning of the line. The values in hexa- decimal ED and EE are then recalled and L is added to the low order byte to produce the final H and L values for the light pen position. The information stored from the first line is returned to the screen and data 54 BYTE February 1978 Now f Artec has an expandable elephant for everyone! 8K- 32K of static RAM memory. Fully assembled or in kit form. No matter what your needs, Artec has a memory board for you. You can start with 8K of Tl 4044 memory on a 5.3" x 10" card and work your way up to a full 32K in 8K increments. The access time is only 250ns. The memory is addressable in 4K blocks and is perfect for S100 and battery aug- mented systems. The Artec 32K Expand- able Memory has four regulator positions, bank select and plenty of room for all necessary support hardware. It uses less than 1 amp per 8K of memory (3.9 for 32K), and only +8 volts. For five years Artec craftsmanship and reliability has been proven in tough industrial use. Now, you too can enjoy breadboards and memories that will work time after time. Send for an Artec board, your order will be sent the same day as received. ■ ^ : ■■■;■■■■■: «;£* Kit: Board & 8K of memory — $ 290.00 8K add on kits— $ 255.00 Full 32K board— $1,055.00 Circle 6 on inquiry card. Fully Assembled Board: 8K— $ 440.00 16K— $ 695.00 24K— $1,100.00 32K— $1,205.00 GP1 00— $20.00 Maximum design versatility along with standard address decoding and buffer- ing for S100 sys- tems. Room for 32 uncommitted 16 pin IC's, 5 bus buffer & decoding chips, 1 DIP address select switch, a 5 volt reg- ulator and more. High quality FR4 epoxy. All holes plated through. Reflowed solder circuitry. WW1 00— $20.00 A wire wrap bread- board, similar to the GP100. Allows wire wrap of all sizes of sockets in any sizes of sockets in any com- bination. An extra regulator position for multiple voltage appli- cations. Contact finger pads arranged for easy pin insertion. Buffering Kit— $12.65 All the necessary components to bootstrap any Artec board into your system. Buffering I/O, DIP switch heat sinks and every support chip you need. TO ORDER: Use your Mastercharge or BankAmericard. Or just send along a money order. We can accept only U.S. currency. Please include $3 handling on all orders. California residents add 6.0% sales tax. FOR MORE INFORMATION: For more in- formation about these or any of Artec's com- plete line of circuit boards or for either indus- trial or personal use, please call or write. A catalog will gladly be sent. Please send me: (Include Quantity) 32K GP100 WW100 □ I've enclosed a money order. n RankAmprirarrt bin Exp. Date Exp. Date City State Zip Calif. Res. add 6% Sales Tax $3.00 Handling End. 10% discount for students & computer club members. dRTGCaeCTRONOJNC 605 Old County Rd.,San Carlos, CA 94070 (415) 592-2740 BYTE February 1978 55 I 1 I CHEK CHECK i PEN STATUS FOR I 1/60 SEC. I I f START J move: STORE a WRITE WHITE ON FIRST LINE out: scroll SCREEN DEC:SUBTRACT I0H FROM SCROLLING STATUS WORD BINGO.-DECODE TO FIND BEGINNING ADDRESS OF LINE PEN IS ON WRITE BLACK ONE SQUARE RESTORE FIRST LINE ( EX ' T ) INCREMENT TO NEXT POSITION RESTORE FIRST LINE INPUT CHARACTER TO SCREEN Figure 2: The general design of a cursor control algorithm for use with the light pen. The authors' version was used with the Processor Technology VDM-I, but a similar procedure should be achievable with other video generators. Photo 2: Detail of the light pen interface, as constructed on Vero perforated board (a product which contains pre-etched copper runs to which components can be soldered). The three wires leaving at right go to the processor input, power and ground; the light pen input is through a miniature phone connector at left. from the keyboard is moved to the light pen position on the screen. The program then returns to the initialization section and waits for a new character. If speed of operation is more important than program length a more sophisticated binary search procedure may be used once the proper line is found. If half the line is written over with black before the output of the pen is checked then half the line may be eliminated with only one check. Six such checks will cover all 64 possible posi- tions on the line. Delay loops of at least 1/60 second must be incorporated into each check to insure that the scan lines at the pen location are actually being written to during the check. Using the Light Pen With the LIGHT program running, the computer waits for a keyboard entry and then scrolls the screen and begins its search. If it finds that the pen is not on the screen it. exits to the location stored at hexadecimal addresses 35 and 36. If the pen is on the screen its location is found and the data from the original key- board entry is entered at that location. The program then returns to INIT, restores the screen to its unscrolled format, and waits for another keyboard entry. In addition to facilitating the arrange- ment of complex displays or pictures, the light pen may be incorporated into any number of games (like tic-tac-toe) or utility programs. Editing of memory dumps, for example, can easily be accomplished by moving a block of memory to the screen, modifying it with the light pen, and then moving it back. 56 BYTE February 1978 Is your career growing as fast as ours? NET SALES 254 7 (Millions of Dollars) EARNINGS PER SHARE (In Dollars) 2.88 ■2.11- 1.53 1.21 I II MM 1973 1974 1975 1976 1977 (1977 Fiscal Year) 1973 1974 1975 1976 1977 "Adjusted to reflect a 3-for-1 stock split effected in the form of a 200% stock dividend declared in February 1973. New Products Engineers (Analog and Digital) Your responsibilities will in- clude new product introduction of state-of-the-art processors, peripherals and controllers to our Systems Integration Divi- sion. A BSEE degree or the equivalent is required with a minimum of 3 or more years of related experience. Diagnostic Programmers You will design, code and debug assembler language programs for fault isolation, to the chip level, in digital sys- tems. You will also write func- tional level system exercisers for stand-alone and disc-based real-time operating systems. Atechnical degreeortheequiv- alent experience is needed, together with a thorough under- standing of digital system hardware. Hardware trouble- shooting experience and 3 or more years' programming experience, preferably in diagnostics is very desirable, especially with strong assembly language skills. Test Engineers You will be responsible for PCB test engineering support for digital products such as CPU's, memories and options. Experience is required in solving engineering problems as they relate to test equipment, diagnostics, test philosophy and component fault isolation. You will also initiate and imple- ment improvements to the testing process and equipment, and provide coordination for the introduction of new prod- ucts into production. A BSEE degree and two or more years' experience in PCB test or Test Equipment Design. Manufacturing Engineers You will be responsible for providing floor support in the PCB assembly area. A BSME, BSIE or the equivalent with 3 years' experience in Manufac- turing Engineering is required. A knowledge of auto-insertion equipment assembly technique and soldering equipment is helpful. Senior Systems Technicians This position requires at least 3 years' experience, mini- mum, and an ASEE degree or its equivalent. Your background should include familiarity with CPU memory, moving head disks and related peripherals. Special Systems Technicians You will be working closely with the Special Systems Engi- neering Department in the design of non-standard com- puter products. A minimum of 3 years' experience and an ASEE degree or its equivalent is necessary. To apply for one of the above positions mail your resume to John Prendergast To apply for one of the above positions mail your resume to Tom Aldrich. To apply for one of the above positions mail your resume to Rene Santini. Data General Corporation, Route 9, Southboro, MA 01772. Data General is an equal opportunity employer, M/F. IrDataGeneral BYTE February 1978 57 Address Hex Code 0000 31 F6 00 0003 21 00 CC 0006 01 40 AO 0009 11 AD 00 OOOC AF OOOD D3 C8 OOOF DB 00 0011 E6 40 0013 CA OF 00 0016 CD 37 00 0019 3E FO 001B 4F 001C D3 C8 001E C3 42 00 0021 D6 10 0023 B9 0024 C2 1C 00 0027 DB 01 0029 11 00 CC 002C 21 AD 00 002F OE ED 0031 CD 37 00 0034 C3 YY XX 0037 7E 0038 70 0039 12 O03A 23 003B 13 003C 79 003D BD 003E C2 37 00 0041 C9 0042 C5 0043 01 FF 04 0046 F5 0047 DB CS 0049 07 004A D2 58 00 0O4D AF 004E OB 0O4F B8 0050 C2 47 00 0053 Fl 0054 CI 0055 C3 21 0" 0058 21 00 C 005B Fl 005C E6 CO 005E 07 005F 07 0060 84 0061 67 0062 3B 0063 3B 0064 Fl 0065 E6 30 0067 07 0068 07 0069 85 006A 6F OOGB 22 ED 00 OOGE 21 00 CC 0071 CI 0072 3E 20 0074 77 0075 06 AO 0077 AF 0078 05 0079 B8 0074 C2 78 00 007D 01 FF 04 0080 DB C8 0082 07 0083 D2 A9 00 0086 AF 0087 OB 0088 B8 0089 C2 80 00 008C 7D 008D 2A ED 00 0090 85 0091 6F 0092 22 ED 00 0095 11 00 CC 0098 21 AD 00 009B OE ED 009D CD 37 00 OOAO 2A ED 00 00A3 DB 01 00A5 77 O0A6 C3 00 00 00A9 23 OOAA C3 72 00 0001 INIT LXI 3P,0F6II 0002 LXI H.OCCOOH 0003 LXI B,OA040H 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 0080 0081 0082 0083 00S4 0085 0086 0087 0088 0089 0090 0091 0092 0093 END LXI D.OADH XEA A OCT 0C8H STATIN IN 00 AMI 01011 JZ STATIN CALL MOVE MVI A.OFOH MOV C,A OUT OUT 0C8H JMP CHECK DEC SUI 010H CMP C JNZ OUT IN 01H LXI D, OCCOOII LXI H.OADH MVI C.OEDH CALL HOVE JMP XX YY MOVE >,£>V A,M MOV M,B STAX D INX II INX D MOV A,C CMP L JNZ MOVE RET CHECK PUSH B LXI B,04EFH PUSH PSW INPUT IN 0C8H RLC JNC BINGO XRA A DCX B CMP B JNZ INPUT POP PSW POP B JMP DEC BINGO LXI H, OCCOOII POP PSW ANI OCOH RLC RLC ADD H MOV H,A DCX SP DCX SP POP PSW ANI 030H RLC RLC ADD L MOV L,A SHLD OEDH LXI H.OCCOOH POP B CHEK MVI A.020II MOV M,A MVI B.OAOH XHA A DCL DCR B CMP B JNZ DCL LXI B.04FFH DECL IN 0C8H RLC JNC HERE XHA A DCX B CMP B JNZ DECL DIDO MOV A,L LHLD OEDH ADD L MOV L,A SHLD OEDH LXI D, OCCOOII LXI H.OADH MVI C.OEDH CALL MOVE LHLD OEDH IN 01H MOV M,A JMP INIT HERE INX H JMP QffiK Commentary H.L to first screen position load B with white cursor, load C with length of line to be stored first 'store to 1 address zero accumulator init screen to unscrolled format [ wait for key pressed store and write white value for scrolling and blanking scroll up line by line pen not on screen, reset status port 1 getting ready to restore line one to restore first line exit from LIGHT if line not found store and write white routine delay value test output from light-pen found line S keep checking for 1/60 sec. try next line decoding routine to find actual line starting address store beginning or line address to balance stack black square to screen delay value 1 check delay' value check for output from light pen not this square, try next decode to find actual value of L restore information to first line input data move data to screen Listing 7 : An 8080 program, hand assembled, to implement the flow chart of figure 2. Address constants and 10 port assignments are given for the authors ' system. ■ Rated G Great Locations ComputerLand Now Open: 3020 University Drive N.W. Huntsvilie, AL 35805 6743 Dublin Blvd. Dublin, CA 94566 11074 San Pablo Avenue El Cernto.CA 94530 22634 Foothill Blvd. Hayward, CA 94542 6840 La Cienega Blvd. Inglewood. CA 90302 24001 Via Fabncante,*904 Mission Viejo.CA 92630 4233 Convoy Street San Diego, CA 92111 117 Fremont Street San Francisco, CA 94105 42-42nd Avenue San Mateo, CA 94403 171 E. Thousand Oaks Blvd Thousand Oaks, CA 91360 104 W. First Street Tustin, CA 92680 2422 So Colorado Blvd. Denver, CO 80222 2475 Block Rock Turnpike Fairfield, CT 06430 Astro Shopping Center Kirkwood Highway Newark, DE 19711 Cumberland Square North Cobb Parkway (Route 41) Atlanta, GA 50 East Rand Road Arlington Heights, IL 60004 9511 No Milwaukee Avenue Miles, IL 60648 10935 S. Cicero Avenue Oak Lawn, IL 60453 813-B Lyndon Lane Louisville, KY 40222 16065 Frederick Road (Rt. 355) Rockville, MD 20855 2927-28th Street S.E. Kentwood, Ml 49508 29673 Northwestern Hwy Southfield, Ml 48034 419 Amherst Street (Rt. 101-A) Nashua, NH 03060 2 De Hart Street Mornstown, NJ 07960 1612 Niagara Falls Blvd. Buffalo, NY 14150 225 Elmira Road Ithaca, NY 14850 1288 SOM Center Road Cleveland, OH 44124 3300 Anderson Lane Austin, TX 78757 6439 Westheimer Houston, TX 77057 (713) 1500 South 336th Street Parkway Center, Suite 12 Federal Way, WA 98003 52-58 Clarence Street Sydney, NSW Australia NSW 2000 Franchises Available: Computerland Corp. 1922 Republic Ave. San Leandro.CA 94577 (415) 895-9363 (205)539-1200 (415) 828-8090 (415) 233-5010 (415)538-8080 (213) 776-8080 (714) 770-0131 (714) 560-9912 (415)546-1592 (415) 572-8080 (805)495-3554 (714)544-0542 (303) 759-4685 (203) 374-2227 (302)738-9656 (312)255-6438 (312) 967-1714 (312)422-8080 (502)425-8308 (301)948-7676 (616)942-2931 (313) 356-8111 (603)889-5238 (201) 539-4077 (716) 836-6511 (607) 277-4888 (216) 461-1200 (512) 452-5701 977-0909/0910 (206) 838-9363 29-3753 58 BYTE February 1978 Circle 24 on inquiry card. Rated 15 The Best Game in Town. Welcome to ComputerLand. An incredible adventure into the world of personal computers. A one-of-a-kind shopping experience. Each ComputerLand store presents everything you ever wanted to know about computers. And then some. Take our Game Room, for starters. You'll find excitement for the whole family in our endless variety of challenging computer games. You can battle the Klingons in an out-of-this-world game of StarTrek. Create an elec- tronic work of art with a computer controlled TV. Test your skill in a game of computerized hangman. You can even plot your biorhythm. But we're more than just fun and games. Each ComputerLand store offers a knowledgeable and person- able staff of professionals And if your system breaks down, our in-store service department will get you back up and running. Right now! Great Selection. Your first stop at ComputerLand may well be your last stop. ComputerLand offers the finest quality and to serve you. Plus the greatest avail- able selection of micro components. Whether it's a data processing system for your business or a computer controlled sprinkler system for your home, you'll find whatever you need at ComputerLand. Read on. Genuine Service. We want to supply you with the one system that's right. Rather than a com- plete system that isn't. Or a limited system that is. That's why, at Com- puterLand, you deal with real professionals who are also real people. People who speak your language ... in addition to BASIC, COBOL or FORTRAN. People, in short, who can offer both the novice and the old hand the same expert guidance in selecting the optimum system he or she needs. Yet, assisting in the purchase is only the beginning of ComputerLand's service. If the kit you bought requires a little more do-it-yourself than you yourself can do, we provide assembly assistance. If that complex program proves to be just that, we provide programming assistance. Circle 24 on inquiry card. 'largest selec- tion of all the major brand names. Like Apple Computer, Cromemco, DEC, Diablo. Hazeltine, ICOM, IMSAI, LearSiegler, National Semiconductor, North Star, Texas Instruments, Vector Graphics and more. Plus a complete inventory of tools, books and accessories. What's more, at ComputerLand, we deal in product. Not promises. Our inventory is on our own shelves. Rather than the manufacturer's. So you can take delivery on tomorrow's com- ponents today. , Which means, simply put, that at ComputerLand, you get exactly what you want. Exactly when you want it. Be Our Guest. Begin with the grand tour of our exhibit areas. "Test- drive" any of our individual systems. Then tell us your needs. We'll sit down and talk about the system that's right for you. It's as easy as that at ComputerLand. Thegreat computer store. RATED G. Call or write for the address of the ComputerLand store nearest you. Franchise opportunities available. ComputerLand 1922 Republic Avenue, San Leandro, CA 94577 (415) 895-9363 BYTE February 1978 59 Our MacroFloppy™ goes twice the distance. For $ 695. Circle 72 Introducing the Micropolis MacroFloppv"":1041 and :1042 disk drive sub- systems. For the S-100/8080/Z-80 bus. Packing 100% more capacity into a 5^-inch floppy disk than anyone else. 143K bytes, to be exact. For as little as S695. The MacroFloppy: 1041 comes with the Micropolis Mod I floppy packaged inside a protective enclosure (without power supply). And includes an S-100 controller. Interconnect cable. Micropolis BASIC User's Manual. A diskette con- taining Micropolis BASIC, and a compatible DOS with assembler and editor. The :1041 is even designed to be used either on your desk top, or to be inte- grated right into your S-100 chassis. The MacroFloppy:1042 comes with everything the :1041 has, and more. Such as d.c. regulators, its own line voltage power supply, and, to top it off, a striking cover. Making it look right at home just about anywhere. Both MacroFloppy systems are fully assembled, tested, bumecl-in, and tested again. For zero start-up pain, and long term reliability. They're also backed up by our famous Micropolis factory warranty. And both systems are priced just right. $695 for the MacroFloppy:1041 and $795 for the MacroFloppy:1042. You really couldn't ask for anything more. At Micropolis, we have more bytes in store for you. For a descriptive brochure, in the U.S. call or write Micropolis Corporation, 7959 Deering Avenue, Canoga Park, California 91304. Phone (213)703-1121. Or better yet, see your local dealer MICROPOLIS More bytes in store for you. Letter from the Publisher We would like to thank our readers for the essential part they have played in the growth of BYTE. From its inception in September of 1975, BYTE has experienced colossal growth to a circulation of over 1 10,000. And we are still growing. We have been doing everything we could to provide good service to the subscriber and have been suceeding, we believe, quite well. With such rapid growth and expansion, however, there is always the chance that not all things will move as efficiently as they should, and to some degree this has been the case with service to our subscribers. BYTE first handled its own subscription fulfillment, and it became apparent rather quickly that, with all the other procedures and duties performed to bring the reader a fine monthly publication, to continue handling subscription service in-house exceeded the bounds of practi- cality. As soon as was possible we employed a fulfillment service bureau to handle the bur- geoning roster of subscribers. In retrospect, it seems that no sooner did the new service take over our file than we outgrew them. As the size of the list and volume of orders became too great for us to handle in-house, so did the same happen with our newly adopted service bureau. Solution? 60 BYTE February 1978 TM MetaFloppy The Micropolis MetaFloppy™ gives you more than four times the capacity of anyone else's 5^-inch floppy Because it uses 77 tracks instead of the usual 55. The field-proven MetaFloppy, with thousands of units delivered, comes in a complete family of models. And, like our MacroFloppy'" family of disk drives, MetaFloppy is designed for the S-100/8080/Z-80 bus. For maximum capacity, choose our new MetaFloppy: 1054 system. Which actually provides you with more than a million bytes of reliable on-line stor- age. For less money than you'd believe possible. The MetaFloppy:1054 comes complete with four drives in dual config- uration. A controller. Power supply. Chassis. Enclosure. All cabling. A new BASIC software package. And a DOS with assembler and editor. There's even a built- in Autoload ROM to eliminate tiresome button pushing. If that's more storage than you need right now, try our MetaFloppy:1055, with 650,000 bytes on-line. Or our Meta- Floppy: 1045, with 515,000 bytes on-line. Either way. you can expand to over a million bytes on-line in easy stages, when you need to Or want to. In other words, if your application keeps growing, we've got you covered. With MetaFloppy. The system that goes beyond the floppy. For a descriptive brochure, in the U.S. call or write Micropolis Corporation, 7959 Deering Avenue, Canoga Park, California 91504 Phone (215) 705-1121. Or better yet, see your local dealer. MICROPOLIS" More bytes in store for you. goes beyond Circle 73 on inquiry card. Yes. BYTE went looking for a fulfillment agency big enough to suit our present needs with the capacity to service efficiently the many more subscribers we project we will have in the future, . .and we found one. If you are one of the people who have found our service a little less than satisfactory, we offer with this explanation our profound apologies, and feel that we can promise even better service to our subscribers in the future. Again, we offer our gratitude to our readers for helping to make BYTE what it is. Z^^^-X^w^^ Virginia Peschke Londner Publisher BYTE February 1978 61 SWEETS for KIM A Low Calorie Text Editor ENERG LDY #10 JSR WAIT LDY #0 STY PORT RTS WAIT LDX #200 LOOP DEX BNE LOOP DEY BNE WAIT RTS SET UP FOR 10 MSEC DELAY LOOP FOR THAT LONG SEND 0'S TO OUTPUT PORT TO TURN OFF MAGNET CURRENT RETURN TO CALLER NO. TIMES THRU INNER LOOP DECREMENT INNER LOOP COUNT LOOP UNTIL COUNT ISO DECREMENT OUTER LOOP COUNT LOOP UNTIL COUNT ISO RETURN TO CALLER Listing la: A segment of 6502 assembly language code used to demonstrate SWEETS, a Simple Way to Enter, Edit and Test Software. SWEETS is a small text editor and assembler which operates on hexadecimal code and which is designed to fit in the KIM-1 's I K byte small memory while leaving room for the user's programs. The key sequence for editing is shown in table lb. Dan Fylstra 22 Weitz St #3 Boston MA 02134 (ad) f f 1 © (AD) A A O © 2 2 © (AD) A O © 8 c 1 7 © © 6 © © P F 2 Q © A 2 C 8 F F 3 C A D 3 © 8 8 © D 2 6 F F 1 A A 2 2 A 8 c 1 7 6 F F 2 A 2 c 8 F F 3 C A D 3 8 8 D 2 6 Table la: The sequence of keys used to enter the program in listing la when using the SWEETS editor and assembler. The right side of the table shows the resulting LED readout seen at each step. Notice that an entire instruction is entered and displayed at one time. If you would like to experiment with microcomputers on a limited budget, the MOS Technology KIM-1 is an excellent choice. For $245, it comes preassembled with, among other things, a 6502 micro- processor, a read only memory monitor, an audio cassette interface, 1 K bytes of programmable memory, and its own special peripheral: a 23 key keyboard plus a 6 digit LED display. The monitor lets you load a machine language program byte by byte from the keyboard, and once loaded the program can be saved on tape via the audio cassette interface. The KIM-1 manual shows how you can "hand-translate" an assembly language program into the absolute hexa- decimal form required for keyboard entry. This is fine for very small programs, but the process of hand translation gets rather tedious after you've assembled a few hun- dred bytes of code. And, worse, once you've painstakingly worked out all the subroutine call addresses and branch displacements and keyed the whole program in, you in- variably find that you've forgotten some- thing. Often, instructions must be inserted or deleted in the middle of the program, which throws everything off by a few bytes. The obvious solution to this problem is to obtain a text editor and assembler pro- gram for the 6502. But, alas, such a program probably needs more than the 1 K bytes of memory provided on the KIM-1, and, more seriously, it requires an alphabetic charac- ter terminal device such as a Teletype. What if you can't afford the extra peripherals and memory? Are you doomed to spend most of your microcomputing hours keying in the same program over and over again? Maybe not. Perhaps we can avoid most 62 BYTE February 1978 LOADED WITH EXTRAS AT NO EXTRA COST Microprocessor controller Serial RS232C interface Parallel TTL level interface Full upper and lowercase ASCII character set (96 characters) Full 8V2 inch wide paper Line length of 80 columns at 10 characters per inch Impact printing 7 x 7 dot matrix Ordinary paper— roll, fanfold, or sheet Serial baud rate to 1200 bits per second Multiple line buffer of 256 characters Built-in self test mode Instantaneous print rate to 1 00 characters per second Sustained throughput to 50 characters per second Multiple copies without adjustment Reinking ribbon mechanism Expected ribbon life of 1 million characters Front panel operator controls Attractive table top console Check the impressive features on integral's newlP-125 Impact Printer onlyJj>/33 Complete, ready-to-operate . . the first impact printer to offer big printer performance at a mini-printer cost. Write for complete information or call (61 7) 926-1 011 <• Integral Data Systems * -■ INC 5 BRIDGE STREET WATER-TOWN,:- MASS. 021 72 . . . AND FOR VERY LITTLE MORE • Line lengths to 132 columns • Instantaneous print rate to 1 65 characters per second • Sustained throughput to 80 characters per second • Print densities of 8.3, 1 0, 1 2 and 1 6.5 characters per inch • Options program selectable by control codes • Full CRT screen size multiline buffer (2048 characters) • Special set of graphic symbols • Graphics mode dot plotting • Form feed control • Eight switch selectable form sizes • Automatic page boundary skip • Remote printer selection/ deselection • Automatic line feed on carriage return IP-225 "The Tractor Impact" only $"49 the pin feed version of the IP-1 25 with tractor drive forms control plus all the standard features of the IP-1 25. SWft ' ...::- ■ ^■iB|B ^Mi | | jj| «M8 F££D t»«R mm® p^*P^^^T* ^^ mgsajmm ifilll >" — §^=r=r^ F "IF ""— = f, : =?===; ===s§ Circle 58 on inquiry card. BYTE February 1978 63 of the tedium by concentrating on those features of a text editor and assembler which we really need. Although we'll be limited by the KIM-1 keyboard to hexa- decimal instruction entry, perhaps we can provide an automatic way . to insert and delete instructions and to fix up all those subroutine call addresses and branch dis- placements. And perhaps by limiting our- selves to these features, we'll be able to cram the "editor and assembler" into some fraction of the KIM's 1 l< of memory. This is the purpose of SWEETS. SWEETS is an example of a program invented to fit an acronym: It stands for Simple Way to Enter, Edit and Test Software. If you own a KIM-1 and have grown tired of absolute machine language programming, now you can step up to "symbolic hex"! While it's not as convenient as a real text editor and assembler, SWEETS can save you a lot of time and index finger soreness. SWEETS Functions Under the control of the KIM-1 monitor, the 6 digit LED display normally shows you the address and data of a single byte of memory. You can enter data using the hexadecimal keys, but this causes the data (GO) A (DA) A 8 C 1 7 Table lb: The procedure used in SWEETS to locate and delete an instruction, in this case the superfluous instruction LDY #0 (A000 in hexadecimal code). The rest of the program is moved up in memory and the next instruction is then displayed, as shown. 0200 A0 0A ENERG LDY #10 0202 20 09 02 JSR WAIT 0205 8C 00 17 STY PORT 0208 60 RTS 0209 A2 C8 WAIT LDX #200 020B CA LOOP DEX 020C DO FD BNE LOOP 020 E 88 DEY 020 F DO F8 BNE WAIT 0211 60 RTS Listing lb: The absolute hexadecimal form of the program segment shown in listing la after removal of the LDY #0 instruction (see table lb) and execution of the S WEETS assembler (shown for purposes of comparison in the format of an ordinary assembler output listing). previously in the displayed byte of memory to be destroyed. Under the control of SWEETS, however, an entire instruction of one, two or three bytes in length is displayed on the LEDs at any given time. An instruction can be inserted just before the displayed instruc- tion by pressing the AD key followed by from 2 to 6 hexadecimal keys. When this is done, the instruction just entered appears on the display; the old instruction and every- thing following it in the program area have been moved down to make room. Similarly, pressing the DA key causes the currently displayed instruction to be deleted, and everything following this instruction in the program area is moved up to eliminate the slack space. Successive instructions can be examined by pressing the + key, which advances to and displays the next complete instruction. And to go back to a previous point, or to find an arbitrary point in the instruction sequence, you can press the GO key fol- lowed by a two byte (four hexadecimal digit) search pattern. SWEETS will search for the first instruction(s) whose initial two bytes match the search pattern, and then will display this as the current instruction. This much of SWEETS can be used by itself; but so far we're still burdened by the need to calculate and adjust subroutine call addresses and branch displacements. To lift this burden, we can use hexadecimal "labels." A label is a 3 byte "pseudo- instruction" with an opcode of hexadecimal FF. The second byte is the "label number," any hexadecimal value, and the third byte is ignored. A label is inserted in the hexa- decimal instruction sequence at each point where an alphabetic label appears in a normal assembly listing. When we key in a subroutine call, jump, or relative branch in- struction, we enter the destination label number as the second byte of the instruc- tion, in place of a branch displacement or absolute address. As we insert and delete instructions, the "label" pseudo-instructions move up and down in memory along with the rest of the code. When we're ready for a test run of the edited program, we can use the KIM-1 monitor to execute the SWEETS "assem- bler." This program removes the label 64 BYTE February 1978 The difference is value. Take a look at our low-cost microcomputer's heavy duty cabinet. Even with the cover removed, it maintains its rigid structural integrity. But we don't stop there. Quality built Vector Graphic products, from boards and kits to complete systems — such as our Memorite turn-key text editor shown below — beat all competitors in mechanical, thermal and electrical design. Based on an 8080A microprocessor and the S-100 bus structure, Vector Graphic microcomputers are compatible (with the exception of minor I/O patches) with all of the current 8080A software. If you're designing small business systems, text editors, control equipment, games or even microprocessor development, it will pay you to look into our low cost microcomputers and interface boards, kits or assembled. Rush me details today. Yes, I'm interested in: □ Systems □ Boards, kits or assembled □ Microcomputers Name Firm Phone Address City /State/Zip Vector Graphic Inc., 790 Hampshire Rd., Westlake Village, C A 91 361 (805) 497-6853 cO=? G=* APHC inc. "i Sold and serviced nationally. Vector Graphic's microcomputer: What's in it for you? Word processing systems for $7,950 — features normally found in systems costing twice as much. Circle 123 on inquiry card. BYTE Tebruary 1978 65 CUD DAKEY ADKEY SCAN GOKEY STPKEY 1 MOVEUP REOEND DETLEN ADVANC MVDOWN ADVEND RDBYTE DETLEN ADVANC RDBYTE DETLEN SCAN SCAN DETLEN DETLEN Figure 1 : The subroutine calling tree structure of SWEETS. CMD, the control routine, maintains the LED display and scans the keyboard for a command key (by means of SCA N) and transfers to one of the four command processing subroutines, ADKEY, DAKEY, GOKEY or STPKEY. These routines perform the editing functions with the aid of three other subroutines: DETLEN (which determines instruction lengths), MVDOWN, and MOVEUP (which move portions of edited program down and up in memory, respectively). pseudo-instructions from the instruction sequence, and replaces label references in branch, jump and subroutine call instruc- tions with the proper branch displacements or absolute addresses. Then the edited pro- gram is ready for a test execution. (Since the test is likely to fail, leading to further changes in the edited program, we should always dump the program on the audio cassette in "symbolic hexadecimal" form before executing the SWEETS assembler. Then we can reload it later, replacing the program in memory which has been con- verted to absolute machine language.) As an example, suppose that you wished to enter the program segment shown in listing 1a, which is taken from an earlier BYTE article of mine (see "Selectric Key- board Printer Interface," June 1977 BYTE, page 46). Table 1a shows the keys you would press and the resulting instructions displayed on the LEDs by SWEETS. You might then notice that the instruction LDY #0 is superfluous after the call to subroutine WAIT, so you would search for and delete this instruction as shown in table 1b. Finally you would execute the SWEETS assembler, leaving the contents of the program area as shown in listing lb. Of course, we will pay some penalty for use of these features of SWEETS, since we will have less memory available for the program to be debugged while SWEETS itself is loaded and running. But larger programs usually can be divided into seg- ments, and loaded, "assembled," and de- bugged that way. Also, since the SWEETS hexadecimal editor and assembler run separately, we can conserve memory space by loading the assembler from tape when- ever we want to use it, overlaying the editor in memory and reloading it from tape in a similar way when we need it again. Although SWEETS is a useful tool in its present form, you will undoubtedly want to customize it for your own purposes. But to customize SWEETS you've got to under- stand exactly how it works, so let's take a look at the overall design of SWEETS before puzzling over its realization in 6502 assembly language. The SWEETS Editor The subroutine calling tree in figure 1 gives you a quick, "top-down" overall look at the SWEETS editor. CMD, the control routine, maintains the LED display and scans the keyboard for a command key (using SCAN) and then transfers to one of the command processing routines: ADKEY, DAKEY, GOKEY and STPKEY. These routines perform the editing functions with the aid of three critical subroutines: DET- LEN, which determines the length of an instruction in bytes based on its opcode; MVDOWN, which moves a portion of the edited program down in memory to make room for an inserted instruction; 66 BYTE February 1978 FEATURES: • ASCII code. The A J 841 I/O. A completely refurbished IBM Selectric Terminal with built-in ASCII interface. Just $ 995. 14.9 characters per second printout. Special introductory price — $995 [regularly $1,195). 75% discount from original price of new unit. Choice of RS 232 Serial Interface or Parallel Interface Order direct from factory. Documentation included. 30-day warranty - parts and labor. High quality Selectric printing. HOW TO ORDER AN AJ 841 I/O TERMINAL 1. Make cashier's check or money order payable to: ANDERSON JACOBSON, INC. Address your reauest to: Personal Computer Terminal ANDERSON JACOBSON, INC, 521 Charcot Avenue San Jose, CA 95131 2. Upon written notification, pick up your terminal at the AJ service office located in one of the above cities. Allow six to eight weeks for delivery. 3. A final check of your unit will be made at the local AJ service office at time of pickup. 4. For warranty or repair service, return unit to designated service location. 5. Available in U.S. only. \J* Reliable, heavy duty Selectric mechanism. Off-line use as typewriter. AJ 841 WARRANTY AND SERVICE IS AVAILABLE IN THE FOLLOWING CITIES: Los Angeles/Cincinnati Philadelphia / Detroit Hackensack / Dallas Columbus / Houston Cleveland /Atlanta San Jose / Chicago Boston / New York Washington, DC. For further information call (408) 263-8520 ANDERSON JACOBSON Anderson Jacobson, Inc , 521 Charcot Avenue San Jose. California 95131 CLIP AND MAIL WITHORDER SELECT EITHER: □ RS 232 Serial Interface (available June, 1978) □ Parallel Interface (connector to 3P + S included) Number of units . $995 each Sales fax at delivery location Shipping and handling $35 each (excluding San Jose) TOTAL NAME. ADDRESS . CITY -STATE. -ZIP PHONE I Circle 3 on inquiry card. BYTE February 1978 67 Figure 2: Three 16 bit pointers are used to man- age the edited program area. BEG A D points to the beginning of the program area; EN DAD points to the location immediately beyond the end of the program area, and CUR A D points to the currently displayed instruction. BEGAD /* EDITED PROGRAM AREA 1 1 ^y 1 1 CURAD 1 1 1 1 ENDAD 1 1 1 1 ; SET CURAD = BEGAD 1780 A5 EO BEGIN LDA BEGAD LOW-ORDER BYTE 1782 85 E4 STA CURAD 1784 A5 E1 LDA BEGAD+1 HIGH-ORDER BYTE 1786 85 E5 STA CURAD+1 1788 60 RTS RETURN TO CALLER ; CURAD = CURAD + BYTES, COMPARE TO ENDAD 1789 18 ADVANC CLC CLEAR CARRY 178A A5 E4 LDA CURAD LOW-ORDER BYTE 178C 65 E8 ADC BYTES 178E 85 E4 STA CURAD 1790 A5 E5 LDA CURAD+1 HIGH-ORDER BYTE 1792 69 00 ADC #0 1794 85 E5 STA CURAD+1 1796 C5 E3 CMP ENDAD+1 COMPARE HI-ORDER 1798 30 04 BMI ADRET 179A A5 E4 LDA CURAD 179C C5 E2 CMP ENDAD COMPARE LO-ORDER 179E 60 ADRET RTS RETURN TO CALLER ; ENDAD = ENDAD + BYTES 179F 18 ADVEND CLC CLEAR CARRY 17A0 A5 E2 LDA ENDAD LOW-ORDER BYTE 17A2 65 E8 ADC BYTES 17A4 85 E2 STA ENDAD 17A6 90 02 BCC ADRET1 CHECK CARRY 17A8 E6 E3 INC ENDAD+1 INCREMENT HI-ORDER 17AA 60 ADRET1 RTS RETURN TO CALLER ; ENDAD = ■ ENDAD - BYTES 17AB 38 REDEND SEC SET CARRY 17AC A5 E2 LDA ENDAD LOW-ORDER BYTE 17AE E5 E8 SBC BYTES 17B0 85 E2 STA ENDAD 17B2 BO 02 BCS REDRET CHECK CARRY 17B4 C6 E3 DEC ENDAD+1 DECREMENT HI-ORDER 17B6 60 REDRET RTS RETURN TO CALLER Listing 2: Four utility subroutines used by SWEETS to manipulate three 16 bit pointers which point to the beginning of the program area, the loca- tion just beyond the end of the program area, and the currently displayed instruction. and MOVEUP, which moves a portion of the program up in memory to eliminate the empty space created when an instruction is deleted. The edited program area is managed with the aid of three 16 bit pointers: BEGAD, which points to the beginning of the pro- gram area; ENDAD, which points just beyond the end of the program area; and CURAD, which points to the currently displayed instruction. This layout is shown in figure 2. Whenever a new instruction becomes the "current" one, subroutine DETLEN is called to determine its length in bytes, and this value is saved in the variable BYTES. The most basic functions we need in SWEETS are some utility routines to manipulate these 16 bit pointers on an 8 bit machine such as the 6502. The rou- tines we need are shown in listing 2. The most important one is ADVANC, which advances the current instruction pointer CURAD to the next instruction, and tests to see if the end of the program area has been reached. As we shall see later, STPKEY, the command processing routine for the + key, is basically just a call to ADVANC. Another basic function is the subroutine DETLEN, which we've already mentioned. It is shown in listing 3. The logic of this routine clearly depends on the system of encoding opcodes on the 6502: in most cases (DETLEN tests for the exceptions), the low order hexadecimal digit of the opcode tells us the instruction length. For example, all opcodes of the form x5 rep- resent two byte instructions, while all opcodes of the form xC represent three byte instructions. The heart of the SWEETS editor lies in the subroutines MOVEUP and MVDOWN, which are shown in listings 4a and 4b. The main concern in these routines is that we must be careful not to move a byte up or down to a location which contains another byte that will be moved later. For MOVE- UP, we must move bytes starting at CURAD and proceeding down to ENDAD, while for MVDOWN, we must move bytes in the opposite direction, as shown in figure 3. So far we haven't faced the issue of how to control our one and only peripheral, the KIM-1 keyboard and LED display. 68 BYTE February 1978 CHEAPER BY THE BYTE The Dual Digital Cassette Storage System Only $585. Only from Peripheral Vision For the first time ever there's an inexpensive, reliable system for mass data storage. Peripheral Vision introduces the Phi-Deck Cassette Storage System for the S-100 Bus. For only $585. That's right. $585. That gets you two Phi-Decks, controller card kit and power supply. Which means you get more bytes per buck. Take a look. The features: • Controller card supporting mutiple drives • Computer-controlled operating system — an 8080 version of PhiMon • Large data capacity: 254,000 8-bit bytes on C-30 cassettes 508,000 8-bit bytes on C-60 cassettes • Software error rate less than 1 bit in 10 s What our system allows you: • Indexed software controlled program file • Indexed random retrieval • Multipass compilers • Duplication and backup of important data • Large data files — lists, names, business accounts • System residence What our software operating system offers: • 8080-based design • Cyclic redundancy check (CRC) error detection • System retries after soft errors • Automatically bypasses hard errors • Block size from 1 to 256 bytes • Phi Deck Monitor Operating System How to get connected: With Peripheral Vision's new four-port I/O board. It's another one of our bargains. Only $85. To save you bucks. We've only given you a glimpse of our exciting new cassette storage system and the four-port I/O board. For more details, just fill in the coupon below. For cheap little bytes. PQ Box 6267'Denver. Colorado 80206 303 777-4292 O.K., I'll byte! Send me details on your cheaper way to store data and get it connected! Name Address. City/State/Zip. Circle 94 on inquiry card. BYTE February 1978 69 Listing 3: DETLEN, a subroutine which deter- mines instruction length based on op code. 0080 AO 00 0082 B1 E4 0084 AO 01 0086 C9 00 0088 FO 19 008A C9 40 008C FO 15 008 E C9 60 0090 FO 11 0092 AO 03 0094 C9 20 0096 FO OB 0098 29 1F 009A C9 19 009C FO 05 009 E 29 OF 00A0 AA 00 A 1 B4 A6 0OA3 84 E8 00A5 60 00A6 02 02 02 00A9 01 02 02 OOAC 02 01 OOAE 01 02 01 00B1 01 03 03 00 B4 03 03 DETLEN LDY #0 LDA (CURAD),Y PICK UP OPCODE DETLN1 LDY #1 ASSUME LENGTH IS 1 CMP #0 TEST FOR 'BRIO BEQ DETERM CMP #$40 TEST FOR 'RTI' BEQ DETERM CMP #$60 TEST FOR 'RTS' BEQ DETERM LDY #3 ASSUME LENGTH IS 3 CMP #$20 TEST FOR 'JSR' BEQ DETERM AND #$1F STRIP TO 5 BITS CMP #$19 TEST FOR ABS, Y BEQ DETERM AND #$0F STRIPT04 BITS TAX TO TABLE INDEX LDY LENTB,X LENGTH FROM TABLE DETERM STY BYTES SAVE IN 'BYTES' RTS RETURN TO CALLER LENTB .BYTE 2,2,2,1,2,2,2,1 .BYTE 1,2,1,1,3,3,3,3 17B7 A5 E4 MOVEUP LDA CURAD START MOVE FROM 17B9 85 E6 STA MOVAD BEGIN OF PROGRAM 17BB A5 E5 LDA CURAD+1 SEGMENT (CURAD) 17BD 85 E7 STA MOVAD+1 17BF A4 E8 UPLOOP LDY BYTES AMOUNT TO MOVE 17C1 B1 E6 LDA (MOVAD),Y FETCH BYTE 17C3 AO 00 LDY #0 17C5 91 E6 STA (MOVAD).Y STORE BYTE 17C7 A5 E6 LDA MOVAD CHECK FOR 17C9 A6 E7 LDX MOVAD+1 END OF MOVE 17CB C5 E2 CMP ENDAD LOW-ORDER BYTE 17CD DO 04 BNE INCMOV 17CF E4 E3 CPX ENDAD+1 HIGH-ORDER BYTE 17D1 FO 09 BEQ MVURET 17D3 E6 E6 INCMOV INC MOVAD INCREMENT LO-ORDER 17D5 DO E8 BNE UPLOOP 17D7 E6 E7 INC MOVAD+1 INCREMENT HI-ORDER 17D9 B8 CLV 17DA 50 E3 BVC UPLOOP BACK TO MOVE MORE 17DC 60 MVURET RTS RETURN TO CALLER 00B6 A5 E2 MVDOWN LDA ENDAD START MOVE FROM 00 B8 85 E6 STA MOVAD END OF PROGRAM OOBA A5 E3 LDA ENDAD+1 SEGMENT (ENDAD) OOBC 85 E7 STA MOVAD+1 OOBE AO 00 MVLOOP LDY #0 00C0 B1 E6 LDA (MOVAD).Y FETCH BYTE 00C2 A4 E8 LDY BYTES AMOUNT TO MOVE 00C4 91 E6 STA (MOVAD),Y STORE BYTE 00C6 A5 E6 LDA MOVAD CHECK FOR 00C8 A6 E7 LDX MOVAD+1 END OF MOVE OOCA C5 E4 CMP CURAD LOW-ORDER BYTE OOCC DO 04 BNE DECMOV OOCE E4 E5 CPX CURAD+1 HIGH-ORDER BYTE 00D0 FO OD BEQ MVDRET 00D2 38 DECMOV SEC SET CARRY 00D3 E9 01 SBC #1 DECREMENT LO-ORDER 00D5 85 E6 STA MOVAD 00D7 8A TXA 00 D8 E9 00 SBC #0 DECREMENT HI-ORDER OODA 85 E7 STA MOVAD+1 OODC B8 CLV OODD 50 DF BVC MVLOOP BACK TO MOVE MORE OODF 60 MVDRET RTS RETURN TO CALLER Listings 4a and 4b: Subroutines MOVEUP and MVDOWN, which form the heart of the SWEETS editor. MOVEUP moves 7 given program segment starting at address CURAD and ending at address EN DA D upward in mem- ory (toward decreasing addresses) by the amoun t stored in BYTES. MV- DOWN perf orms the same operation downward by the amount stored in BYTES. Fortunately, several routines are provided for this purpose in the KIM-1 monitor; the source listings for these routines are available on request from MOS Technology. In the SWEETS assembly code listings, we have underlined references to KIM-1 monitor subroutines and variables for easy identi- fication. We will use the KIM-1 subroutine SCAND1, which lights up the LEDs momen- tarily and checks to see if a key is pressed, and the subroutine GETKEY, which returns a numeric value in the accumulator telling us which particular key has been pressed. The six LED digits display the contents of three successive bytes in memory, de- noted POINTH, POINTL and INH in the KIM-1 monitor. Unfortunately, the order of these bytes is the opposite of the normal order of the bytes in an instruction in memory, so we must reverse the order as the first step of our subroutine SCAN (listing 5). The main additional complica- tion in this routine is the need to "debounce" the keyboard's bare contact switches in software. Since SWEETS performs its operations so quickly relative to a mechani- cal event, the key from the last operation invariably is still pressed when we come back to the keyboard looking for the next command. Also shown in listing 5 is sub- routine RDBYTE, which calls SCAN to read two successive hexadecimal digits from the keyboard. With all of this machinery in place, the top level logic is straightforward. The con- trol routine, CMD routine, and the com- mand processing routines are shown in listings 6a, 6b and 6c. The most complicated of the processing routines is ADKEY. It determines how many bytes to read for the inserted instruction, and displays each byte as it is entered; then it copies (in reverse 70 BYTE February 1978 THE FIRST AFFORDABLE MINICOMPUTER $895 ASSEMBLED READY TO COMPUTE, CALCULATE, CONTROL, OR ? ? . . . STANDARD FEATURES: Word Length 12 Bits Instruction Set PDP-8E Compatible Memory Size 8K, Expandable to 32K Extended Memory Control DEC Compatible Serial I/O Port DEC Compatible, current loop Parallel I/O Port Compatible with DEC DR-8 - EA Programmable Real Time Clock Compatible with DEC DK8 - EP Full Function Programmer's Front Panel Binary Load and Punch Routines in ROM T L E CORPORATION P.O. Box 2298, Littleton, Colorado 80161 303-922-6241 Telex 454541 Circle 1 19 on inquiry card. BYTE February 1978 71 Figure 3: Correct pro- cedures for moving pro- grams in SWEETS. Figure 3a shows that the upper- most location must be moved first when trans- ferring a section of pro- gram upward. Otherwise, some locations could be inadvertently destroyed. Figure 3b shows the anal- ogous situation for a down- ward movement of code. CURAD 1 1 ^^^ i 1 1 2 — (a! 3 ENDAD 4 1 I 1 1 —^3 0100 20 80 00 0103 AO 00 0105 A6 E8 0107 B1 E4 0109 95 F8 01 OB C8 01 OC CA 010D DO F8 010F 20 22 01 0112 DO FB 0114 20 22 01 0117 FO FB 0119 20 22 01 01 1C FO F6 01 1E 20 6A 1F 0121 60 0122 A4 E8 0124 A2 09 0126 A9 7F 0128 8D 41 17 012B 20 28 1F 012E 60 SCAN JSR DETLEN DETERMINE LENGTH ; COPY INSTRUCTION TO DISPLAY AREA, ; REVERSING ORDER OF INSTRUC. BYTES LDY »Q LDX BYTES SCOPY LDA (CURAD), Y INSTRUCTION BYTE STA INH-1.X TO DISPLAY AREA INY DEX BNE SCOPY ; LOGIC TO 'DEBOUNCE' KEYBOARD CONTACT SCAN1 JSR SCAN3 WAIT UNTIL LAST BNE SCAN1 KEY IS RELEASED SCAN2 JSR SCAN3 BEQ SCAN2 WAIT FOR NEW KEY JSR SCAN3 BEQ SCAN2 BUT REJECT JITTER JSR GETKEY GET CODE FOR KEY RTS RETURN TO CALLER ; SET UP PARMS AND CALL KIM-1 DISPLAY SCAN SCAN3 LDY BYTES LDX = 9 LDA = $7F STA PADD SET UP DATA DIRECT JSR SCAND1 CALL KIM-1 ROUTINE RTS RETURN TO CALLER RDBYTE READS TWO HEX DIGITS, RETURNS BYTE VALUE IN ACCUMULATOR. IF A NON-HEX DIGIT KEY IS PRESSED, IT RETURNS THE KEY CODE IN THE ACCUMULATOR AND N FLAG = 012F 20 OF 01 RDBYTE JSR SCAN1 GET FIRST KEY 0132 C9 10 CMP t$10 IS IT A HEX DIGIT? 0134 10 11 BPL RDRET NO, RETURN 0136 OA ASL A SHIFT OVER 4 BITS 0137 OA ASL A 0138 OA ASL A 0139 OA ASL A 01 3A 85 E9 STA TEMP SAVE FIRST DIGIT 01 3C 20 OF 01 JSR SCAN1 GET SECOND KEY 013F C9 10 CMP = $10 IS IT A HEX DIGIT? 0141 10 04 BPL RDRET NO, RETURN 0143 05 E9 ORA TEMP 0145 A2 FF LDX = $FF SET N FLAG = 1 0147 60 RDRET RTS RETURN TO CALLER Listing 5: Subroutines SCAN and RDBYTE. SCAN displays the instruction at location CURA D, scans the keyboard for a depressed key, and places the code for that key in the accumulator. RDBYTE calls SCAN to read two successive hexadecimal digits from the keyboard. order) the new instruction bytes from the display to the program area. If you've under- stood everything so far, you should have little trouble following the code for these top level functions. More important, once you're familiar with the basic SWEETS design, you can easily add customized top level routines of your own. The SWEETS Assembler None of the editor routines just dis- cussed were concerned with the processing of the hexadecimal "labels" described earlier as one of the features of SWEETS. This is because, as far as the editor is con- cerned, a label is just another 3 byte instruc- tion. Labels take on a special meaning only when the SWEETS assembler is invoked. The assembler operates in two passes over the program area. On the first pass, the assembler searches for "instructions" with an opcode of hexadecimal FF (the labels). When one is found, the second byte of the instruction (the label number) is moved to the end of the program area, and the current instruction address is also deposited there (figure 4a). The label instruction is then deleted using MOVEUP to take up the slack space. This process continues until all of the labels have been removed and stored in the "symbol table" at the end of the program area (figure 4b). Since the labels are (by design) three bytes long, we gain the space for the symbol table when 72 BYTE February 1978 Computer Mainframe System First in the TEI family ... The MCS-112 and 122 Mainframe Systems. 'The Base on Which to Build' The cabinet A heavy duty precision formed cabinet of fine craftsmanship. Completely machined and ready for assembly The exterior is fin ished in TEI blue. Vented for most efficient thermal character- istics. Furnished with all necessary hardware. The front panel The front panel is blank except for an indicating AC switch and a reset switch. However, the chassis and mother board are designed so that you may remove the front panel and insert an IMSAI or equivalent -front panel Specifications MCS-112 MCS-122 Dimensions 17ViWx12Dx7t4H Power +8 volt DC 17 amps Power ±16 volt DC 2 amps 17'/4Wx19y 2 Dx7'/.H 30 amps 4 amps /The motherboard An S-100 Bus system high quality mother board with 100-pin edge connectors. Compatible with IMSAI, MITS, CROMEMCO, TDL and other S-100 bus configured circuit boards. Plug connections for reset switch. Voltage terminals are screw type to power supply leads. All card guides are provided. 12 slots for MCS-112 model and 22 slots for MCS-122 model. Edge connectors High quality edge connectors factory mounted and wave soldered to eliminate this nuisance for you. Completely checked out for shorts or open traces. ALL edge connectors furnished, 12 for the MCS-112 and 22 for the MCS-122. No additional expense when you expand your system. The power supply One of a kind . . . using a constant voltage transformer CCVT) with a very high immunity to input line noise . . . greater than 100 db rejection. Line regulation better than ± 1% from an input of 95 to 140 Volt AC at full load to 85 to 140 Volt AC at three quarter load. Designed to meet UL-478 specifications (EDP SPECS). Individual fusing on all input and output voltage lines. See specifications below for power ratings. The cooling system A 115 CFM muffin fan with a commercial grade washable filter will provide clean airflow over all circuitry The wiring All wiring is color coded and ALL is precut to length with connecting lugs factory machine applied. NOW ... TEI puts it all together for you. Mainframe systems ( 12 and 22-slot) . . . Floppy and mini-floppy disc drive systems (single, double and triple ) 16K RAM ... a Z-80 CPU with addressable 'jump to" and autostart capability ... 16 Channel A/D and D/A converter ... 3 serial + 3 parallel multiple I/O . . . and other supporting boards ... and our newest item, the PROCESSOR TERMINAL — A CRT, keyboard, mini-floppy disc and 12-slot mainframe with a 8080A CPU - all housed in one quality aluminum case. All of these fine products at prices you will like. Watch for them all. MCS SPECIAL SYSTEMS GROUP MICROCOMPUTER SYSTEM Contact your local TEI Dealer or if you are not near one of our dealers, write or call CMC Marketing Corp direct for more information. CMC MARKETING CORP 5601 Bintliff Suite 515 • Houston, Texas 77036 • Phone: (713) 783-8880 Circle 18 on inquiry card. BYTE February 1978 73 (a) 0148 20 2F 01 014B 10 28 014D 85 FB 014F 20 2F 01 0152 10 21 0154 85 FA 0156 20 80 17 0159 A0 00 01 5B B1 E4 015D C5 FB 01 5F DO 07 0161 C8 0162 B1 E4 0164 C5 FA 0166 FO OA 0168 20 80 00 016B 20 89 17 016E FO 15 0170 DO E7 0172 20 00 01 0175 C9 10 0177 FO 2B 0179 C9 11 01 7B FO IE 017D C9 12 017F FO 13 0181 C9 13 0183 FO C3 0185 A9 EE 0187 85 F9 0189 85 FA 018B 85 FB 01 8D 20 1F 1F 0190 DO FB 0192 FO DE 0194 20 89 17 0197 10 EC 0199 30 D7 019B 20 B7 17 019E 20 AB 17 01A1 B8 01 A2 50 CE 01 A4 20 2F 01 01A7 10 CC 01 A9 85 FB 01AB 20 84 00 01AE 84 EA 01 BO C6 EA 01 B2 FO 12 01 B4 20 2F 01 01 B7 10 BC 01 B9 85 FA 01 BB C6 EA 01BD FO 07 01 BF 20 2F 01 01 C2 10 B1 01 C4 85 F9 01 C6 20 B6 00 01 C9 20 9F 17 01 cc AO 00 01 CE A2 02 0100 B5 F9 01 D2 91 E4 01 D4 CA 01 D5 C8 01 D6 C4 E8 01 D8 DO F6 01 DA FO 96 GOKEY JSR RDBYTE GET FIRST BYTE BPL GCMD OF SEARCH PATTERN STA POINTH SAVE IN DISPLAY JSR RDBYTE GET SECOND BYTE BPL GCMD OF SEARCH PATTERN STA POINTL SAVE IN DISPLAY JSR BEGIN CURAD :- BEGAD ; LOOP SEARCHING FOR 2-BYTE MATCH GOLOOP LDY «0 LDA (CURADI.Y COMPARE 1ST BYTE CMP POINTH AGAINST PATTERN BNE GONEXT INY LDA (CURADI.Y COMPARE 2ND BYTE CMP POINTL AGAINST PATTERN BEQ CMD MATCH, NEXT CMD GONEXT JSR DETLEN DETERMINE LENGTH JSR ADVANC ADVANCE TO NEXT BEQ ERROR MATCH NOT FOUND? BNE GOLOOP CONTINUE SEARCH (b) CMD JSR SCAN WAIT FOR A KEY GCMD CMP - $10 TEST FOR VARIOUS BEQ ADKEY COMMAND KEY CODES CMP --$11 BEQ DAKEY CMP ■--- $1 2 BEQ STPKEY CMP = $13 BEQ GOKEY ERROR LDA = $EE OPERATOR ERROR: STA INH SET UP HEX 'EE' STA POINTL IN DISPLAY AREA STA POINTH ERR1 JSR SCANDS CALL KIM-1 ROUTINE BNE ERR1 UNTIL KEY RELEASED BEQ CMD ; STPKEY ADVANCES TO THE NEXT INSTRUCTION STPKEY JSR ADVANC ADVANCE TO NEXT BPL ERROR CHECK FOR ADVANCING BMI CMD PAST END OF PROGRAM ; DAKEY DELETES THE CURRENT INSTRUCTION DAKEY JSR MOVEUP MOVE UP REST OF PROG JSR REDEND ADJUST ENDAD UPWARD CLV BVC CMD (c) READ OPCODE, DETERMINE INSTRUCTION LENGTH ACCEPT OPCODE UNLESS NON-HEX KEY PRESSED SAVE IN DISPLAY DETERMINE LENGTH INTO DISPLAY SAVE LENGTH 1-BYTE INSTRUCTION READ SECOND BYTE NON-HEX KEY PRESSED 2-BYTE INSTRUCTION READ THIRD BYTE NON-HEX KEY PRESSED ; MOVE CODE DOWN TO MAKE ROOM ADSET JSR MVDOWN MOVE CODE DOWNWARD JSR ADVEND ADJUST ENDAD DOWN ; INSERT INSTRUCTION INTO NEW SPACE ADKEY JSR RDBYTE BPL GCMD STA POINTH JSR DETLN1 ; READ REST OF INSTRUCTION STY COUNT DEC COUNT BEQ ADSET JSR RDBYTE BPL GCMD STA POINTL DEC COUNT BEQ ADSET JSR RDBYTE BPL GCMO STA INH LDY = LDX = 2 INSERT LDA INH.X FETCH FROM DISPLAY STA (CURADI.Y STORE INTO PROGRAM DEX INY CPY BYTES UNTIL ENTIRE INSTRUCTION BNE INSERT IS INSERTED BEQ CMD Listing 6: Processing routines used in the SWEETS editor. Listing 6a shows GOKEY, which searches the program for a given 2 byte pattern and makes this the current instruction. It can also search for labels. The CMD (for "command") routine, listing 6b, waits for a command key to be pressed and transfers to the processing routine for that key. If an invalid key is pressed, "EEEEEE" is displayed. ADKEY (listing 6c) accepts a new instruc- tion, inserts it, and shifts the code following it downward to make room. we delete the labels from the instruction sequence. On its second pass through the program area, the assembler searches for subroutine call, jump and relative branch instructions. When one of these instructions is found, its second byte, normally a label number, is used to search for a matching label in the symbol table. Assuming that the label is found in the table, the corresponding actual address is inserted into the second and third instruction bytes for jump or subroutine call instructions, or a branch displacement is calculated and inserted for relative branch instructions (figure 4c). Since at times we may wish to enter instructions with an actual address or displacement rather than a label number, no substitution is made if the label is not found in the symbol table. The assembly source code for the SWEETS assembler is presented in listings 7a, 7b and 7c. The subroutine FINDLB is used by pass 2 of the assembler to look up labels in the symbol table. Note, too, that the assembler uses some of the editor's subroutines: DETLEN, ADVANC, REDEND, and MOVE- UP. The addresses shown in the assembly code listing are designed to allow the as- sembler to overlay the main part of the editor without destroying those editor subroutines which the assembler must use. Some Operating Hints Except for subroutine call addresses, each SWEETS routine is relocatable: it will execute properly no matter where it is loaded in memory. The assembled code shown here is designed to provide the largest possible contiguous area (512 bytes at hexadecimal addresses 200 to 3FF) for editing and assembling programs. This has the disad- vantage of breaking up SWEETS into four pieces: one in page zero, two in page one, and one starting at address 1780 (which makes it a bit cumbersome to load piece by piece from audio cassette). The SWEETS routines could be consolidated, however, to provide two or more noncontiguous areas for program editing. In general, when starting up SWEETS, or after reloading a "symbolic hexadecimal" program from tape, you must store the proper values in BEGAD, CURAD and ENDAD. Then, of course, you merely key in the CMD routine starting address and press GO. The assembler, which can be started up in the same way, automatically returns control to the KIM-1 monitor; the editor can be interrupted at any point by pressing RS (reset). Avoid using the ST 74 BYTE February 1978 with the Real-World Interface from The Digital Group A computer should have a purpose. Or as many purposes as you can imagine. Because a computer belongs in the real world. And now, the Digital Group introduces the Real- World Interface. A system component that's actually a system in itself, and specifically designed to help you get your computer to control all those tasks you know a computer can control so well. Automate your sprinkler system. Heat and cool your home. Guard against burglars. Shut off lights . . . It's all a part of the Real World, easily controlled with the Digital Group Real-World Interface. Our Real-World Interface is initially made up of three basic components — motherboard and power supply, parallel CPU interface and cabinet — plus three types of plug-ins: AC controller, DC controller and prototyping card. The recommended software packages are Convers, Assembler or Maxi-Basic, in that order. Some of the features include: Motherboard & Power Supply • 12 slots — 11 control cards, one for the interface card • +5V DC±5% @ 1A, +12V DC ±5% @ 1A, -12V DC ±5% @ 1A contained on board • May be free-standing (with care) Parallel CPU Interface • All buffering for Data Out (25 TTL loads), (25 TTL loads) and Data In (10 TTL loads) Circle 39 on inquiry card. Addr • Includes cable and paddlecard for connection to dual 22 on Digital Group CPU back panel. Two 22-pin edge connectors included • Requires two output ports and one input port AC Controller • Eight output devices (2N6342A-2N6343A, -12 amp Triacs); Each output 240V AC max, 12A max RMS • Control AC motors, lamps, switches, etc. • Opto-isolated (MCS-2400 or equivalent) DC Controller • Eight output devices (2N6055) each output up to 50V and up to 5A • Control DC motors, switches, solenoids, etc. • May use internal +12V DC for load or external DC up to 50V DC Price • For the motherboard and power supply, parallel CPU interface and cabinet, our kit price is only $199.50, or $260 assembled. Now r/inf's down to earth. We've only just begun our Real-World Interface System. There are many more plug-ins and applications coming along soon. So write or call The Digital Group now for complete details. And welcome to our world. to(o DgjLM ]p®QflH> P.O. BOX 6528 DENVER, CO 80206 (303) 777-7133 BYTE February 1978 75 (a) Figure 4: Mechanics of pass 1 of the SWEETS assembler are shown in figure 4a. The assembler first searches for "instructions" having an op code of hexadecimal FF (the labels). When one is found, the second byte of the instruction, which is the label number, is moved to the end of the program area and the current instruc- tion address is also de- posited there. The label instruction is then deleted using subroutine MOVE UP. Figure 4b is a continuation of the process shown in figure 4a, showing that all of the labels have been arranged in a symbol table at the end of the program area. A typical result of pass 2 of the SWEETS as- asembler is shown in figure 4c. Here a jump instruction has been modified so that the actual address of the destination appears in bytes 2 and 3 of the instruction, and the actual branch displacement has been calculated and inserted for a relative branch instruc- tion. In general, this pass takes care of all jump, subroutine call, and re- lative branch instructions. FF 01 00 JMP 01 00 BEQ 02 FF 02 00 (b) 0238 0240 JMP 01 00 BEQ 02 40 02 02 06 02 01 M 0230 0240 JMP 06 02 BEQ | 06 BEGAD 00E0, 00E1 ENDAD 00E2, 00E3 CURAD 00E4, 00E5 CMD 0172 ASSEM 011C Table 2: Locations of the variables BEGAD, ENDAD, CURAD, CMD and ASSEM. BEGAD, CURAD and ENDAD must be set up by the user to point to the area of memory which will hold the edited pro- gram. CMD is the entry point to the SWEETS editor, and ASSEM is the entry point to the SWEETS assembler. (stop) key repeatedly, since this may cause the stack to grow in length to the point where it could destroy one of the SWEETS routines. The special address information you need is summarized in table 2. Once you have SWEETS up and running, you can use it to develop improvements to SWEETS itself. In order to do this, you will have to edit code in the program area which is designed to run in another areaof memory. One way to facilitate this is to add a 16 bit offset to jump and subroutine call addresses as they are resolved in pass 2 of the assem- bler. Another addition to SWEETS would be a small routine to save ENDAD at the end of the program area, set up the starting and ending addresses for the KIIVI-1 audio cassette dump routine, and then transfer control directly to this read only memory routine to carry out the tape dump operation. One of the peculiarities of SWEETS is that it tends to make itself obsolete. This is because of our insatiable desire to do more with our personal computers. As soon as you find that writing a 512 byte program isn't so tedious anymore, you'll immedi- ately want to write a 1024 byte program (at least), and then you'll be stretching the capabilities of SWEETS and the KIM-1. In a sense, SWEETS, as its name suggests, is an enticement: It helps develop the market for assemblers. But why not give it a try? It's a lot sweeter than absolute hex. 76 BYTE February 1978 (a) 0100 B1 E4 FINDLB LDA (CURAD), Y 0102 AO FF LDY #$FF 0104 C4 EB FDLOOP CPY LABELS 0106 FO OD BEQ FDRET 0108 D1 EC CMP (TABLE), Y 010A DO OA BNE FDNEXT 01 OC 88 DEY 010D B1 EC LDA (TABLE).Y 010F AA TAX 0110 88 DEY 0111 B1 EC LDA (TABLE), Y 0113 AO 01 LDY #1 0115 60 FDRET RTS 0116 88 FDNEXT DEY 0117 88 DEY 0118 88 DEY 0119 DO E9 BNE FDLOOP 01 1B 60 RTS (b) (c) 01 5B 20 80 17 015E 20 80 00 0161 AO 00 0163 B1 E4 0165 C9 20 0167 FO 04 0169 C9 4C 016B DO OE 016D C8 016E 20 00 01 0171 FO 1C 0173 91 E4 0175 8A 0176 C8 0177 91 E4 0179 DO 14 017B 29 1F 017D C9 10 017F DO OE 0181 C8 0182 20 00 01 0185 FO 08 0187 38 0188 E5 E4 01 8A 38 018B E9 02 01 8D 91 E4 018F 20 89 17 0192 30 CA 0194 4C 4F 1C PICK UP LABEL SYMBOLTABLE INDEX NO LABELS IN TABLE DOES LABEL MATCH? WE HAVE A MATCH GET HI-ORDER ADDR INTOX REGISTER GET LO-ORDER ADDR INTO A REG., Y=1 RETURN TO CALLER ADVANCE TO NEXT SYMBOLTABLE ENTRY UNLESS END OF TBL 011C 20 80 17 ASSEM JSR BEGIN 01 1F 18 CLC 0120 A5 E2 LDA ENDAD 0122 69 06 ADC #6 0124 85 EC STA TABLE 0126 A9 FF LDA #$FF 0128 85 EB STA LABELS 01 2A 65 E3 ADC ENDAD+1 01 2C 85 ED STA TABLE+1 012E 20 80 00 ASLOOP JSR DETLEN 0131 AO 00 LDY #0 0133 B1 E4 LDA (CURAD).Y 0135 C9 FF CMP #$FF 0137 DO 1D BNE ASNEXT 0139 C8 INY 01 3A B1 E4 LDA (CURAD).Y 01 3C A4 EB LDY LABELS 013E 91 EC STA (TABLE), Y 0140 88 DEY 0141 A5 E5 LDA CURAD+1 0143 91 EC STA (TABLE), Y 0145 88 DEY 0146 A5 E4 LDA CURAD 0148 91 EC STA (TABLE),Y 014A 88 DEY 014B 84 EB STY LABELS 014D 20 B7 17 JSR MOVEUP 0150 20 AB 17 JSR REDEND 0153 B8 CLV 0154 50 D8 BVC ASLOOP 0156 20 89 17 ASNEXT JSR ADVANC 0159 30 D3 BMI ASLOOP JSR BEGIN RSLOOP JSR DETLEN LDY #0 LDA (CURAD), Y CMP #$20 BEQ JMPJSR CMP #$4C BNE CHKBR JMPJSR INY JSR FINDLB BEQ RSNEXT STA (CURAD), Y TXA INY STA (CURAD), Y BNE RSNEXT CHKBR AND #$1F CMP #$10 BNE RSNEXT INY JSR FINDLB BEQ RSNEXT SEC SBC CURAD SEC SBC #2 STA (CURAD), Y RSNEXT JSR ADVANC BMI RSLOOP JMP START CURAD := BEGAD ENDAD + 6 IS JUST BEYOND UPPERMOST LABEL IN TABLE BEGINNING TBL INDEX ADJUST TABLE DOWN BY 256 FOR INDEX BASE DETERMINE LENGTH PICK UPOPCODE IS IT A LABEL? YES, GET LABEL NO GET TABLE INDEX DEPOSIT LABEL IN TBL HI-ORDER ADDRESS DEPOSIT IN TABLE LO-ORDER ADDRESS DEPOSIT IN TABLE SAVE NEW TBL INDEX MOVE UP PROGRAM ADJUST ENDAD UPWARD BACK FOR NEW LABEL TO NEXT INSTRUCTION UNTIL ENDAD REACHED CURAD : = BEGAD DETERMINE LENGTH PICK UPOPCODE JSR INSTRUCTION? JMP INSTRUCTION? ADVANCE TO LABEL LOOKUP IN TABLE LABEL NOT FOUND LO-ORDER ADDRESS HI-ORDER ADDRESS TO NEXT INSTRUC BRANCH INSTRUC? ADVANCE TO LABEL LOOKUP IN TABLE LABEL NOT FOUND DEST. -SOURCE DEST. -SOURCE -2 = DISPLACEMENT TO NEXT INSTRUC BACK TO EXAMINE IT TO KIM-1 MONITOR ■ Listing 7: The assembly source code for SWEETS. Subroutine FINDLB (list- ing 7a) is used during pass 2 of the assembler to look up labels in the symbol table. FINDLB looks up the label at CURAD, Y and returns with Y=l, X=the high order part of the address, A = the lower part of the address, and Z=0. Z is set equal to I if the label is not found. Listing 7b shows pass I of the assembler during which labels are collected and stored with their addresses at the end of the program. Listing 7c is pass 2. Dur- ing this pass, the operands of the branch, jump and JSR instructions are con- verted from label refer- ences to displacements or actual addresses. Note that jump indirect operands are not converted. BYTE February 1978 77 The disk system you want at a price you didn't expect from a company that understands systems. 78 BYTE February 1978 THEVISTA'50 FLOPPY DISCOUNT We know that one of the biggest problems in personal computing is that you're buying with your own personal dollars. That's precisely why you're going to like doing business with us. We're Vista Computer Company, the personal computer systems brainchild of the business com- puter systems people at Randal Data Systems. And our V80 Floppy Disk System is a perfect example of how we're prepared to help you get the most out of your personal computing dollars. $649 buys you the whole kit and kaboodle The $649 you spend on a Vista V80 Floppy Disk System ($749 assembled) gets you every- thing you need: An 80K byte minifloppy drive (assembled and tested) that can be powered directly by your 8080 or Z-80 computer. (Case and power supply optional.) An I/O cable and a single card, S100 bus- compatible controller kit that handles up to four drives and includes a PROM for bootstrap loading (addi- tional drives just $399). VOS, the most advanced microcomputer disk operating system available, and our BASIC-E compiler, designed to work with VOS, all on a single diskette. Software functions include instantaneous program loading, named dynamic files, program editing, assembling, debugging, batch processing, and file copying on back-up diskettes. All backed by the Vista 90-day warranty, mem- bership in VUE (Vista Users' Exchange), and Dataforce, our associated service company with 115 locations throughout the country. Test drive the V80 at your local computer store Drop by your nearest computer store and run the V80 through its paces. Once you find out what it can do for you, you'll see that our combination of high performance and low price is hard to beat and easy to take. We love to take orders If you'd like us to ship you a Vista V80 Floppy Disk System, they're available now. Just send us a check or money order for the amount of purchase, or your BankAmericard/ VISA or Master Charge account number with expiration date and authorized signature. California resi- dents add 6% sales tax. Uncertified checks require six weeks processing. To place your order, or to obtain further information, call or write today. Vista Computer Company, 2807 Oregon Court, Torrance, CA 90503. (213) 320-3880. Vi/tci We never forget it's your pocket. BYTE February 1978 79 Personal Computers in a Distributed Jeff Steinwedel W3FY 715 Reseda Dr, Apt 2 Sunnyvale CA 94087 The combination of many small processors with some way to communicate from one to another clearly has much potential. Since the first microprocessors became available I have been convinced that their most dramatic applications would be in connection with a large-scale communi- cations network. The economics of a dis- tributed network would suit the individ- ualized structure of personal computing. The combination of many small processors with some way to communicate from one to another clearly has much potential. Already, the processor technology has arrived; but it seems that a simple, inex- pensive communications system is not forthcoming. Both the telephone system and cable TV could be technically work- able, but require centralized expenditures of large amounts of capital, as well as a political commitment to the application. My argument is that there is an economic and technological short cut to a distributed network through use of the radio spectrum for communications. This article is speculative, in that new radio spectrum rules would have to come into effect for this network to exist. How- ever, I think the idea is technically feasible, and the political aspects perhaps provide a raison d'etre for a national personal com- puting organization. Further, the FCC has already validated some of the principles involved. If participating individuals were to con- struct computer controlled VHF trans- ceivers around a common set of guidelines, and if these radio stations were designed to transmit and receive data over a number of predefined channels for extended periods without operator intervention, such a communications network could be achieved. In many ways this type of system would parallel the 2 meter FM amateur radio repeater system, except that data and control would be computer oriented. Standardization would necessarily be defined in a number of areas: frequency selection, routing algorithms, communica- tion mode encoding, data and communi- cation types, character codes and data rates, etc. One of the very desirable features (for the FCC) would be that the system could easily be made to be self-logging and self-monitoring. Ideally, the system could also be self-policing so that any "Citizens' Computer Radio Service" could be a model for efficient spectrum usage with minimum government interaction. Why Build a Network? What would be the characteristics and advantages of such a system? The actual mechanics of radio transmission should be transparent to the user. The most com- mon type of communications would be station-to-station relayed data transfers. For example, if I were to initiate a data transfer (message) from my station, I would just create the message, define the destination, and let the operating system take over. My computer would then find a similar station suitable for relaying the message, 80 BYTE February 1978 Communications Network r " \ 1 / OMNIDIRECTIONAL \ / ANTENNA PERSONAL COMPUTER TRANSMIT/RECEIVE SWITCH ♦ RF t SYSTEM TRANSMITTER X p RECEIVER RF-» RF-» t I 4 L 1 TUNING INFORMATION T SYNTHESIZER MEMORY t (^TERMINAL LOCAL CO NTRO L AND DATA 1 LOCAL MASS STORAGE PROCESSOR C N T R L PERIPHERAL INTERFACE «~* ' INTERRUPT COMMUNICATION SUBSYSTEM i (LINK TO RF NETWORK) J Figure 1 : Conceptual outline of the communications subsystem as a peripheral of the typical personal computer system. The system components assumed of the computer are some memory, mass storage which is completely computer controlled (this ex- cludes manually manipulated audio cassettes), a terminal and of course, a typical microprocessor. The communications sub- system consists of a frequency synthesizer which sets the communications channel used, a transmitter, receiver, antenna switch and control logic to interact with the computer. The control logic design can be simple or complex, depending upon how much of the "smartness" of the network terminal is incorporated into the personal computing system's programs as opposed to the logic of the communication subsystem 's controller. The details of the software protocols are well understood in the computing field, and examples of radio data communications networks funded by ARPA have been demonstrated quite successfully and can be used as inspiration for this endeavor. BYTE February 1978 81 Hopefully, any "Citizens Radio Service" could be- come a model for efficient spectrum usage and a synergistic interaction of individuals across the country via computer con- trolled relays. and (optionally) return the data path infor- mation to me. Full redundant error check- ing could be employed to insure data relia- bility, a necessity for exchanging software through a number of relays. Hopefully, regulations affecting these communications would not have the restric- tions of the amateur radio service regarding commercial interest and entertainment con- tent. Thus, the network could become a truly democratic marketplace with wide distribution of a large range of intellec- tual products. Some data categories would require special transmission techniques. For example, data could be defined in such a way to make it easily segmentable as a func- tion of dynamically available buffers, opti- mum transmission rates, or communication time windows. Another possible use of such a com- munications network would be that indi- vidual stations could maintain data to be accessible by the network. For example, suppose an individual has a floppy disk or video disk with a library of Star Trek games that are public information. Standardized file access software would allow any net- work user to access these programs directly or make his or her own contributions to the library. Obviously, such data is not necessarily limited to computer programs. Essentially, a communications network of this sort, if defined with maximum generality, would be a multiprocessor sys- tem of a unique sort. Advanced individuals would undoubtedly give the network arti- ficial intelligence attributes, and the system might even become evolutionary like Con- way's LIFE. What is necessary now is discussion of the viability of the idea and the creation of any optimal functional speci- fication. This is an opportunity for small processor hackers to cooperatively produce a new and unique entity that would cer- tainly have long-term cultural ramifications, considering the acceleration of technology. Hardware Requirements A reasonable first step towards imple- menting this scheme would be to develop a useful subset within the present structure of radio frequency allocations. It would be difficult to have a totally new communi- cations service gain regulatory approval and user acceptance from a zero start. Probably the easiest way to begin would be by using amateur radio as an initial vehicle of experi- mentation. Obtaining an amateur license for VHF privileges is not difficult; Morse code proficiency of only five words per minute is required along with a basic theory test. For the sake of demonstrating the max- imum potential for the idea, let's assume a fairly elaborate structure for this feasibility model. However, it is probably more realistic to assume that local groups will put together small networks that would suit specific needs, later expanding into something closer to what will be explored here. The hardware could be structured as fol- lows: Some spectrum should be dedicated to this application. Within amateur radio, this amounts to a gentleman's agreement, which in the amateur environment has generally been a very successful mechanism. A portion of the 144 to 148 MHz or 220 to 225 MHz band would be a good choice. Because the higher frequencies presently enjoy less use, let's postulate that 224 to 225 MHz be set aside for personal com- puting. This band could easily be split into 99 channels at 10 kHz separation, from 224.005 to 224.995. This channel spacing should allow data rates up to at least 1200 bps. A good modulation scheme would be audio modulated FM. FM is easy to syn- thesize and detect, and audio modulation would allow compatibility with conventional modems. Frequency shift keying, while potentially narrower than FM, would require greater frequency precision to receive accurately. Frequency determination should be by digital frequency synthesis so that the com- puter would have direct control over channel selection. Because of advances in phase locked loops and other integrated circuit technology, synthesizers are becoming the preferred method of discrete frequency generation, even in radios with manual control. The next few years will see the introduction of complete LSI synthesizer systems, many intended for the Citizens' Band market. The modem and synthesizer are two elements of the communications subsys- tem that would perform as a peripheral device of the personal computer system. This device, while basically a VHF trans- ceiver, must be organized to interact directly with the controlling software. For example, it could be structured in a way very similar to a UART (universal asynchronous receiver transmitter) device, with control and data registers accessible to the system bus. A first in first out data file would be useful to relieve some of the data load from the processor, although this certainly would not be a necessity. The simplicity of a character oriented system would have large appeal. The communications subsystem probably should operate in an interrupt driven mode with the processor, again, in much the same way as a conventional UART can be wired. Continued on page 94 82 BYTE February 1978 Application Software ! bNMC oV voi""* I BASK SOFTWARE .« — - U BRAKY VOLUME II .••" You can buy software from anybody - but ours works in your system. We only sell one product, Quality. We have been in business for over nine years building a reputation for providing a quality product at nominal prices — NOT what the traffic will bear. Our software is: • Versatile — as most programs allow for multiple modes of operation. • Tutorial — as each program is self prompting and leads you through the program (most have very detailed instructions contained right in their source code). • Comprehensive — as an example our PSD program not only computes Power Spectral Densities but also includes FFT's, Inverse-transforms, Windowing, Sliding Windows, simul- taneous FFT's variable data sizes, etc. and as a last word our software is: • Readable — as all of our programs are reproduced full size for ease in reading. • Virtually Machine Independent — these programs are written in a subset of Dartmouth Basic but are not oriented for any one particular system. Just in case your Basic might not use one of our functions we have included an appendix in Volume V which gives conversion algorithms for 19 differ- ent Basic's; thats right, just look it up and make the sub- stitution for your particular version. If you would like to convert your favorite program in to Fortran or APL or any other language, the appendix in Volume II will define the statements and their parameters as used in our programs. Over 85 % of our programs in the first five volumes will execute in most 8K Basic's with 16K of free user RAM. If you only have 4K Basic, because of its' lack of string functions only about 60% of our programs in Volumes I thru V would be useable, however they should execute in only 8K of user RAM. All of our programs are available on machine readable media. For those that have specific needs, we can tailor any of our programs for you or we can write one to fit your specific needs. Vol. 1 — $24.95 Vol. Ill — $39.95 Bookkeeping Advanced Business Games Billing, Inventory Pictures Investments Payroll Vol. II — $24.95 Vol. IV — $9.95 Math /Engineering General Purpose Plotting/Statistics Basic Statement Vol. V — $9.95 Def. Experimenter's Program SCIENTIFIC RESEARCH 220-B Knollwood, Key Biscayne, FL 33149 Phone orders call 800-327-6543 Information— (305) 361-1153 Add $1.50 per volume handling, all domestic shipments sent U.P.S. except APO and P.O. Box which go parcel post. Foreign orders add $8.00/volume for air shipment and make payable In U.S. dollars only. AVAILABLE AT MOST COMPUTER STORES Master Charge and Bank Americard accepted. Our Software is copyrighted and may not be reproduced or sold. BYTE February 1978 83 The Brains of Men and Machines With this second article on the brain's output control system, we begin a more detailed look at the mechanisms by which the brain accomplishes some of the func- tions which robot systems will also be called upon to perform. (A number of the terms which are used in this article were defined and discussed in the first part which began on page 11 last month.) As we reach a more concrete level of description of the brain's operation, we will encounter many points which are not yet entirely resolved, and many questions which are subjects of dispute between competing theories. Since it would seem that the present reader is more likely interested in potential applica- tions of brain architecture than in the exact nature of the debate on fine points of physiology, I will simply present the posi- tion which seems to me to be most strongly supported at the present time. I will also make some simplifications where they seem warranted by the intended purpose of these articles. (To atone for these sins, I will also offer a list of references for the reader who is interested in pursuing the subject in greater depth.) It seems likely that any robotics system will require some kind of output controller concerned with the generation and execu- tion of patterns of movement in space, and the required control systems may be ex- pected to range from very simple to very complex. The evolution of the biological brain of course has also had to solve this problem, and it has accomplished it with a set of capabilities for control which are probably as complex as any that we will be likely to encounter for a long time to come. The jointed limb scheme which has been employed as the chief means of locomotion and manipulation in terrestrial animals requires a very complex control system. It is true that a robot, which is free of such re- strictions as an uninterrupted blood flow to all of its parts, has other options; wheels and treads for example. These devices might permit simpler control systems, but I would like to suggest that for a system capable of operation in a generalized environment, the jointed limb scheme may be superior. Try to picture a wheeled or treaded robot scaling a cliff or climbing a tree, or even using a stool to dust the bookshelves. Since a motion control system which can handle the jointed limb scheme can also handle simpler systems, it may be most appropriate to plan for the future by starting with this basic scheme in early designs. The Motor Control System With regard to the actual mechanisms which are to be controlled, it is interesting to note that they are of only two basic types. The only two things that you are capable of doing are contracting a muscle and releasing glandular secretions, period. Everything else is only some combination of these two. Muscles and glands are the only devices to which the brain interfaces. In the present discussions we will concern ourselves exclusively with the muscles and the system which controls them, usually called the "motor control system." There are two fundamental principles employed in the brain's motor control sys- tem. The first is to buffer each level of com- mand with subprocessors which interpret the commands from higher levels as objec- tives; and compute appropriate outputs for achieving the objectives, while taking into account local feedback inputs and environ- mental information. A whole series of such steps is employed, with the "objectives" becoming more concrete at each stage. In this fashion, a pyramid of processors is defined which can accept very general directives and execute them in a reflex fashion with quite considerable flexibility in the face of varying loads, stresses and 84 BYTE February 1978 Part 2: How the Brain Controls Outputs Ernest W Kent, Associate Professor Dept of Psychology The University of Illinois at Chicago Circle Chicago IL 60680 other perturbations. This system by itself is quite capable of things such as bipedal locomotion with maintenance of balance on uneven terrain. It cannot, however, operate in a goal directed fashion. The second principle of the motor con- trol system involves the operation of higher level systems which generate output strategies in relation to behavioral goals. This principle is the division of output tasks on the basis of their relation to input infor- mation rather than type of motion required. We shall examine some specific examples which illustrate each of these ideas. Kinesthesis The operation of the motor control command chain depends heavily on certain sensory inputs which provide feedback and status information for moment to moment operations, and it is appropriate to begin our investigation of output with a look at these inputs. Perform this small experi- ment. Close your eyes and put one hand somewhere out in front of you, then touch it with your other hand. Most people have no difficulty doing this quite accurately. The question is how, with your eyes closed, could you guide your hands to the right spatial locations? The answer is that we have a number of special sensory systems of which most of us are not even aware. These senses have the primary purpose of inform- ing the brain's output control processors of things such as the relative positions of the limbs, the tensions of the muscles, the acceleration of the body in different direc- tions, etc. Most people are unaware of these senses because they do not have a conscious content or "experience" associated with them, as do senses such as vision and smell. Nonetheless, they are among the most extensive and intricate sensory systems of the brain, and when they are damaged, the results are immediately apparent. With damage to the systems which report limb position, some people are unable to carry out the small experiment you just per- formed. In fact, such people are generally unable to execute any muscular action correctly without constantly watching what they are doing. The sensory system which reports on the status of the limbs is called kinesthetic sense, or kinesthesis, and it handles three sorts of information. These are joint angle, degree of load on a muscle, and degree of stretch or extension of the muscle. These three types of input information are used at various levels of the motor system to control sequencing and provide feedback infor- mation. This is another instance where place coding specifies the particular unit and type of quantity in question, and frequency coding carries the intensity information. The transducers which translate these quantities into neural impulse streams need not be discussed in detail since adequate mechanical counterparts are readily available. Vestibular Sensory Inputs The other sensory system which is strong- ly related to the brain's output control is the vestibular sensory system. This is the system responsible for the "sense of balance" among other things. Specifically, it provides continuous readout of the in- clination of the head with respect to gravity, and the acceleration of the head in three perpendicular planes. This sensory system is located in a single set of transducers on either side of the head near the middle ear, rather than a multitude of transducers distributed through the body as is the case with the kinesthetic sense. Although the output therefore only refers to the head, the position of the head with regard to all other parts of the body can be computed from the information provided by kinesthetic inputs. Accordingly, the output BYTE February 1978 85 LOWER MOTOR NEURONS M ± (^qsLJ— <>-f ¥ -o -o EXTENSOR MUSCLE EXTENSION Figure I: Some important parts of the lower motor neuron (LMN) circuitry which has final control over muscle contractions. See text for an extended discussion of this low level closed loop feedback system. of the vestibular transducers is made widely available throughout the system as input to most of the high and low level motor proc- essors. In this case too, the existence of easily available transducers for such quanti- ties makes it unnecessary to discuss them in detail. Any device capable of reading out inclinations and accelerations will do when designing our robots. The Typical Joint: a Control System In most cases, muscles work in opposing pairs, one to open or extend a joint and one to flex or close it. This is necessitated by the fact that muscles can only exert force in one direction (contraction). Figure 1 demonstrates the arrangement for a typical joint. This diagram also shows some of the neural elements which control the con- traction of these muscles. The principal neuron of this system, the one which pro- vides input to most muscle fibers, is called a lower motor neuron, and is labeled L in figure 1. This type of neuron (and the other neurons associated with it) is located in the spinal cord, and is the final processing stage before output to the actuator. This little system is a good place to illustrate some of the principles of the brain's motor organi- zation. We shall refer to the lower motor neuron and its associated elements as an "LMN system." Basically, LMN systems must accept commands from a multitude of other systems which desire access to the muscle in question, attend to them accord- ing to their priority, modify them according to inputs from kinesthetic and vestibular systems as well as status information from related LMN systems, provide an appropriate output to the muscle, and make their own status information available to other sys- tems. There are a great many LMN systems in the spinal cord. Every muscle is composed of thousands to millions of fibers, and in the case of muscles used for precise opera- tions, there may be an LMN system for each individual fiber. In other cases, a single LMN system may control many fibers of a muscle. In a practical robotics application, I see no reason why a single servo actuator and "LMN" processor for each joint would not suffice. There are reasons why a single processor for many joints is less practical, but before addressing this issue, let us ex- amine the LMN system to see what sorts of things it does. In figure 1, for clarity, we show only a single LMN driving each muscle. The degree of contraction of the muscle is proportional to the output pulse frequency of the LMN; the higher the frequency, the stronger the contraction. The circuit shown on the right illustrates the simplest type of protective spinal reflex; a pain receptor in the skin (P) fires a neuron in the LMN system which fires the LMN driving the flexor muscle. This simple high priority operation quickly removes the limb from danger. Inhibitory cross connections of the LMNs driving the two muscles insure that they do not act antagonistically; one relaxes as the other contracts. This reciprocal circuitry is generally active in all LMN operations unless specifically overridden. Not shown are out- puts which inform higher centers of this action to allow for the necessary corrective action of other muscles and limbs which must take up the redistribution of weight, counteract shifts in center of gravity, etc. Inputs to the LMN system from higher centers may request a variety of actions, such as holding a particular position, moving to a specified position, moving with a par- ticular velocity, etc. The LMN attached to the extensor muscle on the left in figure 1 is shown with some of the associated neurons which are involved in the process of carrying out these instructions while compensating 86 BYTE February 1978 Subsystem B Each board is a standout. Together, they're a powerhouse. In the beginning there were boards, thousands of them. That's how we started in the business. Making memories and interfaces for other people's computers. . .and making them better. Now that our own Sol has become the number one small computer, you might think we're putting less emphasis on our board business. Not so. We're just doing more creative things with them. One neat package gets your computer on the air. For example, we've built Subsystem B, which ties together five Processor Technology modules into a completely integrated system that makes other S-100 Bus computers work almost as well as our Sol. Circle 98 on inquiry card. Subsystem B includes a memory module, three input/output modules, a general purpose memory, and appropriate software. A specialized software program called CUTER knits together your computer and its peripherals to create an integrated, smoothly working system. It's the fastest, cleanest way to get on line, and it costs less than if you bought each module separately. You get your choice of two low power, reliable memory modules in 8K or 16K capacity. Our VDM-1 video display module (still S199 in kit) is the industry standard display device with over 6,000 in use. Our CUTS high speed, low cost (S110 in kit) audio cassette interface is the most reliable on the market and is supported by our broad line of cassette software including Extended BASIC, FORTRAN? PILOTf FOCAL and numerous others. And our 3P +S input/output module offers a low cost way to handle virtually all the I/O needs of any S-100 Bus compatible computer system. There are close to 10,000 in the field. Price is just $149 in kit. Yes, we may have become the maker of the Number 1 small computer — the Sol. But we haven't neglected the quality of our board business. We can't afford to. . . because we use many of them in our own computers. For our most recent literature and price list see your dealer or write Processor Technology Corporation, Box B, 7100 Johnson Industrial Drive, Pleasanton, CA 94566. (415) 829-2600. ProcessorTechnology •Available soon. for external loads. Note that there is a special muscle fiber (S) which receives its input from the small motor neuron (G) rather than from the LMN driving the other fibers in the surrounding extensor muscle. This special fiber is part of the transducer system for a kinesthetic monitor of muscle stretch. There is a sensory neuron (I) which has an input attached to the S fiber, and this neuron is fired when the S fiber is subjected to stretch, at a rate proportional to the de- gree of stretch. Since the S fiber is mechan- ically attached to the rest of the muscle, it is stretched or relaxed by inputs or forces which extend or contract the main muscle, as well as by its own private input signals from neuron G. The axon of the I neuron makes an excitatory synapse on the LMN, thus increasing its drive when the S fiber is stretched. Since increased output by the LMN tends to contract the main muscle and relieve the stress on fiber S, we have a nega- tive feedback loop. Suppose that the higher centers in the system wish the LMN system to maintain a particular angle on the joint. This is speci- fied by a set of constant inputs from above (X) to the LMN, and to neuron G. Now suppose that a stress such as increased load in the hand is suddenly applied to the joint. This will tend to flex the joint further, causing the extensor muscle to be stretched beyond the specified degree of contraction. This in turn stretches the S fiber and in- creases the output of neuron I, and thereby, the output of the LMN. The resulting in- crease in contractile force of the muscle compensates for the increased load. This allows the system which requested the maintenance of joint angle to remain ig- norant of loading conditions and fluctuations. On the other hand, a new input to neuron G can cause the S fiber to contract independently of the drive to the main ex- tensor muscle, thereby increasing the output of the I fiber for the same degree of ex- tension of the main muscle. This defines a new "set point" for the system. (Hence the need for a separate joint angle kinesthetic system for output to higher systems which don't want to untangle the effects of inputs to G on outputs from I .) From this point, it is clear that the nor- mal considerations of control theory are applicable, and it does not matter whether the system is neural or electronic. For ex- ample, in this system the mechanical re- sponse time of the muscle and joint, which are in the feedback loop, may be slow com- pared to the response time of the neural elements. In this as in any other system, that means that instability and oscillation may result if the system gain does not roll off at higher frequencies. This roll off is accomplished by the small neuron R which produces a fast self-inhibitory action on the LMN with each LMN output pulse. At low input pulse rates from higher systems, the weightings of the synaptic contacts (as described in last month's article) is such that the pull down from firing threshold in the L cell produced by the R cell's input has substantially decayed away before the next positive input arrives, and thus has no effect on it. At higher input frequencies however, the positive input pulse will encounter increasingly greater antagonism from the recurrent negative input produced via R by the preceding output pulse, and will thus be less effective in bringing the axon hillock above threshold. This effectively reduces the gain of the system progressively as higher frequencies are approached. Fitting Lower Motor Neurons into a Larger Context Looking at the LMN system in the con- text of the whole hierarchical motor out- put system, it is apparent that the brain is using a "temporal byte" of frequency coded analog information to specify information about degree or quantity of action. In addi- tion, the set of all of the input lines to the numerous LMN systems constitutes a "spatial byte," or place code, which is essentially digital in character, and in which the selected lines (bits) select the set of LMN systems which are addressed and thereby determine the nature of the movement to be performed, but not its speed, force, etc. At first glance, it would seem reasonable to try to model the behavior of the LMN system with an analog device such as an op amp with a feedback loop. In practice, such an analog device might be quite tricky since the LMN system must integrate inputs from a wide variety of sources with different priorities. A real LMN has about 10,000 synaptic inputs. There is also the difficulty of encoding the analog information from other systems. Given that we will have many fewer LMN type units to worry about, it may be more practical to do both addressing and value transfer with digital techniques. This would suggest a digital processor of some simple type to replace the LMN unit rather than the op amp, and it may be that this would in the long run be the easiest way of dealing with the interactions of the various inputs to the system. The next question that arises is, why not use one processor at high speed to run all the joints? There are several considerations. One that is immediately obvious is relia- bility. If one LMN system is lost, the others 88 BYTE February 1978 The end of Kit-Kits The end of bad solder joints, heat damaged components and sick IC's. Introducing the Semikit. Item 1, a 16KR A Memory Board, $ 369. Let's face it. Loading and soldering PC Boards is not much fun for the kit builder. Even more important, its the place where most of the trouble gets introduced. The real fun and education comes in running and testing boards. Now the Semikit with fully tested IC's. At the price of a kit, Processor Technology Corporation introduces the Semikit. It's a fully stuffed, assembled and wave soldered PC Board loaded with IC's that have gone through Q.C. and final check- out (a first in the industry). We leave you the fun of testing with our fully documented set of instructions. We do the production tasks of loading, wave soldering and inspecting the boards. You do the more interesting and time consuming chore of testing and burning-in the boards. The result is one sweet deal for both of us. You get a board where Circle 98 on inquiry card. the primary causes of damage (poor solder joints, excess solder and bad IC's) are virtually eliminated. You get a board of highest professional quality. And we get the business! The 16KRA Memory Board's at your dealer now. Your Processor Technology dealer has the first Semikit, a 16KRA Memory Board, in stock and ready to go right now. You can take it home tonight for $369 as a Semikit or for S399 fully assembled, tested and burned-in. You'll have a 16,384 byte memory with a better price performance ratio than anything on the market today. Now you can afford to add quality, high density memory to your system for remarkably little. And you can add enough to solve com- plex computing problems right in the main frame. The memory features invisible refresh. There's no waiting while the CPU is running. Worst case access time is 400 nsec. Each 4,096 word block is independently addressable for maximum system flexibility. Power is typically 5 watts, the same as most single 4K memory modules. Back-up power connection is built-in. Other Semi's are coming your way. The 16KRA Memory is Processor's first step in adding more fun, capability and reliability to your computer system at lower cost. Other modules are on the way to your dealer now. Come on down today. Or you may contact us directly. Please address Processor Technology Corporation, Box B, 7100 Johnson Industrial Drive, Pleasanton, California 94566. Phone (415) 829-2600. ProcessorTechnology BYTE February 1978 89 Figure 2: Principal ele- ments of the cerebellar cortex. The output cells (P) are fired in sequence by pulses traveling down the parallel fiber axons of the input cells (G). Each input axon selects a set of output cells for activation, and time delays in the parallel fiber axons help establish sequences of outputs. Other cells (O) handle interactions be- tween elements of this cortex. G n AXON FIBER KEY; G P AXON FIBER AXON FIBER G= INPUT NEURON P= OUTPUT NEURON 0= AUXILIARY ELEMENTS can take compensatory measures almost automatically. Second, since the output of each LMN system is a factor in the output of each of the others, and since the LMN system is a part of several otherwise distinct feedback loops, a single central processor system would have to be quite complex. Essentially it would face the solution of a number of simultaneous differential equa- tions, or else have to deal with each com- ponent motion in sequence. This sort of sequential operation would produce a slow, jerky "movie robot," because each action would have to be completed to obtain the results as input data for computing the next action. A processor with sufficient speed, sophistication and core to handle the differ- ential equations might well be more complex and costly than the multiple simple parallel processor approach. At the other extreme, which the brain has apparently found to be the best approach, programming would be a very simple test-operate-test-exit sequence, in which the actions of other units performing other actions simultaneous- ly are entered as data each time around the loop. The moment we break out of this sequence to handle several "simultaneous" operations with a serial set of such se- quences, things get more complex. However, at processor speeds it should certainly be possible to do some of this without doing much more than adding a little scratch pad memory to the simplest robot system's ROM. The best compromise for a robot remains to be demonstrated. Finally, a hier- archical system with interactive parallel units at the bottom frees the upper levels of the system to engage in coordinating the actions INPUT AXON of the lower parts into complex actions of the entire organism or device. This function by itself may require substantial processing power and time without the added burden of those jobs which the brain delegates to the LMN systems and their immediate superiors. Reflex Automatons This organization of LMN units and their "supervisors" forms a reflex machine capable of quite elaborate motion control and generation (although it does not initiate motion except in response to high level commands, or as a predetermined response to specified sensory inputs). It is essentially an automaton, but a very complex one. The organization of the hierarchy is quite con- ventional, and similar to a military command chain. The processing elements which have the responsibility for coordinating the move- ments of different limbs, for example, out- put control commands to the LMN units at the local level, rather than to the muscles directly, and leave the LMN units to handle the details. They in turn receive orders from, and report to, processing units that are con- cerned with coordination of whole body actions, the maintenance of posture and balance, and so on. Its major departure from a "command chain" model is the exis- tence of elaborate lateral information trans- fer between processing elements at the same level in the hierarchy. The operational principles at each level are quite similar to those we have examined in detail in the LMN units which form the lowest rank in the system. In the brain, this hierarchical system is Continued on page 146 90 BYTE February 1978 Seven points to consider before you buy your small computer. In this magazine, alone, there are probably a dozen ads for small computers. New companies are breaking ground like spring flowers. How, then, do you determine which computer offers the features you need most ... at the price you can afford? We'd like to propose seven basic questions to help you make an intelligent decision. IHow complete is the computer system? 9 Many buyers of small computers are in for a rude awakening when they have to spend additional money for interfaces. The Sol-20 Terminal Computer was the first complete small computer system. Everything you need to make it work is included in the basic package. 2 Is powerful system software available? It won't do if your system is "tongue-tied'.' Processor Technology Corporation has devoted more effort to the development of software than any other small computer maker. Our latest offering is the first fully implemented disk operating system for a small computer: PTDOS. It contains over 40 major commands, several languages and numerous utilities. Our high level languages include Extended BASIC, Assembler, FORTRAN? FOCAL and PILOT* 3 Is the system easy to expand? 9 More and more computer owners are expanding their small computers to handle business and other specialized requirements. The largest Sol system can handle 64K bytes of RAM memory and operate with a three megabyte on-line disk memory. Sol systems use the S-100 Bus. So you can use a wide variety of hardware. 4 Is the computer well-engineered? 9 Our Sol systems are the most conservatively rated and ruggedly built in the industry, period. In addition we designed them with you, the user, in mind; Sols are easy to build and a joy to operate. 5 Does it have proven reliability? 9 What is the track record? There are over 5,000 Sol systems in the field. Our track record for reliable performance is unparalleled in the small computer field. 6 Does it have good factory support? A computer is a complex piece of hardware. So you want to be sure it is backed up with complete manuals, drawings and a factory support team that cares. Processor Technology offers the most extensive documentation of any small computer manufacturer. And we maintain a patient, competent telephone staff to answer your questions. 7 Are maintenance and service people accessible? Where are they located? Processor Technology has maintenance and service people in over 50 cities around the U.S. As you continue turning the pages, see how we stack up to the other computers in this magazine. If we've succeeded in whetting your appetite, see your Sol dealer or write for information on the complete family of Sol computers. Processor Technology Corporation, Box B, 7100 Johnson Industrial Drive, Pleasanton, CA 94566. (415) 829-2600. •Available soon. Circle 98 on inquiry card. ProcessorTechr gy BYTE February 1978 91 Collector's item The first 16 issues of BYTE — September, 1975 through December, 1976 — in two gold embossed hard cover volumes. $100 complete set — two volumes 00 These individually numbered sets are person- ally signed by Carl T. Helmers, Jr., Editor-in- Chief of BYTE. As only 100 sets will be offered for sale, orders will be han- dled strictly on a first-come first-served basis. Send in the coupon today! These early issues of BYTE are packed with articles by your favorite writers: Helmers, Fylstra, Ryland, Dittrich, Chamberlin, Lancaster, Maurer, and many more. For your personalized set of BYTE's first 16 issues mail this coupon today! Carl T. Helmers, Jr., Editor-in-Chief, BYTE Magazine ^kL^. Yes, rush me my numbered and personalized 2-volume set of the first 16 issues of BYTE. □ Check enclosed for $100.00 □ Bill BankAmericard/Visa □ Bill Master Charge Expiration Date Card Number Signature Address City Mail to: BYTE Publications, Inc. 70 Main Street * Peterborough Name (please print) State Zip • N.H. 03458 92 BYTE February 1978 Entomological Archives We like to set the record straight about bugs whenever we can, even the old variety. With this in mind, we point out that there is a bug in figure 3 of the June 1976 article, "Building an M6800 Microcomputer" (see page 45). The Mikbug PIA (IC11) is shown with pins 2 and 9 reversed; pin 2 (PAO) should be the output to pin 2 of IC16; and pin 9 (PA7) should be the input from pin 8 of ICI5. Our thanks to author Bob Abbott for this information. Bob sent it to us over a year ago, but it got lost in the limbo of our files." Random Errors John D Leasia PE 2005 N Wilson Av Royal Oak Ml 48073 Unfortunately, the pseudorandrom number generator shown in page 218 of the November 1977 BYTE will not generate a complete set of numbers from 00 to FF as stated. The error lies in the programming, not in the method. Num- bers ending in 2, 3, 6, 7, A, B, E and F cannot be obtained. As programmed, the seed is multi- plied by 11, not by 13. In the 6800 program, if the opcodes at addresses 0005 and 0006 are interchanged, the program will correctly compute all 256 numbers without a repeat. Inter- estingly enough, as programmed, exactly half of the possible numbers are gener- ated with no repeats. The missing Is end in the digits shown above, which group in 2s. I found it necessary, on my KIM-1, to clear the carry before each add oper- ation. Otherwise the program would repeat before all 256 numbers were generated. My program requires additional bytes due to the addition restrictions of the 6502: Address Hexadecimal Code 0000 D8 0001 A5 12 0003 0A 18 0005 65 12 0007 0A 0A 0009 18 000A 65 12 oooc 18 000D 69 01 000F 85 12 0011 60 0012 XX Bugged Tidbit In your October 1977 issue, the pro- gramming tidbit on page 174 to sub- stitute for the absolute value function will not detect the condition when (A-B) is negative and within the interval specified by a positive delta. To correct your instruction you will need another constant: NDELTA = - DELTA to test (A-B) when it is negative. A shorter alternative for the whole instruction would be: If ((A-B)... °%>». ■•v. •^ 'o, 7 VI & VII 1L '°>-- are released! Volume VI Yes and it still contains what was previously advertised. A fully disk interactive business package with A/Ft, Inv., A/P, ledgers, tax totals, payroll records, more. As a bonus it also contains the Users Manual for our Firmware Ledger package. These 100 extra pages contain report formats, file creation rou- tines and our very powerful program ACBS1 used to create the powerful file structured data base. $49.95 r Volume VII Here is that Chess program you have been waiting for as well as a disk interactive Medical Billing package with patient history file. Also included is our disk interactive Word Processing package (revision 0). IjBgC $39.95 Add $1.50/Vol. for U.P.S. and handling except to APO and PO addresses. Foreign orders add $8/Vol. for air shipment — US dollars only. No purchase orders over $50. VOLUME I $24.95 VOLUME II — 24.95 VOLUME III — 39.95 VOLUME IV — 9.95 VOLUME V — 9.95 G> jr.. ,•" R OUR SOFTWARE IS COPY- RIGHTED AND MAY NOT BE REPRODUCED OR SOLD. Due to the numerous copyright violations on our earlier volumes — until further notice we are offering a REWARD leading to the arrest and conviction of anyone reproducing our software in ANY way without our written permission. This Includes diskettes, paper and magnetic tape, cassettes, records, paper copies, etc. LL SCIENTIFIC RESEARCH 220-B Knollwood Key Biscayne, FL 33149 Phone orders 800-327-6543 Information 305-361-1153 AVAILABLE AT MOST COMPUTER STORES ^M tftth. ^■fak BankAmericaro [master charge] w» honored BYTE February 1978 95 Figure 2: Control flow of a basic relayed transfer. This is an oversimplifica- tion of a two party trans- action. Station A wants to send a packet of data to station B. A more complex situation exists in the case where A is sending data to some s-ation Z which has no direct contact pos- rible; then B might be the first link in a multiple station relay of the data. Station A initiates a network request on the monitor channel. Available stations reply after a response delay. A valid response from station B locks the monitor channel. Stations A and B move to a suitable work channel and transfer data from A to B. I i Data is processed and both stations return to monitor mode. destination. There are many other "filter- able" parameters that are dependent on message content. A specification of the universe of possible destinations would allow some transfers to be designed as data for a specific addressee, and thus of interest only to that individual or to relaying sys- tems. On the other hand, data could also be declared to be of general interest, which would be an invitation for all those inter- ested to monitor the data transfer even if it was necessary for only one system to assume responsibility for relaying the information. Such "addressed" and "broadcast" mes- sage types are at the extremes of the filter- ing spectrum. As more and more data is transferred on the network, it will become more desirable to be selective about how the information is handled. At first, it will be very attractive to accomplish the filter- ing on the monitor channel, but this would be very sensitive to the mean wait of time of this frequency. Thus, as network use increases, a hierarchy of filtering will de- velop. The monitor channel would support filtering based on the ability and desire of answering stations to handle the type and quantity of the transfer involved, as well as selectivity based on the priority of the network request. This latter param- eter would allow emergency messages and certain types of technical diagnostics (a shutdown command from the FCC, for example) to receive maximum attention. Conversely, distribution and interest codes would probably be best filtered off the monitor channel. Interference Problems Another problem that will develop as communications density increases is inter- ference between stations. This is not a trivial problem because the control algorithms will not be nearly as flexible in working around interference or interpreting garbled data as human operators. However, several ap- proaches do seem feasible. The most basic method is simply to search and wait, with a very sensitive channel busy detector that would eliminate any possibility of inter- ference once a clear channel is located. An- other scheme would involve time multiplex- ing so that stations being inadvertently jammed would have a specific time to com- plain to their neighbors. A third possibility is to employ split frequency modes where each station transmits on a channel that seems to be clear to it. Thus far, aspects of the operating system have been described that enable systems to establish contact and operate in a one-to-one or one-to-many transfer mode. For a basic architecture this capability is adequate, with all systems involved in the transfer returning to a monitor mode when a particular inter- action has been completed. It is possible that this methodology would give good perform- ance, even with a very busy network, be- cause of the potentially low overhead of changing modes and reinitializing communi- cations through programmed control. How- ever, it may also be found to be very desirable to integrate and concatenate network opera- tions so that many data transfers can be achieved when stations establish contact. This is an area where empirical results would be helpful in evaluating alternate approaches. Limitations of Amateur Radio All of what has been described thus far can be done within the constraints of amateur radio; however, such an implemen- tation would impose limitations that would only be eliminated by a broad redefinition of the regulations. The most desirable situa- tion would involve spectrum dedicated to the network with a set of rules appropriate to the application. One of the most basic requirements of this scheme is that multiple dedicated frequencies beavailable exclusively 96 BYTE February 1978 Go tell it to your computer for $ 189« '*' *'ff,*J.,U f. \ox\ can have low cost voice entry to your computer with SpeechLab. Heuristics' original Model 50 SpeechLab™ at $299 was a great success. So, not content to rest on our laurels, we went back to our design bench and came out with the Model 20. It sells for $189 completely assembled and tested for use with any S-100 Bus computer such as Sol, IMSAI, Altair or Cromemco and as the 20A, the Apple. Now obviously, we had to do a few things to bring the price down. The Model 20 has a somewhat shorter manual. Technically, it's not quite as complex. Don't kid yourself though, the Model 20 does a real job. You can control your computer to do such tasks as data entry, quality control and everything else where you want a "hands-off" operation. Elsewhere in the ad we've illus- trated some examples of the kinds of things you can do. About the Model 20 Heuristics' new Model 20 handles up to 32 words. Software Circle 55 on inquiry card. is ROM based. The Model 20 uses 64 bytes per spoken word which is callable from BASIC. Hardware includes 2 band pass filters with 2 bit amplitude, 2 zero crossing detectors and a linear amplifier. The combined hardware/ software/lab manual includes 10 experiments. The ROM based speech recognition program occupies 2K bytes of ROM. The Model 50, still a great buy at $299. Here's an S-100 compatible system ( 8080 or Z-80) capable of handling a 64 word vocabulary using 64 bytes per spoken word. You'll get high speech recognition. Software includes SpeechBasic BASIC program- ming language in source and paper tape, assembly language speech recognition program in source and paper tape, hard- ware and self-test program in source and paper tape. SpeechBasic plot, correlation, recognition and advanced recognition programs are offered in source. The assembly language program uses less than 4K bytes for a 32 word vocabulary. It loads at 100H. A high core version is available. SpeechBasic BASIC interpreter loads at and requires 8K. A diagnostic program is included. Documentation includes a 275 page lab manual with 35 experiments and a 100 page hardware manual. All manuals are now available as separate items. The big manual is ideal for schools and colleges as an introduction to speech and pattern recognition. Hardware includes 3 band- pass filters (6 bits amplitude), 1 zero crossing detector, a linear amplifier, compression ampli- fier, 6 bit A/D converter and a beeper. The raw waveform is available for advanced experi- ments. A new noise cancelling microphone is also offered. Prices (f.o.b. Los Altos, CA) Model 20A (Apple) $189 Model 20S (S-100 Bus) $189 Model 20 manual $ 15 Model 50 $299 Model 50 lab manual $ 25 Model 50 hardware manual $ 15 (both manuals $35) Model NC-1 noise cancelling microphone $ 85 More information. For more information visit your nearest computer store. Most dealers now carry the Heuristics line. Or if more convenient write for literature. Please address Heuristics, Inc. , Box B, 900 N. San Antonio Road, Los Altos, CA 94022. Phone (415) 948-2542. Heuristics INC. BYTE February 1978 97 Even if the communica- tions subsystem (the net- work node of your home computer) has its own dedicated microprocessor, most of the network in- telligence will be in the communications operating system software. for network use. As has been demonstrated by 2 meter FM repeater usage, this is a definite possibility if many enthusiastic individuals seek to dedicate an underused spectrum segment to a specific activity. To assume that this can happen again may be too optimistic, Portions of the 220 MHz band have already been proposed for a new hobbyist type application, sort of midway between present Citizens' Band and amateur types of communication. Another difficulty with amateur radio constraints is the requirement that trans- missions be under the direct control of the operator. One of the reasons that VHF was suggested is because the propagation charac- teristics are relatively constant and could allow 24 hour operation. An optimum scenario would involve minimum interaction by the system operator. There would be a short period of operator activity in the eve- ning (or morning or whenever) to see what data had been transferred during the pre- vious day or two, evaluate new data acquisi- tions, and initiate messages. Since the system would be designed to support data without an explicit address, full-time operation would allow individual systems to interact with the network to find new data according to program. I would not expect that most of the data transfers would be initiated manually when the network reached maturity. This would be the major unique characteristic of the entire system. In a nondistributed net- work, costs would accrue on a per transfer basis, so it would be unlikely that individuals would pay to have their computers talk to each other all day and all night. In this distri- buted system, the ongoing costs would be those required to run the computer system and a small radio, and would not be large, even if run intermittently 24 hours a day. System use with the constraint of manual operation would probably not result in a synergistic multiprocessor environment either; watching a computer can become boring quickly. Compared to a timesharing system or other conventional data networks, the response time of this distributed system will be very slow, which would justify a longer time to get results. The slow speed of this network is not really a disadvantage because the application is quite different than timesharing, for example. The existence of the distributed network assumes each node includes a local computer to handle real time applications. It is the extent of this local processing capability that will give the network its unique characteristics. Therefore, it is essential that the network be organized so as to maximize these characteristics. The hardware and software that has already been described would not have to be substantially modified to supporta dedicated spectrum version of this network outside amateur radio's province. The major changes would be organizational and political with technical enhancements. The hardware model that has been designated the communica- tions subsystem would remain relatively fixed although there would be greater func- tional standardization, and more installations would include more highly evolved hardware. The commercial manufacture of peripheral communications hardware could certainly be expected at this point. The software would undergo more changes, although it should be a clear objective from the beginning to design the system, and particularly the soft- ware, so that it is modular and easily ex- pandable. New software features must be implemented and shown to be reliable to allow the individual systems to do useful work without operator intervention. Auto- matic logging and remote control would be two of these features. More effort than is now obvious would probably have to be put into completing decision trees, that is, ensur- ing a reasonable machine solution given any possible set of input conditions. The initial forms of many algorithms in the amateur radio context would probably have an escape, such as, "After N operations, or after T seconds, ring bell and wait for operator command." Obviously, structures like this will have to be different outside amateur radio in another band. Hopefully, the evolu- tion of the software will happen within the network itself, much more so than the hard- ware. The communications network is the ideal medium for individuals to define problems, and develop and distribute the solutions. Regulatory Aspects To distribute the solutions involves a regulatory change that would have significant effect. While I am hopeful that individuals would freely distribute some software that is created within this network, particularly software designed to enhance the operation of the network, I also hope that there will be a way to allow economics. Because the resource of radio spectrum time is limited, the economic characteristics must be regu- lated to preserve the values of distributed communications. On the other hand, a com- mercial influence could have beneficial aspects if it were properly applied. The goal of introducing economics is positive: Indi- viduals working at home, using their own equipment, could create and distribute products within a free market. The market, like the network, would have as its primary 98 BYTE February 1978 OSBORNE & ASSOCIATES, INC. The World Leaders In Microprocessor Books If you want information on microprocessors, begin with the Osborne books. PROGRAM BOOKS WRITTEN IN BASIC Payroll With Cost Accounting Accounts Payable And Accounts Receivable General Ledger These books may be used independently, or implemented together as a complete ac- counting system. Each contains program listings, user's manual and thorough docu- mentation. Written in an extended version of BASIC. #22002 (400 pages), #23002*, #24002* Some Common BASIC Programs 76 short practical programs, most of which can be used on any microcomputer with any version of BASIC. Complete with program descriptions, listings, remarks and exam- ples. #21002 (200 pages) ASSEMBLY LANGUAGE PROGRAMMING 6800 Assembly Language Programming 8080A/8085 Assembly Language Programming Assembly language primers in the classical sense, these books treat assembly language as a means of programming a microcom- puter. Full of simple programming examples. #31003 (400 pages), 32003* «*— - 8080R/8085 RSsemBiv ifinGUflGE PROGRflmmma Lance R. Lcventhal AN INTRODUCTION TO MICROCOMPUTERS Volume - The Beginner's Book If you know nothing about computers, then this is the book with which to start. It tells what computers are all about and describes their component parts. When you've read this, you'll be ready for Volume I. #6001 (300 pages) Volume I — Basic Concepts The world's best selling computer text de- scribes those characteristics common to all microprocessors yet specific to none. All hardware and programming concepts you will ever need to know are explained at an elementary level. #2001 (350 pages) Volume II — Some Real Products (revised June 1977) Every common microprocessor and all sup- port devices are described. Only data sheets are copied from manufacturers. Major chip slice products are also discussed. #3001 A (1250 pages) PROGRAMMING FOR LOGIC DESIGN 8080 Programming For Logic Design 6800 Programming For Logic Design Z80 Programming For Logic Design These books describe the meeting ground of programmers and logic designers; written for both, they provide detailed examples to illustrate effctive usage of microprocessors in traditional digital applications. #4001, #5001, #7001 (300 pages each) OSBORNE & ASSOCIATES, INC. • P.O. Box 2036 • Berkeley, California 94702 • DEPT. 15 6001 Volume — The Beginner's Book 2001 Volume I — Basic Concepts 3001 A Volume II — Some Real Products 4001 8080 Programming For Logic Design 5001 6800 Programming For Logic Design 7001 Z80 Programming For Logic Design 31003 8080A/8085 Assembly Language Programming 21002 Some Common BASIC Programs 22002 Payroll With Cost Accounting PRICE 12.50 QTY » 6-1/2%. SF Bay Area residents only i 6%. California residents outside SF Bay Area » Payment must be enclosed for orders of 10 books or less, i I have enclosed: Qcheck fjmoney order TOTAL AMOUNT OF PURCHASE TOTAL Sales Tax (Calif, residents only) Shipping Charges AMT CITY STATE ZIP PHONE SHIPPING CHARGES Shipping charges for bulk orders to be arranged, D 4th class (no charge, allow 3-4 weeks within USA, not applicable to discounted orders) □ $.50 per book, UPS (allow 10 days) in the U.S. □ $1.50 per book, special rush shipment by air in the U.S. Q $3.00 per book, foreign air mail •This book is not yet available. Please notify me when it is published: D 23002 Accounts Payable and Accounts Receivable □ 24002 General Ledger D 32003 6800 Assembly Language Programming Please send information on: D consignment Q dealer discount □ foreign distributors _F3j Circle 90 on inquiry card. BYTE February 1978 99 All of what is described here can be accomplished within the constraints of amateur radio; however, such an implementation would impose limitations which could only be eliminated by a broad re- definition of the regu- lations and operating practices. attribute its distributed characteristics. Cen- tralized capital would be minimized, and individual creativity maximized. A subsidiary regulatory characteristic that would necessarily be modified to allow the implementation of economics is data secur- ity. Presently, there is no allowance for secret communications on frequencies ac- cessible to the public, presumably to prevent spies from using walkie-talkies for "cloak and dagger" schemes. The desirability of secure communications and the impossibility of enforcing nonencoded computer conver- sations will force a change in this rule. It should be pointed out that the Federal Communications Commission has not been dogmatic about maintaining the regulatory status quo. Significant changes have occurred when it could be clearly demonstrated that the largest public interest would be served by modifying the administration of the radio spectrum. The potential utility and benefit of distributed communications make the changes much more plausible than they would otherwise seem. Also, the network can only be considered a potential reality in conjunction with very recent technical innovations. Such a network was not a viable possibility in 1970; now is the proper time to begin its implementation. What sort of applications for the network might occur if it achieved special regulatory status? While there are many possibilities, a general application I call "library building" provides a useful illustration. The goal of this mode of operation is that systems with mass storage capability would interact so that each participant would share a subset of the file structure with the other participants. Because of the relatively large amounts of data involved, such exchanges would prob- ably not occur on a relayed basis; rather, individual files could be relayed later by specific command. In order to participate in library building, systems would maintain directories of several types of files, eg: those maintained and available, those files desired, keys to file types (for example, "games" or "8080 code"), both desired and not desired, and specific files that are not desired. This activity would most frequently be dyadic (that is to say, they would be initialized when a pair of stations determined mutual interest in the activity). Library work repre- sents a network activity that could best be carried on with little operator intervention. A typical command would be the equivalent of "get everything new and share anything except files A, B and C." In fact, this could be a standard background command to be executed when operator initialized transfers become null. The operator would interact with this function by requesting a regular summary of files acquired and dispersed. A prerequisite for this sort of file oriented activity is that standards be developed for file management within personal computing, so that transfers can be made with both processor independence and device inde- pendence. The unique characteristic of any com- puter is the ease with which it is given new capability by feeding it new software. Thus, the distribution of software through this interactive network could rapidly result in an explosion of new functions. Once the system has been bootstrapped, growth could be faster and more meaningful in terms of legitimate achievement than that exper- ienced in any other medium. Possible future scenarios may give more perspective to the implications of the network. The system should be interfaced to other networks. Common carriers and cable tele- vision are present possibilities, and local laser links and direct communications through satellites are likely to occur in the future. Nondistributed data networks will be a major feature of the cultural technology of the 1990s, providing many of the services already discussed on the scale of television today. Amateur computing in distributed networks could set trends and establish precedents for the revolution to follow. The hardware definitions for the network could evolve to allow the establishment of new categories of node stations with special functions. One such function could be the data concentrator, a large, fast processor with several wide channels assigned to it. Large amounts of data could be burst trans- mitted over longer distances to condense much relay work. Other specialties, such as computational batch processor, game play- ing adversary, etc, will evolve as the applica- tions do. Blue Sky New hardware should have a profound impact on the network, especially when that new hardware is a data oriented version of the video disk. Since the video disk is a highly cost effective way to reliably transfer large amounts of data (on the order of 1 ' ® bits), it would be impractical to replicate this sort of transfer over a communications link. Further, nondigital data would require extra hardware, long transfer times and prohibitive bandwidths for even VHF radio. However, if we can assume the existence of another commercially oriented system for the economical creation and distribution of physical disks, even at very low volumes, then there is a definite place for a communi- cations network to interact with these disks. To assume such a support system is not un- 100 BYTE February 1978 reasonable because of the extreme potential for commercial application. However, the growth of such a support system probably would be accelerated by demand from the computer enthusiast market. The interaction of video disks with the network would occur as an interface to digitally controlled video disk drives and disk program material with imbedded software. If two communicating systems were using identical or similar disks, control information could be exchanged through the network to access the common data. With the huge amount of analogstorage available, organized as video, video stills or audio, the imbedded software and transferred control would provide much flexibility applied, for example, as educational or crea- tive utilities. This aspect of video technology used in conjunction with the network would be helpful in supporting various sorts of syner- gistic multiple processor functions. In this mode, a number of systems would share a channel or channels via time multiplexing. A useful application, which has already undergone experimentation via timesharing, is the computerized conversation, an on- going round table discussion that occurs out- side the constraints of real time and space. Eventually, as the systems become more sophisticated, this mode could support multiprocessor creative activities, such as music or video synthesis, as well as the creation and use of educational materials. Each communicating processor would use similar creative software, and the individuals would supply data to produce a sort of computer symphony. One of the most interesting applications of the network capabilities under discussion will be computer gaming on a very large scale. Games could be highly complex, in- volve months of real time, and have teams of dozens or hundreds of systems. The network will be interfaced to the specialized large systems that will be the amusements of the next decades, a development made more plausible by the many predictions of greater leisure time in the future. The games will evolve to the level where individuals may be more concerned with the construction of an optimum game playing system, rather than playing the games directly. This level of sophistication approaches practical artificial intelligence. So What? What I have attempted in this article is to demonstrate the implications of using existing technology to construct a new type of com- munications network that would radically effect much within personal computing. There are two difficulties: Radio spectrum must be allocated to the activity, and standardization of the technical details must be achieved. I realize that this article has not gone too far with specific technicalities, and that is partially because I felt that the intelli- gence of a distributed system should be determined by a number of individuals and not predefined. Also, many aspects have been characterized that will involve a sub- stantial amount of technical detail, and I felt it would be more useful at this point to describe alternatives, possibilities and general approaches rather than specific algorithms. Always in the past, new technology has been greeted with a "so what" attitude. The ultimate implication of the proposals in this article is that the home computer can be part of a dynamic ongoing process rather than an expensive toy that plays the latest tapes. This is not a negative comment about "play" applications; rather, it is a statement that no technology is appropriate in the wrong environment. It is my contention that as a tool the computer is pretty interesting, but no tool is of ultimate interest without real wonk. It. is my hope that others will add to these ideas to make the personal computer a necessary component of a useful system." wire wrapping fc5 center (ok) -,cUJ HOBBY WRAP NE**' MODEL BW630 P/ UNWRAP wrapping tool Batteries not included COMPLETE WITH BIT AND SLEEVE DIP IC INSERTION TOOL WITH PIN STRAIGHTENER, MODEL INS1416 $3.49' •MIN. ORDER $25.. SHIPPING CHARGE $1. , N.Y. CITY-STATE RESIDENTS ADD TAX OK MACHINE & TOOL CORPORATION 3455 CONNER ST., BRONX, N.Y. 10475 (212) 994-6600 Telex 125091 Circle 88 on inquiry card. BYTE February 1978 101 Continued from page 38 interlaced parallel fingers. The magnetic field strength is concentrated in the tiny air gap between these fingers, near the surface of the rotor. The rotor itself is a permanent magnet which has a series of poles mag- netized around its periphery. The number of rotor poles equals the number of stator air gaps. It is the attraction and repulsion between these poles of the rotor and the stepping magnetic field of the stator that cause the motor to rotate. 12V A I I o ■ I I I I I I I o » I I I I I I I O ' I 1 DRIVE SOURCE, FOR EXAMPLE AN 8255 WITH SOFTWARE SETTING UP TIMING OF FIGURE 5b W4 W2 Wl W3 Figure 5a: Simple method for driving 4 phase stepper motors utilizing NPN transistors and a positive power supply. For larger motors two transistors connected in parallel, a Darlington amplifier, may be required as shown for winding 3 in this drawing. The values of the resistors and diodes will depend on the stepper motor being used and the drive source for each phase. ON(I) Wl OFF (0) — i ON (I) W2 OFF (0) ON (1) W3 OFF (0) ON(I) W4 OFF (0) CLOCKWISE MOTION COUNTERCLOCKWISE MOTION Figure 5b: Timing diagram for a 4 phase stepper motor has one winding being energized and one being de-energized at a time. One side of each winding is conducting current at any time. The energizing pattern is reversed to reverse the motor rotation. Hardware Solution An easy way to drive the coils is with NPN transistors as shown in figure 5. Two transistors at a time are switched to ground to cause current to flow in the required di- rection. Note that windings 2 and 4 (w2 and w4) cause current to flow in opposite direc- tions of the same coil. A high power motor may require a Darlington drive, as shown in winding 3. This is just two low power tran- sistors driving a high power unit to insure that your 10 port will be able to drive the motor coil safely. A 1.0 mA output from an 8255 10 port drives 20 mA with a single transistor and 400 mA with a Darlington. Each transistor multiplies the current by a factor of 20. Two is the limit though, be- cause the guaranteed output voltage of the 10 port is 1.5 V. Each transistor requires 0.7 V, so two of them require a total of 1.4 V. The windings must be energized in the sequence shown in figure 5b. Notice that at any given time one half of each coil is energized. Let's take a quick look at a circuit to pro- duce this coil driving sequence. The circuit shown in figure 6 provides the proper se- quence for a reversible drive. Speed is con- trolled by the frequency of the clock input. For coarse control the clock can be gener- ated by a 555 type oscillator. For very accurate control this clock can be generated by a crystal oscillator. Switch SI, which could be an 10 line, controls the direction of rotation. The frequency is more difficult to obtain directly. A digitally controlled oscilla- tor whose setting is controlled by a digital to analog converter would provide very precise and accurate speed control. No processor timing would be required. A typical example of such an oscillator is shown in figure 7. The number of input bits used (in this case eight) determines the number of speed selections. If the number of steps is more important than precise speed, the circuit of figure 8 can be added to control the clock. The thumb switch inputs could be 10 port lines. The LOAD line transfers the selected count into the counter. The START line sets the gate to a transmission mode. When the counters count back down to zero, a pulse is emitted from the borrow line and resets the gate to a blocking condition. The selected number of pulses has been counted out to the motor drive. The motor speed is still controlled by the oscillator frequency. Software Solution If your only chore is to drive a single motor, then a microprocessor is probably not necessary. But if several motions are 102 BYTE February 1978 We'd Like To Ask You A Question. Have you considered the Central Data 16K RAM board? If you haven't, you should. We've combined quality engineering and low prices to come up with a memory board you'll like. Take a look at our features and find out for yourself. • completely assembled, tested and burned in • expandable to 32K • S-100 compatible • access time of 450ns • invisible refresh — absolutely no wait states • power dissipation one-half that of static RAM • one-year warranty. You can purchase a 1 6K RAM board with all these features for only $289. The cost of adding 16K to your present Central Data 16K board is $200. A 32K RAM board, assembled, tested and burned-in, is only $475. With all those features, don't you think you should be considering ours? Central data PO Box 2484, Station A Champaign, IL 61820 Please send me the following: □ 16K RAM board ($289) □ 32K RAM board ($475) D additional information 1 enclose $ . 111. residents add sales tax. Central Data P.O. Box 2484, Sta. A Champaign, II 61820 Name Address . City State Zip_ Circle 17 on inquiry card. BYTE February 1978 103 CLOCK POWER CONNECTIONS NUMBER + 5V GND ICI IC2 14 13 7 5 W3 Figure 6: A pair of flip flops provide the memory and exclusive OR gates provide the steering to generate the drive patterns in a hardware solution to the stepper motor drive problem. aoG> VREF + 5V IOK f VA 1 POWER CONNECTIONS NUMBER TYPE + 5V GND + I2V -I2V ICI 1408 ICZ 741 7 4 IC3 741 7 4 IC4 741 7 4 IC5 741 7 4 IC6 7476 5 13 Figure 7: This digitally controlled oscillator generates a frequency proportional to the integer output to the digital to analog converter. The frequency can be used as the clock input of figure 6, providing a variable motor speed from a hardware driver. 104 BYTE February 1978 Monthly Magazines are great for in-depth articles and detailed technical information -and we're not suggesting you stop reading this one. What we are suggesting is that we can give you a lot that a magazine can't. First, we're a newspaper - which means we cover a lot of things briefly, instead of a few things deeply. Second, we're weekly - so you won't be saying "I wish I had known about that" when you hear someone talking about new micro hardware and software. Third, we have a low-cost Microcomputing Classified Exchange, where you can find (or advertise) bargains on equipment or software you need. • or look for people or information Fourth, we're into all aspects of computers; so you don't have to limit your information to micros. We cover every thing from industry news to data processing to ethical issues, as only a newspaper can. Fifth, we'll send you 52 issues for about .«,i»™ — . 35(2 a week with a one-year sub- scription (less than half the news- stand price). Just use the form below to start your subscription coming. It's a fast way to stay ahead. N<« IBM Pnxewvi F[u*li Out I'tl AS/o. Hut Amdahl SUml* I Please send me COMPUTERWORLD for 1 year RATES: U.S. $18 Canada and PUAS $28 Europe & Middle East - $50 All Other Foreign $65 J J Check Enclosed Am Ex □ BA/V isa DMC (MC Only List four digits above your name) If charge we must have cardholder's signature . Expiration .Date: First Initial Middle Initial S rnane 1 1 1 1 1 1 i 1 1 1 1 Your TiiU- 1 l 1 1 1 1 1 l l 1 1 l Company Name 1 1 l 1 1 1 1 1 St'nd lc> Addrt'ss 1 1 l 1 1 l 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ("ilv 1 1 l 1 1 1 1 I 1 I 1 1 l 1 l s«« 1 Zip Code 1 1 1 Address shown is Business J Home \ ] Check here if you do not wish to receive promotional mail from Computerworld CIRCULATION DEPT. H, 797 Washington Street. Newton. Mass. 02160 COMPUTERWORLD THE NEWSWEEKLY FOR THE COMPUTER COMMUNITY PLEASE CIRCLE 1 NUMBER IN EACH CATEGORY BUSINESS/INDUSTRY 10 Manufacturer of Computer or DP Hardware/Peripherals 20 Manufacturer (other) 30 DP Service Bureau 'Software/Planning/Consulting 40 Public Utility/Communication Systems) Transportation 50 Wnolesale'Retail Trade 60 Finance/Insurance/Real Estate 70 Mining 'Construction ' Petroleum / Refining 75 Business Service (except DP) 80 Eoucalion/ Medicine /Law 85 Government - Federal /State/Local 90 Printing /Publishing/ Other Communication Service 95 Other TITLE 'OCCUPATION /FUNCTION 11 President 'Owner /Partner /General Manager 12 vP/Assistant VP 13 Treasuier /Controller/ Finance Officer 21 Director /Manager of Operation /Planning / Administrative Service 22 Director/Manager/Supervisor DP 23 Systems Manager/ Syslems Analyst 31 Manager /Supervisor Programming 32 Programmer' Methods Analyst 41 Application Engineer 42 Other Engineering Mlg Sales Represeniaiive O'her Sales/Marketing Consultant Lawyer/ Accountant Librarian /Educator /Student Olher Circle 31 on inquiry card. BYTE February 1978 105 Generated Pattern (one me per clock state W1 W2 W3 W4 1 1 Clockwise 1 1 1 , o 1 1 1 1 1 Counterclockwise Table I : The pattern generated by the circuit of figure 6. The number I re- presents current flowing in a winding. Reversing the drive pattern will reverse the motor direction. Clockwise W3 W4 W1 W2 110 11 10 1 110 Counterclockwise Table 2: If the drive patterns of table I are rearranged as shown, a pair of rotating Is becomes apparent. This simplifies the generation of these patterns through software. POWER CONNECTIONS NUMBER TYPE +5V GND IC I 7400 14 7 IC 2 7474 4 I I IC3 74I92 16 8 IC4 74I92 16 8 IC2 7474 S + 5V J -/ START ■ 5. IK : (4) GATED CLOCK -o IC3 A QA 74I92 B QB QC QD LOAD BCD THUMB SWITCHES + 5V 5.1 K (4) ■ TO / DISPLAY DOWN UP LOAD IC4 A QA 74192 B QB QC QD 1 TO DISPLAY X Figure 8: This circuit will generate a selected number of pulses when the start button is pushed. The thumb switches and the two push buttons could be replaced with signals from an 10 port. If desired, a display may be added to the circuit to indicate the number of counts left. required and the speed and position of each must be controlled, then the microprocessor saves considerable hardware. The entire job can be done inside the processor, with only the Darlington power drive transistors out- side. The problem of generating and keeping track of the pulse trains becomes a software task. Let's first look at a routine to drive a single motor. If the winding drive pattern of table 1 is rearranged as in table 2, a rotating pattern of 1s becomes apparent. Now direction of rotation is controlled by the direction that the 1s are shifted (left or right). Speed is controlled by the rate at which these 1s are shifted and transferred to the motor. In- ternal counting can be used or external interrupt driven timing can be used. Since I needed other time events, I chose to use the Texas Instruments TMS 5501 for my experi- ments. This versatile chip provides five sepa- rate timers, eight input and eight output lines, an external sense line and a bidirec- tional serial link. All these priorities are taken care of, too. I will deal only with one timer and merely assume its interrupt has been vectored to my subroutine properly. The basic scheme is to set the timer for an interval of from 64 /is to 16.32 ms and count off the desired number of intervals. When the desired total time has elapsed, the motor drive pattern is rotated and output. The timing begins again. For higher speeds, above 60 steps per second, only one timer interval is required between each step. By choosing the time interval and the number of intervals, a wide range of motor speeds may be selected. A flowchart is shown in figure 9, and the code is in listing 1. The motor outputs are the four low order bits of one port on an 8255 output port. Now let's look at some of the details of the code. First, of course, the status must be saved and the interrupt re-enabled. Next check the number of elapsed intervals. If it's down to zero then look at the number of steps requested. If there's more to go then decre- ment the steps counter and update memory location STEPS. Next update the number of timer intervals (CONTR) because you'll have to count them off again. The timer is started and set by writing a word, in the range of decimal to 255, to memory. In the hardware motor drive, each coil drive pattern is determined from the previ- ous pattern by the feedback from two outputs. In this software version it is not possible to read the latched output so the 706 BYTE February 1978 ifuTcnFflLC «5c magazine presents Micro Business 78 CONSUMERISM SHOWLwJ MICRO BUSINESS 78™ will provide a series of marketing forums and exhibits to introduce the small independent busi- nessman to the new low-cost, high-power business microcom- puter that will reduce his company's costs, place him in a more flexible marketplace and provide timely data information. Emphasis will be on the small budget requirements for pur- chase of an in-house computer. The show will demonstrate the latest systems, exhibiting complete hardware and software from small hand-held programmable calculators to full turn-key computers. • Latest in Word Processors • Newly-Released Business Software • Low-Cost Text Editing Typewriters • Modularized Computers THE LOW COST, dependability, simplicity of operation, and cost savings advantages of microcomputers will be discussed in a series of lectures to remove the many misconceptions the average businessman may have about the microcomputer technology. Lectures by such companies as IBM, Commodore Business Machines and Radio Shack will present the DATE: MARCH 17, 18, 19, 1978 PLACE: PASADENA CONFERENCE CENTER PASADENA, CALIFORNIA businessman with the latest information about application, service and investment. Author Adam Osborne will discuss business software. OTHER LECTURES on the program include: • Small Business Computing Systems • Evaluating Your Business Computer Needs • Software Companies • The Mainframe Companies & The Small Computer • The Small Business Computer Company • Computer Stores and the Small Business System • Retail Mass Marketing of Microcomputers Sponsored by: INTERFACE AGE Magazine EXHIBITORS: PLACE YOUR RESERVATION NOW! Produced & Managed by: Show Company International 8687 Melrose Avenue Los Angeles, California 90069 (213)659-2050 Ed Tavetian Circle 69 on inquiry card. BYTE February 1978 107 f MOTOR J SAVE STATUS ENABLE INTERRUPT GET MOTOR SPEED ITERATIONS AND DECREMENT Figure 9: Flowchart for the single motor drive rou- tine of listing 7. RELOAD MOTOR TIMER GET NUMBER OF STEPS LEFT TO BE STEPPED STEPS:=STEPS-I LOAD NEW MOTOR TIMER, MOTOR DIRECTION AND PATTERN ADDRESS ROTATE PATTERN LEFT ROTATE PATTERN RIGHT PATTERN:=PATTERN+ 01 H PATTERNS PATTERN + BOH RETURN MOTOR DRIVE PATTERN TO MEMORY MASK OUT 4 HIGH ORDER BITS OUTPUT PATTERN RESTORE STATUS ( RETURN J 108 BYTE February l'J78 last pattern is maintained in memory loca- tion PHASE. I chose to use a full eight bits to store the 4 bit drive pattern and repeated the four bits in the high nybble. Then the overflow on rotate could be sensed in the carry bit. I used RAL and RAR for rotating, sensed overflow in the carry bit, and added a correction of either 01 H 80H respectively. I learned later that if I used RRC and RLC, rotate right or left with carry, then this was taken care of by the processor. After rota- tion the new drive pattern must be stored back in memory to be available during the next cycle. The high nybble is then masked out. After the four high order bits are masked out the motor drive pattern can be output via the 8255 output port. All that remains is to return the status and registers to their former condition and then return to the main line program to await another interrupt. Four of the TMS 5501 output lines could have been used, eliminating the need for another output chip. A word about stepper motor speed is in order here. With a light load, the motor will respond and follow commands at speeds of up to 250 to 300 steps per second. With a frictional load this maximum speed will reduce linearly in proportion to the friction. An inertial load, such as a flywheel, will not reduce the maximum speed. However, with an inertial load the speed must be pro- grammed over several steps from slow to fast. If the maximum speed is not ap- proached gradually, the electrical stepping moves faster than the load can. The motor will just sit and stutter. A check with an oscilloscope would show the proper pattern sequence occurring. Use of a more complex program with actual motor speed feeding back into it via hardware could help solve this problem. J MOTOR COIL DRIVE. INTERRUPT DRIVEN. INTERV MOTOR 1 PUSH PSW PUSH B PUSH H I SAVE STACK EI LXI H.CONTR MOV A.M I GET COUNT REMAINING DCR A 1 DECREMENT COUNT MOV M.A JZ MDCR ; CHECK STEPS IF CONTR ZERO LXI H. INTVL J IF NOT MOV A.M IGET INTERVAL STA TIMER 1AND RESET INTERVAL JMP MDO.NE MDCRI LXI H. STEPS MOV A.M )GET STEPS AHA A 1SET FLAGS JZ MDONE IEXIT IF DONE DCR A I DECREMENT STEPS MOV M.A 1 STORE NEW STEPS LXI H. COUNT MOV A.M LXI H.CONTR MOV M.A IRESTORE ORIGINAL CONTR LXI H. INTVL MOV A.M LXI H.TIMR 1 RESET INTERVAL TIMER MOV M.A LXI H.DIR MOV A.M IGET DIRECTION LXI H. PHASE STC CMC (CLEAR CARRY AMA A ISET FLAGS JP ecu CWt MOV RAL JNC A.M HDR IGET MOTOR DRIVE PATTERN ORI 00000001a JCORRECT FOR OVERFLOW JMP MDR ccvi MOV RAR JNC A.M MDR ORI I0000OO0B J CORRECT FOR OVERFLOW MDRt MOV M.A AMI OOOOl 11 IB OUT OUTMDR ; OUTPUT SIGNAL TO MOTOR HDONEl POP POP POP RET H B PSW COUNT NUMBER OF TIMER INTERVALS TOTAL CONTR NUMBER OF TIMER INTERVALS REMAINING INTVL TIMER INTERVALS 0-855 STEPS NUMBER OF STEPS TO BE MOVED DIB MOTOR DIRECTION PHASE MOTOR DRIVE PATTERN TIMR TIMER ADDRESS IN MEMORY SPACE OUTMDR MOTOR OUTPUT ADDRESS IN 10 SPACE MOTOR I SAME CIRCUIT AS / MOTOR I. Listing 7: An 8080 assembly language pro- gram for driving a single motor. Figure 10: By adding a pair of inverters to each motor drive, four motors can be driven from one 8 bit output port. UYTF. February l'(78 109 Table 3. A mismatch exists between the desired pattern of table 3b and the generated binary count of table 3a. LXI H.0UT1 MOV CM MVI B.OBOH LXI H.PHAS1 CALL MOTORS JZ LOAD1 MV! A.OFFH STA TIMRS LXI H.HSTRT JMP LOOP I I GET OUTPUT ;LOAD CU> 100 STEPS ; SELECT MOTOR Ml ) motor step subroutine ;exit if dome stepping JELSE IRESTART motor timer ;VAIT FOR MOTOR Listing 2: An 8080 assembly language mainline program for driving several stepper motors. After getting a motor to turn on com- mand, the next challenge is addressing sev- eral motors while trying to conserve 10 lines. I did this by changing the method of generating the drive pattern. In the first program the entire pattern was stored, rotated and output to the motor. In the second program a different pattern was stored, one that would allow two output wires to control each motor. It was neces- sary to add a pair of 7404 inverters outside the processor as in figure 10. At first it appeared that two bits could be incremented inside the processor to generate the output signals, but the sequence was wrong as illustrated in table 3b. The problem was solved by storing the four pairs of bits in a register. Two memory locations are reserved for each motor. The first, PHAS1, stores the rotating bit pattern required to drive the motor. Each time a motor is to be stepped, its pattern will be rotated and output. This register always indicates the last pattern FUNDAMENTALS OF ROBOTS AND MECHANISMS What is Torque? Torque is the force which produces, or tends to produce, motion about an axis of rotation in a mechanical system. It is a measure of the power of a mechanical out- put device such as a stepper motor or other device. A specification of the available tor- que from such an actuator under various circumstances is an essential part of de- signing it Into a mechanical system, just as ROTATION current ratings are crucial to power semi- conductor drive design. A torque is specified in units which reflect its origin as a magnitude of force available at some distance from an axis of rotation. In the English system of measurement, a typical unit is "ounce-inch;" I oz-in of torque means that at a distance I inch from the axis, a force of 1 ounce would be exerted. In the metric system, a typical unit might be dyne-centimeter (CGS) or newton-meter (MKS) where the metric units of force (dyne or newton) and distance (centimeter or meter) are used. . .CH If force F is measured at point A (a distance x from center of rotation B), the torque is given by T = F.x Similarly, if a stepper motor has a rated torque of T, it can exert a force of F = T/x at distance x from its center of rotation. 110 BYTE February 1 978 output. The second register, MASK1, con- tains a mask. For example: mask OC hexa- decimal (00001100 binary) is for the motor attached to output wires 2 and 3, motor 2 in figure 1 0. The subroutine must be entered with certain preliminaries taken care of. The HL register pair points to the drive pattern of the motor to be driven. Register B contains the direction of rotation. If the most signifi- cant bit is the rotation is counterclock- wise; if the most significant bit is 1 the rotation is clockwise. Register B also con- tains the number of steps to be made. The TIMS 5501 was again used as a timer. One motor must complete its steps before an- other starts. The flowchart for this second motor drive routine (listing 3) is shown in figure 1 1 . The registers and two memory locations are shown in figure 12 as they look before and after a pass through the subroutine. Remem- ber that bits and 1 of register C are driving the motor of interest. Register D is a temporary storage location and bits and 1 of register D reflect the change in drive pattern. The most significant bit of register B is a 1 indicating clockwise rotation. The lower order bits are the steps count, and are decremented by 1 each pass. The most significant bit is masked out in the last operation. This sets up a zero test and jump upon return to the mainline program, if the count has been completed. Now let's look at how the subroutine is called. Mainline program HOME1, shown in Figure 11: The flowchart for the motor drive routine of listing 3. GET PHASE ROTATE RIGHT TWICE 1 STEPPER MOTOR DRIVE ROUTINE ■CALLED FROM MAIN LINE PROGRAM HOME1 MOTORS MOV A>B ANA A I SET FLAGS JM CW DETERMINE DIRECTION MOV A.M IGET PHASE RRC RRC J ROTATE JMP MTRJP CVI MOV RLC A.M ) GET PHASE RLC 1 ROTATE MTRJPl MOV M,ft iPUT BACK I NX H IPOINT TO MOTOR MASK ANA M JMASK OFF MOTOR MOV D.A ) TEMPORARY STORAGE MOV A.M IGET MASK CMA 1 COMPLEMENT MASK ANA C JGET OUTPUT ORA D 1 COMBINE NEV AND OLD MOV C.A J REPLACE IN MEMORY LXI H.OUTI MOV N.A STA MTROT > START MOTOR DCR B 1 DECREMENT COUNTER MOV A.B ANI 7FH JMASK OUT DIRECTION RET ) RETURN TO MAIN PROGRAM ( MOTOR 2 J GET STEPS REMAINING FROM B REGISTER SET FLAGS YES RETURN PHASE TO MEMORY POINT HL REGISTERS TO MASK GET MASK AND SAVE SELECTED BITS IN D REGISTER COMPLEMENT THE MASK C:=XOR C.MASK UPDATE C REGISTER WITH NEW MOTOR DRIVE OUTPUT TO MOTOR STEPS COUNT: = STEPS COUNT-I MASK MOST SIGNIFICANT BIT DIRECTION INDICATOR ( RETURN ) GET PHASE ROTATE LEFT TWICE Listing 3: This is the 8080 assembly listing of a second motor routine. This one is called by mainline routine HOME! . Note that the zero flag is carried back to mainline program to indicate steps done. BYTE February 1978 111 Before After Figure 12: The status of the HL, DE and BC regis- ter pairs before and after a call to the MOTOR routine. Phase 1 Mask 1 Phase 1 00 00 00 1 1 10 00 01 11 Address 01 01 10 11 L H E D C B 10 00 01 11 00 00 00 1 1 listing 2, addresses OUT1, the motor drive storage, and puts it in register C. Literal value 0B0 hexadecimal is moved to register B indicating 100 steps clockwise. The HL register pair is pointed to PHAS'I which selects motor 1 , and then MOTOR2 is called. When the MOTOR2 routine returns a jump on zero test, J2 jumps over the looping to continue the next part of the main program. If 100 steps have not occurred, the zero flag will not be set in MOTOR2, and the program falls through the test. The motor timer is then restarted. The HL register pair is set to HSTRT and the program loops, waiting for time-out. When time-out occurs, a PCHL instruction vectors the program to HSTRT and another MOTOR2 call. If you had the time, some extra bytes and several stepper motors, what might you accomplish? The first rotation on command is pretty exciting, but not to anyone but you. There are some useful applications right next to your computer. An XY plotter might be useful in your graphics work. If you aren't handy with mechanics you might modify the paper drive of an analog recorder to provide bidirectional stepper control. An analog to digital converter to drive the pen and a relay to lift the pen between points will give you a reasonable alternative to an expensive plotter. Other hobbies just cry out with applica- tions. The model railroad buff can control the neatest turntable. A stepper motor in a yard engine would give ultra low speed. A machinist might combine a couple of beefy stepper motors and a lathe to create a simple numerically controlled machine tool. One of the most interesting applications, robots, takes on added dimensions with precise control possible. A variation of this might be to program the strings of a puppet. (That one is going to need lots of program stor- age.) The radio amateur can automate his or her existing receiver by coupling to the turning knob. Any place where several motions have to be synchronized, stepper motors can be the solution." Out 1 oo oo oo 1 10 00 01 10 Address 01 01 10 10 Phase 1 Mask 1 00 01 11 10 00 00 00 1 1 BIBLIOGRAPHY 1. Intel Corporation, 8080 Microcomputer Sys- tems User's Manual, 1975. 2. Bober, Robert E, "Stepperdrive Circuit Simpli- fies Printer Control," EDN, April 5 1976, page 114. 3. Helfrick, Albert, "8 bit Frequency Source Suited for Microprocessor Control," EDN, Sep- tember 20 1 976, page 1 1 6. 4. Webster, John and Simpson, William, Software Design for Microprocessors, Texas Instruments Learning Center, 1976. 5. Baker, Robert, "Put the 'Do Everything' Chip in Your Next Design," BYTE, July 1976, page 40. 6. Shogren, Carl, "The AC/PM Motor: A Drive Whose Time Has Come," Machine Design , June 27 1974, page 83. 7. Hollis, Ralph, "Newt: A Mobile Cognitive Robot," BYTE, June 1977, page 36 (stepper motor discussion). 8. Guilder, J, "Focus on Stepping Motors," Elect- ronic Design, October 25 1977, page 48 (an excellent tutorial). Where the little guy can get a stepper motor: Sigma Instruments Inc Braintree MA 02184 18-1408 $22 18-2013 $23 Minimum billing is $35. North American Philips Controls Corporation Cheshire Industrial Park Cheshire CT 06410 Empire Electrical Company 54 Mystic Av Medford MA 02155 K82201 $17 K82401 $17.85 American Design Components 39 Lispenard St New York NY 10013 Berger-Lahr Corporation Peterborough Rd Jaffrey NH 03452 112 BYTE February 1978 SYNCHRO-SOUND ENTERPRISES, INC.I Everything you need in LEAR SIEGLER ADM 3A TERMINAL Kit $739.95 Assembled 849.95 small computer systems! rjT^jB CENTRONICS 779 PRINTER $1099.00 ADM 1 A TERMINAL Assembled $1398.00 ADM 2A TERMINAL Assembled $1895.00 HAZELTINE 1500 VIDEO TERMINAL Assembled $1 149.00 j Kit also available MODULAR 1 INTELLIGENT TERMINAL 703 SERIAL PRINTER $2395.00 761 PRINTER KSR with Keyboard $1695.00 Assembled $1659.00 IMSAI 8080 MICROCOMPUTER IMSAI 8080 •> j as IBHfe With 22 slot $649.95 SPECIAL BUYS IMSAI Double Density Persci Drive $2295.00 Sorac IQ 120 Video Terminal 959.00 DEC LA 180 Printer 2769.00 Compucolor8001 Color Computer 2595.00 ICOM Microfloppy System 989.00 North Star Microfloppy Disk Kit 599.00 Cromemco Z-2 Kit 565.25 Javelin 9" Video Monitor 159.95 Micropolis Model 1053MOD 2 1799.00 IMSAI AP44-44 Col. Printer Kit 329.00 TDL Xitan Alpha 1 Computer Kit 699.00 ICOM Model FD 3712 2795.00 OKIDATA MODEL 110 LINE PRINTER Friction Feed $1149.00 Tractor Feed $1279.00 RS232C Serial Interface $260.00 MODEL 22 LINE PRINTER Tractor Feed $2249.00 TELETYPE MODEL 43 PRINTER $1299.00 IMSAI PC S-80/15 8085 COMPUTER $749.00 Assembled $929.00 We carry a full line of the following: TDL, Centronics, Seals, Hazeltine, Micropolis, Hayden, IMSAI, Cromemco, Compucolor, Icom, LearSiegler, Okidata, DEC, Javelin, North Star, Peripheral Vision. Same day delivery and shipping on most items. Full modern repair facilities on premises for complete servicing of everything we sell. SYNCHRO-SOUND ENTERPRISES INC The Computer People 193-25 Jamaica Avenue, Jamaica, New York 11423 212/468-7067 TWX: 710-582-5886 Hours 9-4 daily Visit our new showroom and Saturday Working units on display Dept. bbb BankAmericard • MasterCharge Circle 95 on inquiry card. BYTE February 1978 113 A Minifloppy Interface David Allen Electronics Consultant 1317 Central Av Kansas City KS 66102 Floppy disk drives have been around for some years now; the basic technology of such drives is well proven and the drive designs seem reliable as mass storage for small systems. Having used the standard size floppy for some time, my first reaction to the introduction of the "minifloppy" was to view it as a cute gimmick, since the minifloppy's price had not then dropped in proportion to its performance. However, after using the minifloppy for a while and having seen the inevitable dropping in price as production expands, I am becoming much more enthusiastic. The reduction in bit rate will make it easier to interface, and the reduction in bit density should make it slightly more reliable in small user environments. Its performance, while reduced, is quite adequate for many applications, especially when its price is taken into account. [One personal comput- ing manufacturer, for instance, markets a dual drive peripheral for their systems at a total of $1000, which is hard to find in a dual drive standard size floppy disk. . . CH] Its small size and relaxed specifications allow room for more cost cutting than the full-size design. Competitive technologies like bubble memories are perhaps several years away from equivalent costs per bit. It is thus quite appropriate to give serious consideration to the small floppy. Shugart was first to arrive on the market with a small floppy, but is no longer alone there. Wangco has a competing drive in production. BASF has a drive which was displayed at the 1977 NCC show in Dallas; it is reportedly just entering production as of fourth quarter 1977. Micro Peripherals Inc has a minifloppy drive scheduled for production at this time. A notable feature of the drive is its use of a band driven head positioning mechanism designed to improve track-to-track access time by a factor of five or six. Pertec has also announced a drive, and Radio Shack is reported to be working on a low cost version for use with their Z-80 based microcomputer system. Fortunately, Shugart's interface con- figuration has been copied in the Wangco and BASF drives right down to the use of the same connectors and pin assignments. This makes Shugart's interface a defacto standard, as well as a great improvement over the diversity experienced in full-size floppies. I hope the present plug compati- bility will continue. Wangco and others are advocating an ANSI (American National Standards Insti- tute) standard specification that includes 40 tracks (as opposed to Shugart's current 35 track maximum). Both the Wangco and BASF drives write on 40 tracks. The first 35 tracks are positioned in the same way as the tracks in Shugart's drive; the last five tracks were located closer to the center of the diskette than Shugart apparently thought safe. If the 40 track approach does get ANSI acceptance, though, it is reason- able to expect Shugart to make a 40 track version. How Small Floppies Differ from Full-size Units Several significant differences exist in the interfacing required for the small floppies versus the large floppies. One profound difference is that the former are all powered by DC motors. (AC motors are being investi- gated as an option by one manufacturer.) This allows the motor to be powered down during long periods of nonusage. The power saving is such that battery powered opera- tion is realistic; the fully powered Shugart drive uses only 15 W total (18 in Wangco's), and a sector can be read in less than two seconds of motor operation. This suggests usage in data logging applications, tradi- tionally the province of cassette drives. More noticeable to a large floppy user is the fact that the Shugart minifloppy stays almost stone cold during operation. (My Memorex 651 got so hot recently due to the combined heating of the step motor and hysteresis synchronous drive motor that the pressure pad adhesive decomposed into a sticky goo, allowing the pressure pad to slide off center and causing the first hard errors since the 651 large floppy was interfaced to my 114 BYTE February 1978 THE SSB HSO FLOPPY DISCOUNT Affordable The tribe at Smoke Signal Broadcasting took our BFD-68 disk system and scalped the price, but not the features to create the ABFD-68 (Affordable Basic Floppy Disk). We appreciate the fact that the computer hobbyist gave us our start and we haven't forgotten you. $649 Assembled Compare Price. Our SS-50 bus compatible disk system is $1 50 less than the assembled price of the leading S-1 00 disk system. And you can at least double that savings when you buy one of the computers manufactured by MSI or SWTPC that use the superior 6800 microprocessor. Programmable The BFD-68 is well known for its fine software. The system comes with the best disk operating system available and we offer a multitude of other com- patible software products. These include a BASIC interpreter with diskfile handling capability. By the way, our DOS now easily handles true random access files as well as sequential. Also, we have a superfast BASIC compilerfor business applica- tions. In addition, a Text Editor, 2 Assemblers, a Trace Disassembler useful for program debugging and an Object to Source Code Generator are all stock items available for immediate delivery. A word processor will be available very soon. Reliable We delivered our first mini-floppy disk system a year ago — 6 months ahead of any other 6800 based mini system. Thus, we've had twice the experience in building reliability into the system. Our NEW disk controller was designed using all we have learned in the past year about system reliability. The ABFD-68 contains all the built in reliability of our regular BFD-68 plus you save money by supplying your own cabinet and power supply for the disk. Available We've shipped literally tons of our BFD-68 disk system in the past year and have learned to keep our production up with demand. Give us a call and chances are we'll be able to ship you the new ABFD-68 from stock and charge it to your Master Charge or Visa card. Betteryet, askusforthe name of the computer store nearest you that carries our complete line of computer products. P.O. Box 20 1 7, Hollywood, CA 90028 • ( 2 1 3 ) 462-5652 Circle 105 on inquiry card. BYTE February 1978 115 Figure 1 : The author's minifloppy interface circuit. This circuit uses a 4 K bit buffer memory, IC10, as a key element of its operation. For output, this memory is addressed one bit at a time by writing to addresses 9000 to 9FFF of memory address space thru counters IC1, IC5 and IC1 1. Bit (low order) of the word written to memory is stored in the appropriate bit. For tft Ul D lo'l sA L At A s LU 3 1- o< t— - u =" ' uj O too & I q o m < w o O O O -1 ?«-) ^ CO Iro |* Sl o°°l c^ -© •a- in 5 >i DATA LATCH OUTPUT CLOCK EXTRACTOR CIRCUIT DATA BIT LATCH CIRCUIT C R/C u IC27CJ 7474 -f~> SEPCLOCK '-pX-^x IC27b 7474 -Q> DATA Figure 2: A circuit for separating data pulses from clock pulses In the author's system. Data and clock pulses arrive mixed to- gether at the input to IC25a. IC26, a ones hot, provides an output pulse to the data bit latch, IC27a, in such a manner that only clock pulses are outputted at SEPCLOCK. The timing diagram shows the effect of intentional propagation delays (exaggerated here for purposes of illustration). The delayed DA TA/CLOCK signal clocks data flip flop IC27b off during clock pulses because the clocking occurs during the time of the delayed SEPCLOCK low level. 120 BYTE February 1978 Everything you've ever wanted to know about microcomputers in ONE complete book for only $10.95 Over 400 pages. Full 8V2" x 11" size. The ultimate book about microcomputers. Written by experts . . . SCELBI and BYTE. Over 400 pages. A collector's item, featuring The Basics from the first 16 issues of BYTE and SCELBI's classic library of books. Your microcomputer bookshelf is incomplete without this priceless edition. You can't buy information organized like this any- where. This is the book that everyone who is into micro- computers needs for reference, for ideas, for clues to problem solving. It is a truly authorita- tive text, featuring easy-to-read, easy-to-understand articles by more than 50 recognized pro- fessional authors, who know and love microcomputers from the ground up. Logical and com- plete, it features many glos- saries, and is illuminated with profuse illustrations and photo- graphs. The Scelbi/BYTE Primer is divided into four logical sec- tions, that take you from point "0" through building and pro- gramming your own computer. . . step-by-step-by-step. What can you do with a micro- computer? Checkbook balanc- ing. Recipe converting and food inventory. Heating and air condi- tioning control. Home and busi- ness security and management. Playing the ponies. Analysis of the stock market. Maintaining massive data banks. Self-instruc- tion. Toys and games. Small business accounting and inven- tory. And lots, lots more. How does a microcomputer do it? Lots of "how to" theory. In- troducing you to microcomputer operation. 6800, 6502, Z80 CPU chip capabilities. RAM and ROM memories. Addressing methods. TS ' vain 1 1 ii IHITIEnl Over 400 pages. Selected articles from BYTE and SCELBI books. Profusely illustrated. Many photographs. $10.95, plus 500 shipping and handling. How to control peripherals. Transmission of information to and from computers. Magnetic recording devices for bulk stor- age. Analog to digital conver- sion. How a computer can talk. Other I/O techniques. And more. Order your copy today! SCELBI COMPUTER CONSULTING INC. Post Office Box 133 PP STN Dept. B Milford, CT 06460 BITS 70 Main Street Peterborough, NH 03458 •*"*» Prices shown for North American customers. Master Charge. Postal and bank Money Orders preferred. Personal checks delay shipping up to 4 weeks. Pricing, specifica- tions, availability subject to change without notice. All about building a micro- computer system. Over 12 com- plete construction articles. Flip- flops. LED devices. Recycling used ICs. Modular construction. Making your own p.c. boards. Prototype board construction. Make your own logic probes. Construction plans for 6800 and Z80 computers. Building plans for l/Os — TV and CRT displays, cassette interfaces, etc. Mathe- matics functions. ROM program- mer. Plus much, much more. How to program a micro- computer. Programming for the beginner. Assembling programs by hand. Monitoring programs. Number conversions. Game of Hexpawn. Design your own as- sembler. Lots more. And that's only the beginning! Others have spent millions ac- quiring the type of microcom- puter information found within the 400 pages of The Scelbi/ BYTE Primer. But, it costs you only $10.95, plus 500 for postage and handling, complete! You know the quality of Scelbi and BYTE. This is your assurance of excellence throughout this MUST text. Order your copy today! And, get one for a friend! Circle 102 on inquiry card. BYTE February 1978 121 Table 1: Power wiring table for figures I and 2. IC Number Type +5 V Pin Gnd Pin IC1 74177 14 7 IC2 7474 14 7 IC3 7474 14 7 1C4 74125 14 7 IC5 74177 14 7 IC6 74125 14 7 IC7 74125 14 7 IC8 74221 16 8 IC9 7404 14 7 IC10 TMS-4044-45 18 9 IC11 74177 14 7 IC12 7442 16 8 IC13 7430 14 7 IC14 7474 14 7 IC15 7408 14 7 IC16 7408 14 7 IC17 74175 16 8 IC18 7400 14 7 IC19 7404 14 7 IC20 74177 14 7 IC21 7420 14 7 IC22 7404 14 7 IC23 7400 14 7 IC24 74177 14 7 IC25 7404 14 7 IC26 74122 14 7 IC27 7474 14 7 jerk, the board could be dismounted and the corner of the board possibly broken off at the power connector. The two units are indeed plug com- patible. The controller described below, initially designed for the Shugart drive, passed data to and from the Wangco unit with no errors and no wiring changes. One minor difference in interfacing is that Wangco uses pin 2 of the. interface connector as a fourth drive-select line; pin 2 is unused on the Shugart unit and only three Shugart units can be paralleled without making cabling changes. The Wangco unit's head would not load when first powered up in my demo unit. It moved freely with finger pressure when power was off, and even pulled in with power on when given a little assistance. Minor adjustment might have been in order, but I thought that perhaps gravity could provide the needed assistance. This was verified when the unit was turned 180° on its side and it began loading and working flawlessly, hhad load solenoids have been a weak point of floppy disk drives at least since the Memorex 651. The Prototype Controller In order to get the minifloppy working with the least fuss, I adapted the original controller designed for the Memorex 651 to the minifloppy (see figure 1). This per- mitted use of all existing disk-based software with very few changes (see "A Floppy Disk Interface," page 58, January 1977 BYTE). The controller uses the same 256 byte hard sectors, buffered in the interface card, as before. Today, 256 bytes is unnecessarily small. Programmable memory prices have dropped sufficiently to warrant the use of a 512 or 1024 byte buffer, which could significantly increase the apparent speed of the disk. Logistics, not economics, dictated the continued use of the 256 byte sector. The hardware and software can be easily changed to incorporate a larger buffer. The similarity of the small floppy con- troller to its parent will be readily apparent if the schematics are compared. A reduction in chip count results from the smaller num- ber of sectors which saves a counter and bus driver, and from the use of a single 4 K static programmable memory in place of the separate 2102s of the parent design. Two separator circuits are built around a 74221 dual oneshot: one for sector and index pulses and the other for the received data and clock pulses. The data and clock pulse separator circuit is really just a varia- tion of the sector and index circuit. In each, a missing pulse (either an index or data pulse, depending on which circuit) is being sought. Sector and Index Separator Sector pulses are consistently present, occurring at regular intervals in time. Since the anticipated index pulse will occur approximately midway between adjacent sector pulses, the sector pulses are used to define the position of a sampling window. The oneshot is used as a gating signal to strip the index pulses out of the sector pulse train. In the sector and index pulse separator, the window begins at the trailing edge of each input pulse. The presence of the win- dow (ie: oneshot fired but not yet run out) enables a gate which will then pass any 122 BYTE February 1978 ymtm No, It Doesn't Cost a Million Bucks, It Just Works Like It Did! iir The MSDD-100 Floppv Disc System offers you an inexpensive, modern way to get real data processing power from your S-100 Bus Computer System. Disc storage is a must in every microcomputer. With the MSDD-100 system, this power doesn't cost much more than cassette, and is far faster. For business applications, disc storage is an absolute must. The MSDD-100 has enough bulk storage capacity to handle hundreds of inventory entries, yet has enough speed to get you to any of these records in just a second or so. That's power! Computer programmers know the advantage gained with disc storage. Program development is speeded up greatly. With a disc system, you spend your time writing software, not waiting for slow peripherals such as paper tape. For example, paper tape can be handled at about ten characters per second. Cassette tape runs at maybe thirty characters per second or so. By comparison, the transfer rate with the MSDD-100 Disc System is 15,000 characters per second. That's fast! You can easily put over 90,000 characters of data on a single diskette, about 5" in diameter. The MSDD-100 controller will allow you to hook up to three separate drives onto your system. That's over a quarter of a megabyte on line and accessable in a second or two. That's storage. For $599, you get the unique, modern MSDD-100 Disc Controller Card, the industry standard Shugart SA-400 Floppy Disc Drive, a comprehensive manual, system utilities software and patches into altair basic, and a preassembled cable. We offer fully integrated 8K and extended basic languages at nominal extra cost. That's MSD! Circle 80 on inquiry card. MSD Gets Down to Basics. Microsoft, the company that created the popular, widely used altair basic, wrote MSD Disc Basic, 8K and extended versions. Microsoft basic is well know for its power and speed. MSD bings you this language for the MSDD-100 Floppy Disc Svstem. MSD offers the first really compact disc basic, our 8K version, and extended basic, with powerful features such as double precision number processing, formatted data output, multiple data terminals, and most efficient memory usage. This fine software is now available to every MSDD-100 user. MSD basic is also fully compatible with the MSDV-100 video system. repertoire. The upper and lower case alphanumeric characters are of the highest quality. The MSDV-100 is a memory mapped, two board device that can be fed into a standard video monitor. Thoroughly developed software is included, with a wide selection of drivers supplied in both basic and assembly language. With MSDV-100 driving software, the MSDV-100 becomes an elegant, sophisticated video terminal with scrolling and cursor control. Full compatability with MSD basic, of course! 2765 So. Colorado Blvd. Suite 110 Denver.CO 80222 (303) 758-741 P The MSDV-100 video display system is a powerful, S-100 compatible video output device. With a high resolution 80 x 24 format. The small system user can now have a sophisticated video display system comparable to the most expensive of video terminals. You don't have to settle for less anymore! The MSDV-100 Video Display System is designed around a custom ACSII character set. Vertical lines, horizontal lines, and line intersections are part of its well thought-out Sanyo Monitor (VM4209) Micro-Floppy Disc System Video Display System Additional Drivers $150 | $499* $599* $285 $385 $350 ea. $4.25 ea. $599* $699 )rder or BA signature. s process- AMOUNT *Power Supply not included. Micro-Floppy Disc System Price Increases Effective Feb. 1 To place Order, send check, money c or MC Card # with exp. date and Uncertified checks require 6 week ing. Phone orders accepted. Please Send me the following: TOTAL: City, State, 7ip D Send me more information BYTE February 1978 123 pulse so long as the window is still open. The window closes before the next input pulse, so only an index pulse, if present, can pass through to the index output. The Double Density Operation Much of the interest surrounding floppy disks, large or small, centers on double density operation. Various schemes exist for recording twice the usual amount of data on each sector. This possibility stems from the fact that the FM encoding used on the orig- inal floppies is inefficient in the number of flux changes used per data bit. By switching to a more efficient encoding technique (eg: MFM, M 2 FM, Modified- Miller, GCR; see IEEE Spectrum, July 1977) twice the amount of data can be recorded on each sector with little or no increase in the number of flux changes. The new encoding techniques are a mixed blessing, however, since their bandwidth requirements are dif- ferent from FM, their tolerance of the "bit-shift" phenomenon is different, and they require a more complex data sepa- rator and decoder. FM encoding is still the easiest, cheapest, and most reliable technique. Of the alternative codes used to achieve double density, GCR (Group- Coded Recording) looks quite attractive. Micro Peripherals Inc has implemented double density using GCR in a full size floppy disk and controller system cur- rently being marketed. (For an alluring, albeit incomplete synopsis of GCR, see Computer Design, December 1976 or Perkin-Elmer Data Systems News, June 14 1977.) GCR is nothing more than the old standby NRZ with its attendant advantages, but, since or- dinary NRZ has no clocking information and a potentially high DC content during long strings of ones or zeros, the data is reformatted to eliminate the long strings. The reformatting converts each four bit group of original data into five bits of group coded data; the five bits in the encoded version will always have a mix of ones and zeros, even if the real data is all in one state. Reformatting in GCR can be accomplished in software, as opposed to MFM, etc, which almost unavoidably must be encoded and de- coded in hardware. Thus, GCR has good possibilities as a low cost, high relia- bility scheme for achieving double density. complement output of the oneshot is also used: if the window is open for index pulses it is thus closed to sector pulses, and vice versa. Thus, the same window which keeps sector pulses out of the index pulse line also keeps index pulses out of the sector pulse line. Data and Clock Separator: The FM data and clock separator used in this controller is considerably simpler than Shugart's recommended circuit. It evolved from an understanding of two basic functions which must be provided by any such separator: 1. extraction of clocking information 2. latching data and holding it long enough for transmission to the using system Shugart's use of the oneshot mixed these two functions together, and complicated a simple task. The oneshot should be used only for the purpose of clock extraction; use of the oneshot to provide a window for data taking will result in reduced tolerance to bit shifts. The circuit of figure 1 shows the clock extractor and data bit latch separately. The clock extractor uses the oneshot to strip any data pulses out of the data and clock pulse train. The oneshot's time interval extends from the leading edge of the clock pulse past the trailing edge of any data pulse which might appear within the bit cell. The oneshot will then be triggered only by clock pulses, and will likewise set the clock flip flop at each clock pulse's leading edge. The clock flip flop will be reset promptly at the trailing edge of the incoming pulse. The inverter, IC25b, provides propagation delay to help insure that the clock flip flop can be set by the oneshot. The output of the clock flip flop is a train of clock pulses (no data pulses) which are synchronous with and slightly delayed (by a few nanoseconds) from the incoming clock pulses. These derived clock pulses are subse- quently used in the data bit recovery process. The window during which a data bit might appear is ideally described as the interval between the trailing edge of one clock pulse and the leading edge of the following clock pulse. The data bit latch, IC27a, is therefore set by the trailing edge of any pulse other than the clock pulse. Although both data and clock pulses are present at the clocking input to the data flip flop, it discriminates against clock pulses because the derived clock pulses are present at its data input. The dual inverters, IC25c and IC25d, pro- vide propagation delay which facilitates dis- 124 BYTE February 1 978 crimination against clock pulses. Thus, any pulse that is not a clock pulse will set the data bit latch flip flop and be held until the trailing edge of the next clock pulse. Other Functions Since the derived clock pulses are ap- proximately 1 fxs wide, they can be used directly as write pulses to store the data bits into the programmable memory. The prop- agation delay mentioned above also provides a slight data hold time which insures that the data will be stable at the programmable memory's input throughout the duration of the write pulse. ICs 3a and 3b serve, as in the previous design, to synchronize the reading and writ- ing operations with the leading edge of the sector pulses. As before, it is up to the host processor to request a read or write trans- action one sector in advance to allow the controller to take control at the ap- propriate time; ie: if the host processor wants to write to sector 3, it must request this sometime during the reading of sector 2 so that the controller will be set up and ready when sector 3 rolls around. Software I have modified the software, which was previously developed for use with the Memorex 651 large floppy, for use with the small floppies. The most notable change is in the number of sectors per track, which is now ten for the small floppy with the SA-107 type media. Since the sector size of 256 bytes is unchanged, no radical changes were necessary in the original software. The software still fits into a 1 K byte read only memory when used in conjunction with a Motorola MIKBUG system. When used on nonMIKBUG systems, an overhead of 100 or so bytes will be incurred to support the character printing and receiving routines. Summary A small floppy in conjunction with the controller of figure 1 represents perhaps the cheapest and easiest way to add a floppy disk to a small system. 22 common TTL integrated circuits and one MOS integrated circuit memory (which is second sourced and should be readily available) are used. The controller requires no adjustments providing that suitable quality components are used. Sector buffering on board is again used to facilitate independence of any particular processor or system configuration and permit concurrent interrupt handling where desired." Copies of the software for the interface are avail- able from the author (com- plete assembly listing only, no object tapes) for $10. Persons interested in a printed circuit board or complete kit, single or double density, are in- vited to inquire about Altair (S-100) and SwTPC bus compatible versions of this controller. Please ad- dress all correspondence to me at the address shown at the beginning of this article. At last. ..DIP Jumpers for Faster & Easier connections. AP DIP Jumpers are the low cost high quality solution to bussing between PC boards, mother boards, backplanes and more. Available in 14, 16, 24 and 40 pin single ended or double ended assemblies, in standard lengths of 6, 12, 24 and 36 inches. Each assembly has molded-on strain relief and line-by-line probeability. Contact material is non-corro- sive nickel silver.Dielectric is 94 V-0 rated. Cable options include stranded electric pink, rainbow or with ground plane. Order from your A P distributor today. Our distributor list is growing daily. For the name of the distributor nearest you call Toll Free 800-321-9668. Send for our complete AP catalog The Faster & Easier Book. Faster & Easier is what we're all about. 5UJ AP PRODUCTS INCORPORATED Box 110 • 72Corwin Drive, Painesville OH 44077 (216)354-2101 TWX: 810-425-2250 Circle 4 on inquiry card. KYTE February 1978 125 LEARN TO PROGRAM MICROCOMPUTERS And at an affordable price. The Modu-Learn™ home study course from Logical Services. Now you can learn microcomputer programming in ten comprehensible lessons. At home. In your own time. At your own pace. You learn to solve complex problems by breaking them down into easily programmed modules. Prepared by professional design engineers, the Modu-Learn™ course presents sys- tematic software design techniques, structured program design, and prac- tical examples from real 8080A micro-computer applications. All in a modular sequence of 10 lessons . . . more than 500 pages, bound into one practical notebook for easy reference. You get diverse examples, problems, and solutions. With thorough back- ground material on micro-computer architecture, hardware/software trade- offs, and useful reference tables. All for only $49.95. For $49.95 you learn design tech- niques that make software work for you. Modu-Learn™ starts with the basics. Our problem-solution ap- proach enables you to "graduate" as a programmer. Circle the reader service number be- low to receive our free descriptive brochure and course outline. Use your Master Charge or VISA card to order today. Call Pat at (415) 965-8365. «H LOGICAL Circle 65 on inquiry card. 711 Stierlin Road Mountain View, CA 94043 (415) 965-8365 Ask BYTE TTL TO DRIVE LEDs? Are TTL integrated circuit devices able to drive LED display devices with just a current limiting resistor? M V Amiot 3R Marcel Doret 92140 Clamart FRANCE Yes, it is done quite frequently both in production and in homebrewers' cir- cuits. The following is a typical con- figuration using a 7404. 7404 o> ~220fl TO 330J1 w^ ►5V /> Note that the critical specification to consider is the low level output current, noted in the Texas Instruments TTL Data Book for Design Engineers as Of Most TTL integrated circuits can SERVICES INCORPORATED 126 BYTE February 1978 sink a current of 16 mA, corresponding to a fanout of 10 unit loads at the inputs of other TTL gates. Using one LED with dropping resistor and a 16 mA current would be within nominal specifications over the entire temperature range of the part; in fact, however, ratings are con- servative and an upper bound on the actual LED drive current possible is the short circuit output current of the TTL gate, typically about 50 mA. (Manufacturers do not recommend shorting more than one output of a package at a single time.) What this means is that by using something less than a short circuit level of current it is possible to drive perhaps 20 to 30 mA and get a brighter display than that provided by the nominal 16 mA.* WHAT DOES REFRESHING FROM MEMORY MEAN? Since APL uses scads of memory, and the most drastic reduction in memory price ($1495 for 64 K from Extensys Corporation) is for a dynamic memory, a crucial problem for APL would be its use with a nonstatic memory. Allen Atwood's article in August 1977 BYTE (page 108) says "One would not want to refresh a display from memory using APL." Why wouldn't I? At these new low prices, I am very much interested. Is this memory refreshing difficulty just for the 8080, which Mr Atwood's article is about, or for other microprocessors also? Zilog's technical manual for the Z-80 states that the Z-80's Memory Refresh Register "enables dynamic memories to be used with the same ease as static memories." Extensys says that its memory board has "complete dynamic refresh logic." My question is, can APL be properly implemented on the Z-80, using the much cheaper dynamic memory? Henry Williams 4323 Gleneste-Withamsville Rd Cincinnati OH 45245 Your question is due to two different uses of the concept of "refreshing" something. In the context of dynamic memory systems, refreshing refers to the technique of assuring that every memory region of the chips is referenced re- peatedly with a certain minimum fre- quency of reference. This dynamic memory refreshing requirement is in- variably satisfied in hardware, whether on the memory board itself as in many of the available memory boards or by logic built into the processor design such as the refresh algorithm of the Z-80. Allen Atwood was referring to a different concept, namely refresh of visual displays, and in particular the classes of displays which require ex- plicit programming to generate their data on a continuing basis. Typical classes of displays which require con- tinual programmed refresh include vector displays and point displays. (For an example of vector displays see Steve Ciarcia's article on page 78 of November 1976 BYTE; another example is provided by "The Beer Budget Graphics Interface" of Peter Nelson, seen on page 26 of November 1976 BYTE, and used for the output of Dave Kruglinski's program described in "How To Implement Space War" in October 1977 BYTE, page 86.) In all such programmed display refresh tech- niques, assembly language on the typical processor is barely fast enough for flicker free images of reasonably com- plex pictures. Use of any high level language interpreter (including APL, BASIC, etc) is more than likely to be too slow. But as in the case of dynamic memories, many display techniques involve hardware refresh, in which case the speed of programmed refresh is not a question- In short, since dynamic memory refreshing is a hardware task, there is no memory refreshing difficulty with respect to APL, or any other language. An important point related to this is the fact that as far as APL or any other high level language is concerned, there is not one bit of difference between a static and a dynamic volatile program- mable memory technology: both forms of memory lose all data when power is removed; both forms act as a main memory resource to the computer, it is true thai dynamic memory must use "hidden refresh" schemes to be truly equivalent to static memory in all as- pects including access time and wait states; but this difference only has significance if you are trying to use programmed timing loops and the pro- cessor's crystal clock to make measure- ments of time. It is true that static memory has a higher parts count (32 chips for 16 K bytes static versus 8 chips for 16 K bytes excluding refresh logic for 16 K bytes dynamic). It is also true that static memory consumes perhaps twice as much power as the equivalent dynamic memory. But these factors are not major ones in many user oriented situations: it is memory capa- city which counts most in the choice of the product, not how the memory is implemented. In choosing a personal computer sys- tem, the choice between static and dynamic has all the functional distinc- tions for the user of the choice between square headlights and round headlights in a car: both work, both perform their functions. . .CH" BYTE's Gits The Future of Personal Computing atCOMPCON 78 The personal computer industry is just about three years old; in fact, the first personal computer was introduced in (anuary 1975, by MITS Inc, Albu- querque NM. Subsequently, an entirely new industry has appeared, including hardware manufacturers, software specialists, retail stores, trade publi- cations and computer trade shows. Personal computers have already had a profound impact on hobbyists and industrial users. With the development of new application software, micro- computers are rapidly being adapted for business, professional and educa- tional uses. In just three years, personal computing has been placed within the reach of every consumer with as yet undetermined and possibly far reaching consequences. With these points in mind, COMP- CON 78, Jack Tar Hotel, San Francisco, February 28 thru March 2 1978, will present a look at the phenomenon of personal computing. Four panel sessions have been arranged with experts who will be discussing various aspects of the computer revolution. These panel ses- sions start at 7 PM and cover topics such as "Women's Contributions in Innovative Computer Applications" on Monday, "Robotics and Bionics" on Tuesday, "Editors of Computer Magazines" on Wednesday, and "Computer Art and Music" on Thursday. Each session is arranged to provide a broad spectrum of end users with the opportunity to hear about and discuss the latest ad- vances in each of these areas. Panelists include experts in computer based Introducing Bit Pad. The new, low-cost digitizer for small computer systems. Bit Pad is the newest product from Summagraphics the leading producer of professional digitizers. 1 1 has a small 1 1-inch active area and a small $555 price tag. But the list of applications is as big as your imagination. Better than a joystick or keyboard for entering graphic information, it converts any point on a page, any vector any distance into its digital equivalents. It's also a menu for data entry. You assign a value, or an instruction to any location on the pad. At the touch of a stylus, it's entered into your system. Who can use it? Anyone from the educator and the engineer to the hobbyist and the computer games enthusiast. The data structure is byte oriented for easy compatibility with small computers, so you can add a power supply stand-alone display, cross-hair cursor and many other options. $1,000.00 creativity prize. You can also add $1,000.00 to your bank account as a reward for your inventiveness. Just write an article on an original Bit Pad application and submit it to any national small-computer periodical. I f the editors publish it — and the decision is solely theirs — Summagraphics will pay you $1,000.00. Contact Summagraphics for rules concerning this offer. M ^ummadiaphiai ** ' corporation 35 Brentwood Ave., Box 781, Fairfield, CT 06430 Phone(203) 384-1344. TELEX 96-4348 Circle 112 on inquiry card. BYTE February 1978 127 bio-feedback, members of the US Robotics Society, individuals involved in educational representatives from several of the major manufacturers of microcomputer equipment, and experts in computer art and music. Hopefully these discussions could help shape the future of personal com- puting. Special exhibits will also be available for hands-on learning: from 5 PM to 10 PM Monday thru Wednesday, attendees will be able to get firsthand experience with a broad range of equipment including speech synthesizers, video terminals, disk systems, code graphics, and a wide range of micro- computer main frames and peripherals. The conference registration fee covers attendance at all personal computing sessions and exhibits. There is a regis- tration fee of $5 for individuals wishing to only attend the personal computing sessions and exhibits. Organizers Alice Ahlgren, marketing manager, Cromemco Inc, Mountain View CA 94040, (415) 964-7400; and Robert Albrecht, Author, Dragon, and Friend of Children, Menlo Park CA 94025, (415) 323-6117, will be glad to supply more information." Circle 84 on inquiry card. HOBBYISTS! ENGINEERS! TECHNICIANS! STUDENTS! Write and run machine language programs at home, display video graphics on your TV set and design microprocessor circuits - the very first night — even if you've never used a computer before! RCA C0SMAC microprocessor/mini- computer SPECIFICATIONS ELF II features an RCA COSMAC COS MOS 8-bit microprocessor address- able to 64k bytes with DMA. interrupt, 16 regis- ters. ALU. 256 byte RAM. full hex keyboard, two digit hex output display, 5 slot plug-in expansion bus, stable crystal clock for timing purposes and a double-sided plated- through PC board plus RCA 1861 video IC to dis- play any segment of mem- ory on a video monitor or TV screen. USE ELF II FOR... GAMES Play interactive keyboard games, games with analog inputs, games utilizing your TV set for a video display! GRAPHICS Create pictures, designs, alpha- numerics and fabulous animated effects on your TV screen for hour after hour of family fun! CIRCUIT DESIGN Design circuits using a micro- processor, Use ELF II as a counter, alarm system, lock, controller, thermostat, timer, telephone dialer, etc. The pos- sibilities are infinite! Coming Soon! Exclusive Netronics Plug-In Program Debugger and monitor allows visual display of any program on a clock pulse by clock pulse basis to help you learn programming f-a-s-tl • 4k memory • Cassette 1/0 • D to A, A to D • Controller plug-ins. A THOUGHTFUL GIFT FOR ANYONE WHO MUST STAY UP TO DATE IN COMPUTERS AND ELECTRONICS' ELF ii 99 95 SEND TODAY — NETRONICS R&D LTD., Dept. BY 2 333 Litchfield Road, New Mill'ord, CT 00776 Phone (203) 354-9375 Yes! / want to ran programs at home and have enclosed: $99.95 plus S3 p&h for RCA COSMAC ELF II kit. Featured in POPULAR ELECTRONICS. Includes all components plus everything you need to write and run machine language pro- grams plus the new Pixie chip that lets you display video graphics on your TV screen. De- signed to give engineers practice in computer programming and microprocessor circuit design, ELF II is also perfect for college and college-bound students (who must understand computers for any engineering, scientific or business career). Easy instruc- tions get you started right away, even if you've never used a com- puter before! As your need for computing power grows, five card expan- sion bus (less connectors) allows memory expansion, program de- bugger/monitor, cassette I/O, A to D and D to A converters. j>ROM, ASCII keyboard inputs, controllers, etc. (soon to be available as kits). Manual in- cludes instructions for assembly, testing, programming, video graphics and games plus how you can get ELF II User's Club bulletins. Kit can be assembled in a single evening and you'll still have time to run programs, including games, video graphics, controllers, etc.. before going to bed! D J4.95 for 1.5 amp 6.3 VAC power supply, required for ELF II kit. □ $5.00 for RCA 1802 User's Manual. D I want mine wired and tested with the powt transformer and RCA 1802 User's Manual for $149.95 plus $3 p&h. Conn. res. add sales tax. NAME ADDRESS^ CITY D Send info on other kits! L PKUM , ASCII keyboar d inputs, Dealer Inquiries Invited immmmm^m wmm mtm Hi mb hh ■» wm «■ mi mm av aH MM I A Course A 2 week course in the fundamentals of digital electronics and microcomputer interfacing will be held at Virginia Military Institute from July 17 thru July 29 1978. For information and registration forms write to Dr Philip B Peters, Dept of Physics, Virginia Military Institute, Lexington VA 24450." A Note for Robot Experimenters The September 1977 issue of Dr Dobb's Journal, volume 2, number 8, arrived here recently. In it readers will find a contribution entitled "An Inter- active Programming Language for Con- trol of Robots" by Lichen Wang. The item includes a description of the lan- guage, as well as 8080 code for the inter- pretive language, assembled beginning at location in address space and assuming peripherals in the form of a Processor Technology VDM-1 at locations CC00 to CFFF and an ASCII keyboard input port. The robots envisioned by this software are represented as simulations on a graphic display, a useful first step towards debugging and implementation of motion programs and strategies. Dr Dobb's journal can be reached at POB E, Menlo Park CA 9402S. Back issues are available while they last at $1 .50." ALPHA Z-80 $ 495 ASSEMBLED • 12 SLOT MOTHER BOARD • 12 CONNECTORS (S-100 BUS) • 17 AMP POWER SUPPLY • HEAVY DUTY CABINET WITH FAN • Z-80 CPU BOARD: All Sockets Included, Gold Con- tact Fingers, High Quality Glass Epoxy PC Board, Double-Sided, Plated Through Holes, Requires Only + 8 VDC / 800 MA. NOTE: 22 SLOTS/30 AMP POWER SUPPLY - $595. ADS also sells IMSAI and NORTH STAR Assembled at Kit Prices + LEAR SIEGLER ADM 3A Assembled at $888.00. TERMS: Cash with Order. Prices include Freight. (N.C. Residents add 4% Sales Tax.) ADS ALPHA DIGITAL SYSTEMS Data Acquisition, Computation an 24 LINES/SCREEN > ADDRESSABLE CURSUR • 9, 10, or 11 BIT WORDS Plus Shipping and Handling I I \ • 75-19,200 BAUD • FULL & HALF DUPLEX • ODD/EVEN/NO PARITY • RS232 INTERFACE OR 20 ma CURRENT LOOP GET COMPLETE DETAILS WITH A DIRECT CALL: 214 258-2414 TWX 910-860-5761 TELEX 73-0022 800 527-3248 m^14 ^58-2414 IWA y lU-SOU-5/t capital 930 N. BELTLINE equipment brokers IRVING, TEXAS 75061 I G I Ri INTRODUCES THE NEW COMPUTER IN A NOTEBOOK BASED ON THE M6800 MPU COMPLETE WITH BATTERIES FOR IN-HAND OPERATION INCLUDES INSTRUCTION BOOK AND SAMPLE PROGRAMS BASIC UNIT. . . $299 P.O. Box 10767 Salem Station Winston-Salem, N.C. 27108 (919) 748-8761 Circle 52 on inquiry card. BYTE February 1978 133 Circle 50 on inquiry card. Dr. C. William Engel's A 64-page papertack book of ten programs 1n BASIC for the computer hobbyist. Each program contains a scenario, sample run, flowchart, variables listing, program listing, and suqgested modifications. $5 each. Send check or money order to: Engel Enterprises, P.O. Box 16612, Tampa, FL 33687 Also avai lable THE DEVIL'S DUNGEON Unpackaged program listing, instructions, flowchart, sample i Book ~ $3.50. and suggested modifications ■ Presenting a growing line of professional quality IMSAI/ALTAIR S-lOO COMPATIBLE BOARDS 8K BLANK RAM BOARD i.,™^™™, $25.00 — with MEMORY PROTECT/UNPROTECT and SELECTABLE WAIT STATES Z-80 CPU BOARD $35.00 -with PROVISIONS lor ONBOARD 2708 and POWER ON JUMP PR0T0B0ARD $25.00 (new) 2708/16 EPROM BOARD $25.00 — accBpts up to 16K of 2708's or 32K ol 2716s. ALL BOARDS FEATURE FULL BUFFERING on ALL DATA and ADDRESS LINES 1 SOLDER MASKS and SILK SCREEN 1 DIP SWITCH ADDRESSING 1 GOLD EDGE CONNECTORS PLATED THROUGH HOLES 'except lor PR0T0B0ARD WATCH FOR OUR 16/64K DYNAMIC RAM BOARD AND ADDITIONAL BOARDS TO BE ANNOUNCED FORTHWITH. Q 9 IMSAI 8080 Kit —with 22 Slot M.B. $560.oo PLUS STOOD SHIPPING Z-80 cpu CHIP $22.00 Z-80AcpuCHIP $25.00 2708CHIP. $12.00 PLEASE ADD $2.00 SHIPPING PER ORDER. iihuCu aui PO BOX 91 ITHACA, N.Y. 14850 134 BYTE February 1978 PLEASE CALL (607) 273-3271 TO ORDER OR OBTAIN TECHNICAL ASSISTANCE. OEM and quantity discounts available Circle 61 on inquiry card. Languages Fcpum Comments on APL Character Generators Olav Naess Welhavensgt 65 Bergen NORWAY Some writers of letters to BYTE have asked for character generator read only memories with APL symbols for video dis- plays. I don't think a read only memory is a good solution. I have counted 33 APL sym- bols which don't belong to the ASCII set. If they replace the lower case letters, the computer is rather useless for text pro- cessing. Then comes the problem with super- imposing symbols. A video scan cannot backspace or rewrite a line like a typewriter, so each composite symbol would have to be represented in the read only memory as another symbol. (Displays with random access could indicate the composite symbols by changing the constituent symbols be- tween each frame scan, but I don't think this is a good and practical procedure.) That would mean 17 characters extra, and still 26 in addition if underlined letters are to be written. So a 256 character read only memory would be required, which 1 think is rather impractical, particularly if ordered by hobbyists. Besides, future APL versions might introduce new symbol combinations. The solution to the problem should be to use a video system with programmable characters, as used in "The Detailer," an Altair (S-100) card made by Micro- Graphics. (I think the same principle is used by the Micromind and Noval computers.) The Detailer, which displays 16 64 char- acter lines, has a 1 K byte directly accessible memory whose contents in the usual way determine which symbols are to be dis- played. But it also has another 1 K byte programmable memory block whose con- tents determine the appearance of the symbols. By inverting a bit in the symbol selecting byte one gets the symbol descrip- tion information from the programmable memory instead of from an ordinary char- acter generator. Each symbol position is then described as a dot matrix, 8 dots wide and 12 dots high, which extends out to all the neighboring matrices. Each of the 64 software determined symbol patterns which are simultaneously available is described by a 12 byte vector in the on card memory, and 50 of them are required for the APL sym- bols. (Underlined letters may be replaced by brightness inverted letters through inverting a bit in their symbol selection bytes.) Replacing the APL symbol set (to obtain lower case letters or graphics) involves just moving 64 x 12 = 768 bytes in the com- puter's memory. It's nice to have the computer really pro- grammable." Baking Baker We received the following letter in reply to Roxton Baker's letter (July 1977 BYTE, page 1 1) which referred to P M Lashley 's "use/ess, self-serving, supercilious, unneces- sary attack on another man's efforts." This is a reference to Mr Lash ley's original letter (February 1977 BYTE, page 77) advocating structured programming. Shal Farley Caltech 1-53 Pasadena CA 91126 This being my first letter to the editor, I at first hesitated to get involved. But the utter idiocy of "Lashing Lashley," was the proverbial last straw. Let me address Mr Baker's adjectives individually: 1. Useless. The only thing that could make Mr Lashley's efforts useless are the truly ignorant who refuse to learn. 2. Self-serving. I doubt that Lashley has any economic interest in whatever form of slow torture hobbyists choose for themselves. If he does, I don't. 3. Supercilious. [Webster's Second Edition: "adjective: lofty with pride; haugh- tily contemptous.") In his efforts to be emphatic, Mr Lashley has apparently come across as snobbish to the likes of Mr Baker. Rather, I found his letter refreshing amidst the Pong-Trek-Toe morass. Choosing Circle 101 on inquiry card. Let us program you to SAVE 10% DISCOUNT ON MOST MAJOR LINES 5 % ADDITIONAL FOR CASH SUPER SPECIALS TDL XITAN ALPHA 1 .5 KIT $ 735 00 [includes 1 2K Super BASIC Package A Software] IMSAI FABULOUS PCS BO/30 KIT. $ 1 ,01 5 D0 [includes 5" CRT, Intelligent Keyboard 80B5 MPU-B board] PERCOM CI-81 2 KIT $ 75 0D [multiple I/O cassette and RS-232] PERCOM CI-81 2 ASSEMBLED S. TESTED $ 1 00 00 ■ These prices exceed normal discount schedule. No further discount applies. BUS S-100, INC. ADDRESS 7 WHITE PLACE CLARK, NJ 07066 INTERFACE 201 -3B2-1 31 B FULL MINICOMPUTER BUSINESS SYSTEM Ready to use ... for only $ 3,995°° • CRT • Printer • Keyboard • Memory • Z-80 Processor • Dual Mini-Floppies • BASIC and Full Set of Business Programs: A/R, A/P, Inventory, Payroll and General Ledger — ALSO AVAILABLE — WORD PROCESSING SYSTEMS Dealer and Sales Agent inquiries invited MiniMicroMart, Inc. 1618 James St., Syracuse, NY 13203 (315) 422-4467 Circle 77 on inquiry card. BYTE February 1978 135 Circle 128 on inquiry card. ^%it%%%i»i»%%^^% x xxi»»xx%%«pi^it%%i^%%ioa PRAMMER III by xybek The Ultimate EPROM Memory Board For Your SIOO-Bus Computer * Accommodates from 1 k to 30k of the above EPROMS, in any combination, each addressable on any 1 k boundary within the board's 32k address space. * 1 k of scratch-pad RAM. ■*• On-board programming for all three EPROM types. * Tri-state buffers on all address and data lines. * Empty EPROM sockets do not require address space. * Available February 1 978 for $369. 50, assembled, tested, ready to run. Xybek • P.O. Box4925 • Stanford, CA 94305 Telephone: (408) 296-8188 3 «aoo «B g 80Booaao BaBaooapa^^ "\ 16K STATIC RAM THE WAY YOU LIKE IT Assembled and tested $595 Guaranteed for one full year 1 6K kit $525 8K kit $295 Kitwith all but21 14 memories $88 BIANK BOARD $35 COMPARE THESE FEATURES: • S-100 BUS COMPATABLE • COMPLETELY STATIC WITH NO CLOCKED CHIP-SELECT OR REFRESH • WILL RUN ON Z-80 SYSTEMS AT 4 Mhz WITH NO WAIT STATES • WILL RUN ON ALPHA MICROSYSTEMS AM- 100 AND ON DMA SYSTEMS • USES 21 14 MEMORIES— AN INDUSTRY STANOARD • HAS INDIVIDUALLY ADDRESSABLE 4K BLOCKS Of MEMORY • SOFTWARE WRITE PROTECTION IN 4K BLOCKS • PACING OR BANK SELECT FEATURE FOR MEMORY EXPANSION AND LOW SOFTWARE OVERHEAD TIMESHARING SYSTEMS • COMPLETELY BUFFERED ADDRESS AND DATA LINES • SINGLE 8 VOLT POWER SUPPLY • HIGH QUALITY, LOW PROFILE SOCKETS FOR ALL IC'S • SOLDER MASKED P.C. BOARD AND SCREENED PARTS PLACEMENT LEGEND FOR EASE Of CONSTRUCTION AND DEPENDABILITY S-100 BUS TERMINATING BOARD $25 Absorbs noise, overshoot, ringing, reflection. S-100 EXTENDER BOARD $16 With jumpers in power supply lines for current measurements, Low profile so card can remain in the machine with cover on. Wide edge connector PRICES SHOWN INCLUDE U.S. SHIPPING. WE ACCEPT VISA, MASTER CHARGE, CASHIERS CHECK, MO. ALLOW TIME FOR PERSONAL CHECKS TO CLEAR. COD ORDERS ADD SI. UTAH RESIDENTS ADD 4*4* TAX Digital Mjcrq Systems BOX 1212. OREM, UTAH 84057 (801)224-2102 ALGOL or PASCAL over FORTRASH is not a matter of reinventing the wheel. All three languages have been implemented for well over a decade. Rather it is a matter of choosing radial ply or steel belted tires over wagon wheels. 4. Unnecessary. In view of the current state of micro software, Mr Lashley's com- ments were among the most useful things I'd read. The thrust of his article was that history need not repeat itself. Start with the more usable languages. 5. Is Mr Baker going to throw away the decade of work put into structured pro- gramming just to conform to the noun? Structured programming languages are not the toys of wild eyed dreamers, nor are they an intellectual curiosity. To put it in perspective, they are the natural outgrowth of progress in computer science. Program- mers' frustrations with machine code led to the first assemblers. Frustration with the limitations of assembly language, the need for defined control and data structures (eg: IF - THEN - ELSE, DO, COMPLEX declara- tions, ARRAY declarations), led to the development of FORTRAN. Then the ex- perience gained with FORTRAN'S limited control structures, and the knowledge of the most common programming errors made while using FORTRAN led to the develop- ment of structured programming languages. FORTRAN is painful in part because of numeric labels that lead to confusion and misguided GO TO's. The lack of block struc- ture leads to fragmented code with GO TOs weaving thru the text. When writing pro- grams of great length, block structure helps to divide and conquer as a strong ally of subroutines. By coding and testing the low level blocks and routines first, one may be sure of their operation when testing the higher levels. Thus the location of bugs is cir- cumscribed to as small a portion of code as possible. While it is perfectly possible to write well structured code in FORTRAN, it is a big pain to do so. Also there are several types of data structures that cannot be im- plemented in FORTRAN that turn out to be quite useful (for example, dynamic array bounds at run time). By starting with a structured language microcomputer software could leapfrog ahead and save all that effort. If only hobbyists will learn from the past. I learned to program in FORTRAN on an IBM 370/158, and the number of sleepless nights I spent resubmitting my prog after getting rid of yet another bug. . . well, it's just painful to think about. Since then I've been running on a DECsystem 10. Their FORTRAN is much better, but I still found 136 BYTE February 1978 Circle 40 on inquiry card. myself tracking down GO TO wrong num- bers and correcting random syntax errors. A friend suggested structured languages and the difference is dramatic, from days of de- bugging FORTRAN, to hours of debugging ALGOL-60. The coding time is also reduced as the language is more "natural" to program in. PASCAL is a derivative of ALGOL-68 and although I've not used it the reports from those who have are very favorable. Lest you have any fear, it is not a black art. It is in fact much less so than assembly language or FORTRAN. It is part of the continuing process of learning to control the computer in the most convenient manner possible. That's what higher level languages are for. That's the way of the future. As programmers' time becomes more valuable it becomes economic to shape the software and hardware to the needs of the programmer. This is already true of the hobby computer; each user adds the memory and the peripherals of his or her choice. It would be advantageous for the software to be equally facile. I didn't mean this to be a tutorial, but I feel we stand at a crossroads. The hobbyists can jump for the manufacturers' first and easiest product and be stuck on the same compatibility treadmill as the mainframes, or you may start with a better product and go from there. There are some historic paral- lels: The Europeans didn't adopt a television standard until many years after the US. As a result they now have a much better pro- duct. I would strongly recommend that hobbyists demand, thru their purchasing power, that structured languages be imple- mented as cross or resident compilers for their systems. The time, effort and frustra- tion saved while developing software will be worth it." Languages Forum is a feature which is intended as an interactive dialog about the design and implementation of languages for personal com- puting. Statements and opinions submitted to this forum can be on any subject relevant to its purpose of fostering discussion and communication among BYTE readers on the subject of languages. We ask that all correspondents supply their full names and addresses to be printed with their com- mentaries. We also ask that correspondents supply their telephone numbers, which will be printed unless we are ex- plicitly asked to omit them. Circle 60 on inquiry card. IDS INTERNATIONAL DATA SYSTEMS, INC. 400 North Washington Street, Suite 200, Falls Church, Virginia 22046 U.S.A. Telephone (703) 536-7373 88-MODEM: A complete serial I/O port and an Originate/ Answer MODEM on an S100 bus compatible board. The 88-MODEM features automatic auto-dialer (not software timed), operates at any soltware selected baud rate between 66 and 600 baud, has separate 8-pole transmit and receive active filters, and all functions are software selected. The 88-MODEM provides communication to -58 dbm and is intended for use with either a CBS (1001D) or CBT Data Access Arrangement for connection to the telephone system. The kit price is $245,00 88-UFC UNIVERSAL FREQUENCY COUNTER: The 88-UFC is an S1 00 compatible freguency and period measurement module The 88-UFC has four software selected inputs. Freguency measurement to above 600MHz and period measurement to 1 /10th microsecond are standard. The counter provides nine digits of readout and is priced at $179.00 in kit form. 88-SPM CLOCK MODULE: The 88-SPM provides a lime of day clock and an inde- pendent realtime clock on one S100 compatible module. Provisions are included for battery backup so the 88-SPM can maintain the time during power-off conditions, $96.00 kit 1001D (Type CBT) Data Access Atrangement $125 00 88-RCB 16 Channel Relay Control Board Kit $179.00 MCTK Morse Code Trainer/Keyer Kit 29.00 TSM Temperature Sensing Module Kit 24.00 DAC-8 8-Bit Digital to Analog Converter Kit 19 00 88-TCXO Temperature Compensated Crystal Oscillator lor 88-UFC 145.00 88-XTAL Crystal Timebase option for 88-SPM 25.00 TERMS: Payment with order shipped prepaid, added for COD, Master Charge accepted BYTE February 1978 137 Continued from page 12 This design is a plausi- bility argument. . .it is complete (though skele- tal) and provides a basis for discussion. You can speculate all you wish and design as carefully as you wish, but it remains speculative un- til you try it out. . . are pretty well settled, though, and so this series closes with a comparison of the two designs, to the extent that they can be com- pared. That comparison should illustrate the wide range of solutions that the prob- lems admit and thus the importance of identifying the problems in a design effort like this. Why You Want to Read This Article Since another network design will follow this one very soon, you could rightly wonder why this one should be published at all. There are several reasons. At the very least, this design is a plausibility argument in- tended to counter the skepticism with which some people view the prospect of a network for personal users of information processing. It is also a learning experience: it is a com- plete (though skeletal) design that can be compared with the PCNET (and other per- sonal computer net designs when they are published) in order to learn about the design issues involved and the stances one can take on them. It can also be implemented; that would get people into communication quite soon, learning from the experience as well as filling the immediate communication needs. In an age of throwaway material goods, a throwaway design or a throwaway imple- mentation should not seem altogether inappropriate. In fact, they are especially appropriate where the problem at hand is a novel one or has novel constraints, as is the case here. You can speculate all you wish and design as carefully as you wish, but it remains speculative until you try it out. The motivation for building a throwaway net is not entirely intellectual: even if you consume it in the very act of building it, you will leave behind a very valuable thing: a useful communication facility. It is more likely, though, that the first few personal computer nets will persist for a while and that they will serve as media for sharing the experience and insights needed for building their successors. This very persistence will also force people to face an important problem often ignored in fledgling nets, that of interfacing to other nets. What Is a Net? Let us pause, before plunging into de- tailed considerations, to gain a broad per- spective on the task at hand. A computer network typically consists of some hard- ware and some software. The hardware includes all the physical facilities used by the net: phone lines, radio links, computers, etc. Since hardware costs money and must be maintained, the design should minimize the required hardware and distribute it so that its cost can be recovered gracefully. The software includes the necessary agreements governing the use of the hardware, together with the procedures and computer programs implementing the agreements. The agree- ments include the rendezvous conventions by which conversations are established, the language in which conversations take place, and the rules of behavior under which con- versations are conducted. Under the linguis- tic heading, I mean to include everything from message formats to the representations of characters and bits, etc. Network specialists have come to use the term "protocol" to refer to these agree- ments, ranging from all of them down to just the rules of conduct; in this series of articles, I will take "protocol" to mean the extreme of all agreements. Protocols are most easily formulated in layers, with each layer using the one just below it and other- wise almost completely independent of the others. (In this regard, the PCNET and mine resemble one another quite strongly. For example, each has a protocol to transmit bits from one network node to the next and to detect erroneous transmissions; each then uses that layer to provide an errorless, correctly sequenced stream of bits (thence characters) to the higher layers.) This design exercise concentrates almost exclusively on protocols. Since hardware is relatively expensive, the design requires only a modest amount of hardware, and that of quite readily available kinds. The PCNET, however, looks as if it will trade a modest amount of inconvenience to reduce the hardware requirement even further, but it may also optionally reduce the incon- venience with some highly specialized hard- ware if some thorny problems can be solved. Actually, though, the distinction between my design and the PCNET alternative with minimum hardware is more one of emphasis than one of substance; either design can be easily adapted to the hardware require- ments of the other. The Experience of the ARPA Net The ARPA Net embodies an enormous body of experience that can be brought to bear on the design of a personal computer network. However, the ARPA Net ex- perience should be used with caution: both designs have a lot in common but have several important differences. The most important difference is that, while the ARPA Net is heavily subsidized (The ARPA Net is a research tool developed for the US Department of Defense under the auspices of the Advanced Research Projects Agency. It ties together a multitude of large proces- 138 BYTE February 1978 tffoQ ^UMM^f to l^pe &?0$mm & MODEL CC-8 $175.00 4800 BAUD CASSETTE RECORDER An ASYNCHRONOUS NRZ type Recorder with remote motor start/stop. Error rate 108 at 4800 BAUD. Can be used from 110 to 4800 BAUD into a UART or "Bit Banger PIA" -no clocking required. This is not an audio recorder. It takes RS232or TTL signals from the terminal or computer and gives back the same signals. No audio interface is used. Motor start/stop is manual or through TTL or RS232 signals. Tape speed is 3.2"/second nominal; 1.6"/sec. optional. 110 volt, 60 Hz, 5 watts. (220 Volts on special order). Can use high quality audio cassettes (Philips Type) or certified data cassettes. Can be used in remote locations from a 12 Volt battery. Recommended for DATA LOGGING, WORD PROCESSING, COMPUTER PRO- GRAM RELOADING and DATA STORAGE. Especially recommended for 6800 systems, 6502 systems, 1800 systems and beginners with the 8080 systems. Manual control except for motor start/stop. 6800 or 8080 software for file or record searching available on request with order. Used by major computer manufacturers, Bell Tele- phone and U.S. Government for program reloading and field servicing. AVAILABILITY - Off the shelf. expands 6800 CONTROLLER for SWTP piS||i,i|iifiiii; PROVIDES MONITOR AND TAPE SOFTWARE in EPROM. MIKBUG with 1 K of ADDITIONAL ROM PROGRAM. This is a complete tape controller for the SWTP 6800 system. Has 3 K of EPROM space for your own programs. A 1 K ROM (2708) is provided with all tape and moni- tor functions. The ROM program is identical to our extensive 8080 ROM program. Has one ACIA for one or two tape drives, one USART for an additional Serial port and a 4 bit parallel port for motor control. Will control one or two CC-8 or 3M3A drives with the software provided. Can be used with other tape drives controllable with 4 TTL bits if appropriate software changes are made. Extra serial port is provided for your use with a second terminal or printer. (RS232, TTL or 20 ma) The ROM program supplements the MIKBUG program and is entered automatically on reset. AVAiLABiLiTY-off the shelf. $190.00, Tested & Assmb. ($160.00, Kit) 2SIO (R) CONTROLLER $190.00 ($160.00 Kit) PROVIDES MONITOR AND TAPE SOFTWARE in ROM TERMINAL and TAPE PORTS on SAME BOARD CONTROLS ONE or TWO TAPE UNITS (CC-8 or 3M3A) This is a complete 8080, 8085, or Z80 system controller. It provides the terminal I/O (RS232, 20 mA, or TTL) and the data cartridge I/O, plus the motor controlling parallel I/O latches. Two kilobytes of on board ROM provide turn on and go control of your Altair or Imsai. NO MORE BOOTSTRAPPING. Loads and Dumps memory in hex on the terminal, formats tape cartridge files, has word processing and paper tape routines. Best of all, it has the search routines to locate files and records by means of six, five, and four letter strings. Just type in the file name and the recorder and software do the rest. Can be used in the BiSync (IBM), BiPhase (Phase encoded) or NRZ modes with suitable recorders and interfaces. This is Revision 7 of this controller. This version features 2708 type EPROM's so that you can write your own software or relocate it as desired. One 2708 prepro- grammed is supplied with the board. A socket is available for the second ROM allowing up to a full 2K of monitor programs. Fits all S100 bus computers using 8080 or Z80 MPU's. Requires 2 MHz clock from bus. Cannot be used with audio cassettes without an interface. Cassette or cartridge inputs are RS232 level. AVAILABILITY - Off the shelf. Z 80 BOARD for SWTP COMPUTER: Now you can use the 8080/Z80 software programs in your SWTP 6800 machine. Replaces your MPU board with a Z80 and ROM so that you are up and running with your present SWTP memory and MPC card. $200 assembled and tested. ($160 kit) AVAILABLE-November '77. OVERSEAS: Export Version 220 volt 50 hz. Write factory or: Megatron-Datameg, 8011 Putzbrunn, Munchen, Germany ; Nippon Automation 5-16-7 Shiba, Minato-Ku, Tokyo, Japan; Hobbydata, PACK 20012, Malmo, Sweden; G. Ashbee, 172 /field Road, London SW 10-9ag: Trin- tronics, Ltd., 186 Queen Street W., Toronto, Ontario, Canada; EBASA, Enrique Barges 17, Barcelona 14, Spain; ARIES, 7, rue Saint Phillipe du Route, 75008 Paris; Micro/em 20131, Milano, Italy; Eagle Electric, Capetown, S. Africa. For U.P.S. delivery, add $3.00 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. Naticnal Multiplex Ccrporaticn j 3474 Rand Avenue, South Plainfield NJ 07080 Box 288 Phone (201) 561-3600 TWX 710-997-9530 t --- . . ._. Circle 82 on inquiry card. 139 Warehouse Overstock SALE! Buy These Items From Computer Enterprises^ Before 4/ 15/ 78 And Save Save Save! Lear Siegler ADM-3A Kit Polymorphic VTI/ 64 Kit Vector Graphic 8K SRAM NetronicsElf II Assembled George Risk ASC II Credit Cash Card Discount Price Price $728. $700 177. 170. 187. 180 133. 128. 52. 50. keyboard kit More Popular Products At Our Extremely Low Prices. Credit Cash Card Discount Price Price North Star Micro $ 623. $ 599 Disk System Kit Cromemco Z2 Kit 557. 556 Cromemco 136. 131 Bytesaver Cromemco 16K 464. 446 RAM 250ns IMSAIPCS-80/30 1122. 1079 Kit IMSAIPCS-80/15 748. 719 Kit IMSAI 8080 Kit 614. 590 w/ 22 slots IMSAI 16K RAM 411. 395 IMSAI 32K RAM 685. 659 Shipping charges: $10 per CPU on larger units; $1.50 per kit. $2.00 mill. per order. Delivery is stock to 30 days on most items. Shipment is immediate for payment by cashier's check, money order or charge card. Allow 3 weeks for personal checks to clear. N.Y. State residents add approp. sales tax. Availability, prices and specs may change without notice. Operating Hours: M-W10-5E.S.T. Th-F 10-9E.S.T. Closed Sat. & Sun. Write or Call computer cmerpfl/es™ P.O. Box 71 Fayetteville, N.Y. 13066 Phone (315) 637-6808 Today! sors nationwide at universities and around the world using satellite links.), a network for individuals should (and can I believe) support itself right from the start. That consideration has a most important ramifi- cation in my design: the inclusion of "Com- munity Information Exchanges" (CIEs) that serve as focal points and buffers between the other nodes of the network. Further, the ARPA Net design includes the notion (in- applicable to a personal computing network) that most network nodes will be connected to the net most of the time. Thus, its proto- cols provide a general interprocess communi- cation facility and include useful services as special cases of it. A personally oriented network by contrast should be optimized toward the two facilities that are most im- mediately applicable to the personal com- puter community (and that have, inciden- tally, proved most useful in the ARPA Net): sending mail and sending files of programs. Finally, I think a personal computer net- work should be oriented to an overall archi- tecture in which internode connections are sporadic, fleeting and relatively infrequent. An Overview of The CIE Net: The Basic Idea A Community Information Exchange (CIE) Net should be designed from the start to gracefully accommodate any foreseeable circumstances to which it might eventually need to adapt. Thus, the suggestions pre- sented here allow for a large number of nodes to eventually become attached to the network. The protocols have room to ex- pand into, and they identify themselves so that several incompatible sets of protocols can be accommodated at a given time. Addressing is defined for the United States, but the addresses can be expanded to cover other countries as well. A separate mech- anism is included to let this net gracefully interface to other networks serving the same territory. The suggestions included here amount to a partial design. They are quite definite so as to form a firm basis for discussion. Some suggestions were arbitrarily chosen just to make the design more definite, while other suggestions embody principles that are important to the overall concept. The overall design is formulated in such a way as to enable it to be implemented cheaply and at maximum convenience to the implementers. Its backbone is a network of Community Information Exchanges (CIEs) that serve as buffers for network traffic. The overall network is designed to work even when the exchanges are connected only fleetingly and at only loosely scheduled intervals. One party to each connection must 140 BYTE February 1978 Circle 22 on inquiry card. Circle 11 on inquiry card. be capable of timing out the other party and taking corrective action when necessary; otherwise the protocols are designed so that they can be implemented in string BASIC on computers that do not allow access to lower levels of programming, such as direct binary manipulations or input and output. The required hardware support is minimized to equipment that is readily available to homebrewers. The Four Kinds of Stations A CIE Net would be composed of four kinds of nodes, with communication lines between them. By default, they will com- municate by telephone lines in a universal language discussed in another section, but any two nodes are free to use any other mutually agreeable medium when they talk to one another. The four kinds of nodes are the Community Information Exchange (CIE) that buffers network traffic; the subscriber, a person wishing to take part in a CIE Net; the relay station that moves messages from one CIE to another; and the gateway con- necting a CIE Net to other networks. In the rest of this series, I will use the term "station" for these four kinds of nodes in order to avoid confusion with anything that is of no interest here but might be called a node in more general network terminology. The various stations can be thought to in- habit different computers, and the design uses that model. However, any particular computer can be host to several stations of possibly different types, and the design specifically allows them to optimize their own intercommunication using any facili- ties provided by their host. A CIE serves as a communication buffer among subscribers and relay stations. That is, it must have file storage that a program can access fairly expeditiously, and it should have some complement of answer-mode modems which subscribers and relay stations can call at their convenience during the night when phone rates are lowest. While different realizations of file storage have different requirements and capabilities in their technological, financial and opera- tional aspects, there are a few functions that a CIE will require of its file storage facili- ties. It must be able to read or allocate and write multiple thousands of characters worth of buffers which it may need to hold for several hours or several days. It should be able to gain access to almost any part of this storage within a few seconds, and it should be able to read or write succeeding character positions at very nearly the trans- mission rate of the lines on which it will receive calls from subscribers or relay nnnoununc 0RM1GE COIMTV'S most Convenient & most Affordable Computer Store WE OFFER A COMPLETE LINE OF MICROCOMPUTERS, PERIPHERALS AND ACCESSORIES IMSAI SEALS PRINTERS CROMEMCO HAZELTINE BOOKS BYTE 8 SOROC MAGAZINES VISIT OUR STORE AND SEE THE LATEST IN AFFORDABLE COMPUTERS BYTE SHOP 674 EL CAMINO REAL EL CAMINO PLAZA TUSTIN, CA 92680 PHONE (7{78 145 Continued from page 90 capable of receiving and executing com- mands to perform such high level reflex actions as running, carrying, etc, without further attention. Beyond this point, we find several more specialized systems which may issue commands to this "motor automaton," or reach around it and access the LMN sys- tems directly, or enter the automaton at any level. To understand the division of labor among these systems, we need to focus on the way in which the execution of the output is related to the data which directs it. There are basically two systems which can be used, and both have been used in robot systems. The first is the "dead reckon- ing" approach, in which the details of the required action are computed in advance, and then executed without regard to their results. (An interesting example of this in a robot system is described in Ralph Hollis' article on NEWT in the June 1977 BYTE, page 30). The other approach of course is to continually monitor the results of the movement and apply corrections as required. Both of these systems have their uses, ad- vantages, and weaknesses, and the brain employs both systems, usually cooperatively in the same actions, although "pure" ex- amples of each can be found. One of these systems is associated with the part of the brain called the cerebellum. The cerebellum is not an instigator of action, nor is any conscious experience associated with its activities. It plays an important role however in the expression of actions, of both reflexive and voluntary types, which are generated elsewhere. Among the functions which the cerebellum performs are the translation of parallel to serial output, and the control of feedforward correction in open loop control circuits. Before describing these functions further, it will help to examine the circuitry of the cerebellum. This structure, which lies above the pons, consists of two parts, an overlying cortex and a set of nuclei. The neurons of the cerebellar cortex are arranged in a dis- tinctive pattern which is endlessly repeated over the surface of the structure. A few elements from this pattern are shown in figure 2. Simplified to the bare essentials, this consists of an input element (G) which has an axon that runs for some distance, spatially parallel to the axons of all of the other input elements, and which in the course of its passage activates a row of out- put elements (P). Firing an input element thus selects a particular set of outputs. Since pulses may travel rather slowly in small diameter axons such as those of the input elements, the time of arrival of the select pulse at successive output elements may be long compared to the duration (or transmis- sion time) of their outputs. Thus the cere- bellar cortex may act as a tapped delay line, as well as a decoder. If the final output ele- ments are switched to other input elements, elemental sequences may be serially cas- caded to form larger patterns. There are a number of auxiliary elements associated with the G and P types, and these are lumped as O elements in our diagram. They are capable of performing such functions as selectively inhibiting individual output ele- ments, and controlling interactions between adjacent parallel row systems. Thus, these Figure 3: A functionally equivalent logic circuit for one row of a cerebellar cortex fiber system. The tapped delay line is the logical equivalent of the parallel fiber axon's prop- agation characteristics. INTERACTION BETWEEN MOTIONS OR SYSTEMS TAPPED DELAY LINE Ch NZh fch \Ch MOTION SELECT INPUT FEEDFORWARD- CORRECTIONS ACKNOWLEDGE OR SELECT NEXT LINE CEREBELLAR CORTEX HOLD POSITION COMMAND LINE ■CEREBELLAR NUCLEUS 146 BYTE February 1978 SURPLUS ELECTRONICS IBM SELECTRIC^ BASED I/O TERMINAL (USED) $695.00 • Tape Drives • Cable • Cassette Drives • Wire • Power Supplies 12V15A, 12V25A, 5V35A Others, • Displays • Cabinets • XFMRS • Heat Sinks a Printers • Components Many other items Write for free catalog WORLDWIDE ELECT. INC. 10 FLAGSTONE DRIVE HUDSON, N.H. 03051 Phone orders accepted using VISA or MC. Toll Free 1-800-258-1036 In N.H. 603-885-3705 RADIO SHACK AND COMMODORE USERS Low Cost Software on Compatible Cassette Tapes for your TRS-80 and PET computers. — Games — Small Business — Investment and — Scientific Programs. Tapes also available for OSI, APPLE II, SWTP 6800, and Pro- cessor Technology. SEND FOR FREE CATALOG Silver State Enterprises P.O. Box 271 11 Lakewood, CO 80227 Circle 126 on inquiry card. Circle 104 on inquiry card. jeNseN FREE CATALOG OF HARD-TO-FIND PRECISION TOOLS Jensen's new 152-page catalog is your single source for hard-to-find precision tools used by electronic technicians, scientists, engineers, instrument mechanics. Also contains 10 pages of useful "Tool Tips" to aid in tool selection. Send for your free copy today! jgnsgn tooLs & Alloys 1230 souTti prciesr drivg ■ Tempe. az. 85281 Circle 64 on inquiry card. WHAT IS a really good way to protect all your valu- able back issues of BYTE that will keep them handy, clean, and organized? Send to: BYTE, POB 5120, Philadelphia PA 19141 for information on binders and files. C P V) 3 Software Professionals Can You Qualify?! One of our clients is staffing a soft- ware group to maintain their leading edge in state-of-the-art technology. Growth positions in the 15-40K range are available. Some of the areas include: Compi- ler Design (string handling, character manipulation, syntax processing} Data Base Design — DOS (index se- quential file structure, etc) and Real Time Operating Systems (async & bysync, interrupt processor, resource allocation}. We would like to tell you more about these and other New England opportunities. All inquiries will be held in strict confidence. Call us collect 603-888-5500 or send resume. Touchstone Associates Personnel Consultants 104 D.W. Highway Nashua, N.H. 03060 BITE Article Index Complete listing of all feature articles appearing in Volume I of BYTE — September 1975 thru December 1976. Indexed for easy reference. Includes all errata. REET V, To get yours, send a $.24 stamped self-addressed envelope to: BYTE Index 70 Main Street Peterborough NH 034E8 J Circle 120 on inquiry card. STILL A FEW LEFT. The limited edition full color computer engineering poster, $3.50. BITS 70 Main St Peterborough NH 03458 HP 9825A COMPUTER / am selling my personal HP 9825A Desktop Computer. Here is a chance to own a professional quality computer for little more than a hobby-grade system. FEATURES: • 6MHz, 16 bitCPU • High speed, 250 K byte tape cartridge • Upper/lower case display and keyboard • 8 K bytes RAM • Operating system and drivers in ROM • Interactive editor in ROM • HPL language in ROM • Built-in 16 column printer ROM's for I/O, MATRIX, 5TRING VARIABLES, ADVANCED PROGRAMMING are also included as well as [EEE-488 interface card. Full documentation. Price: $4700. Roger Cox 4327 N Chestnut St Apt 18 Colorado Springs CO 80907 (303) 599-9274 CALIFORNIA APPLIED TECHNOLOGY 32K-MEM0RY CARD-S410 S-100 STATIC KIT 2708E-PR0M-S14 2708 PR0GRAMHED-S20 WITH 8080 SYSTEMS MONITOR 80 MAJOR COMPUTER PRODUCT LINES AND AN EXHAUSTIVE LINE OF ELECTRONIC COMPONENTS COMPUTERS HARDWARE AND SOFTWARE CUSTOM HARDWARE AND SOFTWARE RESEARCH AND DEVELOPMENT P.O. BOX 1239 TWENTYNINE PALMS, CA. 92277 714-367-6998 FREE BASIC PROGRAM AND CATALOG 'ALEX IS COMING' Circle 9 on inquiry card. Circle 32 on inquiry card. Circle 12 on inquiry card. OTHER SYSTEMS " FEEDFORWARD CORRECTION COMPUTATION " 1st STAGE OF SYSTEM OUTPUT 2nd STAGE OF SYSTEM OUTPUT Figure 4: Feedforward as a means of correction in sys- tems where feedback is too slow. This technique involves an open loop correction based on other systems ' input data. elements may impose modifications on output sequences, or call on adjacent sys- tems (which control similar muscle func- tions) for assistance. Some of these func- tions have actually been simulated on large digital machines in experimental motion control systems. A schematic of a circuit modeling the essential features is shown in figure 3. The outputs of the cerebellar cortex fall on the neurons of the cerebellar nuclei, which relay them widely throughout the brain. Inputs to the cerebellum likewise originate in many portions of the system. There is evidence in fact that different motor system functions may time-share the device! A major function of the cere- bellum however is to allow for interaction between different command systems. Feedforward Controls: Coordination To illustrate this point, let us see how it is applied to feedforward modification of output. In any system which is not amenable to feedback control, such as one involving actions that are more rapid than the loop time that would be required to control them, or ones that would require very ex- tensive processing of feedback input, it is nonetheless possible to achieve considerable correction for moment to moment condi- tions by passing the basic output command to both the next level of the output system and to a controller which computes the necessary deviations from the basic com- mand and forwards these to the lower echelons of the output system. The concept is diagrammed in figure 4. Thus, a reflex motor loop which performs some function such as walking sequences may need to be modified from its basic pattern by infor- mation about head tilt from the vestibular system, while at the same time the reflex vestibular motor systems which keep the head level may require information about what the stepping generator is about to do, in order to allow for impending body tilt. The whole sequence needs to take place before any muscle action occurs which could generate feedback information if we wish to move swiftly and still avoid a fall. The process is popularly called "coordina- tion," and the quality of yours is dependent on the excellence of your cerebellum. What happens in this process is as follows: se- quences of motor actions generated at any level of the hierarchical reflex "automaton" system, or at any high level system which inputs to it, are also sent to the cerebellum, either as inputs to the parallel fiber decoding systems or as inputs to the "other" elements which control interactions across parallel systems and gate individual output elements. Thus, the waves of parallel fiber activity generated by different command systems can interact in the cerebellum and modify one another in predetermined fashions. The resulting modified command is sent forward as a set of corrections to the basic command, and the two interact at lower echelons to produce a corrected action. (Yes, they can get there at the same time. We've got control of transmission speed, remember.) One clear advantage is the provision of a common site of interaction for systems which are func- tionally related, but do not possess physical elements in common. Now that we've got it taking care of interactions and corrections, how do we get "dead reckoning" of movement parameters? This process relies on a parallel to serial conversion which uses time as an analog of position. A basic function of the cerebellar nuclei is holding or maintaining positions by appropriate outputs to the biasing elements in systems such as the LMN system. The output elements of the cerebellar cortex however act to inhibit the cerebellar nuclei. Thus, damage to the cerebellar nuclei results in tremor, oscillation, and similar signs of excess activity. Damage to the cerebellar cortex on the other hand results in deficits related to underactivity, motions that fall short of the target or fail to initiate. In the case of a pure example of the "dead reckon- ing" type of motion (frequently referred to as saccadic motion), such as the motion of the eyes in fixing on a new point of focus, the motion itself is of constant velocity. (More accurately, it is driven by a constant input, it clearly can't accelerate and deceler- ate instantaneously.) Given this, it follows that the extent of the motion is determined solely by the duration of the driving signal. If the motion generating "automaton" circuits are held in check by the cerebellar nuclei, then action of the cerebellar cortex which inhibits the cerebellar nuclei dis- inhibits the motion generators and the move- ment begins. If the outputs of a group of 148 BYTE February 1978 Every computer needs a ROM , - soloo you ! 8 »»«» fM S«S«HSf« Computers Challenge America's Cup by Eben Ostby □ A Beginner's Guide to Peripherals: Input/Output Devices Your Mother Never Told You About by Leslie Solomon and Stanley Veit D Computer Country: An Electronic Jungle Gym for Kids by Lee Felsenstein □ The Best Slot Machine Game Ever by Tom Digate D The Micro Diet: Better Health through Electronics by Karen E. Brothers and Louise L. Silver □ Come CloserandWe Won't Even Have to Talk by Avery Johnson □ TheKitandl, Part Four: Testing, Testing by Richard W. Langer □ Computer Models in Psychology by Joseph Weizenbaum □ Micro, Micro on the Wall, How Willi Look When I Am Tall? by Stuart Dambrot □ Copycat Computer by Tom Digate □ Talk Is Cheap by Hesh Wiener D Project Prometheus: Going Solar with Your Micro by Lee Felsenstein □ BASIC from the Word GOTO by Eben Ostby □ Chipmaker, Chipmaker, How Does Your Crystal Grow? by Sandra Faye □ The Kit and I, Part Three: Personality Plus by Richard W. Langer □ Make Me More Music, Maestro Micro by Dorothy Siegel □ Wings in Wind Tunnels: Computer Models and Theories by Joseph Weizenbaum □ What Is a Microcomputer System? by Leslie Solomon and Stanley Veit □ Maintaining Your Micro by O.S. (The Old Soldier) □ Time Sharing on the Family Micro by Barry Yarkon D The Wordslinger: 2200 Characters per Second by Stuart Dambrot D Light Fantastic: The Kinetic Sculpture of Michael Mayock by Tom Moldvay and Lawrence Schick □ From Bombs to ROMs by Lavinia Dimond D Guard against Crib Death with Your Micro by Jon Glick □ Home Computers : The Products America May Never Know It Needs by Martin Himmelfarb D Putting Two and Two Together by Tom Pittman □ The Wonderful Dreams of Dr. K by Hesh Wiener □ The Kilobyte Card: Memories for Pennies by Thorn Veblen □ The Unlikely Birth of a Computer Artist by Richard Helmick D Scott Joplin on Your Sci-Fi Hi-Fi by Dorothy Siegel □ Building a Basic Music Board by Eben F. Ostby D The Compulsive Programmer by Joseph Weizenbaum □ The Very Best Defense (a short story) by Laurence M, Janifer □ Chart Up and Flow Right by Eben F. Ostby □ Computer Wrestling: The Program of Champions by Lee Felsenstein □ Forget Me, Forget Me Not by Avery Johnson D PLATO Makes Learning Mickey Mouse by Elisabeth R. Lyman □ Charged Couples by Sandra Faye Carroll D Xeroxes and Other Hard Copy off Your CRT by Bill Etra □ TheKitandl, Part Two: or Power to the Computer by Richard W. Langer □ How Computers Work by Joseph Weizenbaum □ Personally Yours from IBM by Eben F. Ostby □ A Payroll Program for Your Small Business by Robert G. Forbes □ Memories Are Made of This by Lee Felsenstein □ Memory, Memory, How Much Memory? by Stan Veit □ Software— The Genie in the Bottle by Tom Pittman □ Your Computer or Your Wife by Susan Gilpatrick □ The computer magazine for the curious Every monthly issue keeps yon abreast of the latest microcomputer applications for home, school, and office. Written by professionals who know how to present microcomputing in a lively, readable, and understandable fashion, ROM is fun. ROM is instructive. ROM is everything you ever wanted in a computer magazine. ^ ~ : Z 7tl Nu-5}nn San Jose Convention Center, San Jose, California — in the middle of Silicon Valley Get the FREE Silicon Gulch Gazette for all the latest details: • Send us your name & mailing address • The Gazette -- a tantalizing tabloid touting the Faire & offering "hot news" and "raging rumor" regarding home & hobby computing. COMPUTER FAIRE BOX 1 579, PALO ALTO CA 94302 D(415 j Circle 124 on inquiry card. byte February 1978 153 self-quenching output pulses. This feature is essential if the continuation of a behavior is to be made contingent on its consequences. The basal ganglia in fact have sets of inputs which are precisely configured to achieve this contingency. The outputs of the basal ganglia run principally to: the thalamus and thence to the motor cortex; to the motor nuclei of the mesencephalon and thence to the sub- systems of the reflex motor apparatus; and to the motor nuclei of the pons and thence to the cerebellum. The basal ganglia are thus in a position to transmit information and commands to all aspects of the motor system. There is little here that is not understandable in terms of principles we have already dealt with, and it requires no elaboration. The inputs to the basal ganglia, on the other hand, are the key to understanding its function. There are three major components of the input. First, the entire cortex projects fibers into these nuclei. These fibers, and those of the second component which arises from the thalamus (a structure which organ- izes the activity of the cortex, and processes 10 for it), tend to make contact with a few specific neural elements in the basal ganglia. These two input groups may be thought of as specifying discrete patterns of activation which are encoded by an action like a series of cascaded AND gates into a pattern of activity, or potential activity, on the output lines of the basal ganglia. If output contin- uously, these outputs could be decoded by lower motor structures into specific move- ments. It appears however that these inputs alone are insufficient to sustain much activity in the face of the strong local inhibition generated by their own action. The third input component to the basal ganglia arises from a group of nuclei which are related to other brain systems that detect the rewarding or punishing quality of the stimulus pattern being decoded by the sensory systems. This input component has a very different distribution; it branches widely within the basal ganglia, each axon making synapses with tens of thousands of neurons. As a result, it cannot specify any very specific pattern of activation in the basal ganglia. Its action is diffuse, and principally temporarily coded. On the other hand, it can exert a widespread gating action on all ongoing basal ganglia activity. Thus, an input containing information about the intensity of the organism's emotional response to the results of ongoing behavior is capable of sustaining or inhibiting the next phase of the behavior. Given the self-quench- ing nature of activity in the basal ganglia, it is easy to envision a process by which a behavior "suggested" by the cortical and thalamic inputs is only sustained if the initial input results produce a sustaining input which strengthens the initial activation pattern, perhaps by summing with it to overcome the self-inhibition. The third input component is of course ideally situated for such a function. In its most primitive form, this scheme results in a sort of "homing device" which will cause an organism to follow an increas- ingly intense stimulus, such as odor, to its source, such as food. That is, as the search- ing and locomotor patterns generated by the animal result in increases or decreases in the intensity of the pleasurable stimulus, they are appropriately facilitated or eliminated. Out of this simple feedback guidance mecha- nism, a host of more elaborate behaviors are developed, by evolution and learning, with the aid of the immense processing power of the cortex to provide detailed analysis of the environment and to generate more complex patterns of behavior for trial. At the present time, we cannot precisely specify the pattern of detailed connections in the basal ganglia which results in these actions. The nature of its operation is inferred indirectly from evidence derived by stimulating its inputs or disabling its outputs. This evidence seems to establish that normal operation of the basal ganglia is essential to orientation and approach to stimuli, and initiation of voluntary behavior and complex learned behavior, particularly that involving anticipatory actions. The con- vergence in the basal ganglia of processed sensory information from many areas of the cortex provides a source of feedback infor- mation which can interact with and modify basic action plans generated by other cortical areas. Damage to the basal ganglia causes a loss of the ability to modify complex actions and judgements on the basis of sensory feedback. (This sort of feedback modification is distinct from the nonspecific sustaining action of feedback from the reward detector circuitry.) Finally, as predic- ted by the model outlined above, damage to the diffusely connected third input com- ponent results in failure to initiate behavior or orient to and approach stimuli, while stimulation of this component results in continuation of the immediately preceding behavior. There is also a growing body of evidence to indicate that the type of learning called "operant conditioning" (see the preceding article in this series) may depend on, or even occur in the basal ganglia. This type of learning essentially involves an increase in the future ability of a behavior pattern to compete with other potential behaviors if it 154 BYTE February 1978 ^*nenoeoM«JTEM4 CONFERENCE PROCEEDINGS of the largest convention ever held Exclusively Devoted to Home & Hobby Computing over 300 pages of conference papers, including: (Topic headings with approximate count of 7"xl0" pages) Friday & Saturday Banquet Speeches (16) Tutorials for the Computer Novice (16) People & Computers (13) Human Aspects of System Design (9) Computers for Physically Disabled (7) Legal Aspects of Personal Computing (6) Heretical Proposals (11) Computer Art Systems (2) Music & Computers (43) Electronic Mail (8) Computer Networking for Everyone (14) Personal Computers for Education (38) Residential Energy & Computers (2) Systems for Very Small Businesses (5) Entrepreneurs (6) Speech Recognition & Speech Synthesis by Computer (14) Tutorials on Software Systems Design (11) Implementation of Software Systems and Modules (10) High-Level Languages for Home Computers (15) Multi-Tasking on Home Computers (10) Homebrew Hardware (8) Bus & Interface Standards (17) Microprogrammable Microprocessors for Hobbyists (18) Amateur Radio & Computers (11) Commercial Hardware (8) plus Names & addresses of the 170+ exhibitors at the Computer Faire Order now from: Computer Faire Box 1579 Palo Alto CA 94302 (415)851-7664 Proceedings: Shipping & Handling: rtside Califomi ^^ — Jifornians Ad Inside California: $12.00 ($1 1.95, plus a nickel, if you prefer) .68 (Write for shipping charges ouside U.S.A.) Payment must accompany the .£££ .72 6% Sales Tax jjHJSt $13.40 Payment must accompany the order. »x»ll, 1977 • sanf ranclsco ©77-1-10 by Computer Faire Circle 124 on inquiry card. BOX 1579, PALO ALTO CA 94302 oOo (415)851-7664 BYTE February 1978 155 Figure 5: An equivalent block diagram approximat- ing some of the basic relations of the brain's basal ganglia (striatum). is followed by activation of the reward system. To achieve this, all that would be required in addition to the basal ganglia model we have described here would be provision for activity in the diffuse input from the reward system to lower the firing threshold of neurons which were active at the time of this input. No such mechanism is presently known, although it is suspected, but in our robots it would be easily contrived. An electronic analog of the model of basal ganglia action described here is shown in figure 5. (This model does not include the learning function just described.) The essential features are: the provision of a set of gates to encode the simultaneous inputs from the many cortical regions which con- tribute to the design of the behavior; a circuit which shuts off the encoded output after a brief delay; and an enabling bus representing the input from the reward system which inhibits the shut off circuit on active gates. This model is only illustrative, and better ones could be designed to mimic basal ganglia function. For example, the intensity of activity in the enabling bus should be employed to modulate the intensity of the output. In practice, considering the very large number of gates required, and the fact that operation of the system is slow since it requires direction from physical results of actions, it will probably be best to simulate much of the gating and modulation in software on a fast processor. A few relevant principles are worth noting here. The ratio of input to output lines in the basal ganglia is very high. It receives input fibers from the entire cerebral cortex, which is by far the largest structure in the human brain. Output neurons on the other hand comprise less than five percent of the neural complement of the basal ganglia. Clearly a great deal of CORTICAL AND THALAMIC INPUT II N TO I DECODER II N TO I DECODER REWARD BUS II N TO I DECODER — | DELAY^-g>f- — I DELAY j-frf- — | DELAY [~W~ TO LOWER MOTOR SYSTEM encoding takes place here; output line per- mutations are selected by gating an enor- mous number of inputs. Consistent with this, the outputs undergo an equally enor- mous decoding and fan out into the entire downstream motor system, ultimately speci- fying the actions of billions of LMN units. The basal ganglia outputs thus represent a "narrow spot" in the system, through which most of the organism's complex goal direc- ted behavior passes. Similarly, the reward system which provides the gating or modu- lating input to this information flow repre- sents the ultimate distillation of analysis of the entire sensory world of the organism as it pertains to reward. The amount of processing going on at higher levels to generate behavior patterns, and the amount required to evaluate their effectiveness is awe inspiring. Yet, the closing of this most complex feedback loop of all time is carried out relatively easily thanks to interaction at the "narrow points" of the two systems in a simple decision to keep going or quit doing what you're doing. The need for specific feedback to the behavior generating ele- ments is thus eliminated. They simply try something else which they derive from estab- lished hierarchies or generate from similar- ities with past situations. If we are to provide the capacity for robot behavioral systems to modify large scale behavioral strategies on the basis of evaluation of their effects, or if we wish to provide an operant conditioning capability, it will be necessary to gate or modify massive amounts of information. The most hardware conservative approach may well be to emulate the basal ganglia system by allowing a simple statement of the evaluative system's reaction to perform a "more or less" modulation of the output of the behavior generators at a highly encoded "narrow spot," and leave the behavior gen- erators to try again according to trial and error algorithms, rather than trying to correct them directly. Specific feedback information of a nonevaluative sort, such as corrections to intended position from visual observation of the limb, become part of the command pattern prior to modulation by the evaluative system, simply by being part of the input pattern to be processed in generating the next attempted output patterns. These inputs could be handled by a software gating system, given processor speed, and the intensity of the evaluative function could be digitally coded and applied by software arithmetic rather than by mimicking the brain's analog system. Having looked at the detailed operation of some of the important components of the brain's motor output system, let us finish 156 BYTE February 197S CONVERT ANY TV TO A HIGH QUALITY MONITOR - NE* " *■ MICH QUALITY TTTTTTT ¥ V T V V ■.* T V ¥ 1 ' t v MOO — KITS s '/> • Hot Chassis or Transformer sets • 64-80 characters per line • By-passes tuner & I.F. • Normal viewing unaffected • Safe— Easy installation ACVM Hi-Resolution $24.95 ppd RFVM Ch2-6 Modulator $9.95 ppd VAMP INC.' 'Box 29315 Los Angeles, Calif. 90029 Calif. Residents add 6% Sales Tax a a re you in the process of de- signing a turn-key computer system? o you have problems inter- facing the hardware? Then you need the hardware specialist COMPUTER MACHINE SERVICE. CMS is in the business of assembling and repairing of microcomputers and equipment. CMS is not in the business to sell computer equip- ment. Our primary objective is to provide assembly service of the highest quality as well as prime quality repair service on microcomputers and data communications equipment. For information call: 213-328-9740 or 213-328-9760 Or write: Computer Machine Service 2909 Oregon Court Torrance, CA 90503 FOR ALL YOUR HARDWARE PROBLEMS CMS IS THE ONE TO CALL. IT'S A GREAT BIG COMPUTER WORLD Z But You Only Need *-THE COMPUTER CORNER : "*~~ «SOL - A New Dawn Is Here! ~+*~ 'IMSAI 8080 ~*~ •POLY -88 ~+*~ »TDLZ-80 ~ w_ •Memories & I/O Boards -*- ->f- •Computer Book Service -►I— "Magnetic Tapes & Disks _ -►I- • Full Line of Magazines _ p\ • Brain Games & Puzzles _ H 'Workshops & Club Information ~y~ Visit THE COMPUTER CORNER for " ., all your computer needs. Stop in and browse — you'll like our personal service. PI wi THE COMPUTER CORNER While Plains Mall - Upper Level -*r- 200 Hamilton Avenue -^— White Plains, New York 10601 * Tel: (914) WHY - DATA Ample Parking 10-6 Daily & Saturday V , 10-9 Thursday v > ^T^TTTTTTTTT^ -f*. ^ Circle 122 on inquiry card. Circle 25 on inquiry card. Circle 21 on inquiry card. DATA ACQUISITION SYSTEM ON A CHIP Nat. ADC 0816. 8-bit A/D converter, 16 channel multiplexer, latched address inputs and TRI-STATE latched outputs. Interface up to 4 joysticks. Microprocessor compatible. Easy interface to 8080, 6800, 6502, 1802. S26.00ea., pp. W/SPECS •s SPECS, only .50 each S Send check or money order to: YESTRONICS P.O. Box 1892 South Hackensack New Jersey 07606 New Jersey residents add 5% sales tax. Convert your micro into a powerful BUSINESS system by adding a DISYSTEM multiprocessing satellite lor word processing and file management. • Super smart floppy controller with powerful resident DOS such as CPM or ISIS • Expanded memory capability through 24-bit memory addressing • Dual main processor architecture with sev- eral I/O ports for expanded peripheral service Delivered assembled and tested. Now available in kit also, with all PC boards, passive devices and TTL gates $310.00 Specify S-100, Intel MDS/SBC or other bus op- tion. Send S2.00 for detailed 20 page report with schematics (refund if report is returned by return mail) to: SYSTEMATHICA CONSULTING GROUP Ltd P. O. BOX 10154 PITTSBURGH, PA. 15232 (412) 621-8362 61 AV. DE CHAMPEL CH-1206, GENEVA P. O. BOX 488 PICKERING, ONT. L1V 2R7 SERVICE!!! TIRED OF WAITING 2 MONTHS? National Digital Diagnostics... can helphi Your equipment is ordinarily on its way home within 5 days of its arrival. SPECIALISTS IN SERVICING OF: All S-100 Bus Micro Processors & Peri- pherals, TTL Circuits, "Home Brew Projects", other Micro Processors. - Estimates Given Before Work is Done - Equipment Returned C.O.D. WHEN SENDING EQUIPMENT: -Ship via UPS Insured, - Include hardware documentation & Sche- matics, if available, - Include flat rate diagnostic fee of $10 in check or money order. (Will be applied against cost of any repair work done.) FOR MORE INFORMATION CALL: N.Y.C. (212)929-1694 L.I. (516)334-3998 NATIONAL DIGITAL DIAGNOSTIC P.O. BOX 728 -NEW YORK, N.Y. 10011 Circle 129 on inquiry card. Circle 113 on inquiry card. Circle 81 on inquiry card. COMPUTER MART OF NEW HAMPSHIRE » • DEALERS FOR: wM AND MANY MORE • • 170 MAIN STREET NASHUA (603) 883-2386 THE i COMPUTER ^^ HARDWARE STORE ML Dealers for: APPLE II, IMSAI VECTOR GRAPHIC, KIM-1 TECHNICO, OAE CYBERNEX, JIM-PAK TERMINALS, PRINTERS BUSINESS SYSTEMS, BOOKS SOFTWARE AND MUCH MORE CATALOGUE AVAILABLE 8 1 8 Franklin Street 9 West Cary Street Alexandria, Virginia Richmond, Virginia (703)548-8085 (804)780-0348 TYSON'S CORNER, VIRGINIA (WASHINGTON, DC. AREA) THE COMPUTER SYSTEMS STORE "Specializing in Systems" FEATURING: Processor Technology Lear Siegler Poly Morphic DEC Diablo SWTPC E & L Seals Vector Graphics Digital Group Apple TDL CROMEMCO Books — Magazines COMPUTERS FOR HOME. SCHOOL, & SMALL BUSINESS Our staff will help you select from the best of each manufac- turer lo complete the syslem best suited to your needs SPECIAL: LEAR-SIEGLER ADM 3A CSS CDmPUTER SYSTEFTIS STORE 1984 CHAIN BRIDGE ROAD, McLEAN, VA. 22101 TELEPHONE (703) 821 -8333 OPENING SOON ALEXANDRIA, VA ■ NORFOLK, VA • BALTIMORE WD • ORLANDO ELA Circle 26 on inquiry card. Circle 23 on inquiry card. Circle 30 on inquiry card. REWARD SYSTEM HIERARCHICAL REFLEX MOTOR SYSTEM LMN SYSTEMS Figure 6: Overall pattern of information flow in the brain's motor output sys- tem. A "top down " hier- archy of control Is modi- fied by inputs at multiple levels. with it by looking at a schematic summary which emphasizes the interactions of the different parts of the system. Figure 6 shows the main routes of information flow in the system, together with the major controlling inputs. Some of the "black boxes" such as "reward system" will be covered in future articles. One of the outstanding features of the system taken as a whole is that it does function in an organized and integrated way, despite the fact that its parts are in many ways autonomous, and certainly not synchronized in their operation. A key to this capability is the provision of status information to each unit of the system by each of its neighors, and the ability of each to employ this information in an intelligent way in formulating its own output. A further refinement is the provision of a structure such as the cerebellum where status information from diverse systems can interact to generate correction information which returns into the main line of the relevant systems. Wide scale availability of information from special movement relevant sensory input systems is another unifying feature. If we leave out the "behavior generating system," which is properly a decision making system to be considered later, not a system for execution, we can discern four major portions of the motor system (although some structures service more than one portion). The first is a system which handles most of the routine traffic according to established rules, and provides automatic elaboration according to established rules when given high level commands. The second is a system which converts parallel statements of action patterns into serially executed instructions to the first system. The third system provides a highly intel- ligent output terminal which can access the final output elements directly in the service of any of the higher systems on request. The essential feature here is that it is a parallel control for refined special purpose control, and is not necessary for most routines. Finally, a fourth system provides for inter- action of the high level decision making systems with elaborately processed feedback information to generate complex instruc- tions to the other systems, after screening them for effectiveness. In this constellation of functions, we find the capability to deal with rapid emergency movements, automatic compensation for externally imposed deviations, fine graded control under the direction of any sensory input, and the execution of arbitrary novel patterns. The organizing principle which seems to best define the system is its emphasis on successively more abstract com- mand functions at higher levels in the system, and a corresponding increase in "situation free" statements. That is, a high level element can issue a "walk" command without being concerned about the nature of the terrain. It has distinct analogies to high level programming languages. We shall see a similar organization in reverse in the sensory systems, where detailed information at the receptor level is gradually reduced to powerful statements of object recognition, independent of details of the sensation as the information ascends in the system. Even with all of this elaborate apparatus to direct and coordinate body motion, the problem of movement in the generalized environment remains a challenging one. Despite the massive investment in processing power that the brain has devoted to the problem, we still fall down sometimes. Producing a robot system that even approaches the brain's abilities will be a great challenge." BIBLIOGRAPHY Elementary Llinas, R, "The Cortex of the Cerebellum," Scientific American , January 1975. Advanced Kornhuber, H, "Cerebral Cortex, Cerebellum, and Basal Ganglia: an Introduction to Their Motor Functions," Neurosciences, Third Study Program, Schmitt, F, and Worden, F, eds, MIT Press, Cambridge, 1974. 158 BYTE February 1978 Reactions to Previous Comments Leigh Janes 23B Robbins Ln Rocky Hill CT 06067 I'd like to comment on some of the items in your November 1977 Languages Forum, page 190. I think Glen Taylor's idea for a "personal computer language development society" is great! I only hope he gets people whose minds are open enough to be able to borrow the strengths of any existing language. Alas, I am not experienced in microcomputers nor language design; the only thing I could offer is enthusiasm and a little experience in using some of the current languages (although I never did discover how to actually use LISP). If Jeffrey Kenton can't offer Peter Skye anything other than a prophecy of failure, he should have saved his time and stamp. ("The proposed PL/Skye will make no one happy." You never know, Jeff, it might be ecstatic.) RPG on a micro? Super idea! (The premise is that anything which helps make any computer easier to use is a good idea.) Terrible early experiences with PL/I? That's no reason to quit; surely we can learn from that and do better in the next attempt. My only contact with PASCAL has been via A Primer on PASCAL by Conway, Gries and Zimmerman which leaves out a lot of stuff (because it is really a primer on pro- gramming which merely uses PASCAL for its examples). My objections to what I've seen of PASCAL are: the apparent necessity of "declaring" every symbol in the program before using any of them; the apparent re- quirement of numbering a statement to go to (I want to name it); and the clumsiness of character string handling." BC5SDK1ISSS AVAILABLE FOR IMMEDIATE DELIVERY An Advanced, Comprehensive, Commercially oriented, Compiler/ InterpreterBASIClanguage facility designed for use with the CP/M OPERATING SYSTEM CBASIC FACILITIES INCLUDE: DISK ACCESS — Sequential and Random Files. Fixed and Variable length records. PRINT USING allows sophisticated formatting of output to both the Printer and Disk Files. FOURTEEN DIGITS of numeric precision. LIBRARY FACILITY supports "Canned" procedures which are included at compile time. LINE NUMBERS are not necessary on every line. They are needed only to transfer control. VARIABLE NAMES can be up to 31 characters long. STRING manipulation facilities include MATCH, LEFTS, RIGHT$, MID$, LEN, Concatenation, Arrays and More. PEEK, POKE, CALL, WHILE . . WEND, TRACE, Printer Selection, Multiple lines per statement. Re- marks that don't take space, IF . . . THEN . . . ELSE, Logical Operations, INPUT LINE to enter text including commas and special characters, READ LINE to read text files and SQQ95 MORE. FOR ONLY Including Extensive User's Manual Manual only $15.00 99 BUSINESS APPLICATIONS PROGRAMS For CP/M Users: QSORT — A Full-Diskette Sort/ Merge (in 8080 code) with Documentation $ 95 UTILITIES — Including a Full-Disk Copy and Memory Test $ 40 GENERAL LEDGER— A Generalized Business GLdesigned for Account- ants or Small Businesses. Includes complete documentation. Written in CBASIC $995 NAME AND ADDRESS FILE SYSTEM — Interactive Entry program Adds, Changes, Deletes, or Displays records. Prints labels or reports of al I or selected portions of a file. Written in CBASIC $79 To Order or ForMore Information, Write: /tructurecl /y/tem/ Group 5615 KALES AVENUE OAKLAND, CALIFORNIA 94618 (415)547-1567 California residents add 6Vz % Sales Tax. Prepaid or COD only. Dealerinquires Invited CP/M is a trademark of Digital Research. Circle 1 1 1 on inquiry card. BYTE February 1978 159 r A BIT Of The Best Build Your Own Working Robot by David L Heiserman, published by Tab Books. This book will not tell you how to build Robbie, the robot of Forbidden Planet, or a classical android of science fiction. What it will introduce you to is the problems of making a robot mobile device called Buster III, using pre-microprocessor TTL integrated circuits for all logic func- tions. It is a must book for background reading, but much of the logic can be extremely simplified using today's micro- processor technology. Use this book as a first look at these problems from which you can build further and more elaborate solu- tions. Softbound, $5.95. Getting Involved With Your Own Com- puter by Leslie Solomon and Stanley Veit answers the questions: "What can small computers do? Which is best for my pur- poses?" Whether your interest is business applications, word processing, education, security, etc., this lucid text will bring you in touch with an exciting new world des- tined to affect us all. $5.95. The Texas Instrument Reference Library .Fingertip Math, $2.95 .Software Design for Microprocessors, $1 2.95 _The Great International Math on Keys Book, $4.95 .TTL Data Book, $4.95 .Semiconductor Memory Data Book for Design Engineers, $2.95 .Transistor and Diode Data Book, $4.95 .Power Semiconductor Handbook for Design Engineers, $3.95 .The Optoelectronics Data Book for Design Engineers, $2.95 .Understanding Solid State Electronics, $2.95 .Designing With TTL Integrated Circuits, $28.50 .Bipolar Microcomputer Components Data Book, $2.95 NEW! L Computational Analysis on the Pocket Calculator contains some 35 programs written for a specific programmable pocket calculator, the HP-25. These programs implement algorithms in number theory, equation solving, algebraic stability theory, calculus of power series, numerical integra- tion as well as algorithms for the evaluation of special higher transcendental functions, such as the Gamma function, various Bessel functions, the error integral, and the Riemann zeta function. A unified format has been chosen for the preparation of the programs. By means of the flow diagrams and the detailed de- scriptions that are provided, the programs are easily adapted to run on any calculator of comparable capacity. $1 1 .50. _The First West Coast Computer Faire Conference Proceedings. Here's a big pack- age of fascinating information and practical guidelines from the symposia held at the 1977 West Coast Computer Faire. The First West Coast Computer Faire Conference Proceedings contain 336 pages covering: tutorials for the computer novice; human aspects of system design; robots (including the text of a talk by science fiction writer Fred Pohl); computers for the physically disabled; legal aspects of personal com- puters; education; electronic mail; music with computers; hardware; software— the list goes on. This compendium will make a useful addition to your reference shelf, since it contains many hard-to-get items. You can't miss for $12! William Ralph Bennett Jr's Scientific and Engineering Problem Solving With The Computer is one of the most exciting books we've seen in years. Besides teaching BASIC (which it does admirably), this lively, lucid book presents a wealth of imaginative and unusual applications pro- grams taken from many disciplines (A sample exercise: "Using the algorithm in the text with the pair-correlation matrix from Hamlet, compute the most probable diagram path which starts with the letter T"). The exercises run the gamut from random processes to the dynamics of motion, from entropy in language to the Watergate problem. You'll discover BASIC applications in lasers and in the Fourier series and the law (I). In its diversity and elegant style, it ranks with Donald Knuth's works as a milestone in the art of com- puting. Hardcover, $13.95. 160 BYTE February 1978 Scelbi "6800" Guide & Cookbook Software Gourmet Scelbi "8080" Software Gourmet Guide & Cookbook, both by Robert Find- ley. Have you tried cooking up a program lately on your 6800 or 8080 processor? Have you needed a dash of ideas on how to add spice to a program? Then the Scelbi "6800" Software Gourmet Guide & Cook- book and the Scelbi "8080" Software Gourmet Guide & Cookbook may prove to be quite useful additions to your library. Both books contain a wealth of infor- mation on the 6800 and 8080 instruction sets, plus general programming techniques applied to the 8080 and 6800, conversion routines, floating point routines, decimal arithmetic routines, and much more. Order yours today and get a taste of what your processor can do. Both books are priced at $9.95 each. ^ Old Favorites Basic BASIC by James S Coan. If you're not already familiar with BASIC, James Coan's Basic BASIC is one of the best ways to learn about this popular computer language. BASIC (which stands for Beginner's All-purpose Symbolic Instruc- tion Code) is easy to learn and easy to apply to many problems. Basic BASIC gives you step-by-step instructions for using a ter- minal, writing programs, using loops and lists, solving mathematical problems, under- standing matrices and more. The book con- tains a wealth of illustrations and example programs, and is suitable for beginners at many different levels. It makes a fine refer- ence for the experienced programmer, too. $7.95. Advanced BASIC by James S Coan. Advanced BASIC is the companion volume to James Coan's Basic BASIC. In this book you'll learn about some of the more ad- vanced techniques for programming in BASIC, including string manipulation, the use of files, plotting on a terminal, simula- tion and games, advanced mathematical applications and more. Many useful algor- ithms are covered, including some clever sorting techniques designed to reduce program execution time. As with Basic BASIC, there are many illustrative example programs included. BASIC doesn't have to be basic with Advanced BASIC! $6.95. The Art of Computer Programming Praised by many critics as the best books in their field, The Art of Computer Pro- gramming, Volumes I, II and III, are part of a projected seven volume omnibus survey of computer science now being completed by Donald E Knuth. Volume I, Fundamental Algorithms, begins with a thorough discussion of the mathematics used in computer programming, followed by a treatment of information structures, stacks, arrays, linked lists, dynamic storage allocation, and trees. 634 pp; $20.95. Volume II, Seminumerical Algorithms, is concerned with random numbers, statisti- cal tests, random sequences, as well as arithmetic (floating point and multiple precision), polynomials, and rational arithmetic. 624 pp; $20.95. Volume III, deals with Searching and Sorting, and as the name implies, the em- phasis is on algorithms for sorting, including combinatorial properties of permutations, internal sorting, optimum sorting, and external sorting. Also included is a section on sequential searching, hashing, digital searching, and more. 722 pp; $20.95. A hypothetical assembly language called MIX has been developed by the author to illustrate programming examples throughout the series. MIX is easily convertible to other assembly languages. Prof Knuth writes with style and wit (among many memorable quotes is one from McCall's Cookbook\). This classic work belongs on the reference shelf of everyone seriously interested in computer science. Order By Telephone WATS up? The BITS toll free hotline is now available for customer orders. Dial your bank card orders Monday through Friday between 9:00 a.m. and 5:00 p.m. Eastern Standard Time. 1-800-258-5477. In New Hampshire, call 924-3355. Before you dial, please have ready your BankAmericard or Master Charge credit card number and expiration date, the titles of the books you wish, and your shipping address. To call about an order— Please dial (603) 924-3355. DIAL YOUR ORDERS ON THE BITS TOLL FREE HOT LINE: 1-800-258-5477. In New Hampshire, call collect: 924-3355 Check Payment method: Send to: ^Mt ^" v cnec ' < ' s enclosed BITS, Inc. _ — ' Bill my MC No 70 Main Street mliSim mrnH .Bill my BAC No Peterborough NH 03458 Name Address Total for all books checked Postage, 50 cents per book for_ QiVL. Slate Zip Code Overseas, 75 cents per book for . Grand Total Signature . Exp. date . Exp. date . .books S_ _books $_ You may photocopy this page if you wish to leave your BYTE intact. Prices shown are subject to change without notice All orders must be prepaid. In unusual cases, processing may exceed 30 days. J Circle 9 on inquiry card. BYTE February 1978 161 Programming Entomology Gary McGath 7 Silver Dr Nashua NH 03060 Clobbered Value Bug: Your program changes the value of a variable at a time and place which is unintended. The detection difficulty ranges from the obvious (after if is found) to the subtle (before it is found). An entomologist is a bug expert. When he sees an insect, it isn't just a bug to him (in fact, he will vociferously protest that not all insects are bugs); it has a particular habitat, lifespan, favorite food, and breeding pattern. Nor is his knowledge just academic; he can tell you how to protect yourself from a harmful one by killing it or keeping it away. The same sort of knowledge is necessary for programming. The skilled programmer knows what kinds of bugs may attack a program, how to track them down, and how to keep them from getting there in the first place. He knows the ways to get at particular bugs, as well as the general treatments which are effective against all of them. The first thing to realize about bugs is that they don't appear by spontaneous generation. They have a creator, and their creator is the programmer. (Throughout this article, I am speaking only of user program bugs; hardware bugs are an entirely different breed, subject to different laws, and systems software may be beyond your control. No matter how outrageously the program is acting, it's only following orders. So what you have to ask about a bug in your program is: how did you put it there? What kinds of mistakes are you prone to make? If you caught a certain bug in one part of the program, might you have put the same kind of bug elsewhere as well? "Thou art God" . . .and thou must take care of thy creation. But the fact that each programmer creates his own bugs doesn't mean there aren't species of bugs found in everyone's programs. Knowing about these species can be a great timesaver, especially when the species can be identified by the effects. One of the most common bugs is the Clobbered Value, found where the pro- grammer assumes the content of a register or the value of a variable is the same as before, but it isn't. Take this attempt to exchange the values of two variables: 10LETX = Y 20LETY=X This fails because when statement 20 is executed, the value of X has already been clobbered by the previous statement, with the result that Y never gets changed at all. Clobbered Values are frequently found on subroutine exits. It's easy to write a harmless looking CALL or GOSUB (possibly to a routine you haven't written yet) and assume everything will remain the same. But strange things can happen if the subroutine unexpectedly changes some values. A not too distant relative of the Clob- bered Value is the Zapped Stack, found only in machine and assembly code. It appears most often by pushing items onto the pro- gram's stack at the start of a subroutine, then failing to pop them, or popping too many things at the end. Another way to invite this bug is to use the stack pointer for some other purpose during the course of a subroutine. Subroutines are also the habitat of the Botched Call. A certain protocol is needed to call any particular subroutine. If, when you write a call to a subroutine, you expect a value to be returned in the wrong place, or you assume the subroutine will do some- thing which it actually won't (or vice versa), this bug will have gained a foothold. The difference between a Clobbered Value and a Botched Call is that when you have the latter, the subroutine is doing the right thing; the calling program is just mistaken in its expectations. Another species of bug lurks in jumps, branches, and GOTOs. The Branch Bug 162 BYTE February 1978 Zapped Stack Bug: Stack oriented machines and software are both very egalitarian with respect to pushes and pops. They like to have the same number of items pushed as are later popped, or else they'll transform themselves from tranquil and placid programs into memory zapping monsters. .\ ' /, nmr\ is so difficult to fight that serious attempts have been made to wipe out its habitat; languages and programming styles (struc- tured programming) have been developed that use no jumps. The Branch Bug comes in two varieties: jumping to the wrong place, and jumping to the right place with inadequate preparation. The first of these is easy to produce in languages where statement labels have to be numbers (eg: BASIC and FORTRAN, especially BASIC, where every statement has to be numbered whether it's ever going to be a jump destina- tion or not). The jump with inadequate preparation is similar to the Botched Call, but it can often be harder to figure out if the program has a complex flow pattern. A few special methods are applicable to fighting the Branch Bug. One of these is program flow analysis. A look at the possible paths a program can take will often reveal some of these bugs. Is there a part of the program that can never be reached? Are there traps in the program, loops that can never terminate? Are there jumps which will result in variables being used without having been set to a value? In languages like BASIC, where every statement is labeled, it's helpful to set off statements that can be reached by jumps either by using special statement numbers or by pointing them out in comment state- ments. In any language, the statements that can be reached by jumps should be logical breaking points in some sense, places where a new unit of work begins. Except in desperate situations where economy is all-important, jumps should be used to satisfy the logic of the program, not to save a few instructions. If a subroutine call can be used instead of a jump, it probably should be used. A subroutine will send you back where you came from, so figuring out the flow of the program is easier. For many purposes, you can treat a subroutine as a unit when studying the program; as a single instruction that happens to do complicated things. You can't do this with the instructions reached by a jump. The next bug in our survey feeds on apples and oranges. More generally speaking, the Mismatched Unit is found where the units or dimensions of the quantities being used in a program aren't the ones actually needed. Take the program statement LET V = D * T, where D is a distance in miles, T is the time traveled in hours, and V is intended to be the traveler's average velocity in miles per hour. By using simple algebra on the units, you can see that the result obtained will be units of miles times hours, not miles per (ie: divided by) hour. Bugs of this type are harder to spot when the mismatched variables are further apart in the program, but consistency will keep them from occurring. Simply be sure you know in advance what units each variable has to come in. Assembly and machine language program- ming allow an especially messy type of Mismatched Unit to show up: mismatches between addresses and data, or between absolute addresses and relative addresses (values to be added to a base address). To avoid this bug, watch out for the different addressing modes of different instructions. Another bug with a specialized habitat is the Fencepost Bug, named for its ten- dency to rest in problems like this one: "If you are putting up a wire fence 100 feet long, supported by posts every 10 feet, how many posts do you need?" Another name for this bug is the Boundary Condition Bug; it's always found in connection with the start or end of some sequence, where Botched Call Bug: The Botched Call Bug is like the proverbial square peg in a round hole: Unless the peg or the edge of the hole yields, sparks will fly. BYTE February 1978 163 Branch Bug: Jumping blindly about in memory, the Branch Bug is always on a collision course with valid execution of a program. special treatment is needed. One form manifests itself in confusion over whether the first element of a group is number or number 1. Another is found in the attempt to relate each element of an array to the next, as in this statement: IFT(l). Math Packaga. 5 byle mantissa. 1 byte exponent MODEMS! sr ^^^^r ■ 1 1V, digit accuracy. Fortran-type formatting (Integer, Floating Point and Free Formatting on both Back Issues of BYTE read and write] S100.00 Letter Writing Editor. No line numbers needed. Subset ot Honeywell's 1648 Timesharing Editor S100.00 About 300 July, 200 Aug., Payroll. S400.00 and 500 Sept. 1976 issues of BYTE. Orders will be filled on a The ELCOM 30 Originate-Only and ELCOM 32 Originate/Answer acoustic Accounts Receivable. Phone for details. first come first served basis until coupled modems provide reliable Bell Power Supply Modification Kit for SWTPC the supply is exhausted; we will System 103/113 compatible. Duplex or Half-Duplex, 300 bps data communi- Computer. Fill motherboard with as much partial ship and return any monies cation over conventional dial telephones. memory bs you wish without brown out S20.00 in excess. Advanced crystal-controlled digital tech- Disk Based SWTPC Business Systems. Phone for details. Readers please send $2.00 for niques and high-order linearphase active filters provide error-free operation over Dealer for SWTPC. Smoke Signal Broadcasting, Percom. each issue; this includes postage the most marginal telephone circuits. Teletype®. GE. Tl. Centronics. Motorola, and handling. Transmit Frequency Accuracy 1% Crystal- GIMIX.etc. Controlled. Transmit Level: -16 dBm, adjustable, m Receiver Sensitivity; -55 dBm or lower. Received r- To Order: Include 3% postage. Illinois residents add 5% sales tax. The Computer Place 186 Queen Street West Data Distortion: 3% typical. Crystal-Controlled ALL PRICES FOB CONCORD. TN. BankAmericard/Visa and Mastercharge welcome vw- o v OUT ^> Figure 1 : Simple resistor-capacitor (RC) low pass filter. A Simple Digital Filter Robert Grappel 148 Wood St Lexington MA 02173 At first glance, using a computer to build an analog filter seems like the height of overkill. Imagine an analog to digital con- verter, a microprocessor with memory and peripheral interfaces, a digital to analog con- verter, and more, just to do the job of a capacitor, a resistor and a coil of wire! People have been building analog filters for years without computers. How can an analog filter be constructed with a digital device like a microcomputer? Digital filtering may be the answer. All right, you say, we must have some analog to digital conversion stage in there. True enough. A digital filter uses periodic samples of an analog waveform as input. These samples are digitally manipulated in a computer of some sort and then converted back to analog form by a digital to analog converter. One input sample is converted to one output voltage. By integrating this output sequence, the digital process appears to have a continuous analog output. The rest of this article describes the mani- pulations we must perform on the digital samples in order to simulate the perfor- mance of simple filters. The mathematics is quite complex and is available in many texts. We will try to concentrate here on the practical implementation of such a filter. Let us take for example the simple RC (resistor-capacitor) low pass filter shown in figure 1. This circuit passes frequencies in the input voltage that are lower than some critical frequency (called the cutoff frequency) determined by the resistor and capacitor values, while severely attenuating any higher frequencies. The output voltage V out , then, is simply a selectively reduced version of Vj n (input voltage). The resistor drops the output voltage, as does the voltage that goes into charging C. At first, V out = a x Vj n (where the constant a is the amount of attenuation caused by R and C). It can be shown that a=1/RC (where R is in ohms and C is in farads). The voltage change with time across a capacitor is an exponential function. If the voltage at time zero is V, then the voltage at time t is given by Ve~ at (a is the same con- stant as above). Now, let us consider that the input is a series of samples, where samples occur every t seconds. The output voltage at any given time is just the algebraic sum of the attenuated input voltage and the voltage on the capacitor at that time. In other words: t=0 output=aV t=1 output=aV +aVe" at t=2 output=aV +aVe" at + aVe" 2at After a number of samples, the output voltage becomes the sum of a number of VinO ATTENUATOR at A + B . ! r ) B e-°' DELAY t Figure 2: Filtering process performed by the circuit of figure I in block form. 168 BYTE February I978 ( START J INITIALIZE B = 0, o, t 1 A=NEXT SAMPLE INPUT NEW A = A*a*t NEW B = B*EXP(-a*t) C=A+B C IS FILTER OUTPUT NEW B=C Figure 3: Flowchart for performing a low pass filter function. such terms. Since the terms are similar, and e ~ nat = (e~ at ) n , we need to compute the exponential term only once, and multiply it by itself repeatedly to get the extra terms of the series. Figure 2 shows the equivalent circuit of the RC low pass filter in figure 1, shown in block diagram form. It consists of an attenuator (factor a), an exponential and time delay (the capacitor), and a sum- mer. We them jump to figure 3, which shows a flowchart of this process. The only change is that the attenuation factor is given as at, where t is the period between samples. Much of the input to the filter is lost because its frequency is outside the filter range. This does not change the shape of the output (the important factor), but only the magni- tude of the output (like adding gain to the filter). If you have accepted that last bit of sleight of hand, you can see that figure 3 is a block diagram of a program to perform low pass filtering. Figure 4 shows the output of such a digital filter program when the input is a square wave with maximum and minimum values of +1 V and -10V, respectively, and a frequency of 50 Hz. The sampling rate is 20 samples per cycle, thus t=1 ms. The RC constanta is arbitrarily set equal to 360. The removal of the high frequency components NPUT VOLTAGE- Figure 4: Result of passing a 50 Hz square wave through the digital low pass filter program. OUTPUT VOLTAGE Figure 5: Result of passing a 50 Hz triangular wave through the low pass digital filter program. BYTE February l'J7S 169 Figure 6: Simple resistor- capacitor (RC) high pass filter. \Z>- VlN o- c VoUT -O V|n[~>- ATTENUATOR at \ A-B J B > lr L B -at DELAY t D>v, OUT Figure 8: Result of passing the 50 Hz square wave used in figure 4 through a high pass digital filter program. Figure 9: Result of passing the 50 Hz triangular wave used in figure 5 through a high pass digital filter. Figure 7: Filtering process performed by the circuit of figure 6 in block form. By changing a sum to a difference we convert the block diagram from a low to a high pass filter. of the square wave is evident. Figure 5 shows the filter response to a triangular wave at the same frequency. The output is nearly all at the fundamental frequency of the input, as one would expect of a low pass filter. Now, how do we simulate high pass filters like the one in figure 6? Here the output voltage is the difference of the attenuated input and the capacitor voltage (since the capacitor resists rapid changes in its charge). Thus, figure 7 is a simulation of a high pass filter. It is identical to the low pass filter except that A+B becomes A- B. Figures 8 and 9 show the response of a high pass filter program to the same inputs as those in figures 4 and 5. The constants are the same, but the change in output is striking. One of the main features of software instead of hardware implementation is the ease with which software can be modified. A low pass filter changes to a high pass filter by changing an add to a subtract! Filter constants can be easily modifed, amplifica- tion added, etc. More complicated filters, such as band pass types, can be simulated by combining appropriate high and low pass feedback loops with adders and subtracters. The filters can be dynamic, adapting to the input. They can be programmed. This would seem to suggest uses in computer generated music systems, audio processing, removing noise from signals, etc. If one has to convert analog signals to digital form at some point 170 BYTE February I978 in a design, then it may be useful to do much of the filtering at the digital level. How can you perform digital filtering in real time without an exponential routine in your computer? The answer is that the exponential function is a constant. It can be programmed in, or provided by a table. The critical points are the two multiplications: one by at and the other by e~ at . Both of these values are usually less than 1 for a real filter. (In the examples, at=.360 and e~ at =.697.) What we can use is a routine called a fractional multiply. This is a routine that multiplies two values, one treated as an integer, and the other treated as a binary fraction. One such routine, reproduced in listing 1, was written by Ira Chayut. For a detailed discussion of how it works see Programming Quickies, page 124, September 1976 BYTE. This 16 byte subroutine forms the heart of a digital filter program for the 6800. In the program of listing 2 this subroutine is given the name FRACMUL. An analog to digital converter and sampler is assumed to pro- vide 7 bit samples available at the location SAMPLE. The routine FILTER (see listing 2) is set up as an interrupt handler. A periodic interrupt is provided which initiates the sampling and causes a branch to the routine. Since the Motorola processor takes a minimum of 1 2 jus to respond to an inter- rupt, a fast analog to digital converter should be ready with a new sample by the time the program needs it. Thus, no delay loops or tests are performed. FILTER assumes that the analog to digi- tal converter is ready when it is. It is also assumed that the location BVAL is zeroed initially. BVAL is the output of the filter. The constants in the listing are those of the examples (92=. 360 x 256, and 179S.697 x 256). FILTER should execute in about 300 to 400 cycles on each inter- rupt. Assuming a 1 ms sampling period, FILTER will consume about 33% of the time of a I MHz 6800 processor. The memory occupied is negligible. FILTER is a practical program for use with audio fre- quencies. Listing 3 shows how easy it is to make FILTER either a high or low pass filter. Of course, more complex filters will be harder to design and will take more processing time. For really interesting filter applications, an external hardware multiplier will probably be needed, but such circuits are available reasonably, and they can be used for other applications in the computer system when not filtering. Now, get in there and attack the math! It really isn't ajl that hard." FRACMUL STAA CLRA ARG1 MLOOP LSH ASLB ARG1 BCC NONADD ADDA ARG1 NONADD BNE RTS MLOOP ARG] RMB 1 !ARG|1=A JA:*0 JARG1 :»ARGl/2 >CY1-MSB! Bt»ASL MF CY=0 THEN SKIP THE ADDITION ;ELSE At°A*ARGl ;IF ARG2 NE O THEN REITERATE ;ELSE RETURN WITH RESULT IN A ; SINGLE BYTE TEMPORARY DATA AREA Listing I : The fractional multiplication routine, the main program in the accumulator. The result is returned to CLR BVAL ; INITIALIZATION FILTER LDA A SAMPLE ;AI= A/D SAMPLE (7-BITS) LDA B »92 >BI = 'AT' JSR FRACMUL J MULT I PLY STA A TEMP J TEMPI* ANSWER LDA A BVAL JAI- BVAL LDA B »179 ;Bl- E (LN BASE) RAISED TO THE C-AT> POWER JSR FRACMUL ;multiply ADD A TEMP I SUMMATION FOR LOW PASS FILTER STA A BVAL ) RETURN ANSWER RTI BVAL RMB 1 TEMP RMB 1 Listing 2: Low pass filter routine. This routine can be followed using the flowchart of figure 3 or the block diagram of figure 4. SUB NEG ;CHANGE TO HIGH PASS Listing 3: To convert the low pass filter routine of listing 2 to a high pass filter routine, replace the ADD instruction with the above two lines. It can be seen that this is the only difference between the block diagrams of figures 2 and 7. PCC'S Reference Book of Personal and Home Computing Ever try to find the addresses of some manufacturers of, say, tape cassette or floppy disk interfaces for micros? Frustrat- ing, isn't it? Well PCC has done something about it. This book lists hundreds of companies and stores selling hardware, software, and services. Survey articles on software, hardware, kits, applications and the future for the experienced and the not-so-experienced user of micros. Also included in this edi- tion are bibliographies for further reference, book reviews, and an index of the articles from the major hobbyist maga- zines. All for the low price of $4.95, plus 50 cents postage. Available through: BITS, Inc. 70 Main Street Peterborough l\IH 03458 Master Charge and BankAmericard Welcome. In unusual cases, processing may exceed 30 days. Circle 9 on inquiry card. BYTE February 1978 171 Technical Fopum Some Plotting Comments T P Roberts Kern Instruments Inc 111 Bowman Av Port Chester NY 10573 Figure 1: Layout for the articulated plotting method. The primary ser- vomotor is stationary with a secondary servomotor on the far side of its lever arm. The secondary servomotor moves a second lever arm which con- tains a pen on its far end. (a) (b) Figure 2: The intersection plotting approach uses two stationary servomotors. The pen is held precisely under the intersection of the two lever arms. Figure 2a is a graphical view of the plotter on the plotting surface. Figure 2b is a close-up view of the slide mechanism and the pen holder. Y-AXIS Figure 3: The polar plotting method uses a primary servo to swing the entire assembly across the plotting surface. A second servomechanism moves the pen along the lever arm. The Servo Plotter There are several ways to tackle the prob- lem of building a plotter using the hobby servomechanism described briefly on pages 9 and 10 of March 1977 BYTE. As might be expected, the designs span the range be- tween hardware and software intensive operation, the latter being less stable mech- anically. The simplest to build, for example, requires by far the most software, is mech- anically the least precise, and has the least theoretical accuracy. This "articulated" design proposed in the earlier article is in the form of a chain as seen figure 1. A base mounted servo (primary) controls an arm with the secon- dary servo mounted on the far end. The second servo in turn controls an arm carrying the drawing pen. The next simplest design is the intersec- tion plotting method, where the x, y pen position is a function of two angles, deter- mined by the servomotors, and the base line (distance between servos). Figure 2a shows the plane view of such a plotter. Figure 2b shows a close-up view of the two arms, slide mechanism and pen holder. Notice that the pen must fit within the slide mechanism to eliminate offset errors. This design does not utilize the full 180° sweep of the motors; thus accuracy is reduced over the plotting surface. Figure 3 shows the polar method of plotting which uses the familiar polar coordinate system. Standard Cartesian-to- polar conversion can be used to produce the control data. The analog angular-to- linear conversion is accomplished by the simple pulley arrangement. The servo portion of this device may, of course, be located anywhere along the radial arm of the plotter. A small offset correction is required if the pen travel is not aligned with the primary servo axis. The final design shown in figure 4 uses two of the linear devices shown in figure 3. The primary device is rigidly attached to the plotting table, but the pen holder has been replaced with the secondary device mounted at right angles to the first. This, then, is an XY plotter. The only software required to operate this type of plotter with the servos being discussed is to scale the coordinates into timing data. 172 BYTE February 1 978 Figure 4: The XY plotter uses two of the polar plotting devices. The moving pen is replaced by another servomechanism. with the moving pen con- tained on its lever arm. Accuracy Let's now take a look at two important aspects of each system: ease of construction and accuracy. As these servomechanisms are to be operated by computer in discrete steps, positioning is possible only to the nearest grid intersection corresponding to these steps. The theorectical plotting accuracy is limited to one half the grid spacing. The tangential distance between radial lines 25 cm long and 0.04°apart is 0.1 7 mm. An XY plotter would give a square grid with spacing of 0.054 mm over a 25 cm square area. Repeatability or precision of pen place- ment depend largely on mechanical design and construction. Due to the compounding of errors and large moment arms in its design, the articu- lated plotter has poor precision relative to the other designs. The polar plotter suffers from the same problem to a lesser extent. The problem with the polar design, as with the XY plotter, is the mounting of one device upon another without causing undue instability. The intersection plotter suffers from theorectical, rather than mechanical, instability. As with the articulated plotter, its full range of 180° cannot practically be used. Also, the area near the base line does not have frequent grid intersections. Plotting with Servomechanisms The servomechanisms considered here respond only to positioning commands. The XY plotter, for example, is restricted to drawing straight lines parallel to each axis and at a 45° angle. Other plotter designs have similar limitations. All lines not so situated must be composed of small incre- ments of these lines, giving the final pro- duct a sawtooth appearance. Computer time required to compute these small increments will be significant, except in the case of the XY plotter where servo motions for small line segments are pro- portional to motions for the entire line. This property, in addition to the conver- sion formulas, makes the XY plotter by far the most attractive from a calculation point of view. CONVERSION FORMULAS Articulated Plotter In order to position the primary and secondary servos at their proper angles (61 and 82 respectively) to provide the required x, y pen position, it is convenient to first convert these values to the polar coordinate system. Equation I, below, shows the con- version by which the radial distance, R, from the origin (the primary servo axis), and the angle 8 (the slope from the origin to x, y) (see figure 5) are found. Equation 1 : R = SQRT(X*»2 + Y**2) 8 = ARCTAN(Y/ABS(X)) or 8 = 180 - ARCTAN(Y/ABS(X)), when X is negative. Figure 5: Coordinate plot- ting scheme for the articu- lated plotter. The lever arms are indicated by LI and L2. 61 is the ang/e generated by the position of the lever arm with re- spect to the primary lever arm. BYTE February 1978 173 Figure 6: Arrangement for the intersection plotter. The distance B is the dis- tance between the two servomotors. The two lever arms intersect at point x, y. Figure 7: The plotting arrangement for the polar coordinates. Length L is the total length of the plotter's arm. The value R is the distance of the pen from the plotter arm's origin. C is the closest the arm can approach the origin. is the angle of the primary servomech- anism at the origin with respect to the horizontal axis. The values of 01 and 02 are then found from equation 2 where L1 and L2 are the lengths of the primary and secondary arms respec- tively: Equation 2: 02 = ARCCOS((R**2- L1 **2 - L2**2) /(2*L1*L2)) 01=0- ARCTAN(L2*SII\I(02)/(L1+L2* COS(02») or 01 = 0- 02/2, when L1 = L2. Note that using this formula the angle pro- duced at the origin by the pen position and primary arm is exactly one half the angle at the secondary servo, when the arms are of equal length. [The formulas needed for plotting with this arrangement are funda- mentally similar to positioning a singly jointed robot arm. . . RC/ This conversion would no doubt be difficult to handle in a low level language. Intersection Plotter The formulas required by the intersection method (see figure 6) are considerably less complex. Equation 3: 01 = ARCTAN(Y/X) 02 = 180- ARCTAN(Y/(B-X)) B is the distance along the X axis between servos. Polar Plotter The polar plotter (figure 7) also uses equation 1 to convert Cartesian coordinates to polar form. In addition, the value of R must be scaled into angular form as follows: Equation 4: = (R - C)*180/L L is the radial distance produced by rotating the secondary servo 180°, and C is the minimum radial plotting distance. XY Plotter Equation 5 gives the angular values re- quired by the XY plotter. Equation 5: 01 = X*180/L1 02 = Y*1807L2 L1 and L2 are the linear motions produced by 180° rotation of the primary and secon- dary servos, respectively. Converting Angle Requirements to Timing Data Assuming required pulse widths from 1.3 to 3.6 ms, as noted in March 1977 BYTE, equal steps of about 0.04° through- out the 180° range of the mechanism would be provided with counts from 2600 to 7200, assuming a 2 MHz clock rate. The number of counts needed to produce a given angle is then given by equation 6. Equation 6: N = 2600 + 0*230/9. The count value, N, is simply truncated, or rounded off, for better precision. This high precision timing would require external hardware to receive the data, count down at the proper rate, and interrupt the processor at completion. The alternative is a software loop with steps of 0.0075 ms, based on an 8080 chip requiring 15 cycles for decrement and branch on zero. With the XY plotter this would give a grid spacing, over a 25 cm square area, of 0.81 mm. Conclusions From the information presented so far, it appears that the more easily constructed plotter designs have inherently less precision, use a larger grid spacing, and require more complex, time consuming software. The most easily programmed device, the XY 174 BYTE February 1978 Circle 53 on inquiry card. plotter, requires more exacting construction. As a compromise, the intersection plotter is a good choice, being simple of construction without requiring too much computation. Those hackers who plan to do any great amount of plotting, though, will do well to consider the XY plotter. For many uses too, software timing should prove sufficient. Further Refinements To fully automate plotting, a solenoid could be attached to the pen holder to lift and drop the pen under program control. A small servo should be able to be activated directly from the output latch, at least through a transistor. Servo speed control would be another nicety, allowing fast, processor efficient straight-line drawing, and producing a higher quality line. For example, if the X axis servo were to move at a speed twice that of the Y axis servo, a straight line at an angle of 25° would be produced. Simi- larly, lines could be drawn at any angle." A Standard for Writing Standards David A Wallace 146 WestfordSt Chelmsford MA 01824 I'm sick to death of save the world arti- cles proposing standards for software data structures and object code formats which start by assuming that the author's pet descriptor is the ultimate and final word to be said about the subject. I am therefore proposing the following as a standard for software standards: • Be humble: Don't make grandiose claims about the universal applicability of your structure. Instead, define the limits of the range of applications to the best of your ability. Often it is as useful to know where something cannot apply as to know where it can. • Plan for change: Everything in this universe either evolves or becomes de- funct, including software. For example, set up the structure of your construct so that the first byte (word, field, whatever) represents the revision number of the specification which describes this struc- ture. That way, if you have a data base which corresponds to revision 3 of the specification for random files and you've just recompiled the program which up- dates the data using a compiler whose random file operators correspond to re- 80-103A Serial I/O and FSK modem for professional and hobby communications. MtmM mm nil • Completely compatible with your IMSAI, ALTAIR* SOL** or other S-100 microcomputers. Trademarks of *MITS, **Processor Technology • Designed for use on the dial telephone or TWX networks, or 2-wire dedicated lines, meets all FCC regulations when used with a CBT coupler. • All digital modulation and demodulation with on board cyrstal clock and precision filter mean that NO ADJUSTMENTS ARE REQUIRED • Bell 103 standard frequencies • Automated dial (pulsed) and answer • Originate and answer mode • 1 10 or 300 BPS speed select • Complete self test capability • Character length, stop bit, and parity • 90 day warranty and full documentation PRICES Bare Board and Manual Assembled (48 hour burn in) DC Hayes Assoc. ^ P.O. Box 9884, Atlanta, Ga. 30319, 404/231-0574 MINATURE SOLID STATE 202 VIDEO CAMERA KIT FEATURING A ... 100 x 100 BIT SELF SCANNING CHARGED COUPLED DEVICE THIS UNIQUE UPDATED CAMERA KIT FEATURES THE FAIRCHILD CCD 202C IMAGE SENSOR 49.95 ^^ 279.95 FEA TURES • Sensitive to infra red as well as visible light • May be used for IR surveillance with an IR light source • Excellent for standard surveillance work, because of light weight and small size • All components mounted on parallel 3% " x 6V2 " single sided boards • Total weight under 2 lbs. wit: 3* m . -v. ;.;■■. / ■.■■.. .. . : ..■■■. :. ■■ ■■ ■ :■■ . ■ : ADVANTAGES • All clock voltages operate at 6V reguiring no adjustments • Higher video output signal • We supply the power board, so only a 5V 1 Amp power source is needed • The circuitry has been supplied for easier assembly • Two level TTL output is supplied for interfacing • In the future we will supply a computer video interface card We supply all semiconductors, boards, data sheets, diagrams, resistors and capacitors. Sorry we do not supply the case, batteries and 5V supply. $ 349°° Add $2.00 Postage and Handling SOLID STATE SALES SOMERVILLE. Circle 108 on inquiry card. BYTE February 1978 175 SELECTRIC TERMINALS Offer good while supplies last. Loaded with features • Typewriter print quality • RS232 Interface levels • 14.8 cps • 13 inch line length • 1 characters/inch • Ideal for text editing & word pro- cessing • Software & documentation available for easy interfacing to most popular mini & microcom- puters fr □ Now a heavy duty Se/ecfr/c® ter- minal for less than the cost of a Se/ecfr/c® typewriter! These recently manufactured (1 to 4 years old) Terminal Communica- tions, Inc. terminals originally cost over $3,800. They are PTTC/ EBCO terminals running at 1 34.8 BAUD. Intended tor the demanding commercial environment, they are designed to be computer driven. Such key components as clutches and bearings are heavier duty than the office typewriter mechanism. By purchasing an enormous inventory of these terminals NCE was able to buy them at a very low price. We have added a minimum markup in order to sell them in large quantities quickly. These terminals have been cleaned, adjusted, checked for completeness and operated in local mode. Although they are not tested in terminal mode, a check is made to see that there are no oDvious problems. For a period of 30 days after shipment any detective parts may be returned for repair or replacement at no charge. Includes ribbon & typeball. □ $339 AS IS A great buy for those willing to do some refurbishing, these machines are believed to be complete, but did not work when plugged in. Typical problems include sticky cams, bad solenoids or broken springs. We recommend your seeing them at our giant Ann Arbor warehouse store before you purchase. In- cludes used ribbon & typeball. At this price there is no warranty. However, they may be returned within 3 days of receipt for a full refund. Applies to prepaid orders only. Purchaser is responsible for freight both ways. □ $695 Refurbished Refurbished machines have been chemically cleaned, lubricated and tested. Worn metal parts were replaced . Platens, as well as plastic and rubber parts are always replaced. Our warranty is limited to replacing any defective parts for a period of 90 days following receipt of equipment. Includes a new ribbon and typeball. □ Optional documentation package $30. Includes schematics, operators and functional specifications manuals. "Selectric is a trademark of the IBM Corporation D Please send me all items checked above. Add 4% for tax if Mich, resident. F.O.B. Ann Arbor, Mich.* Total enclosed $ . Send check, money order or Bank charge card number {include all raised letters & numbers.) D Please send me more information. Name Address City, State, Zip Signature "You will be notified of freight charges prior to shipment. & NCE/CompuMart 1250 North Main Street, Department BY28 P.O. Box 8610 Ann Arbor, Michigan 48107 994-4445 vision 7, the revision 7 processor can figure out that it has been passed an obsolete structure and call the revision 3 processor to sort out the mess. • Don't begrudge the space used by an obsoleted field: Far too often a pro- grammer will remove a data field which was made obsolete, thus moving all subsequent fields out of their previous positions. This misguided attempt to conserve space has the effect that the positions of fields whose meanings did not change are constantly shuffled from revision to revision, resulting in confusion to programmers and needless complexity in programming. If instead of removing the obsolete field, the field is merely ignored, the current revision program would find data in expected places and perhaps process nearly all of the structure before having to invoke some sort of routine to process the obsolete fields. This tech- nique involves less execution space than having to roll in an entire program to process the obsolete data when the cur- rent revision finds all fields misplaced. Additionally, this technique implies that the newer format specification is always at least as long as the older format. This means that when an earlier revision must be invoked by the current one, all data which the older revision program needs has already been fetched by the newer revision program, which simplifies para- meter passing. • Wait at least one major revision of your system before redefining an obsoleted field for another purpose. This gives you time to change your mind if it turns out that the field in question really is necessary after all. If all of the above rules are followed rigorously, you should never again have to translate or reformat files and recompile programs when you make a change to the operating system of your machine. If all of the above sounds suspiciously like another of those save the world software standards, I'm sorry; I guess the disease must be contagious!" Technical Forum is a feature intended as an interactive dialog on the technology of personal computing. The subject matter is open-ended, and the intent is to foster dis- cussion and communication among readers of BYTE. We ask that all correspondents supply their full names and addresses to be printed with their commentaries. We also ask that correspondents supply their tele- phone numbers, which will be printed unless we are explicitly asked to omit them. 176 BYTE February 1978 Circle 85 on inquiry card. I THIS SPECIAL ONE CENT SALE IS FOR MAGAZINE ADS ONLY I POLY PARS BIGGEST 14 GIVEAWAY SALE! IT MAKES "CENTS" TO GIVE OUR CUSTOMERS THE BEST BARGAINS! TTL'S,BCIYONE AT SALE PRICE, GET 2ND FOR ONLY 1C MORE Honest Abe Penny Sale! Type SN7400 SN7401 SN7402 SN7403 SN7404 _ SN7405 3 SN7406 ~ SN7408 SN7410 SN7413 SN7414 SN7416 _ SN7417 □ SN7420 " SN7423 SN7426 SN7427 SN7430 SN7432 SN7437 SN7438 SN7440 SN7442 SN7443 Each 2 for $.19 $.20 Type SN7444 SN744S SN744S 5N7447 SN744B SN7450 SN7451 SN74S3 SN7454 SN74S5 SN7460 SN7462 SN7464 SN746S SN7470 SN747I SN7472 SN7473 SN7474 SN747S SN747S SN7478 SN74S0 SN74B2 .99 1.3S 1.2S 1.35 1.00 1.36 1.26 1.36 Typa □ SN7483 3 SN748S 3 SN74B6 1 SN7488 3 SN7490 3 SN7491 3 SN7492 3 SN7493 ~ SN7494 ~ SN749S _ 5N7496 C SN7498 ~\ SN74100 i SN74107 3 SN74112 3 5N74113 — SN74114 SN74121 SN74123 SN74125 5N74126 SN74132 SN74140 SN74141 SN74145 SN74148 SN741S0 SN741S1 SN74153 SN74154 5N741S5 SN74156 SN74157 SN74158 SN74160 SN74161 5N74163 SN74164 SN74165 SN74166 □ SN74173 ~ SN74174 5N74175 SN74177 SN74179 SN74180 5N74182 _ SN74190 3 SN74191 SN74192 SN74193 SN74194 SN74195 SN74197 SN74199 SN74200 SN74251 SN742B4 SN742B5 Each .99 1.49 2 for 1.00 1.S0 .49 .69 .59 .39 1.25 .99 1.49 1.25 1.75 .99 1.19 .99 1.25 1.25 1.25 1.49 .99 .79 .75 1.75 5.50 1.75 4.50 4.25 1.26 1.00 1.50 1.26 1.76 1.00 1.00 1.00 1.76 .80 .70 1.O0 1.00 1.26 1.26 1.20 1.O0 1.2C 1.26 1.26 1.50 1.00 .80 .50 .76 1.76 5.51 1.76 4.51 4.26 POP-AMPS AT "CENT-CIBLE" PRICES Buy ONE At Sale Price, Get 2ND For Only 1C More - Order By Type No. Typa C LM300H C LM301H-V C LM307V-N C LM308V-H L LM309K BLM311H-V LM318V LM320H-5, 12, 15 r LM320K-12, 18 r LM320T-G, IS, 24 G LM322N H LM324N □ LM339N □ LM340K-5, 6, 8, 12,15, 18, 24V H LM340T-S, 6, 8, 12, 15, 18, 24 H LM350N Q LM370N.M 2 for $.50 .46 1.79 .79 1.29 1.19 1.19 1.19 1.19 1.75 1.09 .80 1.30 1.20 1.20 1.20 1.20 1.76 1.10 Type G LM374H □ LM376V D LM377N D LM379 G LM381N □ LM387V D LM531H C LM532H-N LM55SV D LMS58V D LM561N Q LM565N □ LM5G7V a LM703H Q LM704M D LM709N-H □ LM710N □ LM733N D LM739N Each 1.79 .29 2.25 7.95 1.69 1.19 1.49 .29 .75 .79 1.00 .99 1.95 .30 2.26 7.96 1.70 1.20 1.50 .30 .76 .60 1.01 1.00 1.96 .50 .30 .26 .40 Typ» LM741V-N- LM1304 LM1310 „ LM1312 Q LM1414V Q LM145BV Q LMIBOON a LM302BH □ LM3900N n LM3909V D LM4195 □ LM4250 □ LM75451 H LM7 5453 D LM75491 □ LM7S492 H LM75494 a PA239 D PA263 Each 2 for .29 .30 .79 .80 .69 .70 .99 1.00 .65 .66 .49 .50 1.75 1.76 1.95 1.96 1.19 1.20 .39 .40 .39 .40 PENNY SALE PRICES LISTED ARE GOOD TILL MAR. 15, 1978 WE RESERVE THE RIGHT TO LIMIT QUANTITIES!!!!!! \ \ \ \ I ///> WOW! = MORE 'PENNY SALE' ITEMS! ! TRANSFORMER PENNY SALE! BUY ONE AT SALE PRICE, 2ND FOR ONLY lc MORE ■ hovac Primaries Cat. No. ] 2S3399 i 25.3814 ] 2 S 34 12 j 2SJ4029 ] 254028 ] 2S3323 } 2SJ3937 ) 2S2773 ] 2 $'3 87 5 Output V. G.SV o.av 12V 12V 12V 2-1 VCT 24V 4SVCT 110V Metal encased Open frame Open frame Open frame Metnl one used Open frame Open frame teased $2.95 XN4000 Epoxy Rectifiers PENNY SALE! • Miniature • 1.5 Ampl Cat. No. D 2S2377 □ 2S2378 a 25*2379 H 2 S 2380 G 2SI2381 D 2S2382 Order by Cat. No. and Typo No. Typo No. PIV 1N4001 50 1N4002 100 1N4003 200 1N4004 400 1N4005 600 1N4006 600 Sale 10 for $.65 10 for .75 10 for .65 10 for .99 10 for 1.29 10 for 1.39 K Salt 20 for $.66 20 for .76 20 tor .66 2 for 1.00 20 tor 1.30 20 for 1.40 DIP SWITCHES BUY ONE AT SALE PRICE, 2ND FOR ONLY 1C MORE! Sal* Cat. No. Switches Each 2 f< D 2S3666 2 $.77 $.7 D 2S 3669 3 .88 .8 O 25 3021 4 .99 1-01 D 2S3670 5 1.19 1.2. a 253671 6 1.29 1.3. D 2S2677 7 1.79 1.8r 2-Amp Epoxy Bridge Rectifiers PIV Sale Each PENNY SALE! BUY ONE AT SALE PRICE, OET □ 2ND FOR ONLY 1C MORE □ • Full Waval * TO-5 casallQ Order by Cat. No. 2S1346 y 100 200 400 600 800 1000 2 foi $.60 1.00 1.20 l.SO m. i; ; MICROPROCESSORS! ! i i MEMORIES diSSU SUPPORT! 9 88* : ; Ord.r a r Cat No. 5 Hoi 3/8"$q. POTENTIOMETERS n 2S38S3 IS Turn upright, typo 64 PENNY SALE! O 2S3BM 1» Turn flat, lyp. «* CBrpTBni D 3S3BSS Sln B t. turn tlat.typa 63 SPECTKUL %- mm. s," " < SK |nny-TRIIVIS •haft, 20 ft tolerance, Va ~™ «_„ wntt. Cermet conatruotlon, Crioose any OHMS POleada. Order by Cat. No. 9 M nr ffkn n and Y.lue. * »«»■ "i y • Available In all typaa S.69 . .Available In Cat. Wo. 2S3663 only. ..en OHMS n ioo • a 3oo • a boo • D IK • a 2K • a »k • ,a iok • '□ 20K • a sok •• a iook *• a 200K •* □ 20 •* D 500K •« D 90 *• □ 1 M06** D 2102-U a 2ui D 2112 D 2701 a MK4200P11 O IW5202 O MMS203 D BM5260 D MK5262 a 8212 D 8216 D 8224 a 8228 D 8251 ,D S2SS S.le , 124.95 ! 14.95 ' 9.55 .68 1.29 i ; 5.95 i 1.69 5.95 2.49 19.95 3.95 6.95 . 8.95 I .99 i I .99 ^ rnr ttt*t*»tm t t^ 1st Time Offered! It's Different! It's Inflation Fighting! New! KITS BY POLY PAKS® SUPER ECOIVO KITS .\ I I I I III///// AMI V C1 Qfi' BUY10KITS& UI1LI 4>la*/0- CHOOSE 1 1TH FREE! "/Ill I IT III** * MONEY BACK GUARANTEE * AVG WT. 6 OZS. Quantity Description (Order by Cat Ne„s«eparanthaat«) Sale Q 10 CALCULATOR KEYBOARDS, up to 20 key* (251524) $1.98 Q 8 LINE CORDS, K-ft. Ik, twin tf 1 * wire, plug ( 2S3643 ) 1.98 D 30 NEON LAMPS, NK-2 style, reil glow, lends (2S2S13) 1.98 D 3 — 1702A ROMS, factory fallouts, hobby, useublo (2S3729) 1.96 Q 40-FT SHIELD CABLE, I - c* .ml. - ji- sli i t- Id . Jf22 wire, vinyl jack (2S3577) 1.96 D 50 TRANSISTOR ELECTRO'S, nsstd values, uprltes, nxinln (252747) 1.96 G 3— SOUND TRIGGERS, hnndchip triRRerH scr, w/ump (2S362S) 1.98 □ 8— 1C SOCKETS, inpl. -1-1-l's Oltd -1-IH'h, low prof (2S3621) 1.98 D 15 6V TEST INDICATORS, w/lcnds, Kn.in-o-wlieat (2S1526) 1.98 D 3 — CLOWN PANELS, .ixl", llfliw, R low-n-(lnrk, (treen ( 2S3650) 1.96 a 400 PARTS ON A BOARD, Rrealesl tust nn p.c. hiiiird.-i (253401) 1.98 D ISO METAL FILM RESISTORS, V-t wutLs, color-coded, leads (2S3413) 1.9S G 15 — JUMBO "LEDS" RED, prime, leads, like M V:h>.",.| (2S3369) 1-98 D 30 MINI TRIM POTS, to 1 til Off, 1 turn, V 4 W (2S3345) 1.98 □ 10 VOLTAGE REGULATORS, TO-:, case, :)00K etc. hobby (2S3330) 1.98 □ .30 PANEL SWITCHES, roUries, slide, mod. llQvnc, etc. (2S3268) 1.98 D 200-PC. RESISTOR SPECIAL, V-i to 2\V, metal, carbon (2S3054) 1.98 □ 40 AXIAL ELECTRO'S, nsstd values lo 100 mf, volts (2S3227) 1.98 □ 40 UPRIGHT ELECTRO'S, asstd volts, values to UOmf (2S3226) 1-98 □ 150^ — MOLEX SOCKETS, pins fll all ic's, most pup'tr (2S3144) 1.98 □ 100 — TERMINAL STRIPS, lie, lo K lugs, for solder (2S3136) 1.98 D IS SLIDE CONTROLS, assl values, vol, trble, bass, etc. (2S3057) 1.98 D 10 — PHOTO ELECTRIC CELLS, CDS pancake styles, nsst (2S3052) 1.98 D 200 — HALF WATTERS, color coded, carbon, pre*-, metal (2S3046) 1.98 ; j 100 — NATIONAL IC BONANZA, linear it, 7-11)0'*, roms, clocks, untested (252860) . . 1.96 □ 40 — HOBBY LEDS, M8t shapes, red. untested mostly usenhle (2S28S9) 1.98 O 15 LM340T VOLTAGE REGS hobby, useable S to 2-lV, TO-220 (2S2635) 1.96 D 100 CAPACITOR SPECIAL, poly's. dips, molded, mica, discs (252735) ........ 1.98 D 100 — TWO WATTERS, carbon, metal, prcc. etc, marked, lends (2S2735) 1.98 100 POLYSTYRENE CAPS, nsst values, voltaRes. hi-Q (2S2729) 1.86 □ 3CJ — SLIDE SWITCHES, spst lo rfpdt. many types (252726) 1.96 □ 15 NPN POWER TRANSISTORS, TO-:i 2N30SB rejects, useable (252617) 1.98 Q 200 PRE-FORMED RESISTORS, color-coded, p.c. work, nsst vnlues (2S2609) . . . 1.96 □ 100 PLASTIC TRANSISTORS, TO-02, nsst vnlues, mostly useable (2S2604) . . 1.96 □ 100 DISC CAPS, npo's, N'Tr.O, lonir leads (2S2598) 1-98 □ 60 DIPPED MYLAR CAPS, asst values &. voltntces, finest (2S2597) 1.98 Q 200 PRECISION RESISTORS. 1 ff , V-i lo 2. marked, leads (2S2428) 1.98 PI 30 — VOLUME CONTROLS, sinjrle, rinuhles. asst shnfts values (2S2421 1.98 D 150 SWITCHING DIODES, 1N-11-IR, most pop'lr, mostlv good (2S2416) 1.98 Q 75 SN7400 IC'a, marked, mostly useahle, wide nsst of BNjj'a (2S2415) 1.98 G 100-1N4000 RECTIFIERS, 1 nmp, sil, mosi pop, asst. mostly Rood (2S2417) . . . 1.98 "■UT KINTG" $1.19 KITS - "The EeoaoV BUY 5 KITS — CHOOSE THE 6TH FREE! MONEY BACK GUARANTEE! Quantity Description (Ordwr by Cat No., •«• parenthesis) Sale D 30 — RADIO. N-TV KN0B5, asst sizes, colors, shupuH (2S217) $1.19 Q 10 — PRS PHONO PLUGS-N-JACKS, RCA style, 10 plugs, 11) jacks (2535-402) . , . 1.19 □ 35 DIPPED SILVER MICA CAPS, includes reel lypca loo. nasi (2S455) 1.19 13 75 PREFORMED DISC CAPS, for p.c. use, asst values, up lo 2KV (2S1219) .... 1.19 O 10 NE-2's WITH RESISTOR, for UQVBC use, neon, leads (2S1222) 1.19 D 12 — TO-5 HEAT SINKS, for TO-5 metal & plastic transistors, fin type (2S1832) . . 1.19 O 12 — TRANSISTOR SOCKETS, asst styles for NPN n PNP types (2S1905) 1.19 U 20 — THERMISTORS, n resistor that changes with temp, protects! (2S2048) 1.19 D ■« — INSULATED RF CHOKES, resistor n so., styles, coded (2S3203) 1.19 G 30 — WIRE NUTS, lies. 2 hare ended wires together (2S3724) 1.19 D 3 BLANK PC BOARDS, -Ixf.'s, double sided, 0-10 (2S3833) 1.19 2 BLANK PC BOARDS, Gxil's, double sided, Q-10 (2S3824) 1.19 O 10 — OPEN FACE READOUTS, singles, doubles, some missing segs (2S39S2) 1.19 G 3 — "PIGGY-BACK" IC SOCKETS, will hold 2-1-1 pin IC's-on-a-slab (2S3486) . . . 1.19 G FIBER OPTIC LIGHT PIPE, 12" long highly polished ends, vinyl jack (2S2693) . . . 1.19 G 4 FERRITE "STICK" ANTENNA, 7"x>/ 2 ". III! Scott. Fisher hi-fi eqpt (2S3400) . . 1.19 G 60 TUBULAR CAPS, asst molded, plastic, mylar, values, volts (2S219) 1.19 G 55 — LOW NOISE RESISTORS, for hi-fi, metal films 5 % K'a lo 2W (2S220) 1.19 fj 50 POWER RESISTORS, wiruwound, vit, so,, up 25 w. asst (2S22B) 1.19 G 60 COILS AND CHOKES, r-f, ant, parasitic, i-f. etc. (2S297) 1.19 G 75 — HALF WATTERS, resistors, color-coded, carbo-film, most pop (2S454) 1.19 Q 10 — SOLAR CHIPS, silicon, 'broken energy", each chip Q.Bv. asst mils (2S5083) . . 1.19 Low Power ICs I "- 2S3667 ». Type No. N Typo Sale I 74LS132 1.19 t 74LS138 1.24 ? 74LS139 1.24 ■ 74LS151 1.25 " 74LS153 1.25 N _ 74LS1S5 1.25 b G 74LS160 1.47 1 ~ 74LS16I 1.47 \ _ 74LS162 1.47 w G 74LS163 1.47 I □ 74LS168 1.68 v C 74LS169 1.68 ? G 74LS173 1.68 I a 74LS174 1.05 J G 74LS190 1.77 \ G 74LS191 1.75 ■ G 74L5192 1.75 J a 74LS193 1.75 \ G 74L5195 1.25 fc D 74LS197 1.25 I D 74LS257 1.35 J G 74LS266 .54 ? B74LS366 .86 1 74LS368 .69 "• a 74LS390 JT* mTafatfi Order By Cat. No. ^""iTm^jf 9 { 2S2320 «k Type No. Typa Sale Type Sale r CD4000 $.29 CD4022 1.19 1 CD4001 .29 ~ CD4023 .29 \ CD4002 .29 CD4024 .79 , CD4006 1.19 _ CD4025 .34 ! i CD4007 .29 Z CD4027 .69 !- CD4008 .79 L CD4028 .89 CD4009 .69 CD4029 1.19 CD401O .59 " CD4030 .49 r CD4011 , CD4033 1.60 CD4012 .29 CD4035 .99 i CD4013 .69 CD4040 1.19 \ CD401S 1.19 CD4041 1.25 CD4016 .49 " CD4042 .88 i CD4017 1.19 CD4046 1.79 CD1018 1.19 CD4049 .49 CD4019 .49 CD4066 .79 1 CD4020 .90 CD4071 .29 L CO4021 1.29 Send for your FREE POLY PAKS CATALOG FEATURING THE WORLD'S BEST BARGAINS IN ELECTRONICS Tart-nw: Add postaKe Rated : net 30 Phone : Wakefield, Mass. (617) 245-3829 Retail: 16-18 Del Carmine St.. Wakefield, MINIMUM ORDER — $6.00 POLY PAKS 4 [c33^--n P.O.BOX942S [ggPHcmpp IVNNFIELP, MA. ) COPYRIGHT 1978 - POLY PAKS INC. Circle 96 on inquiry card. BYTE February 1978 177 all IcB" \ Mfc\ iff •««k»i i /'Aofo 7: Entrance to the New York Coliseum Persona/ Computer Expo Show. Gulf and Western building is to the right. Photo 2: A young computer fan attempts to hit the enemy ship in Apple Computer's Star Wars game at the Computer Mart of NY booth. Photo 3: Some of the 14,000 people who saw the show. New York's Coliseum, the location of many IEEE, AFIPS (NCC) and other tech- nical shows over the years, played host to the first annual Personal Computer Expo last October 28, 29 and 30. Over 80 exhibitors were on hand at 150 booths, selling every- thing from resistors to complete computer systems with floppy disks and color graphics. The exhibition floor filled rapidly on Friday morning. Many of the people I spoke to said the show was their first exposure to personal computing. Visitors flocked to the more spectacular exhibits like the Digital Group's talking computer and Heathkit's Star Wars game, or tried their skill at pro- gramming the new appliance computers, such as the Commodore PET and the Radio Shack TRS-80. At the MITS booth, the emphasis was on business software. The business men and women who attended the show were able to choose from a number of sophisticated systems on view at MITS and other booths. Some of the Highlights Summagraphics featured an interesting device called the Bit Pad, apparently the first of its kind in the personal computing market. The Bit Pad is a digitizing tablet complete with stylus that allows you to quickly enter drawings or writing into a computer. For the floppy disk enthusiasts, Alpha Micro Systems displayed their AM-400 hard surface disk; more floppies were on hand at Per Sci and Realistic Con- trols. Ohio Scientific showed their Chal- lenger III, a most unusual computer that contains three processors: the 6502A, 6800 and Z-80. A nonprofit organization called Com- puters for the Handicapped was represented by Warren Dunning (5939 Woodbine Av, Philadelphia PA 19131) and Richard Moberg (404 South Quince St, Philadelphia PA 19147). The purpose of the group is to be a clearinghouse of information regarding the use of computers to help the handicapped. The goal is to get the people with the ideas and needs together with the people with the computer know-how so that development of these systems can begin. A Record Crowd By Sunday evening, over 14,000 people had attended the Expo, making it the biggest personal computing show ever, and giving added impetus to this young and growing field." New York Notes by Chris Morgan, Editor Photos by Fritz Wetherbee Photo 4: A happy group plays Space War at the Heathkit booth. Photo 5: Alpha Micro Sys- tem's hard surface disk, one of the most sophis- ticated devices at the show. Photo 6: An array of new and used equipment offered by the Computer Warehouse Store (of Boston). BYTE February 1978 179 CAlifoRNiA IncJustriaI Post Office Box 3097 B • Torrance, California 90503 Point Df Sale CnqiPUJER *I79=P e *:« a Manufactured by TRW Data Systems for the fast food industry. Designed for error-free data entry. The operator simply blackens the appropriate box on a mark sense card and inserts it into the form reader. The CPU searches internal programable drum memory for unit price and extends it by quantity, displaying the customer's grand total on the LED module. Memory system is capable of retaining over 40 register items. Accumulated data may be pulled by a master computer. This point of sale computer makes a super mark sense data terminal. The TRW 1 336 is shipped complete with cables and self-contained +5 & t 12v. power supply. Brand new in factory cartons. Original cost $7,000. Weight 100 lbs., shipped freight collect. Complete documentation not secured at press time. CONNECTORS C3 "O 00 "£ g* RS-232 DB25P male plug&hood *3?5 DB25S female *395 Edge Connectors 100 PIN IMSAI/ALTAIR S-100 • GOLD PLATED • .125" CENTERS Altaif .140 row, soldertail $5.98 3/S16.50 Imsai .250 row, soldertail $4.98 3/$13.00 3 Level Wire Wrap .250 row. . . $4.98 3/$13.00 SPECIALS W/W same as above without ears$3.50 3/$10 72 (dual 36) W/W .156" centers. . . $2.50 3/$6 ■1 ,i_l£ Certified Digital SCOtCn CASSETTES Diskettes Please specify IBM 3740 series or 32 sector. also MINIDISKS Won't drop a BIT! Electronic Entertainment Center Tennis-Handball Hockey-Smash Action-packed color entertainment lor the whole lamlly Adjustable skill level controls allow players ol all ages to com- j pete in [ennls. hockey and handball. This lour game entertainment center turns your television into a video play- ground. On screen scoring, live action sound and -.^ _ _ rt true component color makes this video Color >9il8o center an e»cellenl buy at only S2J.S8. *™^T, Complete with antenna bo* and AC adaptor. BARREL STOCK Test 'Em Yourself 'N Save 15 NE555 Timers, 100% functional V %* 1 15 TRW Power Darlingtons. TO:3 \ V* 15 2N3055 & 2N3772 NPN power trans. 50 General Purpose TO:92 Transistors 100 Silicon Signal Diodes SPECIAL | ' 4JU^ GENERAL INSTRUMENT ASCII Keyboard Encoder vWw) AY 5-3600 Prime but house marked only $4.95 TELETYPE MODEL 43 New from Tgletype, the Model 43 is capable of priming 132 ASCII characters per line. Send and receive data a! 10 or 30 char, pet second. Key board generates all 123 ASCII code cor tions. RS-232 interlace, same as the popular Model 33. Data sheet sent upon request. Manufac- turer suggested price S1377.00, IMMEDIATE DELIVERY $1199 We also have (Of sale a limited quantity of used Model 35's Priced at only $449.50 r M^\ REGULATED POWER SUPPLY Delivers 5 volts at 8 Amperes along with three other regu- lated outputs. This used supply is sold "as is," but we still feei that this is the best buy you'll ever see in a regulated power supply. 75 lbs., Schematics included- Used H9.50 Shipped Freight Collect S 24.B8 _.>r u.i^\. ivft-UNIVAC KEYBOARD j* available from California ideal eompulcr inpul rleVl .mnliCiar.E The numeric *e, JOYSTICK *4Jt V " PB> for 5 10 00 Quiet Buss \ EH S-100 MOTHER The Quiet Buss from California Industrial Is quality engineered. No short cuts have been taken to produce this mother board. Active termination circuitry prevents noise and crosstalk. Manufac- tured from extra heavy FR-4 epoxy glass Features 2 ounce doubte thickness copper traces. Purchase this board along with tfie power supply kit below and you have the start of a super Micro-System. 18 SLOT 29.95 mflnUfiL GRAPHiTE display GEnEPiPrrnn This loysiick loaiure the angle ol the stick games, quad siereo ioji 100K polentio- lance p.'oportirjnsl lo PftriOO) lor te-'eviS'On Converts signal from APPLE II and other vidio sources into TV frequency. Complete with direc- tions and metal case. Assembled 2U02 LOW POWER 45D MS faitei th.ni 450nS Minimum purchase 32 pieces. Sorry, credit cards can not be 7400 7401 7402 7403 7403 7404 7405 7406 7407 7408 7409 7410 7411 7412 7413 7414 74 IS 7417 7420 7422 7423 7425 7426 7427 7428 7429 7430 7433 7437 7438 7442 7443 7445 7446 7447 7448 7450 7451 7453 7454 7460 7470 7472 7473 7474 7475 7476 7479 7480 7482 7483 7485 7486 7490 7491 7492 7493 7494 7495 7496 7497 74100 74107 74109 74110 74116 74120 74121 74122 74123 74125 74126 74128 74132 74136 74141 74145 74147 74148 74150 74151 74153 74154 74155 74156 74157 74159 74160 74161 74162 74163 .1 74166 1. 74167 4.! 74170 2.- 74173 h 74174 1. 74175 74176 .! 74177 .! 74192 .! 74193 J CMOS 4001 4002 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4027 4028 4029 4030 4032 1702 A 4,95 B2s23 2.95 82s 123 2 95 2102 1.79 2102-1 1.89 21L02 1.19 250nS. 1.49 l.ff 30014 301 H 301CN 302H 304 H 305H 307H 307CN 308 H 308CN 309H 309K 310H 310CN 311H 31 IN 312H 318H 318CN 319CN 320K-5 320K-12 320KM5 320T-5 320T-8 320T-12 320MB 320 -24 324N 339N 340K-5 340K-8 340K-12 34QK-15 340K-18 340K-24 340T-5 340T-12 340T-15 340T-24 1.79 350N ,99 351CN .65 370H 1.29 370N 1.29 373N 3.19 377N 3.99 380N 1.39 381 N 1.79 382N 1.79 NE555V .49 NE556 1.29 NE565H 1.49 NE565N 1.79 NE566N 125 703CN ,45 709H .39 709N .39 710N .79 71 1H .39 71 1N .39 723H .55 723N .55 725H 3.49 733H 1.49 733N 99 739N 1.19 74 1N .09 747 N .79 748H .39 748N .39 1414N 1.75 1458 .69 UART AY 5 - 1013 A *4.98 factory prime 2114/4045 IK by 4 STATIC MEMORY 450nS. «11? 5 6SO.1S. *9? 5 Microcomputer Power Supply Kit Ideal supply lor 5-100 systems. Con- tains all the necessary components to produce 5 volts ® 10 A. T ± t2 ® 2.5 A. (voltage actually higher). New surplus Irom Memorex Corporation. Kit Includes 117 ac. transformer, diodes, six computer grade electro- lytic:;, chassis, circuit breaker and grounded power cord. Transformer has 5 output windings. Include $9.00 shipping East ol the Mississippi; S4.00 lor Calif.; al! other States $7.00. ^SPEAKERS IS $2488 Plus Shipping Perfect for TV games, alarm systems, speech synthesizer or intercom. 8 ohms 5"HtFidelity *2.98 Tjiumbwheel sM. switch Ten position BCD $ 139ea. Miniature / Switches A TRIMMER POTENTIOMETERS your choice 10 50 100 111 2K 5K10KS0K 5lor*.98 20 SO 100 16' 14< 12< Conductor Ft. [RIBBON WIRE] SPECTRA-STRIP $.59 Transistors ea. 10 50 100 2N22224 .20 .18 .16.15 2N3055 .69 .65.59.55 .79 .75 .69.65 1.59 149 1,39 129 .15 .11 .09.07 .15 .11 .09.07 odes 10 25 100 MI 3055 2N3772 2N3904 2N3906 Di 1N4002 lOOv. .08 06.05 1N4005 GOOv. 10.08, 07 1N4148 signal .07.05.04 jumbo red ea. 10 25 100 LED's '15.13.11.09 PowerAdapter 6 vdc, 140mA 51.33 7 dc, 1.4 A. 5.50 9vdc, 15mA. 1.19 9vdc,175mA. 1.95 12 vdc, 600mA 2.95 Output: 12v.ct. 175mA. TRANSFORMER Solar Cells $ 1.19 10 100 S.98 J.85 125mA. at .43V. Ideal lor powering radio receivers of charging bat- teries. (213)772-0800 RELAYS SPDT MINIATURE 10 25 100 $ 13"ea. S115 104 .89 Coil 12 Volt dc. 7 Amp Contacts PC. Board Mount CAPACITORS ELECTR 80,000/lOv 4500/50V 1000/15v axial 0LYTICS ea. 10 50 3.95 349 2.95 Sl»9 135 1(9 555 49 .45 .1 disc .01 disc J.12 .06 .09 .05 .07 .04 $■98 yg* .81.73.66 SPDT Miniature Toggles 7101 C&K 0N-N0NE-0N 7107 jlit ON-OFF(mnt.ON) 7108 CK ON(moment.ON) Rocker 1BT DPOT Rotary 3P-4-Pos. Rotary 3P-6-POS. PiishB (N.0.) S.39ea.3/Sl DIP Switch JJ75 DISCOUNT 10 25 100 I Heavy duty grounded power cord and mating chassis connectors. IC SOCKETS wire wrap low profile ea. 25 50 ea. 25 50 s 17< 16 15 14 37< 36 35 18 17 16 16 38 37 36 19 18 17 24 99 93 85 36 35 34 40 169 155 139 63 60 58 50ft. $ .98 KYNARW^ 500 1,000 11,000 »9. S15. J105. $23.95 ' $5.45 I Circle 13 on inquiry card. In unusual cases, processing may exceed 30 days. COMPUTER ENGINEERING THE MIDNIGHT SPECIAL . . . ... a full color limited edition poster for your Casey Jones fantasies. The poster is \6 l A by 21% inches (41.9 by 54.6 cm) with a white border. The colors are the same as the original by Robert Tinney, which graces our July cover, minus the BYTE logo. The price is $3.00, plus 50."Jex, local /remote, cursor on/off. odd/even/no parity Output to TV Monitor is Composiie Video. 75 Ohms Keyboard required is parallel out put 7 unit ASCII with negative true strobes Keyboard may tap up to 200 Mo from the ESAT 100 onboard 5V power supply. Power required is 1 I0VAC @ 7 walls COMMENTARY A^ this writing HOI 771, the ESAT 100 is the only Stand Alone Terminal board requiring only black and white TV set and ASCII Keyboard You do not have to have a S-100 Bus Machine, or even a computet May be used in con- junction with a Modem and your home TV set to provide a time share type terminal at any Baud rate you desire. Note, commercial terminals use an 80 character x 24 line for mat However, we have chosen 32 character x 16 lines (or tele- vision set applications because of the limited resolution available on most TV sets Nonetheless, for those of you who are the owners of either high quality video monitors, or the best of Japan's TV receivers. we offw the Scrollhoard Adapter K,t (designed to fit On ESAT 1001 v Characters x 16 lines and Automatic Scrolling foi S29.95 M & R Suparmod R F Modulator for antenna COntiecW your TV set Runs off of ESAT 100 power supply cole blackS. wh.te tor S24 95 1 R.iifil ilwM *EE f ! i 1 1 ill in RS> IS IE K (1 |J Bill i'l i LINEAR LM380N 1.39 LM340T 5,12,15 .99 ith 64 Full Color TV Game Kit: Includes MM57100 Game Chip, MM53104 Clock Gen., LM1889N Color Modulator, 3.58 MHz color burst oscillator crystal, variable cap for crystal adj. and PC board. Very impressive on color sets. All data sheets and schematics included. ..$25. 95 Direct Reading Capacitance Meter Kit: Here is a handy shop item incorporating a reliable and accurate mea- surement method which works from 01 pico + d to 1 micro + d. Includes large 6" scale analog meter movement, all electronic parts and full docu- mentation and theory of operation. Requires 5V and + -12V power. Makes accurate readings directly and instantly! No tuning, fiddling or interpola tion required. Full documentation and theory... .339. 95 5V Regulated Power Supply Kit: Provides regulated 5V (<0 approx. 250 ma for benchwork, breadboards and small projects. Includes LM340T-5 regulator, rectifiers, filter caps, and wall-plug transformer. Full notes.. .56. 95 Nicad Batteries and Charger: 2 ea 2AH 'C size Nicads (great for memory power fail CKTS, cold wea- ther flashlights, etc. and charger. ..$1 3.95 VERBATIM Removable Magnetic Storage Media PRICE REDUCTION! Minidiskettes NE560 NE561 NE565 NE566 NE567 LM1812 LM1889 2.95 2.95 1.95 1.49 1.49 4.95 4.95 1-9 4.79 10-25 4.65 26-100 4.45 CAP. SPECIAL: The Highest Quality, Bypass anywhere: VK06 0.1/100V for SO. 29 CPU SPECIALS 8080A 10.95 Z80 (2mHz) incl. IBmHz Xtal 33.95 Z80A (4mHz) incl. 36mHz Xtal 39.95 OPTOCOUPLERS 4N26 1.00 PROMS 8223 Special 10/9 82S115 8 x 512 15.9 EPROMS 2708 2708 C1702A 650nS 450nS lOOOnS MD525-01 MD525-10 MD525-16 Standard Size Diskettes FD34-1000 FD32-1000 FD65-1000 Cassettes R-300 Digital Direct RAMS 21 L02-1 21 L02 21 1 1 AL 4 C3107B PD41 1D-4 (Soft Sector) for: Intelligent Systems, Magnovox, Microkit, and Vector Graphics (10 Sector, Hard) for: Digi-log, North Star, Polymorphic, Tei Inc., and Wang (16 Sector, Hard) for: Altair, Comtek, Micropolis, R2E, Realistic Controls, and Teleray- Research Inc. 1-9 10-25 26-100 5.99 5.33 4.79 (Soft Sector, IBM Std.) (Hard Sector, Inner dia.) (Hard Sector, Outer dia.) 1-9 5.25 10-25 4.99 95 5 12.95 16.95 4.95 450nS 250nS 45 0nS 60nS 135nS 1.25 1.50 2.30 1.99 3.99 26-100 4.35 and OTHERS AY5-1013 4.95 MM5203Q 4.95 MM5204Q 9.95 8K Static Memory Boards Tested, Burned-ln, Complete $179.00 for 450nS $239.00 for 250nS $ 19.00 for Bare Board Electrolabs POB6721, MM5369 MM5320 2513 Up. 2513 Lo, IN4005 IN4148 1.69 6.00 5.95 6.95 11/1.00 15/1.00 A$&\ -* mm ; (J) tsm •can (O) tan is» on Ji_ * •can gum mil gw 9f* S?w a|| ^b^ g_^ ■ The Delta 4300E, a new video display terminal designed for text processing applications, features auto- matic word wrap, automatic ragged right sentence and paragraph justification, and automatic justification of new insertions. Editing features include searching for a specific word or word string, and op- tionally deleting or replacing the string found with a new word or word string. Text is stored in a 4 K character memory, expandable to 8.5 K. The display presents a full 128 upper and lower case character set in 25 lines of 80 characters each. Automatic scrolling is provided, and a "paging" feature permits recall of information that has been scrolled off the screen. Communi- cation speeds up to 9600 bps are avail- able, and a serial printer port can be added as an option. The 4300E is offered by Delta Data Systems Corp, Woodhaven Industrial Park, Cornwells Heights PA 19020, (215) 639-9400." Circle 615 on inquiry card. 1 brbh 3 ... . This battery operated accessory board provides calendar and real time clock functions for the LSI-11 or PDP-11 computer. The TCU-50 board for the LSI-11 provides the month and day, and the time in hours, minutes and seconds in response to a read instruction. The TCU-100, for the PDP-11, also includes an interrupt feature which can be set to interrupt the system at a specific time or at regular intervals. The rechargeable batteries are good for three months of use. The units are shipped running and preset to the correct date and local time at the customer's location. The TCU-50 is $325, and the TCU-100 is $495 in single quantites, from Digital Pathways Inc, 4151 Middlefield Rd, Palo Alto CA 94306, (415) 493-5544." Circle 61 7 on inquiry card. Daisy wheel Printer Takes Byte Sized Commands Interfacing a daisywheel printer to a microcomputer is simplified with this new OEM model, which takes its commands in serial or parallel byte format instead of the 13 bit format of prior mechanisms. The Sprint Micro 5 includes a built-in microprocessor with a set of 58 commands, which can be used to define format and character spacing, hammer intensity, ribbon color, vertical and horizontal tabs, and select normal, program or graphics modes. The optional RS232C interface, which includes a 224 character buffer, allows the printer to receive parallel and serial data from two sources simultaneously. For ter- minal builders, a send receive cover and plug-in facilities for a keyboard are offered. The control panel includes 11 switch selectable functions, such as full or half duplex, data rate, form length, and 10 or 12 pitch spacing. The Sprint Micro 5 is available in two models, with printing speeds of 45 or 55 characters per second. The 45 cps model is priced at $1675 in quantities of 50, and the optional RS232C inter- face is $100 from Qume Corporation, 2323 Industrial Pky W, Hayward CA 94545,(415) 783-6100." Circle 616 on inquiry card. ^Illfeptoiy ■L * 1 V 1 f Y i This new compact, lightweight digital cassette recorder can be used with any ECMA-34 compatible reader, minicom- puter or terminal as well as ANSI com- patible devices such as the Texas Instru- ments Silent 700. The Model 819-34 measures 4.5 by 4 by 7 inches (11.4 by 10.2 by 17.8 cm), weighs 3 pounds (1.4 kg) and requires 500 mW while running or 20 /iW in standby mode. The unit features parallel input of up to 32 bits, a data rate of 50 bits per second and a formatted capacity of 1 million bits. Analog to digital and 16 channel multiplexer cards may be added to the unit's card cage. The Model 819-34 is $995 from Memodyne Corporation, 385 Elliot St, Newton Upper Falls MA 02164, (617) 527- 6600." Circle 618 on inquiry card. Credit Card Magnetic Stripe Reader This device reads or writes infor- mation on the magnetic stripes of credit cards conforming to the Inter- national Standards Organization (ISO) and American National Standards Institute (ANSI) conventions. The magnetic head travels along a precision lead screw running in ball bearings to read or write on the stripe, and a spring loaded design minimizes card wear and provides optimum signal output. The ANSI standard provides for re- cording of up to 600 bits per track, but an improved design,, for which patents are being sought, is capable of reading and writing up to 1024 8 bit bytes on the stripe. Interfacing options include TTL clock and data levels, buffered RS232 signals and a direct micropro- cessor bidirectional bus interface. Prices start at $296 for the reader mechanism with TTL interface in single quantities, from Vertel Industries, 167 Worcester St, Wellesley Hills MA 02181, (617) 235-2330." Circle 61 9 on inquiry card. 182 BYTE February 1978 Circle 76 on inquiry card. [g] qjbercDm boards c MB-1 MK-8 Computer RAM, (not S-100), 4KX8, uses 2102 type RAMs, PCBD only $22 MB-3 1702A EROM Board, 4KX8, S-100, switchable ad- dress' and wait cycles, kit less PROMS $65 MB-4 Basic 4KX8 ram, uses 2102 type rams, may be ex- panded to 8KX8 with piggybacking, S-100 buss PC board $30 MB-6 Basic 8KX8 ram uses 2102 type rams, memory pro- tect in 256 to 8K switchable S-100 buss. PCBD . . .$35 MB-7 16KX8. Static RAM uses/jP410 Protection, fully buf- fered. PCBD .... $30.00 KIT ... .$525.00 MB-8 2708 EROM board, S-100, BKX8 or 16KX8 kit without PROMS $85 MB-9 4KX8 RAM/PROM Board uses 2112 RAMS or 82S1 29 PROM kit without RAMs or PROMs $80 IO-2 S-100, 8 bit parallel l/Oport, %of board is for kludging. Kit $55 PCBD $30 KM Two serial I/O ports with lull handshaking 20/60 ma current loop. Two parallel I/O ports. Kit $150 VB-1 64X 16 video board, upper lower case Greek, com- posite and parallel video with software, S-100. Kit. . . $150 PCBD. . ..$30 SP-1 Music synthesizer board, S-100, computer controller wave forms, 9 octaves, 1V rms '/2% distortion, includes software kit $200 Altair Compatible Mother Board, 11 x 11VS x 54". Board only ... $45 With 15 connectors $105, Extender Board full size. Board only $9 With connector $1 3.50 Solid state music Cybercom boards are high quality glass board with gold finger contacts. All boards are check for shorts. Kits only have solder mask. 90 day guarantee on Cybercom kits. Non-electrical cosmetic rejected PCBD from Cybercom. IO-2....S21 MB-6.. .$21 VB-1 000 . . . . $25 W777C /nc. WAMECO INC. MEM-1 8KX8 fully buffered, S-100. uses 2102 type rams. PCBC $30 Mother Board 12 slot, terminated, S-100. board only$35 CPU-1 8080A Processor board S-100 with 8 level vector interrupt PCBD $30 10% discount on 10 or more of WAMECO PCBD in any combination. NEWI All IC's Sockets & hardware for WAMECO CPU-1 include all prime Eowa, 8214. 8224, 8212. PCBD not in- cluded $65 All ICs, sockets & hardware lor WAMECO MEM-1 includes prime 2102AL-4's. PCBD not included Order PCBD sepa- rately $135 Special 2102AL-4 1K x 1 ram Vi less power than 21L02 type rams, with power down, prime from NEC. Ea. 2 00; 32 ea. 1 .80; 64 ea. 1 .70; 1 28 ea. 1 .60; 256 ea. 1 .50. 9080A AMD 8080A (Prime) 8212/74S412 Prime 8214 Prime 8216 Prime 8224 Prime 8228 Prime 8251 Prime 8255 Prime 1702A-6 AMD 402A Prime TMS-6011 UART Prime 2513 Char Gen Upper Prime 2513 Char Gen Lower Prime 1702A Intel Not Prime 2000 4.00 8.30 4.95 5.00 8.90 14.50 14.50 500 6.95 11.00 11.00 4.00 m 419 Portofino Drive San Carlos, California 94070 Please send for IC, Xistor and Computer parts list. 74 LOO 74L01 74L02 74L03 74L04 74L05 74L06 74L08 74L09 74L10 74L20 74L26 74L30 74L32 74L42 74L51 74L54 74L55 74L71 74L73 74L74 74L75 74L78 74L85 74L86 74L89 74L90 74L91 74L93 74L95 74L98 74L123 74L164 74L165 74L192 74L193 MH0026 MC1488 .25 .25 .25 .25 .30 40 .30 40 .40 .30 .35 .40 .40 .45 1.50 .35 .45 .35 .30 .55 .55 1.20 90 1.40 .75 3.50 1.50 1.50 1.70 1.70 2.80 1 50 2.50 2.50 1.25 1.20 2.95 1,50 74LS00 74LS01 74LS02 74LS03 74LS04 74LS05 74LS08 74LS10 74LS12 74LS20 74LS22 74LS27 74LS30 74LS37 74LS38 74LS42 74LS51 74LS54 74LS55 74LS73 74LS74 74LS76 74LS151 74LS174 74LS175 74LS192 2501 B 2502B 2507V 2510A 2517V 2519B 2532B 2533V DM8131 N8263 MC1489 DM8837 .40 .50 .40 .40 .45 .45 .40 40 .55 .40 45 45 .40 .60 .60 1.50 .40 45 40 .65 .65 65 1.55 2.20 1.95 2.85 1.25 3.00 1.25 2.00 1.25 2.80 2.80 2.80 2.50 3.50 1.50 1.50 1101 1103 2101 2111-1 2112 2602 4002-1 4002-2 MM5262 7489 74200 74C89 82S06 82S07 82S17 8223 82S23 82S123 82S126 82S129 B2S130 82S131 IM5600 IM5610 IM5603 IM5604 IM5623 IM5624 MMI6330 DM8573 DMB574 DM8575 DM8576 DM8577 DM8578 2.4576 MHZ XTAL 7 20 1.25 1.25 4.50 3.75 4.50 1 60 7.50 7.50 1.00 2.00 4.95 3.00 2.00 2.00 2.00 2.50 3.00 3.00 3.50 3.50 3.95 3.95 2.50 2.50 3.00 3.50 3.00 3.50 2.50 4.50 5.50 4.50 4.50 3.50 400 Check or money order only. If irau ere not a regular customer and your order is large please send either a cashier's cteck or a postal money order, otherwise there will be a delay of two weeks for the check to clear. All items post paid in Ihe U.S. Calif residents add 6% tax. Money back 30 day guarantee. We cannot accept returned tC's that have been soldered to. Prices subject to change without notice. $10 minimum order. $1.00 sen/ice charge on orders leM than S10. THE ALPHA-1 SYSTEM CRATED A BEST BUY IN MASS STORAGE SYSTEMS •applications • BUSINESS applications include mailing lists, payroll, billing, and inventory. • CASSETTE BACKUP for disk-based Systems not only provides large amounts of storage at low cost, but also provides for convenient storage of histori- cal records. • DEVELOPMENT SYSTEM features include a power- ful operating System with an Editor, Assembler, and Debugger, plus a variety of System utilities which speed development. • OEM applications include P.O.S. data capture, word processing systems, audio-visual presentation sys- tems, telephone call transfer systems. • hardware • Stores greater than 500K bytes per side of a C-60 tape. • Access a file in 17 seconds average on a C-60 tape. • Load 8K of data in less than 1 1 seconds (6250 baud). • 100% interchangeability of cassettes with no adjust- ments required orallowed. • Compatible with all popular S-100 Bus Microcom- puters. • Audio track under computer control. • Eliminates the need for ROM/PROM monitors. • SOFTWARE • MCOS, a powerful stand-alone cassette operating system, is operationally much simpler than a D.O.S., handles variable length named files, will update a file in place, packs or copies tapes with a single command. • EXTENDED BASIC with MCOS permits array hand- ling and concatenation of files, plus all capabilities of MCOS. • PRICES START AT $240 • FREE BUYERS GUIDE If you are shopping for a tape or disk system for your S-100 Bus Computer System, you do not have all the facts until you have the MECA "BUYERS GUIDE TO MASS STORAGE." This 10 page guide book provides a framework for evaluating cassette, cartridge, and disk- based systems. Write for your copy today. For complete information including the Dealer nearest you, write or phone: mecsi 7026 O.W.S. Road, Yucca Valley, CA 92284 (714)365-7686 Circle 67 on inquiry card. BYTE February 1 978 183 Whal's New? Peripheral Boards for Z-80 PERIPHERALS Zoom and Pan with This Graphics Terminal This raster scan graphics terminal with a built-in microprocessor performs a variety of graphics operations inde- pendently of the computer to which it may be connected. The terminal features separate alphanumeric and graphics memories, with 8 K bytes of memory (expandable to 12 K) allotted to a 24 line by 80 character alpha- numeric display with 9 by 15 dot character cells, and 256 K bits of memory for graphics with a 360 by 720 dot resolution. Graphics capa- bilities include "rubber band" line drawing, zoom magnification of any portion of the graphics memory up to 16 times, and panning through any portion of the magnified display which is not in the viewing window. An auto- matic plotting feature for tabular data guides the operator through a simple menu of questions about plotting parameters, and then generates a fully labeled plot with as few as three keystrokes. Optional built-in cartridge tape drives provide up to 220 K bytes of local data storage. The Hewlett- Packard 2648A graphics display terminal is $5500 in single quantities, or $7100 with cartridge tape drives, from Hewlett- Packard Company, 1501 Page Mill Rd, Palo Alto CA 94304, (415) 493-1 501 .■ Circle 620 on inquiry card. This new family of peripheral and accessory boards for the Z-80 based MCB series includes the MAD-ONE multiple channel analog interface card with software programmable gains ($595), the Model 606 programmable gain amplifier and filter card with dual channel inputs ($395), the Model 602 prototyping board with or without wire wrap pins ($75), the Model 605 extender card ($95), and the Model 604 card cage with eight card slots ($210). The boards are available from Signal Laboratories Inc, 202 N State College Blvd, Orange CA 92668, (714) 634-1533." Circle 623 on inquiry card. Low Cost Hobbyist Keyboard Analog Boards from Zilog Smart Terminal This inexpensive keyboard features a versatile interface which allows user selection of data and strobe polarity, parity sense, upper case alpha lock, and access to three user definable keys for custom code or function assignment. The Model 753 keyboard provides ASCII encoding for 53 keys in the standard Teletype format, employs KBM keyswitches for relia- bility and is said to be guaranteed. When built from a kit, estimated con- struction time is two hours. The Model 753 is $59.95 in kit form or $71.25 assembled and tested. Also available is a custom plastic enclosure, Model 701 ($14.95), which is precut for the Model 753 keyboard. Delivery is from stock, from George Risk Industries Inc, GRI Plaza, Kimball NB 69145, (308) 235-4645." Circle 621 on inquiry card. Two new analog boards have been added to Zilog's MCB family of Z-80 microcomputer boards. The Z80-AIB board features 32 analog input channels, analog to digital converter gain ranges up to to 10 V, amplifier gain ranges of 1 to 1000, and 12 bits of conversion resolution. The Z80-AIB is $575, or $675 with an optional DC to DC con- verter. The Z80-AIO board features 32 input channels and two analog output channels. Output resolution is also 12 bits. The Z80-AIO is $775, or $875 with the DC to DC converter, from Zilog, 10460 Bubb Rd, Cupertino CA 95014, (408) 446-4666." Circle 622 on inquiry card. This "smart" editing terminal fea- tures an option for use with the Burroughs TD-800 series polling pro- tocol. The detachable keyboard gener- ates the full ASCII character set and has 16 or 32 special function keys. Editing features include tab, back tab and columnar tab operations, protected fields, absolute cursor addressing and cursor position reading. The Burroughs polling features include specific, broad- cast and fast selection and multipoint contention mode. The D300 Teletype compatible version is $1645, and the D400 with Burroughs polling features is $1895, both in quantities of 25 with 45 day delivery, from EECO, 1441 E Chestnut Av, Santa Ana CA 92701, (714) 835-6000." Circle 624 on inquiry card. 184 BYTE February 1978 Circle 92 on inquiry card. * YOUR BEST BUY IN WIRE WRAP SUPPLIES * PRECUT WIRE WHY BUY WIRE ON ROLLS? PRECUT & STRIPPED WIRE 15: FmI - No more cutting & stripping by hand Reliable - Good, clean, uniform strip Economical - Cheaper than using bulk wire 100 pes 013' 1 al$.B2 » aVtC/tt. 50 ft. roll at SI. 99 = «/lt 100 pes of 6" a! 1.06 ■ 2*/tL 100 ft roll at 2.95 = 3*/tt. Wire Kit 1 at S6.95 ■ 2 1/3C/H. » 30 Kynar stripped 1" on each end. Lengths 500 2.40 2.60 2.80 3.00 1000 4.30/K 4.71/K 5.12/K 5.52/K 5000 3.89/K 4.22/K 4.55/K 4.68/K 3.21 3.42 3-65 3.B5 5.93/K 6.34/K 8.75/K 7.16/K 5.21 /K 5.52/K 5.86/K 6.19/K 4.05 4.25 4.45 4.65 7.57/K 7.98/K B.39/K 8.80/K 6.52/K 6.85/K 7.167K 7.53/K 4.65 5.05 5.25 5.51 9.21/K 9.62/K 10.03/K 10.44/K 7.64/K 8,17/K 8.50/K 8.83/K Addi. inches .10 .41 ,82/K .66/K *- f WIRE KITS * 1 $6.95 # 2 119.9 5 250 3" 250 iW 100 4" 100 4W" 250 2VT 250 100 5" 500 3" 250 100 6" 500 3»" 100 500 4" 1 Choose One Color or Assortment AW 250 6" 5" 100 BW 5'A" 100 7" 250 It. Roll Bulk WIRE WRAP SOCKETS 1-9 10-24 25-99 100-249 250-999 1K-5K IBpin" .63 .58 .54 .47 .44 ,41 20 pin .84 .78 .71 .63 .59 .54 22pln' 1.30 1.20 1.10 .95 .90 .84 24 pin .91 .84 .78 .68 .64 .58 28 pin 1.25 1.15 1.08 .95 B9 .82 40pin 165 1.55 1.42 1.25 1.15 1.09 Gold 3-level Closed Entry Sockets ' End & Side Stackable All prices Include gold Tin sockets and 2-ievel sockaia available INTERCONNECT CABLES SINGLE ENDED DOUBLE ENDED 14 pin 16 oin 24 pin 14 pin 16 pin 24 Pin 1.24 1.33 1.52 1.91 1.34 2.05 1.44 2.24 1.65 2.63 2.06 3.40 2.24 2.33 2.52 2.91 2.45 2.55 2.76 3.17 3.37 3.92 4.31 5.08 WIRE WRAP TOOLS $34.95 HOBBY WRAP Model BW 630 With Free Wire Kit 1 ($6.95 Value) Batteries & Charger $1 1 .00 WSU 30 Hand Wrap-Unwrap Strip Tool 5.95 WSU 30M, lor Modified Wrap 6.95 BT 30 Extra Bit 2.95 WIRE WRAP BOARDS 1^1 5-9 WW 10-24 Connector H-PCB-1 4x4% 44 Buses on both sides 4.75 4.50 4.00 3.00 3662 4x6 44 Blank 6.25 5.85 5.50 3.00 3682 4x10 44 Buses on one side 10.50 10.00 9.50 3.00 3682-2 4x6 44 Buses on one side 9.50 9.00 8.25 3.00 4066-4 4x6 72 Buses on both sides 13.50 13.00 12.50 4.00 3719-1 4x6 72 Blank 9.00 8.50 8.00 4.00 3719-4 4x10 72 Blank 11.00 10.50 10.00 4.00 4350 7x9« 80 Buses on both sides 17.50 16.50 16.00 7.00 8800V 10x5.3 100 Buses on both sides 19.50 17.96 16.95 5.00 169P84 8Kx17 - Blank 6.25 5.75 ,5.26 IS SOCKET 14 pin Gold WW .34 — -. _. 16 pin Gold WW .36 SALE! 24 pin Gold WW .75 Prices good through 3/1/78 when purchased with Wire Kit #1 or #2 10-49 .32 .35 50 up .30 .33 Ordering Information: Orders under $25 and COD'S, add $2 AH others, shipped Ppd in U.S. via UPS For Blue Label (Air) or 1st Class, add $1 We accept Visa & Mastercharge Most orders shipped same day Dealer Inquiries Invited PAGE DIGITAL ELECTRONICS 135 E. Chestnut Street 4A Monrovia, California 91016 Phone (213) 357-5005 APPLE II I/O BOARD KIT Plugs Into Slot of Apple 11 Mother Board KIT INCLUDES: FEATURES: 1 8 Bit Parallel Output Port (Expandable to 3 Ports) I Input Port 15mA Output Current Sink or Source TTL or CMOS Compatible Addressable anywhere in mem- ory output area Can be used for peripheral equipment such as printers, floppy discs, cassettes, paper tapes, etc. P.C. Board. EC's Sockets and Assembly Manual. PRICE: I Input and I r ?' S49.00 Output Port 1 Input and 3 Output Ports i f< » S64.00 DEALER INQUIRIES INVITED INSTRUCTION MANUAL with SOFTWARE for Interfacing to SWTPC PR-40 Printer, $10.00 LD 130 3 Digits A/D Conv. $11.95 6800 mpu 15-95 6820 pia 13.°° 6850 acia I2P° 2708 E Prom IKx8 450ns $14.95 SHIPPING AND HANDLING KEYBOARD S3. 50. OTHERS - SI .00. California residents add 6% sales tax ELECTRONICS WAREHOUSE Inc. 1603 AVIATION BLVD. REDONDO BEACH, CA. 90278 TEL. (213)376-8005 WRITE FOR FREE CATALOG You are invited to visit our store at the above address 3RD GENERATION ONLY $63.00 ASCII KEYBOARD KIT FURTHER IMPROVEMENTS. MORE FEATURES . TTL Logic Circuits OPTIONS: • Power- +5V ">75mA • Metal Enclosure (Paint- ' .' " „ ed IBM Blue and White • Upper and Lower Case 525 fjO • Full ASCII Set (Alpha , OD . .-. „ c , nn Numeric, Symbols, • l» Pm Edge Con. S2.00 Control) • I.C. Sockets . . . S4.00 . 7 ot 8 Bits Parallel Data . Serial Output (Shift . Optional Serial Output Register) S2.00 • Selectable Positive or • Upper Case Lock Negative Strobe, and Switch (for Capital Strobe Pulse Width Letters and Numbers) • 'N' Key Roll-Over S2 °° . Fully Debounced K,T Includes ; Key „ . n . v board, P.C. Board, all re- • Carnage Return Key • 1 ' . 6 ' quired components and as- . Repeat Function Key sembly manual. . Shift Lock , 2 Shift Keys NQTE . , f yQU haye thjs • 4 User Defineable Keys 53 Key Teletype Key- • P.C. Board Size: board you can buy the 17-3/16" x 5" Kit without it for S44.95. Circle 48 on inquiry card. BYTE February 1978 185 What's New? Million Byte Floppy Disk System MASS STORAGE Intelligent Floppy Available in Several Styles New 74 Megabyte Hard Disk These floppy disk drives feature voice coil positioning for faster access and a microprocessor based intelligent controller. The Model 277 Dual Diskette Drives can be packaged in a variety of configurations: 1) a system with one or two dual drives, controller, power supply and cabling enclosed in a 19 inch rack mountable chassis; 2) a one or two drive system with power supply and cabinet but without the controller, and 3) a "slimline" system which incorporates one dual drive and power supply in a tabletop chassis. The intelligent con- troller has its own 8080 microprocessor and internal disk operating system in firmware. On command, the 1070 con- troller can perform all file management functions including disk formatting and initializing. Voice coil positioning is said to be seven to ten times faster than other methods, with an average seek time of 36 ms. Interfaces are available for most of the popular microcomputers. The systems range in price from $740 for the controller only to $3995 for the two drive (four spindle) system with con- troller, from PerSci Inc, 12210 Nebraska Av, W Los Angeles CA 9002S, (213) 820-3764." Circle 625 on inquiry card. Priced at $6000, the C-D74 disk drive provides a 35 millisecond average access time to any of 74 million bytes of information. With 12 tracks on a cy- linder, the device can access any of 220,000 bytes in 5 ms. Single track seek time is 10 ms, and the disk's data transfer rate is 7.3 million bits per second. With its large storage capacity and fast access time, the device is said to be adequate to store all the records of a medium size company. The C-D74 uses "Winchester" technology in a nonremovable sealed chamber drive with a rotary arm positioner, and can run 24 hours a day without worry of disk wear. The C-D74 disk drive, cable, interface for an OSI Challenger and OS-74 operating system software is $6000 FOB the shipper's plant, from Ohio Scientific Instruments, Hiram OH 44234, (216) 569-7905." Circle 627 on inquiry card. Minifloppy with FORTRAN IV W& ■SttPgHI This Altair (S-100) bus compatible floppy disk kit allows you to run FORTRAN programs on an 8080 based system with at least 20 K bytes of programmable memory. The kit includes a Shugart SA400 minifloppy disk drive, cables and cabinet, a floppy disk inter- face board kit, a disk operating system with file management, a text editor, and FORT//80, a FORTRAN IV system for the 8080 from Unified Technologies of Canada. The interface board can control two minifloppy drives and includes a bootstrap and diagnostic program in ROM. Also included are 8 bit parallel input and output ports. The disk operating system (FDOS) manages named files and includes a "sysgen" program for custom tailoring of the operating system IO routines. The FORTRAN system includes double precision arithmetic, in line machine code, FORTRAN control over inter- rupts, and direct interface of custom IO drivers to FORTRAN READ and WRITE statements. A 90 day warranty and a 2 year software and documen- tation update service are provided. The This floppy disk system comprises four drives in a "dual dual" configur- ation, a controller, power supply and chassis, enclosure, cabling, and a new BASIC software package." The Meta- Floppy 1054 Mod II will plug into any 8080 or Z-80 based computer using the Altair (S-100) bus and features an all steel head positioner system, electronics capable of reading disks whose signal strength is weak, file protect circuitry and a disk insertion interlock, and lighted numerals to show the logical address of each drive. Track to track access time is about 30 ms, and the data transfer rate is 250,000 bytes per second. The BASIC language system supports line printer spooling and chaining of program segments. The 1054 is $3220 in single quantities, from Micro- polis Corp, 7959 Deering Av, Canoga Park CA 91304, (213) 703-1121." Circle 633 on inquiry card. AC Capstan Motor for Cassette Transport The Phi-Deck cassette tape transport is now available with a fixed speed AC capstan motor. Features of the new model include four motor control, remote control capabilities, fast start and stop, less than 30 seconds rewind time, and speeds from 1 to 1 inches per second. TTL compatible control boards are available for the transport, as are options such as beginning and end of tape sensing, cassette in place sensing, etc. The transport is $149 in single quantities and less than $100 in quan- tities of 500, from Triple I Inc, POB 18209, Oklahoma City OK 73118, (405) 521-9000." Circle 634 on inquiry card. package costs $1095 as a kit, or $1220 assembled and tested. A second mini- floppy drive is available as a kit for $449, or $495 assembled and tested, from Realistic Controls Corporation, 3530 Warrensville Center Rd, Cleveland OH 44122,(216) 751-3158." Circle 626 on inquiry card. 186 BYTE February 1978 Circle 8 on inquiry card. All Prime Quality — New Parts Only Lowest Prices — Satisfaction Guaranteed EDGE CARD CONNECTORS: 25 PIN SUBMINIATURE CONNECTORS: Bifurcated Contacts. Not tin. Gold over nickel. 50/100 Pin (.100, Gold Plated Contacts. 1.25, + .156 Pin spacing). Double Readout. DB25P Plug $2.60 ea 5 pes $2.25 50/100 Altair Type -Dip Solder Pins $4.25 ea 5 pes $4.00 ea DB25S Socket $3.75 ea 5 pes $3.50 50/100 Imsai Type - Dip Solder Pins $4,25 ea 5 pes $4.00 ea DB51 21 2-1 Hood (grey) $1 .00 ea 5 pes $.95 50/100 Imsai Type with Guides $4.50 ea 5 pes $4.25 ea DB51 226-1 A Hood (black) $1.10ea 5 pes $1.00 Imsai Guides only $ .30/pr 5 pr $ .25/pr All other contacts available: Solder Eyelet, Wire Wrap, etc. All gold. Buy a complete set: Many other types available: 10/20, 15/30, 18/36, etc. 1 Plug, 1 Socket, 1 Hood (any) $6.50/set When ordering: specif/ type of contact. 5 Sets $6.25/set ea ea ea ea 2708 1KX8 PROM 450 NS $16.75 ea 5 pes or more $1 5.70 ea 8080A - PRIME $12.00ea 5 pes $11.50 ea Write for larger quantity discounts. Dealers welcome. Minimum order $10.00: Add $1.00 for shipping and handling. Orders over $25.00: We pay the shipping: Calif, residents add 6% tax. No COD's: For immediate shipment send money order or cashier's check. When ordering: State method of shipment: Mail or UPS. ORDER FROM: Beckian Enterprises P.O. Box 3089 Simi, Calif. 93063 4K RAM BOARD Assembled and tested. AAA AP See kit below. 4K RAM BOARD KIT 450ns Access RAMs Fully Buffered Low Power 579.95 Static 5V only 414 x 6 inch board Buy 4 RAM Board kits at $79.95 each and an 8 slot Mother Board is yours Includes 8 connectors and card guides. FREE. KIM INTERFACE Board plugs into Kim expansion connector Connector for our Mother Board Full memory decoding Write protect for (4) 4K bytes Address and data Bus buffers ^ffrmiwi MOTHER BOARD 8 SLOT 44 PIN BUS 50 Pin Edge Connector Mother Board $20.00 ea Connectors 2.50 ea Card guides for above $10.00 per set. 2102 — $1.20 Multiples of 25 only. Low power, 450 n.s. Access and cycle. 8K EPROM BOARD 5 Volt only For our bus MAKE CHECK OR MONEY ORDER PAYABLE TO: Kathryn At wood Enterprises P.O. Box 5203, Orange, CA 92667 Discounts available at OEM quantities. For orders less than $25.00 total, add $1 .25 for shipping. California residents add 6% sales tax. Estimated shipping time 2 days ARO with money order. For checks allows 7 days for check to clear. Circle 7 on inquiry card. BYTE February 1978 187 What's New? MEMORY Semibuild This Semikit A semikit is a fully assembled and wave soldered printed circuit board with pretested integrated circuits, which the user need only test and burn in on his or her own computer. It is designed to eliminate common kit building problems such as bad solder joints, heat damaged components and faulty integrated cir- cuits. Documentation is included with the semikit for the test and burn in pro- cedures. The first semikit is the 16KRA memory board, which includes 16 K bytes of programmable memory in 4 K independently addressable blocks, with an invisible refresh and a worst case access time of 400 ns. The 16KRA is $369 in semikit form and $399 tested and burned in, from Processor Tech- nology Corp, 6200 Hollis St, Emeryville CA 98608, (415) 652-8080." Circle 628 on inquiry card. Add-on Memory for LSI-11 and PDP-11/03 CompuTime Offers Clock, Calendar and Calculator on One Board CompuTime has announced an Altair (S-100) bus compatible PC board which combines a real time clock, calendar and 40 function scientific calculator in one package. Applications for the clock and calendar include stamping output listings with time and date, plus alarm and timing operations which can be imple- mented by means of two coincidence counters provided on the board. If power is shut down, a battery backup system is provided. The 40 function calculator enables the computer to handle floating point, trigonometric and algebraic problems as well as basic math functions. The package is available in three con- figurations: time, date and calculator, kit price $199; time and date only, kit price $165; and calculator only, kit price $149. The boards are also available assembled and tested. Contact Compu- Time, POB 417, Huntington Beach CA 92648,(714) 638-2094." Circle 631 on inquiry card. Memory Board for EXORciser and MEK6800 An 8 K static memory board now available is pin and signal compatible with the bus used in the Motorola EXORciser, Micromodules, and the MEK6800D1 and MEK6800D2 Evalua- tion Kits. The 9626 board features full 16 bit address decoding and buffered address, data and control lines. The 9626 is $350 in single quantities and $210 in lots of 100 from Creative Micro Systems, 6773 Westminster Av, Westminster CA 92683, (714) 892- 2859." Circle 629 on inquiry card. A new high density memory card for the LSI-11 and PDP-11/03 is available from Fabri-tek Inc, 5901 S County Rd 18, Minneapolis MN 55436, (612) 935-8811. The LS-IN-11 provides 8, 16, 24 or 32 K bytes of memory on a single card with a 2 slot connector, using 8 K or 16 K dynamic MOS n-channel memory chips. A typical low quantity price for the 16 K version of the card is $1085 with a 12 month warranty." Circle 632 on inquiry card. Attention Readers and Vendors. . . Where Do New Product Items Come From? The information printed in the new products pages of BYTE is obtained from "new product" or "press release" copy sent by the promoters of new products. If in our judgment the neat new whiz- bang gizmo or save the world software package is of interest to the personal computing experi- menters and homebrewers who read BYTE, we print the informa- tion in some form. We openly solicit such information from manufacturers and suppliers to this marketplace. The information is printed more or less as a first in first out queue, subject to oc- casional priority modifications. 188 BYTE February 1 978 LOW PROFILE IC SOCKETS 14 PIN -$.18 22 PIN -$.33 1(> PIN - $.20 28 PIN -$.48 18 PIN -$.25 AUGAT WIRE WRAP SOCKETS 16 PIN Cold Plated $.49 ea. 10 FOR $3.95 LIMITED STOCK TRIMMER CAP - 20 PF. CER. 4/$1 Mil. Quality P. C. MOUNT VOLUME CONTROL Nylon Shaft. IK or100K. YOUR CHOICE 4/$1 16K E-PROM CARD S-l 00 ( l MSA l /ALTAI R) BUSS COMPATIBLE WO^' DEALER INQUIRES INVITED SPECIAL OFFER: Our 2708's (450 NS) are $12.95 when purchased with above kit $69.95 (kit) IMAGINE HAVING 16K OF SOFTWARE ON LINE AT ALL TIME! KIT FEATURES: 1. Double sided PC Board with solder mask and silk screen and Gold plated contact fingers. 2. Selectable wait states. f USES 3. AH address lines and data lines buffered! 4. All sockets included. 5. On card regulators. KIT INCLUDES ALL PARTS AND SOCKETS! (EXCEPT 2708's) ADD $25 FOR ASSEMBLED AND TESTED FULLY STATIC! $149.00 KIT KIT FEATURES: 1. Double sided PC Board with solder mask and silk screen layout. Gold plated contact fingers. 2. All sockets included! S "' 00 (IMSAI/ALTAIR) 3. Fully buffered on all address and data lines. BUSS COMPATIBLE 4. Phantom is jumper selectable to pin 67. 5. FOUR 7805 regulators are provided on card. ¥ * 8K LOW POWER RAM KIT! ™f . . ... yy|j %s)->'"^r ('-.«.' i , . ...i : *• i | . ^T| 1 • ■ ■■■■■-•'.■ 1 ir^rJj '■¥ :■■■ r:*"l ' ■ ■ ■ A ». J? ■;ty ■■ j »'"» "" • ■ ■ ■ " f JTSfllS fjfin "■ R ....?. Wl fit' IttSHMUMUUiHffiMBSiSUU PRICE WAR! For a limited time only: Buy two 8K Kits for $129 ea. Fully Assembled and Burned In — Blank PC Board With Documentation — Low Profile Socket Set — Support IC's (TTL and Regulators) — Bypass CAP's (Disc and Tantalums) — USES 21L02-1 RAM'S. $179.00 29.95 13.50 9.75 4.50 3W AUDIO AMP MODULE Fully assembled and tested. With schematic. 4, 8 or 16 OHMS. $3.95 NEW! JUMBO RED LED'S NewbyG.E. Like MV5024 //SSL-22 6 FOR $1 25 FOR $3.75 RCA HOUSE #2N3772 NPN Power Transistor. 30 AMP. 150 W. VCEO-60. TO-3. Vastly out performs 2N3055. Reg. List $3.04 2 FOR $1 tfS^ 4K STATIC RAM'S ^Efyf 2114. The industry standard. 18 PIN DIP. Arranged as IK X 4. Equivalent to FOUR 21L02's in ONE package! TWO chips give IK X 8, with data. 2 FOR $24 450N.S.! 8 FOR $85 MOTOROLA 7805R VOLTAGE REGULATOR Same as standard 7805 except 750 MA OUTPUT. TO-220. 5VDC OUTPUT. $ .44 each 10 FOR $3.95 450 NS! 2708 EPROMS 450 NS! Now Full Speed! Prime new units from a major U.S. Mfg. 450 N.S. Access time. IK x 8. Equiv. to 4 1702 A's in one package! Special Offer: $12.95 ea. when purchased with our 16K EPROM Kit. $15.75 ea. Z - 80 PROGRAMMING MANUAL By MOSTEK, the major Z - 80 second source. The most detailed explanation ever on the workings of the Z - 80 CPU CHIPS. At least one full page on each of the 158 Z - 80 instructions. A MUST reference manual for any user of the Z - 80. 300 pages. Just off the press! A D.R.C. exclusive! $12.95 ^ PRICE WAR! + 21L02-1 LOW POWER RAM! Prime. 500 N.S. FAST! 8 FOR $9.95 8 POSITION DLP SWITCH By CTS.Fits 16 Pin Socket. $1.95 TERMS: ORDERS UNDER $15 ADD $ .75. NO C.O.D. WE ACCEPT VISA, MASTER CHARGE AND AMERICAN EXPRESS CARDS. MONEY BACK GUARANTEE ON ALL ITEMS. TEXAS RESIDENTS ADD 5% SALES TAX. Digital Research Corporation V P. O. BOX 401247 • GARLAND, TEXAS 75040 • (214) 271-2461 CALL FOR OUR CATALOG! WE PAY POSTAGE! J Circle 41 on inquiry card. BYTE February 1978 189 What's New? LSI-11 Based Floppy Disk System SYSTEMS 6800 Based System for OEMs i -j Designed especially for original equipment manufacturers, the MBC Microcomputer System comes complete with a keyboard and 6 digit hexadecimal display, a system monitor, general pur- pose board, four slot motherboard and flexible mounting system. The mounting frame, which will accept three peripheral boards, is provided with brackets to allow for front, back, side or 19 inch rack panel mounting. The main com- puter board has room for up to 768 bytes of programmable memory, 2.5 K bytes of read only memory, and a cur- rent loop, RS232 and cassette interface. The M68-MBC is $695 from Electronic Product Associates Inc, 1157 Vega St, San Diego CA 92110, (714) 276-8911." Circle 641 on inquiry card. Integrated Package Based on LSI-11 The LSI based system includes a large backplane, dual drive floppy disk and and power supply all in one package. The SS-11/15 is available in a single 10.5 inch rack or a tabletop mount- ing enclosure, and includes a 15 quad slot backplane, console interface and switch register, diagnostic and boot- strap ROM bus terminator, and dis- tributed refresh controller. The system is compatible with Digital Equipment Corp software such as the RT-1 1 and RSX-11/S operating systems and multi- user BASIC, FORTRAN, and MACRO- 11. The SS-11/15 is backed by a one year warranty and is delivered with all unused card slots occupied by bus grant continuity boards to simplify testing of custom interfaces, from Unicomp lnc, 8950 Westpark, Suite 312, Houston TX 77063, (713) 782- 1750." Circle 640 on inquiry card. A New Single Board Z-80 Computer Monolithic Systems Corporation has introduced the SBC-80 Multibus com- patible computer featuring 8 K bytes of static programmable memory and 8 K of erasable programmable read only memory sockets with serial and parallel IO ports. Designated the MSC 8001, the single board computer uses the Z-80 processor and has up to 4 MHz clock speed. It is electrically and mechanically compatible with the SBC 80 systems, operating as a master module in the Multibus scheme. The two parallel IO ports consist of parallel peripheral interface circuits with buffers and terminators to protect all internal MOS circuitry. A total of 48 lines are available. They can be con- figured for either positive or negative logic signals. The serial IO port of the MSC 8001 supports RS232C, TTL or current loop compatible serial IO devices with pro- grammable data transfer rate. Asyn- chronous and synchronous data formats can be programmed. The current loop interface is optically isolated to protect the MSC 8001 from transients or ground loops caused by peripheral equipment. Real time processing is provided with the 8253 interval timer. The timer con- tains three 16 bit counters which operate independently. One is dedicated to the serial IO port and the other two are available for general use. The unit pro- vides eight levels of fully vectored priority interrupts. The memory is available with either 4 K or 8 K of stan- dard 18 pin, 4 K x 1 static program- mable memory. The MSC 8001 single board com- puter is $845, including all interface elements and 8 K bytes of programmable memory. Contact Dick Lorimor, Monolithic Systems Corporation, 14 Inverness Dr E, Englewood CO 801 1 0, (303) 770-7400." Circle 637 on inquiry card. This dual drive floppy disk system is available with or without an integral LSI -1 I processor and is said to be identical in function to the PDP-11 V03. The Micro-Flop 11 uses the Shugart SA800 disk drive with the SA850 double sided disk available as an option. The disk controller features a dedicated 8080 microprocessor which implements a disk self-test feature independently of the LSI-11. A front panel console, 10.5 inch (26.7 cm) enclosure, and the Digital Equipment Corporation H9270 backplane are included. The Micro-Flop 11 is $3,350 without the LSI-11 and $4,290 with the LSI-11 included, from Charles River Data Systems, 235 Bear Hill Rd, Waltham MA 02154, (617) 890-1700." Circle 638 on inquiry card. Commodore Ships First PET Computers The PET computer made its debut recently as the first 100 units were shipped to- waiting customers in mid October 1977. Here Commodore Systems Division Director Chuck Peddle is pictured with the PETs undergoing final checkout. Shipments were made about six weeks later than expected, according to Peddle. The delay was due in part to time consuming quality con- trol measures and the material flow problem in starting up the production lines. "In this business," Peddle argued, "six weeks is actually pretty good." Many of the first units were delivered to customers who intend to develop soft- ware for the PET. Commodore plans to create a publishing house for programs developed by users as well as employees. The company plans to increase pro- duction of the PET computers to several thousand per month by early 1978. The basic PET with 4 K memory is priced at $595, while the 8 K memory version is $795, from Commodore Business Machines Inc, 901 California Av, Palo Alto CA 94304, (415) 326-4000." Circle 639 on inquiry card. 190 BYTE February 1978 Hobby Computer Kits • • • 1 MODEM Part no. 109 Type 103 Full of half duplex Works up to 300 baud Originate or Answer No coils, only low cost components TTL input and output Connect 8 ohm speaker and crystal mic. directly to board Uses XR FSK demodulator Requires +5 volts Board only $7.60, with parts $27.50 2 RS-232/TTL INTERFACE Part no. 232 Converts TTL to RS-232, and converts RS-232 to TTL Two separate circuits Requires + 12 and -12 volts All connections go to a 10 pin gold plated edge connector Board only $4.50, with parts $7.00 3 TAPE INTERFACE Part no. 11 1 Play and record Kansas City Standard tapes Converts a low cost tape recorder to a digital recorder Works up to 1200 baud Digital in and out are TTL Output of board connects to mic. input of recorder Earphone of recorder connects to input on board Requires +5 volts, low power drain No coils Board only $7.60, with parts $27.50 4 TELEVISION TYPEWRITER Part no. 106 Standalone TVT 32 char/line, 16 lines, modifications for 64 char/line included Parallel ASCII (TTL) input Video output IK on board memory Output for computer controlled curser Auto scroll Non destructive curser Curser inputs: up, down, left, right, home, EOL, EOS Scroll up, do wn Requires +5 volts at 1.5 amps, and - 12 volts at 30mA Board only $39.00, with parts $145.00 5 UART and BAUD RATE GENERATOR Part no. 101 Converts serial to parallel and parallel to serial Low cost on board baud rate generator Baud rates: 110, 150,300, 600, 1200, and 2400 Low power drain +5 volts and - 12 volts required TTL compatible All characters contain a start bit, 5 to 8 data bits, 1 or 2 stop bits and either odd or even parity All connections go to a 44 pin gold plated edge connector Board only $12.00, with parts $35.00 6 RF MODULATOR Part no. 107 Converts video to AM modulated RF, Channels 2 or 3 Power required is 12 volts AC C. T., or +5 volts DC Board only $4.50, with parts $13.50 4K/8K STATIC RAM Part no. 300 8K Altair bus memory Uses 2102 Static memory chips 2-4K Blocks Blocks can be addressed to any of 16 4K sections Vector input option TRI state buffered Board only $22.50, with parts $160.00 TIDMA Part no. 112 Tape Interface Direct Memory Access Record and play programs without bootstrap loader (no prom) Has FSK encoder/decoder for direct connections to low cost recoder at 625 baud rate, and direct connections for inputs and outputs to a digital recorder at any baud rate S- 100 buss compatible Comes assembled and tested for $160.00 APPLE 1 MOTHER BOARD Part no. 102 10 slots ~44 pin (. 156) connectors spaced % inch apart Connects to edge connector of computer Pin 20 and 22 connects to X & Z for power and ground Board has provisions for by-pass capacitors Board costs $15.00 7 D.C.POWER SUPPLY Part no. 6085 Board supplies a regulated +5 volts at 3 amps., +12, ~ 12, and ~5 volts at 1 amp Board has filters, rectifiers, and regulators 'Power required is 8 volts AC at 3 amps., and 24 volts AC C. T. at 1.5 amps Board only $12.50 TO ORDER Mention part number and description. For parts kits add "A" to part number. Shipping paid for orders accompanied by check, money order, or Master Charge, BankAmericard, or VISA number and signature. Shipping charges added to C.O.D. orders, Calif, res. add 6.5% for tax. Parts kits include sockets for all ICs, components, and circuit board. Documentation is included with all products. Dealer inquiries invited. ELECTRONIC SYSTEMS P.O. Box 212, Burlingame, CA 94010 (408) 374-5984 Circle 47 on inquiry card. BYTE February 1978 191 What's New? SYSTEMS etc Low Cost 16 Bit Microprocessor Development System This low cost development system (LCDS) lets the user gain experience with and develop programs for the 16 bit PACE microprocessor for a basic cost of only $585. Fully assembled on a printed circuit card, the LCDS includes the microprocessor, 1 K 1 6 bit words of pro- grammable memory, sockets for 1 K words of programmable read only memory, a 20 key dual function key- board, a six digit light emitting diode dis- play, a timer, input output buffers and bidirectional transceivers. On board ROM contains a system monitor for the keyboard, display, and control of input output subroutines. Both a 20 mA cur- rent loop interface and an RS232 port are provided. Three prewired, 72 pin sockets allow for additional memory or for expansion of the LCDS interface bus. Expansion boards may be plugged di- rectly into these sockets, or a prewired cable assembly can be used to connect the unit to an expansion chassis. Maxi- mum system memory is 60 K words. The LCDS microprocessor can be isolated from the system bus, allowing an exter- nal PACE to use LCDS memory and peripherals. This feature makes it easier to check out prototyping hardware as it is developed. Documentation includes an 80 page Microprocessor System Design Manual , a 96 page LCDS User's Manual, a 11 2 page Assembly Language Program- mer's Manual , data sheets and schematic drawings. The unit requires a 5 V power supply delivering 2.8 A plus additional current for any memory expansion cards, and a 12 V supply for the RS232 interface. The LCDS is priced at $585; expansion options include the IPC-16C/ 011 card including 1 K words of pro- grammable memory for $170, the IPC- 16C/01 2B card providing sockets for 2 K words of read only memory for $139, and the IPC-16P/802 expansion cable assembly for $145, from National Semi- conductor Corp, 2900 Semiconductor Dr, Santa Clara CA 95051, (408) 737-5000.- Circle 642 on inquiry card. Correction On page 208 of the December 1977 BYTE we gave the incorrect address for ordering Hewlett-Packard's HP-01 wrist- watch calculator. The unit is presently being marketed only through jewelry stores. To obtain the name of the store nearest you, call toll free (800) 648-71 1 1 ; in Nevada, call 329-2700. Our thanks to HP's Mike Rosenthal for this information. • For Z-80 Users The Z80-PDS program development system includes a floppy disk drive with up to 300 K bytes of online storage, 3K bytes of read only memory and 16 K bytes of programmable memory, and serial IO with RS232 or strappable current loop interface. Software for the system includes a disk resident oper- ating system, editor, assembler, debugger and file handling utilities. The Z80-PDS can be used with any standard CRT or hard copy terminal at data rates from 110 to 19,200 bps. The system may also connect directly to a soon to be available optional keyboard and video monitor by means of the Z80-VDB video display board. Other optional modules are the Z80-PPB programmer board, Z80-IOB input output board, and the Z80-SIB serial IO board. The card enclosure measures 15 by 10 by 4 inches and weighs only 5 pounds, while the disk unit, 16 by 4.75 by 9 inches, weighs 10 pounds. The program development system is priced at $2850 in single quantities from Zilog, 10460 Bubb Rd, Cupertino CA 95014, (408) 446-4666.« Circle 643 on inquiry card. COSMAC Based Kit Aimed at Hobbyist . This low cost hobby computer kit features video display and audio cassette recorder IO as well as a low level inter- pretive programming language especially designed for the creation of compact games and graphics. The COSMAC VIP is based on theCDP1802 microprocessor and uses the CDP1861 video chip to con- trol the video display. The VIP is built on a single 8.5 by 1 1 inch printed circuit card and provides 2 K bytes of program- mable memory using 4 K bit static memory chips, and 512 bytes of read only memory containing a monitor program which permits the user to examine and alter memory, save and load programs on cassette tape, and examine the processor registers. The cassette interface operates at 100 bytes per second using any reasonably good audio cassette recorder. The CHIP-8 programming language simplifies the task of programming video games in hexadecimal code. CHIP-8 has 31 instructions in a 2 byte format for functions such as displaying a pattern on the video display, generating a random number, sounding a tone, etc, and provides 16 one byte variables and subroutine nesting capability. Mem- ory expansion to 4 K bytes and parallel IO expansion to 19 lines can be achieved by inserting additional integrated cir- cuits on the printed circuit board, and additional memory and peripherals can be added through the 44 pin memory and input output expansion connector sockets on the board. The VIP user's manual, said to be written by a hobbyist for hobbyists, contains detailed informa- tion on kit assembly, operating proce- dures, CHIP-8 programming techniques, test programs and trouble shooting hints, and system expansion instruc- tions. The manual also includes program listings for 20 video games which can be immediately entered and played by the user without having to learn program- ming. Priced at $275, the COSMAC VIP is available from RCA Solid State Divi- sion, POB 3200, Somerville N| 08876, (201) 685-6423. • Circle 644 on inquiry card. 192 BYTE February 1978 E PLETE SAJT 3 N IS OUR GUARANTEE YOUR COMPLETE SATISFACTION IS OUR GUARANTEE YOUR COMPLETE SATISFACTION ™- HUGE DISCOUNTS! S i i Savings up to 70% on major brand IC parts and computer kits. 741400 TTL 74LJ00 $ .21 74L$93 .52 74LS02 .21 74L$109 .35 74LS04 .24 74LS112 .36 74L$08 $ .21 74LS113 .36 74LS10 .21 74LI114 .36 74LS14 .85 74LS125 .46 74LI20 .23 74LS126 .46 74L$21 .23 74LS132 .75 74L$22 .23 74LS138 .70 74LS30 .23 74LS139 .70 74LS32 .30 74LJ151 .65 74LS37 .31 74L$153 .66 74LS38 .31 74L$154 1.00 74L$42 .60 74LI157 $.62 74L$47 .75 74LS160 .82 74LJ48 .72 74LS161 82 74L$73 .35 74LS162 .82 74LS74 .3b 74L$163 »? 74L$75 .53 74L$164 .98 74LS76 .3/ 74UI174 .75 74L$86 .36 74LS175 .79 74LS90 .52 74LS190 90 74L$92 .52 74LS191 .90 74LS192 .90 74LS196 .80 74LS197 .80 74LS221 1.06 74LS257 .71 74LS258 74LS266 74 L $283 74L$365 74L$366 74L$367 74L$368 74LS386 81L$95 81L$96 81L$97 81L$98 KITS 28.00 28.00 WAMECO S-100 P.C. Boards 8K RAM I Z-80 CPU 12-Slot Mother Board ITHACA AUDIO S-100 P.C. Boards 8K RAM Z-80 CPU SOLID STATE MUSIC S-100 Kits & Bare Boards MB-3 2K/4K EPROM Uses 1702A EPROMS Kit w/oEPROMS 59.95 MB-4 4K STATIC RAM Kit 95.00 Bare Board 25.95 i MB6A 8K STATIC RAM Kit $179.95 Bare Board 25.95 | MB7 16K STATIC RAM Kit 435.00 Bare Board 25.95 MB8 8K/16K EPROM Uses 2708's Kit Less EPROMs 75.95 LM 301H LM 301AH LM 301AM LM 304H LM 305H LM307M LM 308H LM 308AH LM 308N LM311M LM311N LM 311H LM312H LM 317H LM317K LM 318M LM 319H LM 321H LM 322H LM 324N LM325H LM 339N LM 343H .35 .38 .30 1.00 $ .60 .30 1.00 .95 1.00 .90 .85 .90 1.25 3.45 3.70 1.15 1.25 2.02 2.02 .72 2.25 .99 2.99 LM 358M -99 LM379M 3.99 LM 380M .99 LM 380N .75 LM 381N 1.79 LM 386N .99 LM 387N .69 LM 3900N .40 LM 555M 39 LM 556N .88 LM 567M 1.25 LM 723N .49 LM 741H $ .35 LM 741M .19 LM 747H .79 LM 747N .79 LM 1458M .59 LM 14558H .55 LM 4250CH .89 LM 309H LM 309K LM 320H-5 LM 320H-6 LM 320H-8 LM 320H-12 LM 320H-15 LM 320H-18 LM 320H-24 LM 320K-5 LM 320K-6 LM 320K-8 LM 320K-12 LM 320K-15 1.10 .99 1.19 1.19 1.19 1.19 1.19 1.19 1.19 1.35 LM340T-8 $1.75 LM340T-12 1.75 LM340T-15 1.35 LM340T-18 1.35 LM340T-24 5716 W. Manchester Ave. Suite #5 Los Angeles, CA 90045 TELEPHONE ORDERS: Call (213) 641-4200 □ Send your complete catalog, quickly. □ Please send me the following items I have listed below: Stock No. Qty. Price Postage/Handling $1.50 State- _Zip_ Satisfaction 100% Guaranteed California Residents Add 6% Sales Tax Note: Minimum Order $10.00, 5% Discount over $100.00 NEW 1978 IC MASTER Over 40,000 IC's listed. Over 2,000 pages. Updated every 90 days. Retail Value $55.00 Your Price $ 48.50 IS OUR GUARANTEE YOUR COMPLETE SATISFACTION IS OUR GUARANTEE YOUR COMPLETE SATISFACTION IS OUR GUARANTEE What's New? Brochure Describes Analog Peripherals PUBLICATIONS Guide Cross Indexes Personal Computing Magazines The January to June Periodical Guide for Computerists indexes 1080 articles from 23 hobby and professional com- puter publications. Articles, editorials, book reviews, and letters from readers which have relevance to the personal computing field are indexed by subject under 90 categories. The 32 page book is available postpaid for $3 from E Berg Publications, 1360 SW 199th Ct, Aloha OR 97005, (503) 649-7495, or from local computer stores.* Circle 645 on inquiry card. Guide to Small Business Computers The Beginner*! Guide lb Small Business Computers This free brochure, said to unravel the mysteries of small business com- puting systems, details a step-by-step approach to matching computer capa- bilities with business needs. Copies are available from Digital Equipment Corporation, Communications Services, Brochure EA 07430, 444 Whitney St, Northboro MA 01532, (617) 897-5111." Circle 646 on inquiry card. Computerlogue Stardated Fall 1977 StardateFALL 1977 This 22 page microcomputer catalog includes products from all the major manufacturers. Separate prices are given for credit card purchases and for cash purchases, which receive a discount. Computerlogue is available from Com- puter Enterprises, POB 71, Fayetteville NY 13066, (315) 637-6208." Circle 647 on inquiry card. Signature Analysis: A New Applications Note from Hewlett-Packard Signature analysis is a new technique for debugging microcomputer circuitry and other circuitry designed around bus architecture. Data bit streams, which are common in this type of architecture, present special problems when fault analysis is required. Hewlett-Packard details some of the new techniques used in signature analysis in its free 50 page Applications Note 222, available from the Inquiries Manager, Hewlett-Packard Company, 1501 Page Mill Rd, Palo Alto CA 94304, (415) 493-1501." Circle 648 on inquiry card. Bubble Memory Report This report analyzes the impact of bubble memory technology on end user products such as point of sale ter- minals and word processors, program- mable calculators and home computers and the implications for competitive memory systems such as cassettes and disks, charge coupled devices and MOS memory. A complete facilities plan for production of bubble memories is included. Other reports such as "Small Business Systems Industry Report" and "Data and Word Processing Oppor- tunities in the Automation of Legal Work" are also available. The bubble memory report is $995 from Small Business Systems, 4320 Stevens Creek Blvd, Suite 230, San Jose CA 95129 (408) 243-8121. ■ Circle 649 on inquiry card. ''"■'•'-nniYnW i '.r y nana. This 16 page brochure provides the specifications for the SineTrac 800 series of data acquisition cards for the Intel MDS-800 and SBC-80/20/10 microcom- puters. Accepting 32 or more analog channels, the high speed SineTrac 800 communicates over the processor bus as an addressable 10 device. The brochure is available from Datel Systems Inc, 1020 Turnpike St, Canton MA 02021, (617) 828-8000." Circle 650 on inquiry card. At Last, a Microcomputer Troubleshooting Manual What do you do when your newly assembled microcomputer kit doesn't work? Thousands of hobbyists un- doubtedly have been in this predica- ment, and most learn the art of trouble- shooting digital circuits the hard way. This manual, written by a test engineer and technical writer, may provide a short cut. It offers general hints and specific procedures for finding and curing common problems arising with the components of microcomputer sys- tems. Separate sections treat general problem solving approaches, trouble- shooting newly assembled equipment, and fixing a system which has worked properly prior to the latest failure. Typical problems with processor boards, memory boards and television interface boards are treated in some detail. A glossary of terms and a list of recom- mended component suppliers is in- cluded. $5 from Micro-Info Associates, POB 849, Castroville CA 9501 2." Circle 651 on inquiry card. Notes for Altair Computer Users Computer Notes is a monthly publi- cation for owners of Altair computers, providing tutorial articles, hints and project ideas. The September 1977 issue includes articles on building your own video display and on robot mechanics. Computer Notes is free to Altair com- puter owners; 50 cents per issue or $5 per year from MITS Inc, 2450 Alamo SE, Albuquerque NM 87106." Circle 652 on inquiry card. 194 BYTE February 1978 DIODES/ZENERS SOCKETS/BRIDGES TRANSISTORS, LEDS, etc. 1N914 100v 10mA .05 8-pin pcb .25 ww .45 2N2222 NPN (Plastic .10) .15 1 N4005 600v 1 A .08 14-pin pcb .25 ww .40 2N2907 PNP .15 1N4007 1 OOOv 1 A .15 16-pin pcb .25 ww .40 2N3906 PNP .10 1N4148 75v 10mA .05 18-pin pcb .25 ww .75 2N3054 NPN .35 1N753A 6.2v z .25 22-pin pcb .45 ww 1.25 2N3055 NPN 1 5A 60v .50 1N758A 10v z .25 24-pin pcb .35 ww 1.10 T1P125 PNP Darlington .35 1N759A 12v z .25 28-pin pcb .35 ww 1.45 LED Greer , Red, Clear .15 1N4733 5.1v z .25 40-pin pcb .50 ww 1.25 D.L.747 7 seg 5/8" high com-anode 1 .95 1N5243 13v z .25 Molex pins .01 To-3 Sockets .45 XAN72 7 seg com-anode 1.50 IN 5244 B 1N5245B 14v z 15v z .25 .25 2 Amp Bridge 100-prv 1.20 25 Amp Bridge 200-prv 1.95 FN D 359 Red 7 seg com-cathode 1.25 CMOS - T T L - 4000 .15 7400 .15 7473 .25 74176 1.25 74H72 .55 74S133 .45 4001 .20 7401 .15 7474 .35 74180 .85 74H101 .75 74S140 .75 4002 .20 7402 .20 7475 .35 74181 2.25 74H103 .75 74S151 .35 4004 3.95 7403 .20 7476 .30 74182 .95 74H106 .95 74S153 .35 4006 1.20 7404 .15 7480 .55 74190 1.75 74S157 .80 4007 .35 7405 .25 7481 .75 74191 1.35 74 LOO .35 74S158 .35 4008 .95 7406 .35 7483 .95 74192 1.65 74L02 .35 74S194 1.05 4009 .30 7407 .55 7485 .95 74193 .85 74L03 .30 74S257I8123) .25 4010 .45 7408 .25 7486 .30 74194 1.25 74L04 .35 4011 .20 7409 .15 7489 1.35 74195 .95 74L10 .35 74LS00 .35 4012 .20 7410 .10 7490 .55 74196 1.25 74L20 .35 74LS01 .35 4013 .40 7411 .25 7491 .95 74197 1.25 74L30 .45 74LS02 .35 4014 1.10 7412 .30 7492 .95 74198 2.35 74L47 1.95 74LS04 .35 4015 .95 7413 .45 7493 .40 74221 1.00 74L51 .45 74LS05 .45 4016 .35 7414 1.10 7494 1 .25 74367 .85 74L55 .65 74LS08 .35 4017 1.10 7416 .25 7495 .60 74L72 .45 74LS09 .35 4018 1.10 7417 .40 7496 .80 751 08A .35 74L73 .40 74LS10 .35 4019 .60 7420 .15 74100 1.85 75110 .35 74L74 .45 74LS1 1 .35 4020 .85 7426 .30 74107 .35 75491 .50 74L75 .55 74LS20 .35 4021 1.35 7427 .45 74121 .35 75492 .50 74L93 .55 74LS21 .25 4022 .95 7430 .15 74122 .55 74L123 .55 74LS22 .25 4023 .25 7432 .30 74123 .55 74H00 .25 74LS32 .40 4024 .75 7437 .35 74125 .45 74H01 .25 74S00 .55 74LS37 .35 4025 .35 7438 .35 74126 .35 74H04 .25 74S02 .55 74LS40 .45 4026 1.95 7440 .25 74132 1.35 74H05 .25 74S03 .30 74LS42 1.10 4027 .50 7441 ■ 1.15 74141 1.00 74H08 .35 74S04 .35 74LS51 .50 4028 .95 7442 .45 74150 .85 74H10 .35 74S05 .35 74LS74 .65 4030 .35 7443 .85 74151 .75 74H11 .25 74S08 .35 74LS86 .65 4033 1.50 7444 .45 74153 .95 74H15 .30 74S10 .35 74LS90 .95 4034 2.45 7445 .65 74154 1.05 74H20 .30 74S11 .35 74LS93 .95 4035 1.25 7446 .95 74156 .95 74H21 .25 74S20 .35 74LS107 .85 4040 1.35 7447 .95 74157 .65 74H22 .40 74S40 .25 74LS123 1.00 4041 .69 7448 .70 74161 .85 74H30 .25 74S50 .25 74LS151 .95 4042 .95 7450 .25 74163 .95 74H40 .25 74S51 .45 74LS153 1.20 4043 .95 7451 .25 74164 .60 74H50 .25 74S64 .25 74LS157 .85 4044 .95 7453 .20 74165 1.50 74H51 .25 74S74 .40 74LS164 1.90 4046 1.75 7454 .25 74166 1.35 74H52 .15 74S112 .90 74LS367 .85 4049 .70 7460 .40 74175 .80 74H53J .25 74S114 1.30 74LS368 .85 4050 .50 7470 .45 74H55 .25 4066 4069 .95 .40 7472 .40 4071 .35 LINEARS, REGULATORS, etc. 4081 .70 8266 .35 LM320K5 17905) 1.65 LM340T24 .95 LM723 .50 4082 .45 MCT2 .95 LM320K12 1.65 LM340K12 2.15 LM725 1.75 8038 3.95 LM201 .75 LM320T5 1.65 LM340K15 1.25 LM739 1 Rn 9000 SERIES LM320T12 1.65 LM340K18 1^25 LM74K8-141.25 9301 .85 LM301 .25 LM320T15 1.65 LM340K24 .95 LM747 1.10 9309 .35 LM308(Mini) .75 LM339 .95 LM373 2.95 LM1307 1.25 9322 .85 LM309H .65 7805 (340T5) .95 LM380 .95 LM1458 .95 95H03 .55 LM309K (340K-5) .85 LM340T12 1.00 LM709 (8,14 PIN) .25 LM3900 .50 9601 .75 LM310 1.15 LM340T15 1.00 LM711 .45 LM75451 .65 9602 .50 LM311D (Mini) .75 LM318 (Mini) .65 LM340T18 1.00 NE555 NE556 NE565 .50 .95 .95 MEMORY CLOCKS 74S188(8223) 3.00 1 702A 6.95 MM5314 3.00 MM5316 3.50 INTEGRATED CIRCUITS UNLIMIT ED NE566 NE567 1.75 1.35 2102-1 1.75 7889 Clairemont Mesa Boulevard, San Diego, California 9211 2102L-1 1.95 TR 1602B/ (714) 278-4394 (Calif. Res.) SPECIAL DISCOUNTS TMS 6011 6.95 8080AD 1 5.00 8T13 1.50 8T23 1 Rfl All orders shipped prepaid No minimum Total Order Deduct Open accounts invited COD orders accepted sioo $300 10% Discounts available at OEM Quantities California Residents add 6% Sales Tax $301 $1000 15% 8T24 2.00 All IC's Prime/Guaranteed. All orders shipped same day received. $1000 -Up 20% 2107B-4 4.95 24 Hour Toll Free Phone 1 800-854 2211 MasterCharge / BankAmericard / AE Circle 59 on inquiry card. BYTE February 1978 195 COMPU TIME CT lOO COMPU/TIME offers A Real Darn Clever Enhancement to users of IMSAI/ALTAIR Microprocessors S100 BUS COMPATIBLE TIME & CALENDAR COMPU/TIME CT100 $199 Kit COMPU only C101 $149 Kit TIME only T102 $165 Kit COMPU/TIME PC Board only MM16EPROM $245 Assembled $189 Assembled $205 Assembled $ 80 • Utilizing up lo 16 2708 EPROMS • S 100 Bus Computer Systems • Memory capacity ol 8K or !6K bytes by DIP • 8K boundary addressing by DIP Switch • to 4 wait cycles by DIP Switch • Data output address input nnes fully bullered • Hi-giade giass-epoxy with ptated-thru holes ■ Epony solder masked $ 99.00 FCS 8000A - 3W Oign Nl* lb Cm «r\ion witn colon A IMS' e Display ifiONl vifW ISL8000 SPECIAL $4.95 EA. . MAXIMUM i :.HW*nr, cuhkehi » mA 8mA ciCCpt colon IQ n SLIT N-WRAP WIRE WRAP TOOL • Slits and opens insulation exposing Date wire • No pre cutting ... p'e stripping • Comes .;oTioieie with tv,o 1 00 ft spoois *?B AWG wire Modsl P180 124 50 Plugboards 8600V Universal Microcomputer/ Processoi plug boa if) use with 5 100 Du& complete *»tn "eal Sink & laiowaie 53 t 10« 1 16 $19.95 channel: F y $129.95 mmo0U> y*xo t*/rx/mm*rr tn/at • Freeze Action . Speed Opiion • Automatic: time and storekMpmg • Battery tree AL operation Dual controls with 8-way action Built in Pio Hockey and Tennis games fcasy hook-up on any BW or Color TV Factory warranty Channel F - idrjlllonal cartridges - $17.95 ea. ■» ~g* { , „, , „,„„, Spawwii il waytn. 0819 - Drag strip |1 or 2 playflrs Mjflic Numo«rv 0820 Mil* (.- pUytrsl 08)2 OtMrt lot Shooting Gjliiry icompiilfl' logic i 0822 - Bawtwll (2 ptjyai I » 95 ao 7? ■» i* 9b to 11 ft /% 95 •4 ao 71 M, 140 I 25 l ot in m t St 1 40 I2YJ 89 I C SOCKETS Lo Protil*-Sold»f Tin 124 25-99 100 999 IKS. U i hi IS 14 13 12 114] <"l ?0 16 14 nai ?S 20 18 16 I1BI ?t ?r 76 ?0 1201 T» 31 30 719 1721 V, .15 34 it (Ml 36 )5 JJ 299 1311 44 13 4" 367 1401 60 59 5 7 493 7400 TTL Series 7402 7403 7404 7405 7406 7407 7408 7409 7410 741 1 7412 7413 74 10 7417 7420 7422 7425 7426 7427 7428 74 29 7430 74 32 7433 7437 7438 7439 7440 74LSOO 74LS01 74LS02 ILS03 74LS04 74LSO'_> 74LS0B 74LSI0 74LS1I 74LS12 74LS13 74 LSI 4 74 LSI 5 74LS20 74LS21 74LS22 74LS26 74LS27 74LS28 74LS30 74LS3? 74LS37 74LS33 74LS40 74LS42 74LS47 74LS48 74LS5I 74LS52 74LS54 74LS5S 34001 40 4000 25 4001 25 4002 25 4004 3 50 4006 1 40 4007 20 7442 50 20 7443 1.20 20 7445 1.05 20 7446 105 25 7447 .85 .35 7448 95 35 7450 20 25 7451 .20 ■ 25 7453 .20 20 7454 20 25 7460 20 40 7470 .40 .75 7472 .35 35 7473 40 .40 7474 .40 .20 7475 .70 .75 7476 . .40 .35 7479 2.00 .30 7480 .69 .35 7482 1.50 .40 7483 .85 .40 7485 1.10 .25 7486 40 .30 7489 2.25 .40 7490 55 .30 7491 1.10 35 7492 60 36 7493 .60 20 7494 .85 7495 90 7496 7497 74100 74107 74109 74110 74116 74120 74121 74122 74123 74125 74126 74128 74132 74136 74141 74142 74144 74145 74147 74148 74150 74151 74153 74154 74155 74156 74157 74158 74159 74160 74161 74162 74163 " 64 241 Ml 65 74166 74167 74170 74172 74173 74174 74175 74176 74177 74180 74181 1.30 1.30 1.90 1.50 3.00 2.00 9.75 1.50 1.10 1.20 1.50 4.00 1.10 2.50 741B5 74LS00 74LS6Q 29 74LS73 49 74LS74 49 74LS75 59 74LS76 49 74LS78 65 74LS83AN 1 75 74LS8S 2.25 74LS8G 74LS90 74LS92 74LS93 74LS95 74LS96 74LSI07 74 LSI 03 74LS1I2 74LS11.1 74LSI14 74LS122 74L5123 74LS124 74LS125 74 LSI 26 74LSI32 74LS136 .69 74LS138 74LSt39 74LSI5I 74LS153 '4LS154 74 LSI 5b J4LS156 74LSI57 74 LSI 58 74 LSI 60 74LS161 74L5K,? MLS1G3 74 LSI 04 74LSIG5 M LSI 66 74 LSI 68 74LSIG9 74 LSI 70 741.5173 74LS174 74 LSI 75 74LS18I 74LS189 74LSI90 74LS191 741L_ 74190 74191 74192 74193 74194 74195 74196 74197 74198 74199 MLS192 74LS193 74L5194 ?4LSt95 74LS196 74LS197 74LS221 74LS240 74LS241 1415242 74LS243 74LS244 MLS247 /4LS24H 74LS251 MLS2S3 74LS25.7 mi. :.;?;-,» MLSl'50 /-ILS'^IjO 74LS266 74LS27',! 74LS279 74LS283 MLS2H9 74LS290 MLS293 ?4LS295 74LS798 /■1LS35? J4LS3G7 74LS390 /4LS670 2.00 2.00 12.00 CMOS 4009 4010 4011 4012 4013 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4026 4029 4030 4032 4033 4034 4035 4038 4040 4042 4043 4044 4045 4046 404 7 1 25 4051 1.10 4518 1 65 4052 1 10 4519 90 4053 1.10 4520 1 65 4060 3.25 4521 .126 4061 700 4522 1.76 4063 7.50 4527 3.00 4066 85 4528 1 7S 4067 600 4583 1.45 MM74CW4M 4072 4073 4075 4076 4077 ■1078 4089 3 00 4093 1 75 4098 2 50 4160 I 75 4162 1.75 4163 I 7S 4174 1 75 4175 1 60 4194 I HO 4501 :w 4502 1.75 4503 I 16 4506 70 mmtaloon ja mmmco:n Me MMJ4C04M IB MM74Coa9 39 300 LM4750CN 1.M4250CN LM4558N LM555GN IM5558N 200 200 75 1 75 1 00 LM375N 300 90 LM377N LM3B0N 2.00 1 05 LMI30SN 140 RCA LINEAR SERIES LM380N LM380N LM38IN LM382N LM386H LM387AN LM3B7N LM388N 1 05 1 05 I 75 95 LMI310M L M 1 35BN LMI414N LMI45BM LMI4S8N LMI468N LM14B8N 2 75 1 00 ■ 1 75 1.30 59 2 90 CA30I3 C A 3023 CA3035 C A 3039 CAJ046 CA3069 CA30C0 256 2 48 1 35 1.30 3 25 3.25 LMt489N 1.05 2.00 LM1550N 2.00 LM159SJ 1.60 LM1B00N LM1B08N 200 NE566T/V 1.75 200 3 SO NE567V 1.59 LM1B4BN MICROPROCESSOR CRYSTALS price FREQUENCY 1 MH; 5.95 1 8432 MH; 9.80 ?0 MHz 5.95 2.097152 MH; 8.50 2.45/6 MH: 8.50 2 667 MH7 8.50 3.00 MHz 8.50 3.20 MHz 8.50 3 7768 MHz 8.50 3 579545 MH; 1.25 4 MHz 4.95 4 MHz 4.95 4 i94304 MHz 4.95 4 91520 MHz 4.95 FOR PROCESSOR TECH 14.318 $4.95 DIP SWITCHES 4 POSITION $1.50 5 POSITION 1.60 6 POSITION 1.70 1 FKCQUCNCT 5 MHz 4 95 5 0688 MhJ 4.95 5 185 MHz 495 5 7143 MH; 4.95 6 30 MHz 4.95 6 144 MH; 4.95 6 40 MH; 4.95 6 5536 MHz 495 8 MHz 495 10 MHz 4,95 1800 MHz 4.95 18 432 MHz 4.95 .'0 MHz 4.95 -.' 1184 MH; 4 95 ■7 0MH; 495 i6 n l.'H; 4.9b' 4- 3 MH; 4 95 POSITION POSITION POSITION POSITION 1.80 2.00 2.25 2.50 WIRE WRAP CENTER HOBBY-WRAP TOOL-BW-630 Battery Operated (Size C) Weighs ONLY II Ounces Wraps 30 AWG Wire onto Stanflard DIP Sockets I 025 inch) Complete with Duiil-m bit and sleeve $34.95 WIRE-WRAP KIT — WK-2-W WRAP . STRIP . UNWRAP • Tool lor 30 AWG Wire • Roll ol 50 Ft While or Blue 30 AWG Wire • 50 pes each I 2 3 & 4 lengths pre stripped wire $11.95 ^ WIRE WRAP TOOL WSU WRAP . STRIP . UNWIUP 30 SSM WIRE WRAP WIRE — 30 AWG 50lt SI 95 lOOOtt $15.00 SPECIFY COLOR — While - Yellow ■ Red Green ■ Blue ■ Black WIRE DISPENSER — WD-30 50 II roll 30 AWG KYNAR wire wrap wire $3.45 ga. Cuts wins to desired length Slnps 1" ol insulation Saeclty - Blue-Yellow -White-Red LIQUID CRYSTAL DIGITAL CLOCK CALENDAR For Auto, Home. Ottice Small in size (2x2V4xVii Pusn buiton lor seconds lelease lor date C'ocki "iouni anywhere *.tr> etihei 3M douDie- si3eo laoeo- VELCRO .nciuded 2 MODELS AVAILABLE LCD 101 ponable model -uns on sell contained Daltenes lor bellei man a year LCD ic; 'uns on iz Vo.i System and is Da LCD-101 or LCD-102 your choice. Clear desk stand lor . $33.95 ea $2.00 MA1003, 12V DC CLOCK MODULE It in X'TAL controlled tima base. Protected eoujinn automotive volt transients. Automatic brightness con- trol with 0.3" green color display- Display turnoff wvith ignition "OFF" $17.95 Computer Products 5351 WEST 144th STREET LAWNDALE. CALIFORNIA 90260 12131 679 3313 RETAIL STORE HOURS M-F 9-7 SAT 9-5 Discounts available at OEM quantities. Add $1 25 tor shipping. California residents add 6% sales tax 1978 CATALOG NOW AVAILABLE 196 BYTE February 1978 FOR ALL CUSTOMERS EXCEPT CALIF. CALL TOLL FREE 800-421-5809 iooooocoocooooooooooooooooooocoooooooooecooooosooooi MICROPROCESSOR'! F 8 Z80 Z-80A CDP1802CD AM 2901 6502 6800 8008 1 8080 A TMS-9900TL 6100 SUPPORT 681 OP 6820P 6828P 6834P 6850P 6852P 6860P 6862P 68B0P 19.95 25.00 35.00 24 95 2295 12.95 19 95 8.75 15.95 8995 4 95 8.00 11 25 16 95 995 11.95 14.95 17 95 2 70 Z80 SUPPORT DEVICES 3881 1295 3882 12 95 f 8SUPP0RT DEVICES 3851 3853 14.95 1495 MICROCOMPUTER IOI0A SUPPORT DEVICES 8212 8214 8216 8224 8228 8238 ■8251 8253 8255 8257 8259 3.95 9.95 4.50 4.95 8.75 8.00 12.00 28.00 12.00 25.00 25 00 CHARACTER GENERATORS 2513 UP 2513 DOWN 251 3 UP I5v> 2513 D0WN(5vl MCM6571 MCM6571A MCM6572 MCM6574 MCM65#5 6 75 6.75 9.95 10.95 10.80 10.80 14.75 14 75 STATIC RAMS 124 21L02 (450) 1L02 21 LI 1 1101A 2101-1 2102 2102 1 2111 1 2112-1 5101CE 1.95 4 25 1.49' 2.95 1.25 1 50 4.00 3.00 11.95 4 10 1 29 2 75 1 15 1 30 3.50 3.25 269 12.50 11.95 WAVEFORM GENERATOR 8038 4.00 MC4024 2 50 566 1.75 LATE ADD TMS 4044 TMS 5501 itions 14.00 24.95 KEYBOARD CHIPS AY52376 13.95 AY5 3600 13 95 FLOPPY DISC CONTROLLER 17718 55.95 1771B01 59.95 1702A 5 00 2704 15.0C 2708 13. OC 2716 38 00 3601 4.5C 5203AQ 4.0C 5204AQ 6.0C 6834 16.95 6834-1 14.95 82S23B 4 OC 82238 2 70 DYNAMIC RAMS 1103 2104 2107A 2107B 2107B-4 TMS405O TMS4060 4096 4116 MM5270 MM5280 MCM6605 UART'S AY51013A AY5-1014A TR 1602A rMS-6011 IM6402 IM--6403 1 50 4 50 3 75 4.50 400 4 50 4 50 4,50 42.00 5 00 600 6 00 5.5C 8.95 5.50 695 MISC. OTHER COMPONENTS NH0025CN NH0026CN N8T2D N8T26 74367 DM8098 1488 1489 D 3207A C 3404 P 3408A P4201 MM-5320 MM 5369 DM-8130 DM8131 DM-8831 DM-8833 DM-8835 SN74LS367 SN74LS368 2.50 3.50 2.45 .90. .90 1.95 1.95 2.00 3.95 5.00 4.95 7.50 1.90 2.90 2.75 2.50 2.50 2.50 90 .90 KIM KIM 1 6502 6520 6522 6530002 6530003 6530004 6530-005 245.00 12.95 9.00 9.25, 15.96 15.95' 15.95 15 95 JADE VIDEO INTERFACE KIT FEATURES $ g g Q5 S-100 Bus Compatible 32 or 64 Characters per line 16 lines , Graphics, (128 x 48 matrix) Parallel & Compositive video On board low-power memory e included for L. Scroll Graphics/ Powerful software cursor, home, EO Character, etc. Upper case, lower case & Greek Black-on-white & white-on-black MOTHER BOARD .* 13 SLOT MOTHER BOARD w/front panel slot * S-100 DESIGN * FULL GROUND PLANE ON ONE SIDE * RC NETWORK TERMINATION ON. EVERY LINE EXCEPT PWR & GRD * KLUGE AREA * STRONG 1/8" THICK DOUBLE SIDED BOARD BARE BOARD $35.00 KIT $85.00 PERSCI DISK DRIVE FOR S-100 Info 2000 S-100 DISK SYSTEM IMP COMPLETE Info 2000 S-100 DISK SYSTEM (includes dual drive, power supply, case, intelligent controller, adapter, cables, and disk monitor on EPROM) *» RKQ nn COMPLETE TDL SOFTWARE PKG. FOR DISK $195.00 REAL TIME CLOCK FOR S-100 BUS BARE BOARD $30.00 KIT $124.95 USRT S 2350 1095 JADE PARALLEL/SERIAL INTERFACE KIT s.,00 $124.95 KIT 2 Serial Interfaces with RS232 interfaces or 1 Kansas City cassette interface. Serial interfaces are crystal controlled. Selectable baud rates. Cassette works up to 1200 baud. 1 parallel port. EDGE CONNECTORS S-100 S-100 Altair Spacing Imsai Spacing $4.45 $4.45 [THE PROM SETTER WRITE and READ EPROM 1702A-2708-2716 5204-6834 • Plugs Dirt'rlly into your ALT AIR IMSAI Computer • Inrlutlp.s Mam Module Board and External f-JPROM Sr.rkel Unit • The EPROM Sorket Unil is conneclerf lo the Com- nulrr through .i 25 Pin Connector • ProRramoimR is accomplished hy the Computer • Just Read in (he Program to he Written on the EPROM into your Processor and lei the Computer do Iheresl • Use SnckH Unit to Read EPROM"s Contents in!o your Computer • SnfM '• included rn.il Power Supplies. Your Computer does No E\ it all > DrmblPS .is .in E.Rhl Bit Parallel I/O i Manual included Driiwry J.ess thnil ian»iun • R5232C InlarUc* • Non-Glare Head Qui Scraan • Pioiaci Mod* Standard • Tab Standard $975 00 Assembled Price Includes • Block Mode • ■Lower Case • 24 Line Option • and shipping charge is on us. ooeooooaooooceoooacosesecaocoa 8K STATIC RAM BOARD ASSEMBLED & TESTED 250ns. 450ns. $199.95 $150.00 * WILL WORK WITH NO FRONT PANEL * FULL DOCUMENTATION * FULLY BUFFERED * S100 DESIGN * ADEOUATELY BYPASSED * LOW POWER SCHOTTKY SUPPORT IC S 250ns. KIT $169.95 450ns. $129.95 BARE BOARD $25 00 W/SCHEMATIC N* fcw aW ADAPT YOUR MOTOROLA 6800 SYSTEM TO OUR S-100 8K RAM BOARD. KIT PRICE $12.95 IMSAI/AL COMPATIBLE ALTAIR W _ i^JiJ JADEZ80 -with PROVISIONS for Kl ONBOARD 2706 and POWER ON JUMP (2MHZ) $135.00 EA. $149.95 EA. BARE BOARD $35.00 (4MHZ) JADE 8080 A KIT $100.00 KIT BARE BOARD $35.00 TU-l VIDEO INTERFACE You will want to know about the TV-1 Video to Televisior Interface Kit. No need to buy a separate Video Monitor if you already own a TV set. Just connect the TV-1 between your system video output and the TV set antenna terminals - that's all there is to it - to convert your TV set to a Video Monitor, and at a much lower cost! PRIPF t»R PR Computer Products 5351 WEST 144th STREET LAWNDALE. CALIFORNIA 90260 213) 679-3313 RETAIL STORE HOURS M-F 9-7 SAT 9-5 Discounts available at OEM quantities. Add $1 .25 tor shipping. California residents add 6% sales tax Circle 62 on inquiry card. BYTE February 1978 197 7400NTTL IBUGBOOK SN74O0N SN74Q1N SN7402N SN7403N SN7404N SN740SN SN7406N SN7407N SN7408N SN7409N SN7410N SN7411N SN7412N SN7413N 5N7414N SN7416N SN7417N SN7420N SN7421N SN7422N SN7423N SN7425N SN7426N SN7427N SN7429N SN7430N SN7432N SN7437N SN743BN SN7439N SN7440N SN7441N SN7442N SN7443N SN7444N SN7445N SN7446N SN7447N SN7448N SN7450N SN7451N SN7453N SN7454N SN7459A SN7460N SN7470N SN7472N .39 SN7473N .39 SN7474N .35 SN7475N 1 .SO SN7476N" .35 SN7479N 5W SN7480N ■SO SN7482N .99 SN7483N .70 SN7485N .89 SN74B6N .39 SN74B8N 3.50 SN7489N 2.49 SN7490N .45 SN7491N .75 SN7492N .49 SN7493N .49 SN7494N .79 SN7495N .79 SN7496N .79 SN7497N 3.00 SN741Q0N 1.2S SN74107N .39 SN74I09N 95 SN741I6N 1.95 SN74I21N .39 SN74122N .39 SN74123N .50 SN74125N .60 SN74126N .60 SN74132N 1?5 SN74136N .95 SN74141N 1 15 SN74M2N ?B5 SN74I43N 3.25 SN74144N 3.00 SN74145N 1.15 SN74147N 2.35 SN74148N 2.00 SN74150N 1.25 SN74151N 79 SN74153N .89 SN741S4N 1.25 SN74155N .69 SN74156N .69 SN74157N .99 SN74 1 SON SN74161N SN74162N SN74163N SN74164N SN74165N SN74156N SN74167N SN74170N SN74172N SN74173N SN74174N SN74175N SN74176N SN74I77N SN74179M SN74180N SN74181N SN74182N SN74184N SN741B5N SN741B6N SN74I87N SN74186N SN74190N SN74I9IN SN74192N SN74193N SN74194N SN74195N SN74196N SN74197N SN74198N SN74199N SN742QON SN74251N SN74279N SN742BJN SN74284N SN742B5N SN74365N SN7436BN SN743B7N SN74368N SN74399N SN74393N 20% Discount lor 100 Combined 740O's CO400O CD4001 CD4002 CD4006 CD40O7 C04009 C04010 CD4011 CD4012 C040I3 CD40I4 CD4015 CD4016 CD4017 CD40IB CO4019 CO4O20 CD4021 C04022 CD4023 C04024 C04C25 CD4026 CO4027 CD4028 C04029 C 04030 CO403S CD4040 CD4041 CD4042 CMOS .49 1.19 CD4044 CD4046 CD4047 CD4048 CD4049 CD4050 CD4051 CD4053 CD4056 CD4059 CD4060 CD406B CD4068 CD4069 CD4070 CO4071 CD4072 CD4076 CD4081 CD4082 CD4098 MC14409 MC14410 MC1441! MC14419 MCI 4506 MC14507 CD4508 CD4S10 C04511 CD4515 CD4518 14.95 14.95 4.95 CD452Q 1.29 MCI 4562 1-1.50 CD4566 2.25 MC145B3 3.50 74C00 Sarin 74C0O .39 74C02 .55 74C04 .75 74C10 .65 74C14 3.00 74C20 .65 74C30 .65 74C42 2.15 74C73 1.50 74C74 1.15 74C89 4,00 74C90 3.00 74C93 2.00 74C95 2.00 74C107 1.25 74C151 2.90 74C154 3.00 74C157 2.15 74C160 3.25 74CI61 3.25 74C163 3.00 74CI64 3 25 74CI73 260 74C193 2.75 74C195 2.75 80C95 1.50 BOC97 1.50 iM3uOH LM301H LM301CN LM302H LM304H LM305H LM307CN LM308H LM308CN LM309H LM309K . LM310CN LM311H LM311N LM317K LM31BCN LM319N LM320K-5 LM320K-5 2 LM320K-12 LM320K-15 LM320T5 LM3201-5.2 LM320T-8 LM320T-12 LM320T-15 IM320T-18 LM320T-24 LM323K-5 LM324N LM339N LM340K-5 LM340K-6 LM340K-8 LM340K-12 IM340K-15 LM340K-18 LM34QK-24 LM340T-S LM340T-6 LINEAR LM340T-8 1-25 LM340T-12 1-25 LM340T-15 1.25 LM340T-18 125 LM340I-24 1.25 LM350N 1.00 LM351CN .65 78MG 1.75 LM370N LM373N LM377N LM380N LM380CN LM361N LM3B2N NE501K NE510A NE529A NE531H NE536T NE540L NE550N NE555V NE560B NE561Q NE562B NE565H NE565N NE566CN NE567H NE567V LM703CN LH709H LM709N LM710N LM711N LM723H LM723N LM733N LIS 3.25 6.00 4.95 3.00 LM739N 1.19 LM741CH .35 LM741CN .35 LM741-14N .39 LM747H .79 LM747N .79 LM748H .39 LM748N .39 LM1303N .90 LM1304N 1.19 LM1305N 1.40 LM1307N .85 LM1310N 2.95 LM1351N 1.65 LM1414M 1.75 LM1458CN -59 LM1496N .95 LM 1556V 1.75 LM2111N 1.95 LM2901N 2.95 LM3053 1.50 LM3065N .69 LM39O0N(3401).49 LM3905N .89 LM3909 1.25 LM5556N 1.B5 MC5558V 1.00 LM7S25N .90 LH7534N .75 B03BB 4.95 LM75450 .49 75451CN .39 75452CN ,39 75453CN .39 75454CN .39 75491CN .79 75492CN .89 75494CN .89 RC4194 5,95 RC4195 3.25 74LSO0 74LS02 74LS03 74LS04 74LS05 74LS08 74LS10 74LS13 74 LSI 4 74LS20 74LS26 74LS27 74LS28 74LS30 74LS32 74LS40 74LS42 74LS47 74LS51 74L.S55 741S73 74LS74 74LS00 TTL 74LS75 74LS76 74LSB3 74LS85 74LS86 74LS90 74LS92 74LS93 74LS95 74LS96 74LSI07 74LS109 74LS1I2 74LS123 74LS132 74LS136 74LS138 74LS139 74LS151 74LS153 74LS155 74LS157 74LS160 74LS161 74LS162 74LS163 74LS1B4 74LS175 74LS181 74LS190 74LS191 74LS192 74LS193 74LS194 74 LSI 95 74LS253 74LS257 74LS260 74LS279 74LS367 74LS368 74LS670 BUQBOOKS I ind II 1 17.00 pir lot b, PUk R Rmt. Ontd 0. Linn. W*IHYJ Sow is I til inm r» Imoii duiIiw our 90 iicfxnmmij deugimt to Iwcti mt ruder iD N vHI ma to know about TTL logic chipj [o uu men « \uneaon Mill m". WHtfYJ. Jonilflin A. Tltui Here is the knot that puis II ill together Besides rumng much viltaDle B080 chip pin By pin md int induces you 10 the Mart 80 microcomputer unique easily mltrliceil system It is recommended Hut you hive the Da ground on the BUaBOOKS I I II belote proceeding with BUGB00K III INSTRUCTOR'S MANUAL S3.D0 tttcesury lor instruction pl Bugocoii I ind II Answers questions regjidmg wpenments. suggestions lor lurtne' reading, phuosopnygi MBM ipoioachlo diflilil elfctronicj * must lot setl-teschmrj indrvxlirani OP AMP MANUAL BU0B00K V md Vfl ST9.00 par sul ky D*D' Lmon, PsUr R Roey. Jeaadun K. Tltn Eipenmenu m dnj-tii eteclroma. SOrJOA micnKompuicr programminq and 80804 rmoceomiHittr irtiertadng An mtegraltd aporoedt to self-rnitruclM basic digital ekctiomci. breidUoirOiig and 6OB0A mterfaongrpragimnWD Bugboot VI integrates the digUI concepts ol Suctwok V mto a treatment of B0S0A micrpcompuler programming ind interlaang Detnl S laoo CM0S-M - DESIGNERS PRIMER AND HANDBOOK Slim n pttic tltucturi pl CMOS devices throuflfi integralten into MSI. S5.00 COMPLETE MANUAL FOR DIGITAL CLOCKS by John Willi and John Brooks famtliauzes lechnrctan or hobbyist with basic theories behind digital clocks. Includes trouble shoaling guides, basic cnatacienslics ol clocks, SOlHenng tecrtntquc^. clort coiTipnr.er,! aai; ;,!;■'.■•:■ .ii,.1 kl -ir ■.l'...:i;:;i 1^5 S3.96 XC209 XC209 XC209 XC209 XCZ2 XC22 KC22 XC22 S5L2? 125- tit. Red Green Orange Yellow .200" dli Red Green Yellow Ofange DISCRETE LEDS XC526 XC52G XC526 XC526 XC556 XC556 XC55G XC556 XC556 Green Yellow Orange Clear .190" dii. Red 10:51 Green 4.S1 Yellow 4,S1 Orange 4ril .085" dli, MV50 - Red - B/$1 7/S1 INFRA-RED LRU TYPE MAN 1 MAN 2 MAN 3 MAN 4 MAN 7 MAN 7G MAN 7Y MAN 52 MAN 71 MAN 72 MAN 74 MANB1 MANB2 MAN 84 MAN 3620 MAN 3630 MAN 3640 MAN 4610 MAN 4040 MAN 4710 MAN 4730 MAN 4740 MAN 4810 MAN 6610 270 2.95 son 495 125 39 in/ 1.95 270 1 75 270 1.95 ?ro 195 300 100 300 1.2b DISPLAY LEDS POLARITY Common Anode-red 5 x 7 Dot Matrix-red Common Cathode -red Common Cathode-red Common Anode -red Common Anode -green Common Anode-yellow Common Anode -green Common An ode -red Common Anode -red Common Ca mode -red Common AnarJe-yeiiow Common Anode -yellow Common Cathode -yellow Common Anode-orange Common Anode-oranoe :1 Common Cathode -orange Common Anode-orange. Common CalhodB-orango Common Anode -md =1 Common Anode-red Common Cathode-red Common Anode -yellow Common Anode-orange -D □ TYPE MAN 6630 MAN 6640 MAN 6650 MAN 6660 MAN 6630 MAN 6710 MAN 6730 MAN 6740 MAN 6750 MAN 6760 MAN 6780 DL701 DL702 DL704 OL707 DL74I DL746 OL747 DL749 DL750 DL33B FND70 FND503 FND507 5DB2-730O 5082-7302 5082-7304 5082-7340 POLARITY HT Common Anode-orange 560 Common Cathode -orange-D.D. .560 Common CaihoOe -orange ~1 .560 Common Anode-orange 560 Common Cathode -orange .560 Common Anode-red -D.D. .560 Common AnoOe-red - 1 .560 Common Cathode -red -D.D. .560 Common Cathode -red e1 .560 Common Anode-red .560 Common Cathode -red .560 Common Anode-red - 1 30O Common Cathode-red 300 Common Cathode -red 300 Common Anode-red .300 Common Anode-red 600 Common Anode-red t1 630 Common Anode -red .600 Common Cathode-red S 1 .630 Common Cathode-red .600 Common Calhode-red 11D Common Calhodo (FND359) .250 Common Caihode (FND500) 500 Common Annde [FND510I .500 4 x 7 Sgl. Dirjil-RHOP 6D0 4x7 Sol Dtgil-LHDP .600 Oveirange character J— 1) .600 4 x 7 SQl Digit -Hexadecimal 600 1995 15.00 22 50 RCA LINEAR CA3013 CA3023 CA3035 CA3039 CA3046 CA30r>3 CA3059 CA3060 CA30BD CA3081 CA3082 56 CA30B3 48 CA3086 35 CA3089 30 CA3091 50 CA3102 25 CA3123 35 CA3130 CA3140 .85 XR-220GK8 Kit $19.95 WAVEFORM GENERATOR'S XH-205 58 40 XR-2206CP 5.50 XR-2207CP 3 85 STEREO DECODERS XR-1310CP S3.20 XH-1310EP 3.20 XR-1B00P 3.20 XR-2567 2 99 XR-2206KA Kit $14.95 EXAR MISCELLANEOUS XR-2211CP S6 7 XR -4136 2.0 KR-146B 3 8 XR-1488 5 8 XR-1489 4 8 XR-2208 5 2 3.20 TIMERS XR-555CP XR-320P XR-5S6CP XR-2556CP XR-2240CP PHASE LOCKED LOOPS XR 210 5.20 XR-2I5 6 60 XR-567CP 1 .95 XR-567CT 1 70 IC SOLDERTAIL — LOW PROFILE (TIN) SOCKETS 1 8 pin 22 nut 16 pin * SOLDERTAIL STANDARD (TIN) ?B pin 38 pin SOLDERTAIL S TANDARD (GOLD) 24 pm 28 pm 36 pm 43 40 pm WIRE WRAP SOCKETS ( GOLD ) LEVEL #3 22 pin 24 pin 37 16 pin ;s 28 pi 35 pm 40 pm 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 IS OHM IB OHM 22 OHM 27 OHM 33 OHM 39 OHM 47 OHM 56 OHM 68 OHM 82 OHM 100 OHM 120 OHM' 150 OHM 180 OHM 720 OHM 270 OHM 330 OHM 390 OHM I20K 330K B20K 2?M 470 OHM 560 OHM 680 OHM B20 OHM 1 SK 1 5K 1 8K 2 2K 3.3K 3 9K .1 7K 5 6K 8.2K I0K J2K I5K 22K 27K 33K 39K 56K 6BK B2K 100K 150K 18CK 220K 270K 390K 470K 560K 680K 1/4 WAn 5% 50 PCS t/4 WAH 5% 50 PCS. 1/4 WAn 5% 50 PCS. t/4 WAn 5% - 50 PCS. 1/4 WAH 5% 50 PCS. 1/4 WAn 5% 50 PCS, Su. 2 7M 3 3M 3 9M 4 7M 5 6M 1/4 WAn 5% -- 50PCS. Includes ResistorAssortments 1-7(350 PCS.) S9.95 ea. I5.D0 Minimum Order — U.S. Fundi Only ClIlfOfTlla ReildentJ — Add 6% SiIbi Tli Spec ShBBis - 2Sp — Send 35c Stamp lor 1978 Catalog Dealer Information Available 1021-A HOWARD AVE.. SAN CARLOS. CA. 94070 PHONE ORDERS WELCOME — (415) 592-8097 AdvfHllseKJ Prices Good Thru February HOBBY-WRAP TOOL-BW-630 Battery Operated (Size C) Weighs ONLY 1 1 Ounces • Wraps 30 AWG Wne pnlo Standard DIP Sockets (.025 inch) Complete with built-in bit and sleeve WIRE-WRAP KIT — WK-2-W WRAP . STRIP . UNWRAP . Tool tor 30 AWG Wile • Roll ol 50 Ft. White or Blue 30 AWG Wire • 50 pes. each 1", 2". 3" 8 4" lengths pre-stripped wire. $11.95 WIRE WRAP TOOL WSU-30 WRAP . STRIP . UNWRAP-S5.95 WIRE WRAP WIRE — 30 AWG 25ft.min.S1.25 50tt.S1.95 1Q0ft.S2.95 1000ft $15.00 SPECIFY COLOR — White - Yellow ■ Red - Green ■ Slue - Black WIRE DISPENSER — WD-30 50 ft. roll 30 AWG KYNAR wire wrap wire $3.45 ea Cuts wire to desired length Strips 1" of insulation Specify — Blue-Yellow-White-Red REPLACEMENT DISPENSER SPOOLS FOR WD 30 Specify blue, yellow, white or red $1.98/spool DIP/IC INSERTION TOOL WITH PIN STRAIGHTEN Inserts both 14 and 16 pin packages. Pin Straightener built into Handle. Model INS-1416 S3.49/ea. HP 5082-7400 SERIES — MULTI-DIGIT 1 10+ S.49 .39 .59 .49 .69 .59 .79 .69 • 'A" ht. • Common Cathode Red 2 Digit • 3-5 volts (it- 5 mils/second 3 Digit • 7 segment Monolithic 4 Digit • Dip Package 5 Digit TV GAME CHIP SET — $9.95 Includes AY-3-8500-1 Chip and 2.010 mhz crystal (2.010 crystal — S1.95 ea/AY -3 -8500-1 Chip — S8.95 ea.) TYPE 1N746 IN751A 1N752 IN 753 1N754 1N959 1N9658 1N5232 1N5234 1N5235 1N5236 IN4S6 IN458 1N4BSA 1N4001 1N4002 1N4003 1N40O4 ZENERS - VOLTS W 3.3 400m 5.1 400m 5,6 400m 6.2 400m 6.8 400m 8,2 400m 15 400m 5.6 500m 6.2 500m 6 8 500m 7.5 500m 50 PW 1 AMP 100 PIV 1 AMP 200 PIV 1 AMP 400 PIV 1 AMP DIODES - PRICE TYPE 4/1 00 1N4005 4/1 00 1N40O6 4/1.00 IN40Q7 •1/1.00 1N3600 4/1.00 1N4148 8/1.00 1N4154 4/1 00 1N4305 28 1N4734 26 1N4735 28 1N4736 2B IN4738 6/ 100 IN4742 6/1 00 1N4744 6/1.00 1N1183 12/1.00 1N11B4 12/100 1N1185 12/1.00 1N1186 12/100 1N1188 RECTIFIERS VOLTS W 600 PIV 1 AMP 800 PIV I AMP 1000 PIV 1 AMP 50 200m 10m 10m PRICE 10/1.00 10/1.00 10/1 .00 6/1,00 15/1.00 12/1.00 20/t 00 28 28 1w 12 15 Iw 50 PIV 35 AMP 100 PIV 35 AMP 150 PIV 35 AMP 200 PIV 35 AMP 400 PIV 35 AMP C36D C3BM 2N2328 MOA 960 SCR AND FW BRIDGE RECTIFIERS 15A@400V SCR 35A @ 200V SCR 1 6A @ 200V SCR 12A@50V 12A<5>200V fW BRIDGE REC FW BRIDGE REC MPSAOi Srll.00 MPS «6 Srll 00 7H91B 4/I1.D0 2HS319A 3/1100. Beat, 4/ji.M ! N22UA 5/11 DO :'KM,i :,'si m !W36M 4/11.00 2K2*M 4/tl 00 JN2906A 4/Jt.OO 2N290JA 9(1109 2WK5 5/tl 00 2K303S Vtl 00 TRANSISTORS 5 MJEIS5S MJE30SS 1M33H PK3M7 PH3S68 PWJ5E9 t 89 S/tlOO 5/tl 00 3/1100 7H3702 IHVOt 7N37Q5 ;W70G 1(070? ?W711 :«3772 2H3M3 9 f 1*440! JN4403 ;rl4400 4(1100 ' 4/11 DO 4,1100 7NU09 511 00 ZMS2ID 5,11 00 ;hi4k i2oo 2NSM9 3/11 00 2M5B1I 5.1100 C10CS1SCR 341 00 4040S ti n 40410 11 71 CAPACITOR 50 VOLT CERAMIC CORNER 10 pl 22 pl 47 pl 100 pl 220 pl 470 pl .001ml 0022 .0047ml ,01 ml 1/35V .15/35V .22/35V .33/35V 47/35V 68/35V 1.0/35V .05 04 .03 .00 VF 05 04 .03 .0047 M F .05 05 .04 .03 .OVf OS 05 04 .03 022fiF .06 .05 04 03 .047*iF .06 .05 .04 .035 1 M F 12 1M VOLT MYLAR FILM CAPACITORS .12 .10 .07 ,022ml 13 .12 ,10 .07 .047ml .21 12 .10 ,07 ,1ml .27 .12 .10 ,07 .22ml .33 +20% DIPPED TANTALUMS (SOLID) CAPACITORS .2B .23 .17 1.5/35V .28 23 1-9 10-49 50-100 26 47/50V 1.0/50V 3.3/50V 4.7/25V 10/25V 10/5OV 22/25V 22/50V 47/25V 47/50V 100/25V 100/50V 220/25V 220/50V 470/25V 1000/1 6 V 2200/ 16V 2.2/25V 3.3/25V .31 .27 4.7/25V .32 ,26 6.B/25V .36 .31 10/25V 40 35 15/2SV .63 .50 MINUTURE ALUMINUM ELECTROLYTIC CAPACITORS Ridlil Load Ailil Laid .13 .10 .47/25V 47/50V 1.0/16V 1.0/25V 1.0/50V 4.7/16V 4.7/25V 4.7/50V 10/16V I0/25V 10/50V 47/50V 100/16V 1O0/25V 100/50V 220/16V 47Q/25V .15 .13 198 BYTE February 1978 m RRFAD BOARD Each ^Ft contains 350 wites ur11 -" 1 ^ uwn " cut to 14 different lengths JUMPER WIRE KIT •ffijft. „ Ihe leads are benl 90' lor easy Insertion. Wire length is classified by color coding. All wire is solid linned 22 gauge wiln Pvc insolalicn. The wires come packed in JK1 $10.00/ kit ' «""""«' P |1! '« '"" HCflPIACT MateS W ' tfl tW0 r0WS 0f ,025 ' Sq ' or OUUrvtl Uia. posts on patterns of .100" II I AADrTriC centers an 32 BIT Hex 40 BIT Djat 132 Btt SSR 512 Dynamic 1024 Dynamic Dual 255 BIT Dual 512 BIT Quad BO BIT 102J Static Dynamic Static Static 8593 16 K I 21LG2/9ILQ2 1Q24 « 1 74200 256 « I 93421 256 . ' Sialic Static Sialic Sialic 349 2.25 6 95 2 25 JMM52G2 2K.1 Dynamic 2 tor 1 00. UPO414(2104)4K Dynamic 18 Pin 5.95 UARTS AY-5-1013 30K Baud ROM'S Char Gen -upper case Char Gen -lower case Char Gen 1 702A 2048 5203 2048 82S23 32 > 8 82S123 32 i B 74S26: 1024 2513(2140) 2513(3021) 2516 MM5230 3601 UMZ 256 x t PROMS Famos Fast 2048 Bn (512 x 4 on 256 x 2716 16K 6301-1 1024 6330-1 256 Eprom Tn-Slate Bipolar Open Collector Bipolar Z3BS 34.95 349 SPECIAL REQUESTED ITEMS AY-3-B500-1 8.95 AY-5-9100 1750 AY-5-9200 T4.95 AY-5-9500 4. 95 AY-5-2376 14.95 9374 ' 1.95 11C90 4N38 8T20 8T97 HD0165 MCM6571 MCM6574 MCM6575 13.50 TIL308 19.95 7205 3.95 ICM7045 7.50 ICM7207 2.00 ICH7208 7.95 ICM7209 13.50 MK50240 DSO026CH ITEMS CLOCK CHIPS MM5309 S9.95 19 95 9368 3.95 MM5311 4.06 24.95 LD110/111 25.00/set 7.50 95H90 11.95 22.00 MC3061P 3.50 UM5316 6.05 7.50 MC4016 (74416) 7.50 MM5318- 9.95 17.50 MC1408L7 B.95 MM5369 2.B5 3.75 MC1408L8 9.95 10.50 CT7001 5.85 PARATRONICS Featured on February's Front Cover of Popular Electronics Logic Analyzer Kit mohmom momio Model 100A S229.00/kit • I I I I Mllllll 100A assembler! S295.00 Analyzes any type of digital system Checks data rates in excess of 8 million words per second Trouble shoot TTL. CMOS, DTL. RTL Schottky and MOS families Displays 16 logic states up to 8 digits wide See ones and zeros displayed on your CRT, octal or hexadecimal format Tests circuits under actual operating conditions Easy to assemble — comes with step-by-step construction manual which includes 80 pages on logic analyzer operation. (Model 100A Manual -$4.95) 1MB Some applications are; — Troubleshooting microprocessor address, instruction, and data flow — Examine contents ot ROMS — Tracing operation of control logic — Checking counter and shift register operation — Monitoring I/O sequences — Verifying propersystem operations during testing PARATRONICS TRIGGER EXPANDER - Model 10 Adds 16 additional bits. Provides digital delay and qualification ot Input clock and 24-bit trigger word. — Connects direct to Modal 100A tor integrated unit). BS3B Wl 3V2-Dlg.lt Portable DMM • Overload Protected • .3" high LED Display ■ Battery or AC operation • Auio Zeroing ■ 1mv. IVa. 1 ohm resolution • Overange reading • 10 meg input impendence • DC Accuracy 1% typical Ranges: DC Voltage -0-1000W AC Votlarje 0-I00OV Freq Response. 50-400 HZ dc/ac Current o-ioomA Resistance 0-10 meg ohm Size. 6 4~ x 4.4" x 2"" Accessories: AC Adapter BC-28 S9.00 Rechargeable Batteries BP-26 20.00 Carrying Case LC-28 7.50 CONTINENTAL SPECIALTIES PROTO BOARD 6 Model 10 Kit — $229.00 Modal 10. Assembled — S295.0D Baseplate — 19.95 Model 10 Manual— $4,fl5 100 MHz 8-Digit Counter • 20 Hi-100 MffI Range . Four power souces. I.e. . .6" LED Display batteries. 110 or220V with • Crystal-controlled limeoase charger 12V wJth aula • fully Automatic iinntcr adapter and eilemal . Portable — completely 7 2-10V power supply ."v?,™ M * X - 1M $134.95 ACCESSORIES FOR MAX 100: Mobile Charger Eliminator use power from car battery Model 100 — CLASS. SB Chargflr/EilmlniiDT use 110 VAC Model 100 — CAI S0.9S S15.95 (6" long X 4" wide) Other CS Proto Boards PB100 -4.5" x 6" $ 19,95 PB101 -5.8" x 4.5" 29.95 PB102 -7"x4.5" 39.95 PB103 - 9" x 6" 59.95 PB104 - 9.5" x 8" 79.95 PB203 - 9.75 x 6V4 x 2« 80.00 PB203A.9.75x6'/!X2 : H 129.95 (includes power supply! LOGIC MONITOR for DTL. HTL. TTL or CMOS Devices $84.95 PROTO CLIPS 14 PIN 16 PIN 24 PIN 40 PIN $4.50 4.75 8.50 13.75 DESIGN MATES DM1 - Circuit Designer $69.95 DM2 - Function Generator $74.95 DM3 - RC Bridge $74.95 PROTO STRIPS m, OT-S9S 590 0T-59D bus strip OT-47S 470 QT-178 bus strip 0T-35S 350 OT-35B bus Strip OT-1BS 180 OT-12S 120 OT-8S 80 OT-75 70 price 12.50 2.50 10.00 2.25 Experimenter 300 Experimenter 600 S 9.95 $10.95 $5.00 Minimum Order — U.S. Fundi Only California Reildonls —Add 6% Sain Tn Spac Shorts - 25*? — Send 35* Stamp tor 197B Catalog Dealer Informitlon Available 1978 CATALOG NOW AVAILABLE 1021 -A HOWARD AVE., SAN CARLOS, CA. 94070 PHONE ORDERS WELCOME — (415) 592-8097 Advertised Prlcai Good Thru February The Incredible "Pennywhlstle 103' $129.95 Kit Only The Pannywltittle 103 Is capable c< recording data to and from audio tape without critical speed requirements lor the recorder and it is able lo communicate directly with another modem and terminal for telephone "hamming" and communications for the deaf. In addition, it is free ol critical adjustments and is built with nan -precision, readily available parts. Data Transmission Method Frequency -Shift Keying, full-duplex (half-duplex selectable). Maximum Oali Rita 300 Baud. Dili Format Asynchronous Serial (return to mark level required between each character J. Receive Channel Frequencies . . .2025 Hz lor space: 2225 Hz for mark. Trinimll Channel Frequencies ..Switch selectable: Low (normal) • 1070 space. 1270 mark; High » 025 space, 2225 mark. Receive Sensitivity -46 dbm accoustically coupled. Transmit Level -15 dbm nominal. Adjustable from -6 dbm lo -20 dbm. Receive Frequency Tolerance ...Frequency reference automatically adjusts to allow lor operation between 1 BOO Hz and 2400 Hz. Digital Dale Interlace EIA RS-232C or 20 mA current loop (receiver is optoisolated and non-polar). Power Requirements 120 VAC, single phase, 10 Watts. Physical All components mount on a single 5" by 9" printed circuit board. All components Included. Requires a VOM. Audio Oscillator, frequency Counter and/or Oscilloscope to align. NEW! BULB-ENERGY SAVER BULB-ENERGY SAVERS usad for years by major Industrial users — now available for home or office use. Bulb Savers can cut electrical bills by as much as 3%. BULB-SAVERS lengthens light life by: t. Acting as an electrical "shock ab sorber", turns the bulb on slowly, eliminat- ing the "thermal shock". Bulb lite increases 300 percent. 2. Banishes Current "Surges". Cushions line voltage surges when other loads cut power line. BES-1 Bulb lasts 3 or more limes longer. Fits Standard Socket 6 watts to 200 watts 10+ $1.50 ea. 1.25 ea. 3. Reduces Energy Consumption DIGITAL STOPWATCH • Bright 6 Digit LEO Display • Times to 59 minutes 59.59 seconds • Crystal Controlled Time Base • Three Stopwatches in One Times Single Event — Split & Taylor • Size 4. 5" x 2.15" x .90" (4ft ounces) • Uses 3 Penhte Cells. Kit — $39.95 Assembled — $49.95 Heavy Duty Cany Case $5.95 Slop Watch Chip Only ,7205) $19.95 3V2DIGIT DPM KIT ■ New Bipolar Unit • Auto Zeroing . .5" LED Model KB500 DPM Kit Auto Polarity Low Power Single IC Unit $49.00 Model 311D-5C-5V Power Kit $17.50 JE700 CLOCK The JE700 is a low cost digital clock, bu! is a very high quality unit The unit lea- lures a simulated walnul case with di- mensions ol 6 <2'i x1 Ituliliiesa MAN72 high brightness readout, and ihe lt.r»H.„ MMIBMCBa.N, KIT ONLY $16.95 HEXADECIMAL ENCODER 19-KEY PAD . t -o . ABCDEF • Shift Key • 2 Optional Keys $10.95 each 63 KEY KEYBOARD RBSTQ Encoder Chip (encodes 16 Keys) AY-5-2376 Encoder Chip lencodes 88 Kevsl $29.95 This keyboard features 63 unen coded SPST keys, unattached lo any kind ot P C.B A very solid molded piastre 13" x 4' bate suits most apolications STB t JE803 PROBE The Logic Probe is a unit which is lor the most part . mdespensiDie m trouDle shoonng togrc 'amities TTL. DTL RTL. CMOS It derives Ihe power U needs lo operale directly oil ol ihe circuit under test, drawing a scant 10 mA max (t uses a MAN3 readout to indicate any ol the following stales by Ihe5e symbols IH1 - I |LOW) ■ o (PULSE) ■ P The Prode can detect high Irequency pulses to 45 MHi II can i be used ai MOS levels o> circi*l damage will result $9.95 Per Kit printed circuit board VI 5V 1A Supply This is a standard TTL power supply using the welt known LM309K regulator IC to provide a sohd 1 AMP ol current it 5 volts We try to make things easy lor you by providing everything you need in one package, including the hardware $9.95 Per Kit J Circle 63 on inquiry card. BYTE February 1978 199 What's New? BUGBOOK Writers Write Debug Book SOFTWARE Chess Program for SOL and KIM-1 This remarkable chess program runs in about 1 K bytes of memory on the KIM-1 microcomputer, yet plays an acceptable level of chess. No extra memory or peripherals are needed for the KIM-1 version; the built in hexa- decimal keyboard and display are used to enter the player's moves and display the computer's replies. Another version of the program is tailored to the SOL computer, and enough documentation is provided to enable the user to adapt the appropriate version to other 6502 and 8080 based computers. The com- puter can be set up to play white or black, and can also play against itself. The program will follow a book opening which can be changed by the user, and data is provided for the French Defense, Giuoco Piano, Ruy Lopez, Queen's Indian and Four Knights openings. The level of the computer's play can be ad- justed so that moves on the KIM-1 take 3 seconds ("super blitz"), 10 seconds ("blitz") or 100 seconds ("normal"). Because of size constraints the program doesn't handle castling, en passant captures and queening of pawns, but provision has been made for the user to manually execute these moves for either side. The program documentation includes a complete player's manual, a programmer's manual with a discussion of the playing strategy and method of analysis, basic flowcharts and state variable definitions, instructions for modifying the input and output rou- tines, and suggestions for implementing strategy improvements. A commented assembly source code listing with symbol table and cross references is included, as well as a hexadecimal object code dump. The MICROCHESS program is available on a KIM-1 cassette for $13, on a SOLOS CUTS cassette for $18, and on paper tape for other 8080 based computers for $15, from Micro-Ware Ltd, 27 Firstbrooke Rd, Toronto Ontario CANADA M4E 2L2." Circle 653 on inquiry card. Data File Program Practical Programming Company, POB 3069, North Brunswick NJ 08902, has introduced a program product called the "Data File Program," designed for the 8080 or Z-80 processors and as- sembled to start at either address or address 2000. This program is a form of editor which uses memory to create named files of data, with each file consisting of a number of records. The program includes a search feature, as well as facilities for editing data. This 1024 byte program is available for $10 (specify which origin, hexadecimal or 2000, with your order)." Circle 656 on inquiry card. Assembly Language Aids for North Star Disk Users The XEK package includes an assembler, autoline editor and disas- sembler, all using the North Star Disk Operating System for disk and terminal IO. Source and object programs can also be loaded from Tarbell format cassette tapes or from Intel hexadecimal format paper tapes. As many as six source or object files may be simultaneously resi- dent in programmable memory. XEK comes with a user manual for $48 from the Byte Shop of Westminster, 14300 Beach' Blvd, Westminster CA 92683, (714) 894-9131." Circle 658 on inquiry card. Word Processing System for iCOM Floppy Users This word processing system features text filling and justification s line cen- tering and underlining, page numbering and top and bottom page titles, and variable line spacing. It comes in hexa- decimal ASCII format on a data diskette ready to run under iCOM's FDOS II or III. Input to the word processor is created using the FDOS text editor, and formatted output is written back to a diskette. A driver for the Anderson jacobson AJ 841 Selectronic terminal is also available. The package is $235 from Ortronics, 4753 Irvine Av, N Hollywood CA 91602, (21 3) 763-0404." Circle 657 on inquiry card. Get Your Editor and Operating System in a Poly Bag Here's 8080 software offered on cassette and paper tape media, packaged in polyethylene bags. Offerings include the EDIT 3.0 text editor ($22.50), the COS 1 .0 cassette operating system ($15), and the SOS 1.0 small operating system ($15) which includes utilities for the Tarbell cassette interface and Oliver paper tape reader. The SOS 1.0 and EDIT 3.0 user manuals contain 4.8 and 56 pages respectively. Dealers may place single quantity orders at the dealer dis- count to try the software and look over the documentation. Contact LSM Engi- neering, POB 3243, Orange CA 92665." Circle 571 on inquiry card. DBUG An 8080 Interpretive Debugger STORING ASSEMBLE LAW This 100 page paperback, first in the BUGBOOK Application Series on assembly language programming, de- scribes an interpretive debugger pro- gram for the 8080 which enables the user to enter and modify a program in memory and single step through program execution. The DBUG pro- gram was written for reading and punching paper tape on a Teletype- writer, but the IO routines can be easily changed to accommodate other peri- pherals. DBUG resides in 1 K bytes of memory, and a bootstrap loader for the DBUG: An 8080 Interpretive Debugger and hexadecimal listings of the DBUG program are given in the appendices. DBUG: An 8080 Interpretive Debugger sells for $5 from E&L Instruments Inc, 61 First St, Derby CT 06418, (203) 735-8774." Circle 654 on inquiry card. A Personal Data Base Management System This data base management system should be useful in many applications where information must be stored, retrieved and modified. Commands are provided to create files, add, delete or list records in sequence or selectively, change fields within existing records, or search fields for a string or for integer values. The current system is designed for an Altair 8800b computer with one or two floppy disks and a minimum of 32 K bytes of memory. The PDMS system is supplied on an 8 inch floppy disk for $795, including a 40 page manual which contains a source listing of the program. The manual, which illus- trates typical applications of the system, is available separately (without the source listing) for $20, from the Micro- ware Division of Physical Biological Sciences Ltd, POB 47, Blacksburg VA 24060, (703) 951-9469." Circle 655 on inquiry card. 200 BYTE February 1978 TOUCH TONE ENCODER KIT Simplicity itself to complete. No other parts required, no crystal required. The back of the touch pad has etched & drilled PC board and you solder the encoder chip to it. Add your own small speaker & 9 volt battery and you are done. A touch of the pad produces the proper tone signal from the speaker. We furnish schematic and instructions. SP-149-B $12.95 WIRE WRAP WIRE TEFZEL blue #30 Reg. price $13. 28/100 ft. Our price 100 ft $2.00; 500 ft $7.50. MULT1 COLORED SPECTRA WIRE Footage 10' 50' 100' 8 Cond. #24 $2.50 9.00 15.00 12 " 22 3.00 11.00 18.00 14 " 22 3.50 13.00 21.00 24 " 24 5.00 20.00 30.00 29 " 22 7.50 28.00 45.00 Great savir gs as these are about 1/4 book prices. All fresh & new. TOUCHTONE ENCODER CHIP Compatible with Bell system, no cry- stal required. Ideal for repeaters & w/specs. S6.00 LAMBDA POWER SUPPLIES LM-D-12-OVP 12 volts DC 10 amp $60, LV-EE 5-OVP 5 VDC 74 Amp $75.00 VIATRON CASSETTE DECKS The computer cassette deck alone $35. Set of Control boards for above $40. VIDEO DISPLAY from Viatron systems. Accepts composite video signals. 9 inch transistorized CCTV black & white CRT monitor. Ready to go, checked out. 115 volt AC 60 cycle. With circuit diagram. $75.00 FAST CHARGE AA NICADS $1.25 each f— > IR NIGHT VIEWER $199.00 Custom made, complete with light source & viewer in one piece. Comes with carrying strap. Ready to operate with 6 volt lantern battery. Guaranteed by the manufacturer. See in total darkness. Great for scientists, viewing nocturnal animals & birds, criminal investigation . . . observe without being ob- served, and a ball for just plain snooping!!!! Sorry to say but no shipments to Calif, (lens may vary slightly from pic) SPL-21 $199.00 ^ie&nMa. Please add shipping cost on abo ve. Minimum order $10 FREE CATALOG NOW READY # SP-10 P.O. Box 62, E. Lynn, Massachusetts 01904 Circle 68 on inquiry card. BYTE February 1978 201 What's New? Low Cost Logic State Analyzer MISCELLANEOUS Backgammon, Anyone? Low Cost Power Surge Protection This backgammon board comes with something extra: a built-in opponent in the form of an Intel microprocessor con- trolled by a program in read only memory. The program generates random dice rolls, interacts with the playing keys and is said to base its moves on an ana- lysis of the current board position using game theory and probabilistic methods. The backgammon game should be available in many retail outlets, and has been selected for inclusion in the Horschow's Collections and American Express gift catalogs. Priced at about $200 retail, the game is produced by Texas Micro Games Inc, 6230 Evergreen E, Houston TX 77081, (713) 778-9S47.f Circle 572 on inquiry card. Has your computer ever lost its mind and memory during an electrical storm? This line cord transient suppressor will absorb repeated power surges from light- ning or heavy duty electrical equipment, protecting delicate electronic circuits. Available in two prong ($11 .50) or three prong ($14.50) plug form, these units can also be obtained with integral power line hash filtering, from Electronic Specialists Inc, POB 122, Natick MA 10760, (617) 655-1532. ■ Circle 573 on inquiry card. 6800 Based Microcomputer Trainer from Heath Paper Feeder for Word Processing Printer ****■*'■» *** *Sa r The EE-3401 self-instructional course provides tutorial material and hardware and software experiments in micro- processor operation, interfacing and pro- gramming. The course is designed to be used with the ET-3400 microprocessor trainer, which features the 6800 micro- processor, 256 bytes of programmable memory, 1 K byte read only memory monitor, and a 6 digit hexadecimal display and keyboard. Breadboarding sockets permit fast construction of experiments and special prototype cir- cuits. The EE-3401 course and ET-3400 microprocessor trainer, priced at $89.95 and $189.95 respectively, are described in a free catalog available from Heath Company, Dept 350-460, Benton Harbor Ml 49022, (616) 982-3236.- Circle 578 on inquiry card. This device eliminates the manual task of inserting fresh paper and re- moving typed documents from a printer in high volume word processing appli- cations. The SpeedFeed interfaces to a Qume daisywheel printer, inserts sheets into the printer's platen, removes com- pleted sheets and stacks them in an internal hopper. The hopper can hold up to 180 sheets of paper in sizes up to 12 by 14 inches (30.5 by 35.6 cm). Sensors automatically detect an end of paper condition. The SpeedFeed is $1390 in single quantities with 90 day delivery; substantial quantity discounts are available, from Qume Corporation, 2323 Industrial Pky W, Hay ward CA 94545, (415) 783-6100.. Circle 579 on inquiry card. The Model 1 0OA logic state analyzer is said to be the lowest priced data domain instrument available. The basic unit operates as an 8 channel stand alone analyzer, offering a 16 word truth table display of ones and zeros on an ordinary oscilloscope, post-trigger and pre-trigger data collection, hexadecimal and octal formats, and both snapshot and repeti- tive display presentations. The Model 100A can be mated with the Model 10 expansion unit on an optional baseplate to provide a 24 bit logic analyzer capable of monitoring a microprocessor's full address and data bus. The expanded package also provides a user program- mable digital delay for paging through programs up to 1000 steps long and a pass counter for monitoring loops. Selected bus operations can be captured and displayed with the clock and trigger qualifiers on the combined package. The units can be used with a variety of logic families and are capable of handling data rates in excess of 8 megabytes per second. The Model 100A basic unit and Model 10 expansion unit are each priced at $295 assembled or $229 as a kit. The optional baseplate is $9.95, and a separate owner's manual is avail- able for $4.95, from Paratronics Inc, 800 Charcot Av, San Jose CA 95131, (408) 263-2252.« Circle 576 on inquiry card. Upgrade Kit for PolyMorphic Systems Users The Poly 88 Disk Kit contains all mechanical parts and electronic assem- blies needed to convert a Poly 88 micro- computer into a new System 8813 disk based system. The kit includes a chassis, walnut cabinet with brushed aluminum front panel, a 10 slot backplane, power supply and fan, floppy disk controller, 2 K bytes of read only memory, one floppy disk drive and two system disk- ettes. The conversion kit costs $1450 and is said to take only a few hours to install. Up to two more disk drives may be added at a cost of $590 each. The kit is available from PolyMorphic Systems Inc, 460 Ward Dr, Santa Barbara CA 93111, (805) 967-0468 or from Poly- Morphic Systems dealers. ■ Circle 577 on inquiry card. 202 BYTE February 1978 Fantastic $avings on Terminal Components We have obtained a fairly large supply of professional CRT video monitors, encased in attractive metal cabinets with a simulated mahogany finish. We do not know the bandwidth capabilities of these 12" (diagonal) units; we have used them, however, to test our 24 x 80 video display board and have found them perfectly satisfactory. These units were manufactured for one of the largest data com- munications firms in the country. We are not allowed to use the name, and the nameplates had to be removed. Many of you have probably seen these units functioning. They are equipped with a standard video connector and have all the normal controls. They operate at 1 1 V, 60 cycles. The units are in reasonably good condition cosmetically, although nearly all of them have a defect \n the plastic anti-glare screen in front of the CRT tube. This screen could be readily removed or replaced. We estimate that these units would sell new for between $1 50 and $200. We are offering them for sale in both functional and non-functional condition. 12CRT Used, operable* $59 95 12CRTNF Used, complete, known non-functioning $ 39 "Units have been tested but are sold as-is. They are not rep- resented as reconditioned units and may require minor repairs or adjustments. Add the following charges for handling-shipping-insurance: S2.50 Eastern Time Zone $3 Central $4 Mountain $5 Pacific MiniMicroMart, Inc. also stocks a complete line of kits for building video display units. Write for information MDACP (acoustical) $ 59.95 MDHW (hard wire) 44.95 MDACP-NF (used, suspect non-functional) 39.95 MDHW-NF (used, suspect non-functional 24.95 Add $2 for handling-shipping-insurance. COMMERCIAL MODEMS - Limited Supply — Acoustical coupler type and direct hard wire variety. Both operate at standard Bell Telephone frequencies, at up to 300 baud; they are Bell 103 compatible. They appear to be in new or equal-to-new condition. They are in- tended for communicating from a terminal to a time-share computer. Standard RS232C type connectors are supplied. KEYBOARDS- Limited Supply Attractive communications style keyboards; some in cases which match the monitor shown above. They are not ASCII encoded but the coding could be changed in software with PROMs or by replacing the circuitry with an en- coding I.C. They key switch modules are of Cherry manufacture with an excellent feel. A schematic and limited modification information is supplied. KBN brand new, in case $ 37.95 KBU used, in case 27.95 KBUD used, in case, minor cosmetic defects 22.95 KBUNC used, no case 19.95 Add $2.50 for handling-shipping-insurance. Write for free 64-page catalog featuring hundreds of items for minicomputer systems. MiniMicroMart, inc. 1618 James Street, Syracuse, N.Y. 13203 (315)422-4467 Circle 77 on inquiry card. BYTE February 1978 203 bJnl n o I Z m z ■ (0 > r □ m nOJ to ^ fiZ on 3!' Ul 00 0) _» I _i u (II so *4 o o § > S" 3 a. 3' to n 3" cS C/5 m DO r p n I O I > * 2 I o I ^ a Pfl §: 05 I H I 2 > en H m 30 O 50 6) m o a. n -i (ft O o o "8 °£ of m 3 x o £i 8 1 z ~ m < o 90 a m 30 Jj-X}-^^- £}> £j>2$- Xj-^>4-^> O * m r 3 z z3 5ddp gesra E r h> "I oES n — -n h 05 r 3 ^zg O m en "0 O I O z -i > E o S. m m r z > H m en r> > en m c z n m 30 H > m h m -nO30 30 30 is 2 en < m ffl £ E H ffl o> * H H ft O *- > >n I - CO O 03 O > 03 C >D C (B DC ffl > en r ■< > O c- C en H m a 00 < c en m 30 -) o > z ■< 03 > C D C 33 en m m i3 so m ^5 m "2 r 3* m m ft ■< I- C H 13 en S3 s> Z H r m "< 33 -a 30 > en 30 CO CO 30 m 13 r > ft m 2 m z o 33 30 V> > m m z 13 O en m 3 -« >m l z n 3*3. ffl m S| ■2 f£ en r2 o-^ ffl 5° > en en r HB 2 £ cE 3 z 3 m 5 -J r I ffl 33 § > 3 O c 2 -*2 o eg " + >o li 33 © °2 M> ffl z -SO 302 2z p >£ oc S^ 5Q ffl z n o a m to en as 33 > o ffl ^>0 ^ 30 w -0 S ffl M H ffl n ■ ffl » en > S OZ H m <; , On" C H ffl 33 en C 33 r •< 30 30 ffl Z H r* O o y •a o > 30 z a 13 ffl Z a rn z ra r > H O I > 30 > r r" ffl r o c H "0 c H is H I < > r 5 a > en en - ffl 2 30 C >^ l~> 3 ffl r° 3^ m O He H 13 C en > < > P > 03 r ffl H X ffl o z ffl •< o z rn O z H I ffl 2 > rn ?5 &) a o s What's New? MISCELLANEOUS Arabic and Farsi Character Sets i rruivAi* » u» «• «* »*i 1-J-i * ,t f The Intecolor 8001 data terminal is now available with an Arabic and Farsi character set option which allows text in these languages to be entered from the keyboard and manipulated in BASIC. The shapes of certain characters are automatically changed depending on their position in a word as is the custom in these languages. Prices for the Inte- color systems with the Arabic and Farsi option start below $5000 from Intelli- gent Systems Corporation, 5965 Peach- tree Cors E, Norcross GA 30071, (404) 449-5961." Circle 574 on inquiry card. Universal Wire Wrap Panels These wire wrap packaging panels consist of 30 columns, with 64 terminals per column, on 0.001 inch centers. The low profile IC socket contacts have 0.025 inch square terminations. Avail- able with or without 108 pin connectors, the panels are priced at $1 to $2.50 per IC position from Garry Manufacturing Company, 1010 jersey Av, New Bruns- wick NJ 08902, (201) S45-2424." Circle 575 on inquiry card. 204 BYTE February 1978 Circle 19 on inquiry'card. ifeo? flti* ^ rftf •l* 8 ! i 4 » «t\« *%>< i C* «ft L*» !* «£>'"" >., 5S 71 Sa s^*C*«*,» V «« «« ?°. I^Uf a** *tf>' 1 *\ $1> \fc ,1> 690-12 Card Extender has 100 contacts — 50 per side on .125 centers — Attached connector — is compatible with S-100 Bus Systems $25.00 3690 6.5" 22/44 pin .156 clrs. Ex- lenders $12.00 J»S-»5 MINISCOPE S289 15n 8803 MOTHER BOM I) FOR S100 BUS MICRO- COMPUTERS to mcluoes 12 Unlilum capaci toll* *5. +12. -l?BuiewMinsu- UlMnuuntmg ipiceri ponenl ods W/( >cniy wmwntnt Wcjlcni GlOepor, glass txu'fl wit copp«r SPlPer plilid ana" Mounls n rtcepucus win lOOcotilaPls 12 ^ C**^ ^ %:* X*. / sailing, . j 3-i' ™«°»c. io 0,5 sec/a/, . 2 , P&, f iSasri of Price: 529.50 *< % to o o =? > ■**** >^ ■>!JJ8, « 50 0/ ? °0 fa l 3 *00 iS»a .4.5 3682 3681-2 9.6'' SA0.9T 6.5" l4.5" ,A.5' 4.5" ' S9 -*n u a\-w- une Bass ^Lsoaoeo A/16'' pin con-SP' A56 7 96' 510.90 $9.1* ^7. rp> *»a,,.M ''""Oh! % , X* ' ' ' ■ : L' F* tn IT M ,0 ,or '3" PRIORITY IONE I ELECTRONICS 10031 Woodley A^e^ Sepulveda CA 91343 Terms: VISA, MC, BAC, check. Money Order. C.O.D.. U.S. Funds Only. CA residents add 6% sales tax. Mini- mum order $10.00. Orders less than $75.00 include 10% shipping and handling; excess refunded. Just in case . , . please include your phone no. Good thru M=r,t,i5.i»78 phOne Orders WelCOme (213) 893-8202 OEM and Institutional inquiries Send for our lalesl brochure. D >P PLUGS 3/ $1.00 JO '$10 o n cW A006« B'l" . S'0OB« .8/100 ^4011^ 5/1.00 cS«017« ...10°„ Sm«018« .4/100 Si«019« 3/Z0° r«4020AE .1.00 C C M«022« 8/ 100 CNI4023« ■•■'.3/100 r«4024« 5/1 00 „ K«tt .1/100 C c W4030r.E 3/2.00 C«»035« ... 2.00 CW4031« ■ • ■ " ' .2/100 rM4041« ...100 CM4047W- ■■■".4/100 C C M4049« " 4/100 w«o»« ...»' 100 CM4116« ■ Circle 97 on inquiry card. BYTE February 1978 205 Classified Ads FOR SALE: 2708 programmer with prepro- grammed PROM. Plugs into KIM-1 expansion connector and uses K-1 and K-2. Includes 6530 PIA, S95. -5, 12, 26 V power supply, $45. James Grina, 1284 Fifield PI. St Paul MN 55108. WANTED: Manual or timing information (or a Burroughs A560 punch. R Six, 30725 Tennessee, Roseville Ml 48066. FOR SALE; Minicomputer, Digital Equipment PDP8-L, 4 K x 12 memory, Teletype IO, with complete original documentation, spare parts and much software $500. Hewlett-Packard 120A oscilloscope excellent condition with manual $100. Viatron cassette drive $15. Gary Hansen, POB 1337, Ft Davis TX 79734. (9151 426-3331. WANTED: Datapoint 2200 processor version 2, used, for reasonable price. Send details by air mail to Carl DuBois, 69 Nasuli, Malay balay, Bukidnon8201 PHILIPPINES. FOR SALE: BYTE number 1 for $10, BYTE numbers 2, 3, 4 and 5 for $5 each. These BYTES are now classics. All magazines in mint condition. Will sell any combination. Please send money order to D Mathews, POB 469, Lynden WA 98264. WANTED: BYTE issues, June 1976 to March 1977. Evan H Foreman, POB F, Mobile AL 36601 . FOR SALE: Two running bit 483 - 16 K core memory minicomputers and an extra 4 K x 10 core memory (with all drivers and ps). Over 150 com- puter programs, including FORTRAN, timesharing on paper tape (source and object tapes) for the bit 483, all LBDs, wire list, some PCB negatives, almost complete set of tested spare PCB for bit, all above only $2500 FOB Phoenix. Ralph Greenthal, 5009 E Windsor Av, Phoenix AZ 85008. SWAP: For computer of equal value: Heath kit HW-100 5 band radio, 10 thru 80 meter 180 W SSB/CW transceiver, converted to cover 1 1 meter CB in addition. AC power supply, speaker console and 4 BTV HUSTLER antenna. Perfect condi- tion. Ron Dudeck, 1504 W I St, Ontario CA 91762. FOR SALE: Honeywell 200 computer, tape drives, line printer, card reader; Dura Mach 10; Bendix G-15; Royal LGP-30. For details send stamped self-addressed envelope to S Lang, 730 Bridge, Apt 7, Davenport I A 52803. ASSEMBLED SHERE BOARDS FOR SALE: CRT/1, CPU/2, 16 K memory. Contact Richard Likwartz (307) 362-5316. Readers who have equipment, software or other items to buy, sell or swap should send in a clearly typed notice to that effect. To be considered for publication, an advertisement should be clearly noncommercial, 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 limited to 100 words or less. Notices can be accepted from individuals or bona fide computer users clubs only. We can engage in no correspondence on these and your confirmation of placement is appearance in an issue of BYTE. Please note that it may take three or four months for an ad to appear in the magazine. ■ WANTED: Issue number 3, BYTE, November 1975, in good condition. Vincent M J Sumoski, A6-10 Lehigh Av, Gloucester Hts NJ 08030 (609) 456-4298. WANTED: Back issues of BYTE. Issues 1 thru 10, 12 thru 13, Volume 2, Number 2. Good condition. John Berry, 1520 Aberdeen Av, Baton Rouge LA 70808. FOR SALE: IMSAl 4 K EROM board with EROMS. Never used, $350. Associated Electronics PROM burner (burns 1702 and 8702 EROMS) with power supply, S260. J Williams, 2415 Ansdel Ct, Reston VA 22091. FOR SALE: TVT-3 Terminal, never used. S95 or best offer takes. Also, I'm selling an ASCII key- board with MOS encoder, adjustable parity, etc, for $20 "like new." David Tucker, 23681 Marlow, Oak Park Ml 48237. Or call after 4:00 (313) 967-3130. TELEPRINTERS FOR SALE: Model 15 (Baudot) with table, S65; Model 28ASRs. KSRs or ROs (Write); Model 33ASR wilh modem, S675. Some Model 35 (ASCII) equipment. Parts and supplies (paper, tape, ribbons). Model 33ASR wiring diagram packet, $5.75; Model 33 copyholders, S14; Model 33 readers and parts (write). Send SASE for complete list. Lawrence R Pfleger, 2141 N 52nd St, Milwaukee Wl 53208. USED COMPUTER TAPE FOR SALE: Standard V:- inch tape, 9 level 1600 bpi on 2400, 1200 and 600 foot reels. Came from a large data center which just switched computers. Also have about 100 old 2 foot by 2 foot programming boards plus several boxes of jumper wires. Also four boxes of hardware for raised computer room flooring. Call (904) 575-2183 or write Loren Moltedo, 2636-273 Mission Rd, Tallahassee FL 32304. FOR SALE: ASR-33 Teletype with stand, paper punch and reader, for data 1610 modem, and documentation for all, $775. Russ Tremain, 1324 Mission St, Santa Cruz CA 95060. (408) 427-3656. FOR SALE: Brand new 4 K EROMS, type MM- 5204AQ 512 x 8 bit uV erasable, 750 ns, with rubber carriers and data sheets. $6.50 each, or all 12 (6144 bytes) for $75. Steven Hain, 40Wiishire Dr. Sharon MA 02067. (61 7) 784-3374 weeknights. FOR SALE Tektronix RM15 oscilloscope with instruction and maintenance manual and new probe. Asking 160; I am willing to trade for a terminal (any type) or memory. Philip Kaaret, 1113 E State St, Ithaca NY 14850. (607) 272- 9119. WANTED: Any or all of the following issues of HP-65 KEY NOTE, volume 1, numbers 1 thru 5 and volume 2, number 1. Also interested in EE Pacs 1 and 2 and MATH Pacs 1 and 2 (software for discontinued HP-65). Will pay any reasonable price. James Damon, 1619 King St, Alexandria VA 22314. FOR SALE: First four issues of BYTE (September thru December 1975) in new condition. Best offer over S20. Only highest bidder notified. Robert Kindt, 26 Russett Dr, RD =3, Allentown PA 18104. FOR SALE: IMSAl MPU-A board with docu- mentation and Intel 8080 User's Guide, all ICsare socketed, brand new, carefully assembled and tested, $130. Also four memory boards; two Vector 8 K static, $225 each, two MITS 4 K dynamic, $100 each and MITS 2 SfO board, $135. For more information call (518) 456-871 7 or send SASE to Michael Favitta, 4 Sherwood Forest Rd, Albany NY 12203. FOR SALE OR TRADE: Digital Group PHt-F assembled interface for cassette storage system. Purchased at $195, never opened or used, guar- anteed brand new. 6400 bps rate, search speed 100 inches per second, recording density. 1600 FCPI. Test program tape, instruction manual, and board connectors included. First cashier's check or money order for $135 takes it. Also, will take best cash offer or trade for scope, DVM, or camera of equal value if not purchased out- right. Let's make a deal! Mark Anglin, 929 Mills Rd, Wadsworth OH 44281. Phone: (216) 336-5769. FOR SALE: Complete IMSAl 8080 System, 22 slot motherboard with ten connectors and fan; -TDL 16 K memory board (250 ns) ; MIO board with cables; Processor Technology VDM board; Honeywell keyboard, XAM 100% solid state TV with video hookup; 2708 PROM Board with soft- ware for loading operating system from cassette. All manuals provided, plus instruction manual on operation of the complete system. Ready to be plugged in and run. S2500. Programming service also available. T Tai, 115 Bonny Ln, Collegeville PA 19426. FOR SALE; New factory assembled Altair 8800b with 20 K static programmable memory (1 4 K board, 1 16 K board), 88 ACR casseite interface, serial interface, ADM-3A complete cursor control CRT, Extended BASIC software and all manuals; everything for only $2500 or best offer. Will con- sider selling units separately for best offer. Going away to college and must sell system. Please con- tact B Roberts, 505 E 82 St, New York NY 10028. (212) 734-5703. FOR SALE: Okidata CP 110 printer (prints up to 110 characters per second) with RS-232 tractor feed, bidirectional printing and onboard self-test electronics. Less than one year old. New unit costs over $1700. Will sacrifice for S850. You pay shipping. Send SASE lor sample oi printout. Write to P Grivas, POB 3153, Walnut Creek CA 94598. FOR SALE: Oliver papertape reader, S75, Poly- morphics VTI 64 video board, S190, IMSAl audio cassette interface board, S50. Practically unused. J Williams, 2415 Ansdel Ct, Reston VA 22091. FOR SALE: MITS 8080a mainframe. Never used, works, and is in good condition. Will sell for $400. Contact Tyrone Throop at 713 Erskine NW, Huntsville AL 35805, or call (205) 837 9246. FOR SALE: DEC PDP 11/05 runs perfectly, has 8 K x 16 core memory. Extra boards, cables, service information, test tapes and documentation included. First certified check for $1,500 plus shipping. Gerard C Plasse, 53 Main St, Oxford MA 01540. (617) 987-5588. FOR SALE: New TEC-9900-SS-U super starter system kit 16 bit Tl microprocessor, 32 bit IO, hardware multiply and divide, buffered bus, 20 mA or RS232, eight interrupt and sockets. Won at Hartford Ham Convention. List S299, first $175 takes it. Bunker Ramo keyboard -2200 and video display Model 2217 with self contained PS, schematics and manuals $95. John Keslo, 5 Belvina Cir, Pelham NH 03076. (603) 635-2508. FOR SALE: SwTPC 6800 Computer with 4 K programmable memory. New and well constructed, 100% guaranteed, $250. A Cunningham, 1151 Seneca PI, Charlotte NC 2821 0. TRADE: Amateur radio equipment and testing equipment for an Altair 8800 or Imsai. Send for information to Dale Hutchinson, 10818 Bremway Dr, Houston TX 77070. FOR SALE: Altair 8800a with 20 K program- mable memory and ASR 33 Teletype (almost new), reader, punch, interfaces, fan, manuals, etc, 8 K MITS BASIC on paper tape. Cost almost $4000 new. Works perfectly but want to build my own now. Sacrifice this whole quality system for $2495, or just $1895 without the Teletype. First cashier's check or money order reserves this powerful computer and Teletype. Brian J Dowd, DDS, 1770 Century Cir NE, Atlanta GA 30345. 206 BYTE February 1978 S. D. SALES CO ■ AN EMPIRE IND. CO. P.O. BOX 28810 DALLAS. TEXAS 75228 B ORDER BY PHONE CALL TOLL FREE 1- BOO— 527-3460 EXPANDO RAM KIT 8K FOR $151.00 I NTERFACE CAPABILITY Control, data and address in- puts utilizes low power Schottky devices. POWER REOUIREMENTS + 8VDC 400MA DC + 18VDC400MADC — 18VDC30MADC on board regulation is provid- ed. On board (invisible) refresh is provided with no wait states or cycle stealing required. MEMORY ACCESS TIME IS 375ns. Memory Cycle Time is 500ns. Buy an S100 compatible 8K Ram Board and upgrade the same board to a maximum of 32K in steps of 8K at your option by merely purchasing more ram chips from S.D. Sales! At a guaranteed price — Look at the features we have built into the board. PRICES START AT $151 . FOR 8K RAM KIT Add $108.00 for each additional 8K Ram 32K FOR $475.00 MEMORY CAPACITY MEMORY ADDRESSING MEMORY WRITE PROTECTION 8K. 16K, 24K. 32K using Mca- lek MK4115 wilh 8K bound- aries and protection. Utilizes DIP switches. PC board comes with sockets lor 32K operation. Orders now being accepted. Aliow 6 to 8 weeks tor delivery. S.D. SALES NEW ^ EXPANDABLE EPROM BOARD 16K or 32K EPROM $49.95 w/out EPROM Allows you to use either 2708's for 16K of Eprom or 2716's for 32K of Eprom. KIT FEATURES: 1. All address lines & data lines buffered. 2. Quality plated through P.C. Board, in- cluding solder mask and silk screen. 3. Selectable wait states. 4. On board regulation provided. 5. All sockets provided w/board. WE CAN SUPPLY 450ns 2708's AT $11 .95 WHEN PURCHASED WITH BOARD. Z-80 CPU BOARD KIT — $139. CHECK THE ADVANCED FEATURES OF OUR Z— 80 CPU BOARD: Expanded set of 158 instructions, 8080A software capability, operation from a single 5VDC power supply; always stops on an M1 state, true sync generated on card (a real plus feature!), dynamic refresh and NMI available, either 2MHZ or 4MHZ operation, quality double sided plated through PC board; parts plus sockets priced lor all IC's. *Add $10 extra for Z— 80A chip which allows 4MHZ operation Z— 80 chip with Manual — $39.95 8K LOW POWER RAM — $159.95 Fully assembled and tested. Not a kit. Imsai — Altair — S-100 Buss compatible, uses low power static 21L02-500ns fully buffered on board regulat- ed, quality plated through PC board, Including solder mask. 8 pos. dip switches for address select. 4K LOW POWER RAM KIT Fully Buffered — on board regulated — reduced power consumption utilizing low power 21L02 — 1 500ns RAMS — Sockets provided for all IC's. Quality plated through PC board. 'Add $10. for 250ns RAM operation. The Whole Works - $79.95 MUSICAL HORN One tune supplied with each kit. Additional tunes — $6.95 each. Special tunes available. Standard tunes now available: — Dixie — Eyes of Texas — On Wisconsin — Yankee Doodle Dandy — Notre Dame — Pink Panther — Aggie War Song — Anchors Away — Never on Sunday — Yellow Rose of Texas — Deep in the Heart of Texas — Boomer Sooner — Bridge over River Kwal. CAR & BOAT KIT HOME KIT Special Design $34.95 $26.90 Case $3.50 Jumbo LED Car Clock Kit FEATURES: A. Bowmar Jumbo .5 inch LED array. B. MOSTEK — 50250 — Super clock chip. C. On board precision crystal time base. D. 12 or 24 hour Real Time format. E. Perfect for cars, boats, vans, etc. F. PC board and all parts (less case) inc. Alarm option — $1.50 AC XFMR — $1.50 DIGITAL LED READOUT THERMOMETER — $29.95 $16.95 Features: Lltronlx dual 1/2" displays. UsesSilicoaix LD131 single chip CMOS A/D converter. Kit includes all neces- sary parts (except case); AC line cord and power supply included. 0-149° F. 6 DIGIT ALARM CLOCK KIT Features: Litronix dual 1/2" displays, Mostek 50250 super clock chip, single I.C. segment driver, SCR digit drivers. Kit includes all ne- cessary parts (except case). Xfmr optional. Eliminate the hassle. AC XFMR — S1.50 Case $3.50 5 Digit Countdown Utility Darkroom Timer Kit Features: Large LED 1/2" displays oper. from 0.1 sec. to 59 mln. 59.99 sec. 5A-115V. Relay included to control appliances. Operates on 115V AC. Displays can be turned off for total darkness while counting. All necessary parts Included. Special design case $3.75. 6 Digit General Purpose or Computer Timer Kit — $29.95 Features: Large LED1/2" displays, Mostek 50397 counter display/driver, counts up to 59 minutes, 59.99 seconds with crystal con- trolled 1/100 second accuracy, operates on 115V AC or 12V DC supply. All necessary parts Included. Special design case $3.75. Bowmar 4 Digit LED Readout Array Full V2" Litronix Jumbo Dual Digit LED Displays 4 JUMBO .50" DIGITS ON ONE STICK! WITH COLONS & AM/PM INDICATOR $3 95 DL722-C.C. DL728-C.C. DL7218C.A. DL727-C.A. 99c $1 .29 NEW COMPETITION CHESS TIME KIT WITH TWO INDEPENDENTFIVE DIGIT 1/2" LED DISPLAYS The timers can be used in- dependently or coupled. The timer can be set to 59 minutes 59.9 seconds at 0,1 intervals. Kit includes all necessary parts and an at- tractive woodgrain case. Low Cost Cassette Interface Kit $14.95 L .lllllllllllll lllllllllr- $79.95 Complete Kit Features: K.C. standard 2400/1200 Hz, 300 Baud, TTL, I/O compatible, phase lock loop. 22 pin connector. Feeds serial data via microprocessors I/O ports and from cassette tape recorder. $14.95 RAM'S 21L02-5O0NS 6/11 .50 21L02-250N5 8/15.95 2114 — 4K 14.95 1101 A —256 8/S4.00 1103—1K 35 MK4115-8K IS. 45 74S200-256 3.95 CPU'S Z— 80 includes manual 29.95 Z— 80A includes manual 34.95 8080ACPU6BIT 11.95 8008 CPU 8 BIT 6.95 PROMS 1702A- IK- 1.5us 3.95 or 10/35. 2708 - 8K Intel ■ 450ns 14.95 5204 -4K 795 82SI29— 1K 2.50 2708S 8 8K siflnotics 650ns 9.95 COUNTER CHIPS MK50397 6 Digil elapsed timer 8.95 MK50250 Alarm clock 4.99 MK50380 Alarm chip 2.95 MK50396 6 digit up/down counter 12.95 MK5002 4 digit counter B.95 MK5021 - Cal. chip sq. root 2.50 THERMISTORS MEPCO — NEW! 1.SKOHM 5/n.oo DISC CAPS FOR BYPASS .01 MFD- 100 VWDC. PC leads. 40/S1. Photocell Asst. We bought almost 200K Ir om a big US mlg. Three product families: " smallf medium and dual prioiocells. Perfeci for all light sensi- tive applications. * 12/51.00 MICA TRIMMER PC 402 Miniature 1.5 — 20P.F. P.C. Mount 4/S1 TANTALUM CAPS 1 MFD. 20VDC. P.C. LEADS 16 lor SI. 00 BALUM Used In TV Tuners Can be rewound lor Ham Iraq. 6/S1 Originally used in desk lop calcula- tors. Perfect (or use with LEDandolher type readouls. AMBER-flforSI. FLAT PACK IC ASSORT. FLAT PACK 5400 SERIES. SPECIAL BUY FROM ITT. 20 Assorted Devices lor SI, 00 STANDARDCOILS Use in TV Sets. 1.2 uh 5% and 1.5 uh 10%. Your choice 12/S1 TTL ASSORTMENT Coniainsafilgh yield of usableparts. 50/S1.50 MICRO-DIP $1.95 New — Series 2300 The World's Smallest Coded BCD Dual-ln-Line Switch! PC Mount 2300 02G BCD 1-2-4-8 2300 12G BCD 1-2-4-8 Compliment ELECTRICALCOIL 13TTYPEC IDT TYPE C YOUR CHOICE 12/J1 Ideal lor thsexper. 12IS1 RESISTOR Speclall 22 Ohm, 1 Walt. Carbon Comp. 10%. Handy value. Paral- lel to make law ohm- age power resistors. Heip! We bought 100,000 pieces! % 25 lor II. 2 TRANSISTOR AUDIO ami. W/Specs. 6/S1 NEWCAMBION JACKS PART * 450-4352 Gold Plated 50/ Si DISC CAP ASST. PC leads. At least 10 different values: includes .001, .01, .05 plus Other stan- dard values, no/ J 1 .00 JOYSTICKS FOUR 100 K-OHMS POTS Ideal for pen electronic games $3.95 TRIMMER POTS 10K, 20K, 25K OHM. Mini for PC boards. YOUR CHOICE 10/S1. SILICON RECTIFIER Spadill 1N4O07. 1 AMP 1000 PIV. PRIME UNITS 107S1. P.C. LEAD DIODES 1N4l4a/1N914 -100/52,00 IN4002- I A — 100P1V 40/11.00 STANDARD ANT. TER. Used for Anl. Hook- up on all TV Sets. 1211 MICROPROCESSOR CHIPS 8212-l/Oport 3.50 8214 — P. I.C 12.95 8216 — Non Invert Bus 4.95 8224 — Clock Gsn. . . . ! 4.95 8226 — Invert Bus 3.95 PIO tor Z-80 14.95 CTC tor Z-B0 14.95 8228 Sys. Controller 8.20 8251 Prog. comm. Interface 10.95 8255 Prog. perp. Interface 13.50 8820 Dual Line Hecr 1 .75 8830 Dual Line Dr 1 .75 2513 Char. Gen 7.50 8838 Ouad Bus. Recvr 2.00 74LS138N — 1 /8 decoder 99 8T97-Hex Tri-State Buffer 1.25 1488/1489 RS232 1 .50 TR 1602B Uart . .' 3.95 Z-80 PROGRAMMING MANUAL IN DEPTH DETAIL OF THE Z-80 CPU MICRO-COMPUTER S.D. Sales Special $9.95 'Choose $1 . Free Merchandise From Asterisk Items on each $15 order! CALL IN YOUR BANKAMER- ICARD (VISAI OR MASTER CHARGE ORDER IN ON OUR CONTINENTAL TOLL FREE WATTS LINE: Texas Residents Call Collect: 214/271-0022 1-800-527-3460 DEALER INQUIRIES INVITEDI Zetms - 60 Day Money Mack Guarantee! NO COD'S. TEXAS RESIDENTS ADD 5% SALES TAX. ADD 5% OF ORDER FOR POSTAGE & HANDLING . OR- DERS UNDER $10. ADD 75c HAND- LING. FOREIGN ORDERS - U. S. FUNDS ONLYI ^ Circle 103 on inquiry card. BYTE February 1978 207 fleadep Service 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 13 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 B YTE, bringing you a bigger B YTE. Inquiry No. Page No. Inquiry No. Page No. Inquiry No. Page No. 87 AAA Chicago Computer Center 167 1 Addison-Wesley Publishing 30 2 Alpha Digital 128 3 Anderson Jacobson 67 4 AP Products 125 5 Apple Computer 16, 17, 18 6 Artec Electronics 55 7 Atwood Enterprises 187 8 Beckian Enterprises 187 9 BITS 29, 129, 147, 160, 161, 171 * BYTE Binders 147 * BYTE Bound Volumes 92 * BYTE Index 147 11 Byte Shop, Tustin 141 12 California Applied Technology 147 13 California Industrial 180 14 Canada Systems 130 15 Capital Equipment Brokers 133 16 Carterfone 46 17 Central Data 103 18 CMC Marketing 73 19 Component Sales 204 21 Computer Corner 157 22 Computer Enterprises 140 23 Computer Hardware Store 1 57 24 Computerland 58, 59 25 Computer Machine Service 157 26 Computer Mart of NH 157 27 Computer Mart of NJ 131 28 Computer Mart of Royal Oak Ml 51 29 Computer Place 167 30 Computer Systems Store 157 31 Computer World 105 32 Cox, Roger 147 34 Cromemco 1, 2 35 DaJen 33 16 Dal Data Inc 46 36 Databyte 21 * Data General 57 38 Data Search 132 39 Digital Group 75 40 Digital Micro Systems 136 41 Digital Research 189 42 Digital Systems 7 44 Elcom Enterprises 167 45 Electrolabs 181 46 Electronic Control Technology 132 47 Electronic Systems 191 48 Electronic Warehouse 185 49 Extensys 45 50 CWEngel 134 51 Forethought Products 145 52 Gallagher Research (GRI) 133 53 DC Hayes 1 75 54 Heath CIV, 34 55 Heuristics 97 56 Hobby World 193 57 IMSAI 43 58 Integral Data Systems 63 59 Integrated Circuits Unlimited 195 60 International Data Systems 137 61 Ithaca Audio 134 62 Jade 196,197 63 James 198, 199, CM I 64 Jensen Tools & Alloys 147 65 Logical Services 126 66 Manchester Equipment 20 67 Meca 183 68 Meshna 201 69 Micro Business 78 107 70 Micro Diversions 47 71 Micronics 130 72 Micropolis 60 73 Micropolis 61 74 Microware 24 75 Midwestern Scientific Instruments 143 76 Mikos183 77 Mini Micro Mart 135, 203 78 Mountain Hardware 1 5 79 mpi 129 80 MSD123 81 National Digital Diagnostics 157 82 National Multiplex 139 83 NCC78 151 84 Netronics128 85 Newman Computer Exchange 176 86 North Star Computer 23, 37 * Ohio Scientific Instruments 39, 40, 41 88 OK Machines TooM01 89 Oliver Audio Engineering 51 90 Osborne & Associates 99 91 PAIA49 92 Page Digital 185 93 Parasitic Engineering 53 94 Peripheral Vision 69 * PolyMorphic Systems 31 96 Poly Paks 177 97 Priority I 205 98 Processor Technology 87, 89, 91 , 93 99 ROM 149 101 S-100 135 102 Scelbi 13, 121 * Scientific Research 83, 95 103 SD Sales 207 104 Silver State Enterprises 147 105 Smoke Signal Broadcasting 115 106 Software Records 141 107 Solid State Music 5 108 Solid State Sales 175 109 Solid State Time 22 1 1 Southwest Technical Products CI I 1 1 1 Structured Systems 1 59 112 Summagraphics 127 95 Synchro Sound 113 113 Systemathica 157 114 Tarbell Electronics 11 115 Technical Design Labs 32 116 Technical Systems Consultants 9 18 TEI 73 119 TLF 71 120 Touchstone 147 121 Trace Electronics 119 122 Vamp 157 123 Vector Graphic 65 * Vista Computing 78, 79 1 24 West Coast Computer Faire 1 53, 1 55 125 Wintek131 126 Worldwide Electronics 147 127 Xitex 145 128 Xybek136 129 Yestronics 157 * Reader Service inquiries not solicited. Correspond directly with company. PYIE'c Liftiof Mtniitr- fctx Article No. ARTICLE 1 Ciarcia: A Penny Pinching Address State Analyzer 2 Wilber: CIE Net: A Network of Community Information Exchanges 3 Bunce-Schwartz: Some Musings on Boolean Algebra 4 Bober: Taking the First Step 5 Smith: Simulation of Motion: Extended Objects, Applications for Boating 6 Webster-Young: Add a $3 Light Pen to Your Video Display 7 Fylstra: SWEETS for KIM 8 Steinwedel: Personal Computers in a Distributed Communications Network 9 Kent: The Brains of Men and Machines: How the Brain Controls Output 10 Allen: A Minifloppy Interface 11 McGath: Programming Entomology 12 Grappel: A Simple Digital Filter PAGE 6 14 25 35 42 52 62 80 84 114 162 168 Tightly Clustered November's BOMB analysis provided two tight "clusters" of ratings in readers' reactions. The first cluster was a tie for first place between Steve Ciarcia's "Memory Mapped 10," page 10, and Burt Hashizume's tutorial on "Floating Point Arithmetic," page 76. Each will receive a $100 bonus check for placing 1.6 standard deviations above the mean. The- second place cluster con- sisted of two complete computer plans: "Kom- puutar" by David Brader, page 94, and "Building a Computer From Scratch" by Hilary Jones, page 80. Each will receive a $50 bonus check for placing 0.7 standard deviations above the mean in readers' preferences. For November's voting, the standard deviation (a) was 17% of the mean of 14 articles. Fill out your BOMB card with ratings from to 10 for each article, plus any uncensored comments you have for this direct line to the editor's desk.* 208 BYTE February 1978 im-pak One-Stop electronic components Component Center QUALITY PRODUCTS TTL LINEAR RESISTORS SWITCHES LM301V LM340T 15 7B15I ASST 1 ASST 5 SPST 4 Mi Hid SPOT puih button '•c LM307V LM555V ASST 2 ASST 6 SPST 8 IU dip SPDT nus» buiiii" LM309K LM556N ASST 3 ASST 1 SPOT ,.,i oil 0" SPST puih button LM311V LM567V ASST 4 loiiiK- SPST nmh butiun 74 !Q LM320K 5 79051 LM723N 7420 74122 LM320T 5 79051 LM739N 7430 /432 74123 MI2S 'DVR093. LM32QT12I7912I LMM1V LM320T 15(79151 LM/4JN CAPACITORS DPOT ™>nll on DPDT minowiin m«7 741GT 'DM9316) LM34UT S Aluminum tlectro lytic 7*76 74 192 MICROPROCESSOR 4 7 m til 50V 10—l<1 50V 220mi, i 50V ■WOmM 50V SOCKETS h«W .' so 22ml. 1 50V IQQ&mfti 25V Mmn law px.i.ie 16 pm wife neap lGp.Mlowpiiil.lt' 24 pm wire wrnn Low Power TTL Schottky U212 2102 21L02 40p.Mlowp.ol.il' TO-3Socket A¥ 5-1UK DMBB35N '4LS30 MLS136 291372140 NBT97 1 OOP* 50'. 01 ml, 150V Display LEDS Discrete 74LS32 74LS138 6.7,1ol matt,. GOO com aModc 74LS74 '4|_S'5 '4LS1 75 74LS367 C/MOS 1N7SI IN4733 1N4734 DIODES IN4148MN9 IN4001 IN4004 IN40O7 MDA 980 3 ,4, 330pl 50V 4 70nl 50V 04 7mi