iOBERT ?9 1 1 NINE' \ ■■ => ,H o h j .k [C .t '.: .1 . — . z x .c 'v .b .n m '.? '.- .5 . •-." ■MMMgMI^M ^.^^.j-^^^-^^ ■ ■ ■ Someday all terminals will be smart. 128 Functions— software controlled 7x12 matrix, upper/lower case letters 50 to 38,400 baud-selectable 82 x 16 or 92 x 22 format— plus graphics Printer output port "CHERRY" keyboard CT-82 Intelligent Terminal, assembled and tested $795.00 ppd in Cont. U.S. SOUTHWEST TECHNICAL PRODUCTS CORPORATION 219 W. RHAPSODY SAN ANTONIO, TEXAS 78216 Circle 350 on inquiry card. Here's how you can be fully computerized for so much less than you thought BUSINESS — EDUCATION —ENGINEERING — MANUFACTURING We are pleased to announce the first professional time-sharing system in the microcomputer field. Naturally, it's from Cromemco. This new multi-user system will do all of the tasks you usually associate with much more expensive time-sharing com- puters. Yet it's priced at an almost un- believably low figure. Look at these features: • You can have up to 7 terminals plus a fast, 132-column line printer • You can have a large system RAM memory that's expandable to 1 A megabyte using the Bank Select feature • Each user has an independent bank of RAM • You can have floppy disk storage of up to 1 megabyte • You have confidentiality between most stations • And, make no mistake, the system is fast and powerful. You'll want to try its fast execution time yourself. 4? PROGRAMMERS LOVE OUR BASIC This new system is based on Cro- memco's well-known System Three Computer and our new Multi-User BASIC software package. Programmers tell us that Cromemco Multi-User BASIC is the best in the field. Here are some of its attractions: • You can use long variable names and labels up to 31 characters long — names like "material on order" or "calculate speed reduction." • You get many unusual and helpful commands that simplify programs and execution — commands such as PROTECT, LIST VARIABLES, NOLIST, and many more. • No round-off error in financial work (because our BASIC uses binary- coded decimal rather than binary operation). And we've still been able to make it FAST. • Terminals and printer are interrupt- driven — no additional overhead until key is pressed. • The conveniences in this Multi-User BASIC make it much easier to write your own application software. • A line editor simplifies changes. BENCHMARK IT — NOW In the final analysis, the thing to do is see this beautiful new system at your dealer. See its rugged professional qual- ity. Evaluate it. Benchmark it for speed with your own routine (you'll be agree- ably surprised, we guarantee you). Find out, too, about Cromemco's rep- utation for quality and engineering. Look into it now because you can have the capabilities of a fully compu- terized operation much quicker and for much less than you ever thought. Circle 80 on inquiry card. a Cromemco incorporated Microcomputer Systems 280 BERNARDO AVE., MOUNTAIN VIEW, CA 94040 • (415)964-7400 BYTE April 1979 On Card Voltage Regulation The single card computer with the features that help you in real life COMPLETE COMPUTER In this advanced card you get a pro- fessional quality computer that meets today's engineering needs. And it's one that's complete. It lets you be up and running fast. All you need is a power supply and your ROM software. The computer itself is super. Fast 4 MHz operation. Capacity for 8K bytes of ROM (uses 2716 PROMs which can be programmed by our new 32K BYTE- SAVER* PROM card). There's also 1K of on-board static RAM. Further, you get straightforward interfacing through an RS-232 serial interface with ultra-fast speed of up to 76,800 baud — software programmable. Other features include 24 bits of bi- directional parallel I/O and five on- board programmable timers. Add to that vectored interrupts. ENORMOUS EXPANDABILITY Besides all these features the Cro- memco single card computer gives you enormous expandability if you ever need it. And it's easy to expand. First, you can expand with the new Cromemco 32K BYTESAVER PROM card mentioned above. Then there's Cromemco's broad line of S100-bus-compatible memory and I/O interface cards. Cards with fea- tures such as relay interface, analog interface, graphics interface, opto- isolator input, and A/D and D/A con- version. RAM and ROM cards, too. Card age 32K BYTESAVER PROM card EASY TO USE Another convenience that makes the Model SCC computer easy to use is our Z-80 monitor and 3K Control BASIC (in two ROMs). With this optional software you're ready to go. The monitor gives you 12 commands. The BASIC, with 36 commands/functions, will directly ac- cess I/O ports and memory locations — and call machine language subroutines. Finally, to simplify things to the ulti- mate, we even have convenient card cages. Rugged card cages. They hold cards firmly. No jiggling out of sockets. AVAILABLE NOW/LOW PRICE The Cromemco Model SCC is avail- able now at a low price of only $450 factory assembled ($395 kit). So act today. Get this high-capability computer working for you right away. 2 BYTE n Cromemco ^L^^^l Specialists in computers and peripherals 280 BERNARDO AVE., MOUNTAIN VIEW, CA 94040 • (415) 964-7400 April 1979 Circle 80 on inquiry card. In the Queue BIT! April 1979 Volume 4, Number 4 Foreground 10 THE TOY STORE BEGINS AT HOME, by Steve Ciarcia Build a challenging musical game in BASIC 26 SIMULATING PHYSICAL SYSTEMS, The Two-Dimensional Ideal Gas, by Mark Zimmermann Experiment with physical models on your computer 46 SOURCES OF NUMERICAL ERROR, by Daniel R Buskirk Learn how to control errors from rounding and truncating 84 MARSPORT: The Three-Dimensional Celestial Mechanics Simulation for the HP 67/97, by D D Hinrichs Pilot a spaceship to a soft landing on the Martian surface 110 STANDARD DATA ENCRYPTION ALGORITHM, Part 2: Implementing the Algorithm, by R V Meushaw The Standard Data Encryption Algorithm on a KIM-1 computer. Part 2 of two parts. 132 QUEUING THEORY, Part 1 : Queue Representation, by Len Gorney Waiting lines are so important that an entire area of mathematics is devoted to their study 176 THE POWER OF THE HP-67 PROGRAMMABLE CALCULATOR, Part 2, by Robert CArp, Jr An example solution of simultaneous equations page 10 Background 20 CROSS-POLLINATING THE APPLE II, by Richard Campbell Add an Intel 8251 programmable communications interface 54 SMART MEMORY, Part 1 , by Randy C Smith The concept of associative ("smart") memory is discussed 66 A SIMULATED VIEW OF THE GALAXY , by Mark Dahmke Viewing constellations from other parts of the galaxy, and related matters 144 CRYPTOGRAPHY IN THE FIELD, Part 2: Using the Pocket Calculator, by John P Costas Using a pocket calculator to implement a field cipher 166 LIFE CAN BE EASY , by Randy Soderstrom A simple implementation of Life 170 AN EASY WAY TO CALCULATE SINES AND COSINES, by Robert Grappel Relative sine and cosine values in one byte 210 AN INTRODUCTION TO MICROPROGRAMMING, by Ben E Cline The fundamental level of control 218 A DIGITAL ALPHANUMERIC DISPLAY , by Daniel Chester A 7 segment display 224 MICROCOMPUTER TIMESHARING: A Review of the Techniques, by Kenneth J Johnson Designing multiuser systems 236 A BINARY GUESSING GAME, by Mark Zimmermann and James Blodgett U Lj page 20 ■, ■ ." ■ • •• ■ ■ • '.• • .■" , fc-V«. '/ • - •V I ■ page 26 Calculator pattern recognition Nucleus 4 In This BYTE 6 Editorial: On the Importance of Backups 8 Letters 42 Book Reviews 50, 247 Technical Forum 53, 192, 201 BYTE's Bugs 64,175,221 BYTE's Bits 172 Desk Top Wonders: Digital Circuit Simulation 190 Nybbles: BASIC Cross-Reference Table Generator 193 BYTE News 202 Event Queue 204 Clubs and Newsletters 222 Programming Quickies: Label and File Program 238 Languages Forum 249 What's New? 278 Unclassified Ads 280 BOMB 280 Reader Service page 66 Cover Art: INFINITE REGRESSION by Robert Tinney. BYTE is published monthly bv BYTE Publications Inc. 70 Main St. Peterborough NH 03458. Address all mail except subscriptions to above address, phone (603) 924-7217. Address sub- scriptions, change of address. USPS Form 3579. and fulfillment questions to BYTE Subscriptions. PO Box 590, Martinsville NJ 08836, Second class postage paid at Peterborough NH 03458 and at additional mailing offices-USPS Publication No. 102410 (ISSN 0360-5280). Subscriptions are S18 for one year. S32 for two years, and S46 for three years in the USA and its ppssessions. In Canada and Mexico. S20 for one year. $36 for two years, S52 for three years. S32 for one year air delivery to Europe. $32 surface delivery elsewhere. Air delivery to selected areas at addi- tional rates upon request. Single copy price is $2 in the USA and its possessions, S2.40 in Canada and Mexico, S3. 50 in Europe, and S4 elsewhere. Foreign subscriptions and sales should be re- mitted in United States funds drawn on a US bank. Printed in United States of America. Address all editorial correspondence to the editor at the above address. Unacceptable manuscripts will be returned if accompanied by sufficient first class postage. Not responsible for lost manuscripts pr photos. Opinions expressed by the authors are not necessarily those of BYTE. Entire contents copyright © 1979 bv BYTE Publications Inc. All rights reserved. BYTE® is available in microform from University Microfilms International, 300 N Zeeb Rd, Dept PR. Ann Arbpr Ml 48106 USA pr 18 Bedford Row, Dept PR, London WC1R 4EJ ENGLAND. Subscription WATS Line: (800) 258-5485 April 1979 © BYTE Publications Inc In this BYTE Randy Soderstrom provides a quick and simple Life program for the 8080 in his article Life Can Be Easy. page 166 This month's cover painting by Robert Tinney is called "Infinite Regression"— an appropriate way to introduce you to several articles in this issue dealing with computer simulation. The term "simulation" can have a bewildering variety of meanings; we have restricted ourselves herein to simulations of galaxy projections, digital circuits, celestial mechanics, and an ideal two-dimensional gas — all using your personal computer or pro- grammable calculator. By adding special controls to a micro- computer, a user can input special informa- tion or information in particular forms. The addition of four switches and four colored lights allows your computer to play a memory game such as the ones found in department stores. Steve Ciarcia tells how The Toy Store Begins at Home. page 10 There is more than one way to peel an Apple, or in this case to interface an Apple II. Richard Campbell gets to the core of the problem in Cross-Pollinating the Apple II. page 20 One fascinating use of a computer is performing experiments quickly and easily. The experimenter can define proper- ties and change parameters in a program rather than having to rebuild equipment. Mark Zimmermann discusses Simulation of Physical Systems, specifically The Two- Dimensional Ideal Gas. page 26 An important area of numerical calcu- lations is the control of errors: rounding errors, truncation errors, and so on. Daniel R Buskirk has some comments on this very necessary study in Sources of Numerical Error. page 46 Wouldn't it be nice to have a type of memory in your computer that would answer questions such as, "Which of my employees are over 35 and make more than $20,000?" Such a memory is known as an associative memory. Randy Smith introduces us to the world of Smart Memory in part 1 of this 2 part series. page 54 Have you ever wondered what our galaxy looks like from one million light years away? Perhaps you want to study the formation of the Andromeda galaxy or incorporate a known star cluster into a space war game. In either case you'll want to have A Simulated View of the Galaxy as discussed by Mark Dahmke. page 66 Delmer D Hinrichs presents a com- bination three-dimensional Mars lander and introduction to celestial mechanics in Marsport Here I Come: The Three- Dimensional Celestial Mechanics Simu- lation for the HP 67/97. page 84 The Standard Data Encryption Algo- rithm by Robert V Meushaw discusses its implementation on the basic KIM-1 system. A detailed description of the algorithm and generalized flowcharts are also given. page 1 10 In everyday life we wait in lines before we can do particular things. The same happens with computers. The study of waiting, called Queuing Theory, and how computers handle the situation is discussed by Len Gorney. page 132 The pocket calculator can be used to encipher and decipher messages. John Costas provides us with working examples of Cryptography in the Field, Part 2: Using the Pocket Calculator. page 144 When working with trigonometric quan- tities, it is not always necessary to arrive at the precise value. Often a relationship between the desired value and the entire range of allowable values is sufficient. Robert Grappel discusses such an implemen- tation in An Easy Way to Calculate Sines and Cosines. page 170 In The Power of the HP-67 Programmable Calculator, Part 2, Robert C Arp Jr con- cludes his discussion of the HP-67 with a practical applications program for solving simultaneous equations. page 1 76 The ability to microprogram a pro- cessor increases the power and usefulness of that processor to a particular user. Microprogramming allows one machine to appear as several different processors while using the same hardware. Ben E Cline gives us An Introduction to Microprogramming and shows how it can be used. page 210 Could you use a pocket-size alpha- numeric terminal? One of the main pro- blems with this type of device is the size of the video screen used for output. By using 7 segment displays, Daniel Chester has thought of a way to make A Digital Alphanumeric Display. page 218 Is it practical to use microcomputers for timesharing? In Microcomputer Time- sharing, Kenneth J Johnson reviews some of the techniques developed for large computers with an eye toward utilizing them on a microcomputer. page 224 Artificial intelligence (Al) on a pro- grammable calculator? Why not? A Binary Guessing Game shows you how. Authors Mark Zimmermann and James Blodgett describe a pattern recognition algorithm that tries to outguess the operator, often with remarkable success. page 236 Publishers Virginia Londoner Gordon R Williamson Vice-President Periodicals John E Hayes Assistant Jill E Callihan Editorial Director Carl T Helmers Jr Executive Editor Christopher P Morgan Editor in Chief Raymond G A Cote Senior Editor Blaise W Liffick Editor Richard Shuford, N4ANG Editorial Assistant Gale Britton New Products Editor Clubs. Newsletters Laura A Hanson Drafting Jon Swanson Production Editors David William Hayward Ann Graves Art Director Ellen Bingham Production Art Wai Chiu Li Christine Dixon Typographers Cheryl A Hurd Stephen Kruse Debe L Wheeler Advertising Director Patricia E Burgess Assistant Ruth M Walsh Adv/Prod Coordinator Thomas Harvey Advertising Billing Noreen Bardsley Don Bardsley Receptionist Jacqueline Earnshaw Circulation Manager Gregory Spitzfaden Assistants Pamela R Heaslip Agnes E Perry Melanie Bertoni Dealer Sales Ginnie F Boudrieau Anne M Baldwin Traffic Department Rick Fuette Mark Sandagata Book Division: Publisher Edmond C Kelly Jr Production Editors Patricia Curran William Hurlin E S Associates Comptroller Kevin Maguire Assistant Mary E Fluhr National Advertising Sales Representatives: Hajar Associates Inc East 280 Hillside Av Needham Heights MA 02194 16171 444-3946 521 Fifth Av New York NY 10017 12121 682-5844 Midwest 664 N Michigan Av Suite 1010 Chicago IL 6061 1 (3121 337-8008 West. Southwest 1000 Elwell Ct Suite 227 Palo Alto CA 94303 1415) 964-0706/(714) 540-3554 Printing The George Banta Company Drafting Techart Associates Typography Goodway Graphics Photography Ed Crabtree Editorial Associate Daniel Fylstra Associates Walter Banks Steve Ciarcia David Fylstra Ira Rampil Distributors: Eastern Canada RS-232 Distribution Company 186 Queen St W, Suite 232 Toronto ONTARIO M5V-1Z1 Western Canada Kitronic Ltd 26236 26th Av RR 5 Aldergrove BC VOX 1A0 April 1979 © BYTE Publications Inc How to buy a personal computer. Suddenly everyone is talking about personal computers. Are you ready for one? The best way to find out is to read Apple Computer's "Consumer Guide to Personal Computing." It will answer your unanswered questions and show you how useful and how much fun personal computers can be. And it will help you choose a computer that meets your personal needs. Who uses personal computers. Thousands of people have already discovered the Apple computer — businessmen, students, hobbyists. They're using their Apples for financial management, complex problem solving — and just plain fun. You can use your Apple to analyze the stock market, manage your personal finances, control your home environment, and to invent an unlimited number of sound and action video games. That's just the beginning. What to look for. Once you've unlocked the power of the personal computer, you'll be using your Apple in ways you never dreamed of. That's when the capabilities of the computer you buy will really count. You don't want to be limited by the availability of pre-programmed cartridges. You'll want a computer, like Apple, that you can also program yourself. You don't want to settle for a black and white display. You'll want a computer, like Apple, that can turn any color tv into a dazzling array of color graphics* The more you learn about computers, the more your imagination will demand. So you'll want a computer that can grow with you as your skill and experience with computers grows. Apple's the one. How to get one. The quickest way is to get a free copy of the Consumer Guide to Personal Computing. Get yours by calling 800/538-9696. Or by writing us. Then visit your local Apple dealer. We'll give you his name and address when you call. *Apple II plugs into any standard TV using an inexpensive modulator (not included). 1." i i am em em B*t an t^ bh ,ga .ts* on ' - »v am tm me - 1 «i ' §r bi .m m m w*k* — . cr^ . ^ ,„4 [«*:-: -• .1 , «n Mfc Circle 15 on inquiry card. apple computer 10260 Bandley Dr.. Cupertino, CA 95014 In California call (408) 996-1010. BYTE April 1979 Editorial Altos Computer Systems 2378-B Walsh Avenue Santa Clara, CA 95050 Apple Computer 10260 Bandley Dr. Cupertino, CA 95014 Digital Microsystems Inc. (Formerly Digital Systems) 4448 Piedmont Ave. Oakland, CA 94611 Imsai Mfg. Corporation 14860 Wicks Blvd. San Leandro, CA 94577 Industrial Micro Systems 633 West Katella, Suite L Orange, CA 92667 North Star Computer 2547 9th Street Berkeley, CA 94710 Percom Data 318 Barnes Garland, TX 75042 Polymorphic Systems 460 Ward Dr. Santa Barbara, CA 93111 Problem Solver Systems 20834 Lassen Street Chatsworth, CA 91311 Processor Applications Limited 2801 E. Valley View Avenue West Covina, CA 91792 SD Sales 3401 W. Kingsley Garland, TX 75040 Smoke Signal Broadcasting 6304 Yucca Hollywood. CA 90028 Technico Inc. 9130 Red Branch Road Columbia, MD 21045 Texas Electronic Instruments 5636 Etheridge Houston, TX 77087 Thinker Toys 1201 10th Street Berkeley, CA94710 Vista Computer Company 2807 Oregon Court Torrance, CA 90503 ^.Shugart April 1979 © BYTE Publications Inc On the Importance of Backups by Carl Helmers The other day I had a problem using my computer system which many readers may have had. The lesson to be learned from my experience forms the subject of this essay. This problem is one of zapping the file structure of a disk. Sooner or later everyone who uses a small computer system will encounter a similar situation. One could be tempted to think, naively, that such problems are limited to large computer systems with large sensitive flying head disk media, but this is by no means the case. Floppy disks can be logically zapped just as easily. I, like many of our readers with systems, have not been letting my system lie idle in the house. In the years since starting this publication with my associates in 1975, I have been suffering withdrawal symptoms from big computers and associated time sharing software. In my case it was everyone's favorite target of criticism, TSO running on a large IBM 360 system. Well, finally small computers got to the point where they could support my style of language, Pascal. Last summer, I bought the Northwest Microcomputer Systems model 85/P with UCSD Pascal as its operating system, filing system, editor and high level language package. (An aside: at present, the options are hardly limited to the 85/P as many other small computer manufacturers have begun offering versions of this excellent software; at present one can get it on machines ranging from a dual mini-floppy Apple II or North Star Horizon, to machines with full size floppies like my 85/P, or the Cromemco system we are using at BYTE as an editorial computer, to the most exotic of all Pascal machines, the Western Digital "Pascal Micro Engine" which directly executes the p-code inter- mediate output of the UCSD compiler. Recent word from Apple has it that the UCSD Pascal system with full Turtle graphics will be available in June of this year for approximately $400 hardware and software cost. The hardware consists of a special 16 K programmable memory card added to a 48 K Apple II with single or dual disks. The software is the complete UCSD system of editor, file system, Pascal compiler and utilities.) Recently I have been writing my editorials for BYTE using the excellent screen oriented editor program of the UCSD system. I have been learning Pascal so that I can make it my principal software development tool. I have been learning the details of using Pascal as a significant hardware oriented programming aid, a limited function with the 85/P but one which will blos- som to full fruition when I get the Pascal microengine sometime in the coming months. All this is but a prelude. I have also learned anew the opportunities for making foolish mistakes. One of the most foolish is that of not periodically backing up files against possible losses. The losses I refer to can stem from numerous causes. We all, quite naturally, assume that the systems software is perfect, but there is that nagging 1 percent of doubt that everyone has. So even if we had perfect media, it would be necessary to back up files by copying from one disk to another as insurance against software failure. But that is hardly the major problem. Continued on page 196. "My 8 to 5 minifloppy now works nights and weekends!' VM\«f*> &■*, "I own a fast-growing business and before I bought my computer system I put in a lot of late hours keeping up with my accounting and inventory control. Now the computer does my number crunching quickly, so I have time after hours to have some fun with the system. My son and I started out playing Star Trek on the system, and now we're learning to play chess. "When I was shopping around for my system, the guys in the computer stores demonstrated all the unique features of the minifloppy. I've got to admit that at first I didn't really understand all the technical details. But now that I use the system every day, I really appreciate the minifloppy's fast random access and data transfer. I like the reliability, too. "I'm glad I went with Shugart drives. Look, when you lay out your own money for a system, you want dependable performance and good value. Do what I did. Ask for the system with the minifloppy." If it isn't Shugart, it isn't minifloppy. ^=C @ Shugart Associates 435 Oakmead Parkway, Sunnyvale, California 94086 For a list of manufacturers featuring Shugart's minifloppy in their systems, circle reader response number. TM minifloppy is a registered trademark of Shugart Associates BYTE April 1979 Letters SUCCESSFUL TRANSFORMATION I thoroughly enjoyed the article "Fast Fourier Transforms on Your Home Computer," by William D Stanley and Steven J Peterson (December 1978 BYTE, page 14). I have the program running on Radio Shack TRS-80 disk BASIC. I also tried the BASIC code in "Tic-Tac-Toe in BASIC" (December 1978 BYTE, page 174). It would be helpful if Mike Stoddard, the author, had explained the characteristics of his source machine. I spent some time converting the "215" enclosed in back- slashes to CHR$ (215) for formatting purposes. I enjoy your magazine and use it regularly. Keep it up. Joseph X Brennan POB 302 Upland CA 91786 Another problem with "Tic-Tac-Toe in BASIC" was the accidental omission of program lines 2590 through 3080. The missing lines were printed in the "BYTE's Bugs" section of the February 1979 BYTE, page 43 CH. MAKING CENTS Being an avid reader of BYTE I have received many helpful hints about how to use my computer more efficiently. I have enclosed a simple program that puts dollars and cents into business programs. A lot of small businesses need cal- culated results in a print out in the form of at least two digits, complete with 0s after the decimal point (eg: "$2.00"). Most systems automatically eliminate trailing 0s. The enclosed program can be used as a subroutine to perform this task. The variable must be made equal to X previous to using the subroutine. As you can see, the program returns even if there is no need to add 0s. Sev- eral small businesses are using this simple answer to the zero problem. 1000 C=0 1010 LET A$=STR$(X) 1020 LETI = LEN(A$) 1030 LET H=l-1 1040 IF X=INT(X) THEN PRINT MID$(A$,1,H); ".00": RETURN 1050 FOR A=1 TO 9 1060 LET B=C+.1 1070 IF X=INT(X)+B THEN PRINT MID$(A$,1,H); "0": RETURN 1080 LETC=B 1090 NEXT A 1100 PRINT A$ 1110 RETURN James Thebeault, Sr Rte 12 POB 94 Mansfield OH 44903 DIGICASTDATA I just read Mr Halsema's article, "The Digicast System: Receiving Data and Information over your FM Radio" (January 1979 BYTE, page 100) and I noted a few technical deficiencies in his description of an FM station's signal spectrum. Mr Halsema describes the L-R dif- ference signal centered around 38 Khz as the pilot carrier. In actual practice, the station transmits a 19 Khz (±2 Hz) stereo pilot tone at 8 to 10 percent modulation. This is the synchronizing signal used by the receiver in demodu- lating the L+R and L~R signals into dis- crete L and R channels. In FM broadcasting, the 75 Khz deviation Mr Halsema refers to is the 100 percent modulation point. We could get into modulation index and other parameters, but the BYTE letters column is not the place for this. Suffice it to say that "high fidelity music" transmission is not restricted by the current modulation limits. Two factors that may limit the growth of digicasting in metropolitan areas are present. Assuming that the 67 Khz SCA (Subsidiary Communications Authorization) signal is used for digi- casting, the first factor is the "loudness" game that many stations get caught up in in the quest for larger market shares. The 19 Khz pilot eats up 10 percent of the modulation capability. The 67 Khz SCA signal eats up another 10 percent of the modulation capability. This leaves a maximum of 80 percent modulation capability for your main carrier program material. While this is only a 1 db to 2 db decrease in "loudness" compared to a nonSCA or a mono station, there are many programming and time sales people who believe that they need to be the loudest station on the dial. The second factor is that some major market broadcasters subscribe to music syndica- tion services. Some of these services (notably Jim Schulke's SRP service) have been known to write clauses into their contracts that forbid the subscribing station from using an SCA signal. As a sidenote, two years ago while I was still in broadcast engineering, I was contacted by an outfit called Cables & Wireless Ltd. They were looking for an SCA signal to use for electronic message (or mail) service. My station was under a "no SCA signal" clause with a music syndicator and I had to turn them down, but recently Computer Decisions maga- zine published an article on electronic mail that briefly discussed the Cables & Wireless Ltd system. I look forward to digicasting with great anticipation but I fear that it will become mired in the infinite jungle of federal regulations. Noel M Moss UniCard 1034 S Brentwood Blvd St Louis MO 631 17 Continued on page 206. ComputerLand ALABAMA Huntsville (205) 539-1200 ARIZONA Phoenix (602) 956-5727 ARKANSAS Little Rock (501)224-4508 CALIFORNIA Belmont (415)595-4232 Dublin (415)828-8090 El Cerrito 1415)233-5010 Hayward (4151538-8080 Lawndale (2131 371-7144 Los Altos (415)941-8154 Los Angeles (213) 776-8080 Pasadena (2131449-3205 Saddleback Valley (714) 770-0131 San Bernardino (714) 886-6838 San Diego (7141 560-9912 San Diego East (714)464-5656 San Francisco (415)546-1592 San Jose (408) 253-8080 Santa Maria (805)928-1919 Santa Rosa (707) 528-1775 Thousand Oaks (805)495-3554 Tustin (714) 544-0542 Walnut Creek (415)935-6502 COLORADO Colorado Springs (303)574-4150 Denver (303) 759-4685 CONNECTICUT Fairfield (203) 255-9252 DELAWARE Newark (3021 738-9656 FLORIDA Boca Raton (305)368-1122 Ft. Lauderdale (305) 566-0776 Jacksonville (904) 731-2471 GEORGIA Atlanta (404)953-0406 HAWAII Honolulu (808) 521 -8002 ILLINOIS Arlington Heights (312) 255-6488 Downers Drove (312)964-7762 Mundelein Call Directory Assistance Niles (3121967-1714 Oak Lawn 1312)422-8080 Peoria (309) 688-6252 KANSAS Overland Park (9131492-8882 KENTUCKY Louisville (502) 425-8308 MARYLAND Rockville (301)948-7676 MICHIGAN Grand Rapids (616)942-2931 Southfield (313) 356-8111 MINNESOTA Bloomington (612)884-1474 MISSOURI Springfield (417)883-7085 NEW HAMPSHIRE Nashua (603) 889-5238 NEW JERSEY Cherry Hill (609) 795-5900 Bergen County (201)845-9303 Morristown (2011539-4077 NEW YORK Buffalo (716)836-6511 Ithaca (607) 277^1888 Nassau County (516) 742-2262 NO. CAROLINA Charlotte (704) 536-8500 OHIO Cleveland (216)461-1200 Columbus (6141888-2215 OREGON Portland (503)620-6170 PENNSYLVANIA Harrisburg (717) 763-1116 TEXAS Austin 1512)452-5701 Dallas (214) 363-2223 South West Houston (7131977-0909 Houston Bay Area (713)488-8153 UTAH Salt Lake City (801)364-4416 WASHINGTON Bellevue (206) 746-2070 Federal Way (206) 838-9363 Tacoma (206)581-0388 WASHINGTON, D.C. (703)893-0424 WISCONSIN Madison (6081 273-2020 Milwaukee (4141 466-8990 INTERNATIONAL Brisbane, Australia 07 221 9777 Brussels, Belgium 43 29 05 Manila, Philippines 58-36-66 Sydney, NSW Australia 29-3753 Winnipeg, Canada (204) 772-9519 8 April 1979 © BYTE Publications Inc Circle 75 on inquiry card. If the truth is that you want a computer . . . then we want to be your computer store. We're ComputerLand, the #1 computer store chain in the U.S. What's meaningful about that fact is, that ComputerLand has been chosen by more people as having what they've been looking for. And, since you're looking, let us tell you what you'll find, when you visit a ComputerLand store. You'll find a product line that's continually evaluated to provide you with the widest and best selection in quality, brand name microcomputers anywhere. You'll find an enthusiastic and knowledgeable staff able to interpret all the equipment specifications, in terms of how they apply to you, and in a way you'll understand. You'll find demonstration areas where you can get a firsthand experience of running a computer yourself. You'll find educational materials to give you a total insight into the world of microcomputers. You'll find a fully equipped service department to provide whatever assistance is required to keep your computer running in top-notch condition. You'll find computer user's clubs to join, where you can share ideas with people as enthusiastic as yourself. And, with each new visit, you'll find excitement— from the people you deal with, the equipment they offer, and from your own ever-growing personal involvement. Enough about us. How about what computers do. To attempt to describe all the things your computer might do, would be to describe your imagination. So instead, we'll briefly list some of the many things for which small computers are already being used. In business, the advent of the versatile and compact microcomputer has put the benefits of computing within reach of small companies. With systems starting at less than $6000, the businessman can FOR THE HOME Ik 1 1 ComputerLand Corp. 14400 Catalina St. San Leandro, CA 94577 (415) 895-9363 Franchise Opportunities Worldwide. © ComputerLand Corp., 1978 computerize things like accounting, inventory control, record keeping, word processing and more. The net result is the reduction of administrative overhead and the improvement of efficiency which allows the business to be managed more effectively. In the home, a computer can be used for personal budgeting, tracking the stock market, evaluating investment opportunities, controlling heating to conserve energy, running security alarm systems, automating the garden's watering, storing recipes, designing challenging games, tutoring the children . . . and the list goes on. In industry, the basic applications are in engineering development, process control, and scientific and analytical work. Users of microcomputers in industry have found them to be reliable, cost- effective tools which provide computing capability to many who would otherwise have to wait for time on a big computer, or work with no computer at all. And now we come to you, which leads us right back to where we started: If you want a computer, then we want to be your computer store. Whether you want a computer for the home, business or industry, come to ComputerLand first. We'll make it easy for you to own your first computer. Because, simply put, we really want your business. When you come right down to it, that's what makes us #1. ComputerLand WE KNOW SMALL COMPUTERS ® ComputerLand Europe Europa Terrassen 8 Rue Jean Engling Dommeldange, Luxembourg Phone 43 29 05 Telex 2423 BYTE April 1979 9 The Toy Store Begins at Home + 5V Gispcis's Qipcuit Cellar Simon is a trademark of the Milton Bradley Corporation. Figure la: Hardware tone generator for the musical tone sequencer. The com- puter plays a sequence of lights and associated tones and detects the player's response. (All transistors are 2N2222.) rrrf • iook I k I L 141 > ? I ? IOOK <-5v (4) A Number Type +5V Gnd IC1 74C00 14 7 IC2 74C00 14 7 IC3 74C00 14 7 1 April 1979 S BYTE Publications Inc COMPUTER INTERFACE TONE OSCILLATOR SPEAKER DRIVER TO COMPUTER <0~ INPUT *5V ^ R _wv- PB 5 / ^^ ^ I E ) n ^y^^^E^ ♦ 5V FROM COMPUTER Q2> OUTPUT A B INTERFACE OUTPUT 1 1 1 1 ILLEGAL INPUT TONE ON TONE ON TONE OFF LIGHT DRIVER Figure lb: Details of the circuit in figure la, show- ing one of the four light and sound generating sec- tions. Steve Ciarcia POB 582 Glastonbury CT 06033 "Mister? Mister?" A little boy was tugging on my sleeve. It startled me that in today's sophisticated society anyone would attempt to attract my attention by such an obvious, though effective, means. Impatient and undaunted by the scowl I flashed in his direction, he said, "Mister? Do you know where the toy department is?" I have never acquired what some people call the ability to commune with children. Perplexed therefore as to the presentation of a proper reply, I considered an indignant, wave-of-the-hand dismissal of "Over there, kid." On the other hand, should I consider a character reversal with a Santa Claus imita- tion and invite the young man to hop up on my shoulder while we looked over the store directory together? The latter seemed hardly my style and the former was much too harsh even considering his still firm attachment to my sleeve. "Mister? Mister?" The delay only heightened his fervor. I looked up and found myself staring straight at the shirt pocket button of a very large man. Instantly I calculated that this male figure dressed in jeans, heavy boots and a woolen shirt was a foot taller than I. His relationship with the boy was quickly clarified as he said in a deep paternal voice, "Come on Brucie, I think it's over there where that crowd is." I waited for Paul Bunyan and son to be safely on their way before I made my next move. Stark reality returned, however, when I remembered that I, too, was looking for the toy department. It verges on humilia- tion actually. Why do they have to cate- gorize everything? Just because an item is manufactured by a toy company doesn't immediately classify it as a toy. I mean, big people have constructive leisure time manip- ulatives and little people have toys. Depart- ment stores should realize the embarrassment of crossing this line and have an "amuse- ments for the sophisticated" department and a "toys for tots" department. Finding the toy department was no prob- lem. I simply stood where I was and slowly rotated 360°. The noise peaked at about 160° SSE and I cautiously proceeded in that direction. The noise in my immediate vicin- ity became sharply amplified as two young boys raced by, carrying some unidentifiable toy devices. I spied my objective ahead — the elec- tronic games counter. I got into line between two youngsters and their parents. Were these PG or R rated games? I saw no parents with the kids playing basketball in the next aisle. Perhaps the cost of computerized games war- ranted closer parental scrutiny. $5 for a hockey stick is one thing, but $50 for a talk- ing plastic robot is another. All the games at this counter incorporated microprocessors as their intelligence. Some simulated war games Copyright © 1979 by Steven A Ciarcia. All rights reserved. April 1979 © BYTE Publications Inc 1 1 Photo 7: Player console for the computerized musical tone game. Players attempt to repeat a sequence of tones and corresponding lights chosen by the computer at random. and produced authentic battle sounds while others proved to be formidable challengers in games of chance. I looked through the products in the case, hoping to spot the one I so desperately wanted. Would this be another store that was completely sold out? Would I never get my Simon? "Sir? Can I help you?" the salesman asked. His attitude was surprisingly pleas- ant considering that he worked in the store's combat zone. "I don't see it!" "See what, sir?" Still vaguely pleasant, his tone changed to "I've had a long day, buddy. Let's not play 20 questions." "Simon of course!" I replied. "But I know you don't have any. No one does." "You're in luck, sir. I believe we re- Photo 2: Bottom view of the player's console. The ribbon connector attaches to the user's personal computer. ceived a back ordered shipment yesterday. I'll check." A young girl behind me said, "Did you hear that, mommy? They have Simon! I can practice for the competition after all." I said, "Competition? Simon?" "Sure. Everybody's got one. Except me, that is. We have contests in school to see who can remember the longest tune. It's fun. Oh, I can't wait!" she responded, tugging on my sleeve. "That sounds exciting. I hope you do well in the contest," I said. The salesman returned. "I have one left. You're in luck." I hardly had time to smile as he passed it to me. I heard a whimper from behind me and sensed the little girl's disappointment. Saying nothing I turned to look at her. She tried to hide her anguish. "What is your name, little girl?" I asked, stooping down a bit to be more at her level. "Brenda," she said wistfully. "That's a coincidence. I have a little . . . er, girl named Brenda too." I had to catch myself — as I have a female Scottish Terrier named Brenda. Parents might get upset if you compare their children to dogs. "She's a little smaller than you are." "Is Simon for her, Mister?" "No, she likes playing with tennis balls. But no matter. I've only been looking at this game. I'm not sure I really want to buy it just yet. Would you like it?" She offered several relieved thank-yous as I bolted for the door. I was in a hurry to get to the department store two blocks up the street before they closed. . . . Musical Games Are Addicting Some time ago I was in a stuffy business meeting. When it became apparent to the chairman that most of the attendees were asleep, he pulled out a saucer shaped object with four colored areas on it and slid it along the table. It stopped in front of me and went "beep" and lit a red light. Instructed to respond in kind, I pressed the red area which turned out to be an oversized lighted push- button. The saucer replied "beep-boop" and lit the red and green lights sequentially. It became immediately apparent that the plastic saucer was a game and the object was to duplicate the sequential tones it played. The task became increasingly difficult as it added another note each time around. If missed, it made a sound like a "raspberry" before starting a new game. This "game" turned out to be Simon, from Milton Bradley Corporation. It uses a microprocessor to synthesize the tones, light the lights, and generate the sequence. 12 April 1979 ©BYTE Publications Inc w If this M-XVI from CCS had been available in the '30s, I would have had the secret of invisibility wrapped up in half the time!' THEINVISIBLEMAN :-*jjjjjuj The place was alive with "mad doctors" 40 years ago. For good reasons. They couldn't get what they wanted. Labs were piled high with incomplete kits, defective gear, and undecipherable support documentation. All that's history now that Califor- nia Computer Systems has arrived on the computer hobbyist scene. We'll see that no electronics maverick goes away mad. Three proofs positive: our new M-XVI Static RAM Module for S-100 bus systems ... our new PT-1 Wire-Wrap Board . . . and our new Soldertail Prototyping Board. The M-XVI features include: fully static design, use of popular 2114 static RAMs, ability to meet IEEE proposed S-100 signal stan- dards, full buffering, addressability in 4K blocks, and bank select by bank port and bank byte. The PT-1 Wire-Wrap Board has all S-100 signals specified and provisions for four regulators. The Soldertail Board has all S-100 signals labelled, provisions for four regulators, and can accept 16-24-and-40 pin spacing. Take a tip from the Invisible Man. He's quit derailing trains, robbing banks, and scaring helpless damsels since CCS gave him what he wants. If you're looking for satisfaction, too, checkout our new product line today at your nearby computer store. 5 California Computer Systems 309 Laurelwood Road Santa Clara, CA 95050 (408)988-1620 So Nobody Goes Away Mad. Circle 37 on inquiry card. Build Your Own Musical Game It is only logical that any of the $30 to $50 electronic toys in department stores can be simulated with the average $6000 personal computer. (This is why critics frequently call computers illogical.) The distinguishing feature between a toy built around a microprocessor and the average Figure 2: Flowchart for the computerized musical game. home computer is the packaging and I/O (input/output) interface. With the exception of addressable memory, the microprocessor in a battleship game has a processing capa- bility comparable to the more general pur- pose processors like the 8080 and 6800. The major difference is that single chip com- puters incorporate limited quantities of pro- grammable memory, read only memory, and I/O in one package. This is the most cost- effective approach for a dedicated task like a game. The most popular single chip com- YES ( START J SET UP 64 ENTRY TABLE RIO) TO R(63) A IS TOTAL NUMBER OF NOTES IN TONE SEQUENCE A=0 A = A+I S IS SELECTION RESPONSE NUMBER S = PLAY TONE R(S) S = YES DOES INPUT PORT i_ [_3 EQUAL 255 _ jl DOES INPUT PORT i_ [3 EQUAL R(S) 1 DOES INPUT PORT . JJ5 EQUAL_255_ YES S = S + I YOU LOSE SOUND ALL TONES SOUND WIN TONE SEQUENCE INITIALIZE ) GAME SOFTWARE. COMPUTER PLAYS COMPLETE TONE SEQUENCE, ADDING ONE NOTE TO THE END. PLAYER RESPONDS BY \ ENTERING CORRECT TONE SEQUENCE. 14 April 1979 © BYTE Publications Inc Circle 5 on inquiry card. low You Can Make Your Own Unleash the Full Power of Your Personal Compute With the All'Ne w Aladdin Personal Programs™ -v Aladdin Automation now olloi you the magic ol a full ranged Poison. ii Program™ series especially designed to support the most populai personal compliters available today Some Personal Programs™w take ypu to faraway places of exciting, action-packed adventures Others will bring fun-filled learning experiences homo to vou and vout child Still ;e in the homo 01 oltioo All Aladdin Poison. il Oi)i.inis-' M .Ho iihhIoi.iIoI doalei (ociiiv to see and experience- 1 the magic waitini von in every one o\ Iho Al.nld Poison. il Piooi.iius™ (And it ation li'i oo Piouiams' M availahli Welcome To The AULNew World Of Aladdin. And Get Ready To Make Your Own Magic puter in the computer games market is the Texas Instruments TMS 1000. Customized versions of this integrated circuit are used in the majority of electronic games. Presuming that we can write a program on our large computer that accomplishes the same logical objective as the dedicated game, the only real difference becomes I/O. Most personal computers incorporate ASCII keyboards, video displays, and tape cassette interfaces for I/O. Electronic board games use a few switch inputs (constant closures) and lights or buzzers for output and, because there is little operating system overhead, sound effects are directly synthesized by program timing loops. Theoretically, if we attach these switches and lights to a con- venient I/O port on our computer we should be able to program a similar or even more challenging game. Building a musical game that tests the players' ability to memorize a string of tones is a simple task. Input to the computer con- sists of four switches, one for each of four tones. Output from the computer is like- wise four signals which light four colored lights on the player console. Each light corresponds to a distinctive tone. The game is simple to play. The computer plays a tone and the player responds by pressing the button for that same tone. Next, the computer plays two notes and the player replies accordingly. Each correct exchange results in adding one more note to the string. Eventually either the player misses by being unable to replay the exact tone sequence, or wins by attaining some preset number of notes without failure. The former is signified by an ungracious combination of tones and the latter by a distinctive tune played by the computer in celebration. There are two possible design approaches. One is to use machine language and a "bare bones" interface consisting of four switches and four lights directly connected to a paral- lel input and output port. Timing loops written into the software produce the tones. This method uses the least hardware but requires considerably more software. The second alternative is to use a high level language such as BASIC and use an external hardware interface for tone genera- tion. This is the approach I have taken. Ex- perimenters wishing to use another approach can easily follow the logic flow of BASIC and in this way I am not confining the reader to a particular microprocessor. Also, on-the-spot program variations to accommo- date individual players are more easily implemented in a high level language. OVERBYTES AND UNDERPRICES THE COMPETITION Introducing the $5885. Complete with the fantastic UCSD Pascal Operating System tbs peiasyslem PASCAL OPERATING SYSTEM: The smoothest, most convenient operating system available, featuring a powerful screen oriented text editor, the fast PASCAL compiler, file and library handling system, linker, library, BASIC compiler, and more. Z-80 MICROCOMPUTER: Northstar based 4 MHz S-100 microcomputer with 64k RAM, serial and parallel ports, dual Micropolis quad density (630 kbytes formatted) disk drives. 60 cps DOT MATRIX PRINTER: Centronics model 779 with trac- tor feed and paper stacker. FULL FUNCTION INTELLIGENT TERMINAL: Microterm ACT-V, with addressable cursor, protected fields, erase to eol, erase to eos, reduced intensity, protected fields, much more. Microcomputer/Dual Drive/64k/Pascal Printer/tractor feed/paper stacker Terminal Buy complete system and receive all cables and box of disks free. RETAIL $4695 ibs PRICE $3995 $1250 $1095 $880 $6825 $795 $5885 independent business systems, inc. • 5476 Cleo Ct. • Livermore, CA 94550 • (415)443-3131 16 April 1979 ©BYTE Publication! Inc Circle 178 on inquiry card. Heathkit Personal Computers are "System Designed"- Read about them in the HEATHKIT CATALOG Complete descriptions of the best in personal computers -now available in kit and assembled versions In the world of personal computing, compatibility of design and operation is an important consideration. The computer hobbyist or small business user of today doesn't have time to iron out hardware and software problems that can arise from a "shot- gun" approach to system design. Heathkit Personal Computer Systems are just that-systems. They were designed around each other for total complementary performance. Expansion within the computer itself and with our peripheral devices is always a trouble-free transition. You can start with our low-cost 8-bit H8 Computer and just 4K of memory as an introduction to computing. Its easy to use octal data entry and 9-digit octal read- out make learning a simple mat- ter. As your abilities grow, so can your computer. Add more mem- ory and one or more peripherals like the H9 Video Terminal with its ASCII keyboard for convenient entry and display of your programs. And you can store your programs in one of three ways too! Choose our new WH17 Floppy Disk System (single and dual drives available) for the ultimate storage mode. Its expanded 40-track hard sectored diskette has 102K Bytes of available storage so you can store hundreds of programs on one disk. If paper tape storage is your preference, choose our H10 Paper Tape Reader/Punch. For the most in economy, we offer a cassette player/recorder too. The H8 is indeed a complete system. The ultimate personal computer is our 16-bit H11A. Very few people will ever need more computing power than our H1 1 A has to offer. Based on the world-famous DEC* PDP-11/03, it has enough capability for virtually any program-small business or hobby. The H1 1 A offers unequalled software, too, so the number of useful applications is virtually unlimited. The H11A has its own Heath Co., Dept. 334-520, Benton Harbor, Ml 49022 Floppy Disk System, the WH27. And what a floppy it is! Fully- compatible with the DEC RX01 ! floppy for the PDP-11/03, the WH27 lets you take advantage of all existing PDP-11/03 software in addition to those you develop on your own. Dual drives give you 512K Bytes of program and data storage. The WH27's Z80 microprocessor-based controller permits a head motion of only 6 mS (versus DEC'S 10 mS) for data access times that are con- siderably faster. Otherfeatures include built-in self test on power- up; mechanical interlock to prevent disk damage; write protect function that precludes written-over disks; complete HT11 disk operating system software that includes extended BASIC with files and virtual arrays, utilities (with macro-assembler), text editor and more. An extended FORTRAN which supports the ANSI standard (1966 FORTRAN IV) will be optionally available soon. Read more about Heath system-designed computers and other outstanding kits (nearly 400 in all) in the latest Heathkit Catalog. It's FREE. Send for your FREE copy today! Or bring this coupon to your nearby Heathkit Electronic Center (Units of Schlumberger Products Corporation) where Heathkit products are displayed, sold and serviced. Schlumberger Heath Company Dept. 334-520 Benton Harbor, Michigan 49022 Please send me my FREE Heathkit Catalog. I am not on your mailing list. Name_ Address. City .State _ CP-162 Zip. Specifications subject to change without notice. Circle 160 on inquiry card. BYTE April 1979 17 Photo 3: Corner of the circuit cellar showing the 64 K dual floppy disk Z-80 system used by the author to drive the musical tone game. Listing J: Program for the musical tone game, written in 8 K Zapp/e BASIC. 90 REM 92 REM ** CIARCIA'S CIRCUIT CELLAR COPYRIGHT 1979 •• 94 REM 100 PRINT'THIS IS A MUSICAL GAME TO TEST YOUR MEMORY" 105 REM 110 REM 115 REM FIRST THING WE DO IS SET UP A TABLE OF 64 120 REM RANDOM NUMBERS WITHIN THE CHOICES OF 1,2,4, OR 8. 125 REM THESE NUMBERS ARE SINGLE BITS WHICH INDICATE A 130 REM PARTICULAR TONE AND COLORED LIGHT. 135 REM THE COMPUTER INTERFACE IS BITS THRU 3 OF I/O PORT 3 140 REM 200 DIM R(64) .DIM S(64) .DIM A(64) 205 A=0 210 FOR SOTO 63 220 R = INT(RND(1)»10) 230 IF R>3 THEN 220 240 R(S)=255-2AR :REM THE INPUT TO THE INTERFACE IS LOW TRUE LOGIC 245 REM TO TURN ON A TONE ALL BITS ARE HIGH EXCEPT THE 247 REM ONE WHICH ISTO BE COMMUNICATED 250 NEXTS 260 REM 270 REM 400 SO:A=A+1 410 OUT 3,R(S) :GOSUB 2000 :REM TURN ON TONE 420 OUT 3,255 :REM TURN OFF TONE 425 S=S+1 430 IF S=A THEN 450 ELSE 410 450 SO 460 W=INP(3) 465 IF W<>255 THEN 470 ELSE 460:REM HAS A BUTTON BEEN PUSHED? 470 IF W=R(S) THEN 480 ELSE 600 480 S=S+1 481 REM A IS PRESET TO EQUAL WIN NUMBER. THIS CAN BE 1 TO 64 TONES 482 IF A=16 THEN PRINT'YOU WIN":GOTO 700 490 W=INP(3) 495 IF W<>255 THEN 490 :REM HAS THE PLAYER RELEASED THE BUTTON? 500 IF S=A THEN 580 510 GOTO 460 520 REM 530 REM 580 REM RETRY DELAY 585 FOR TO TO 3 :GOSUB 2000 :NEXTT 590 GOTO 400 600 PRINT"SORRY,YOU MISSED IT YOU HAD ";A;" NOTES IN THE SEQUENCE" 605 PRINT'TRY AGAIN" 610 OUT 3,0 :REM TURN ON ALL TONES 620 FOR TO TO 3 :GOSUB 2000 :NEXTT 625 OUT 3,255 630 GOTO 205 700 FOR TO TO 6 :REM PLAY TUNE TO INDICATE A WINNER 705 OUT 3,254 -.GOSUB 2050 :OUT 3,253 :GOSUB 2050 710 OUT 3,251 :GOSUB 2050 :OUT 3,247 :GOSUB 2050 715 OUT 3,255: NEXTT 720 GOTO 205 1980 REM 1990 REM THE VALUE OF T1 SETS THE TONE DURATION 2000 F0RT1OT0 250 :NEXTT1 :RETURN 2050 REM WIN DELAY TIMER 2060 FOR Q10 TO 80 :NEXT Q1 :RETURN Figure 1a illustrates the hardware inter- face of this musical game; photos 1 and 2 demonstrate typical layouts. A more de- tailed description of an individual tone generating section is given in figure lb. Normally, both signal points A and B are at a high logic level and the tone is off. The tone and light can be turned on by either a low output signal from the computer or the pushbutton being pressed. The resulting high level output of ICIa turns on the oscillator formed from IC1b and IC1c and drives the light through transistor Q-| . A flowchart of the software as written in BASIC is shown in figure 2. When the game is initialized, a random number gen- erator sets up a tone sequence of 64 notes. After playing the first note it waits for the player's response and then repeats the action adding another note. The software is written so that the speed of player response is not important. Player frustration is strictly limited to remembering the tone sequence. The BASIC program which plays this game is shown in listing 1 . I have found that this game is a good way to demonstrate my computer to people totally unfamiliar with them. Some of my more computer oriented friends jokingly suggest that I may be doing things the hard way using a 64 K byte dual disk Z-80 system for the game. If you have any questions, good ideas or comments on this or previous articles, please write to me, enclosing a self-addressed, stamped envelope. Eventually I answer them all. Next month, the "Circuit Cellar" topic will be communication on a laser light beam." 1 8 April 1979 © BYTE Publications Inc Specifications: S-100 compatible. MFM encoding, 35 tracks with ten 512-byte sectors per track. 179,200 bytes on double density SA-400 and North Star BASIC, DOS, and Monitor included. For further Information, write for full color catalog or contact your local computer store. New from North Star Double Density Performance at Single Density Prices The new HORIZON computer and Micro Disk System now record in dou- ble density! That means each new Shugart SA-400 minifloppy disk drive accesses 180K bytes of on-line infor- mation. All double density HORIZON computers and Micro Disk Systems have a redesigned controller which allows the use of quadruple capacity disk drives as they become available in early 1979. A three-drive North Star System with quadruple capacity disk drives will access over a megabyte of on-line information. But, best of all there's no price increase for double density models. North Star BASIC and DOS have been upgraded to accommodate the in- creased capacity and yet run existing programs with little or no change. The new disk system also supports single density, so existing single density disk- ettes can still be used. Single density SA-400 drives previously purchased with North Star systems can also be used. Pricing HORIZON with one double density SA-400 minifloppy (180K bytes), 16K RAM, Z80A processor and serial I/O port: $1599 kit, $1899 assembled. MICRO DISK SYSTEM with one double density SA-400 minifloppy, controller board and power regulation: $699 kit, $799 assembled. (Cabinet and power supply $39 extra each.) North Star * Computers 2547 Ninth Street Berkeley, California 94710 (415) 549-0858 M If* 1 JfT^' HORIZON 1 Circle 285 on inquiry card. BYTE April! 979 19 Cross-Pollinating the Apple II About the Author Richard Campbell is a software engineer working for Lexitron Corporation, a manu- facturer of 8080 based text processors. His hobbies include com- puting, flying and photography. Richard Campbell 7032 Quakertown Canoga Park CA 91306 I have an Apple II personal computer, which I like a great deal. I have noticed that most construction articles dealing with custom interfaces for the Apple assume that one must use Motorola or MOS Technology peripheral integrated circuits. Since I use the Intel 8080 family of devices in my work, and want to add a serial interface to my Apple, I've decided to try a little crossbreeding. The interface was designed to be RS-232 compat- ible and to allow receiving and transmitting with the ability to add modem control sig- nals easily in the future. Circuit Design iny Silicon Gate MOS 8251 PROGRAMMABLE COMMUNICATION INTERFACE Synchronous and Asynchronous Operation ■ Synchronous: 5-8 Bit Characters Internal or External Character Synchroni7.T ; - Aulomatic Sync '- ■ Baud Rale —DC to 56k Baud (S" DCtn°'~ ■ Full Dun'— a I ,, „s received i d ■™"v lime ThCM '"'°' "*" ThTchipis constructed us.m, ". PIN CONFIGURATION HIOCK DIAGRAM -•:r * »t 3 CM ««r H "r 1 '•<* II t»L ] f .!»*'• i id if "r Jot i*t JtlttM' ■ c M «*t j »,»>ci* ■ M • ■ ICMX • •• ' . Photo I: The serial interface circuit as constructed using the Intel 8251 pro- grammable communications interface. Point-to-point wiring on an Apple prototype board was used. The board is pictured lying on page 12-46 of the Intel Component Data Catalog. The heart of the interface is the Intel 8251 programmable communications inter- face. The 8251 performs serial-to-parallel and parallel-to-serial conversion. The oper- ating characteristics and mode of the 8251 are programmable by sending the proper bytes to it from the Apple bus. The inter- face is set up to handle asynchronous communications. National Semiconductor's 1488 and 1489 integrated circuits handle the RS-232 and TTL (transistor-transistor logic) level conversions. Since I am using only one of four buffers per chip, many other RS-232 signals could easily be added such as Data Set Ready and Clear To Send. Data rate generation is handled by divid- ing the 7 MHz signal from the Apple bus by 8, using a 74LS161 synchronous 4 bit coun- ter. This 895.125 kHz output is applied to the input of National Semiconductor's MM5307AA programmable divider. Four switches select the data rate as shown in table 2. The resulting data rates are 3 per- cent low, but in actual practice this is close enough. Two gates of a 74LS04 device are required to interface the 8251 circuit to the Apple bus. Construction The circuit was constructed using point- to-point wiring on an Apple prototype board. This board comes with a manual which pro- vides an excellent explanation of the Apple bus. Nothing is particularly critical about the wiring (although I wouldn't run the 7 MHz signal all around). A 0.1 jitF capacitor should be placed near each integrated circuit be- 20 April 1979 © BYTE Publications Inc *Our reputation rests on digits, decimal points, and details. We wouldn't trust them to anything less than Scotch Brand Data Cartridges? Bill Birkett, Vice President, Trade Graphics, Inc., Livonia, Michigan The unique design of a data cartridge provides great reliability, high storage capacity and long tape life. And where could you possibly get better data cartridges than Scotch Brand, made by 3M, the people who invented the data cartridge system itself? 3M controls every step in manu- facturing. Top quality magnetic tape and precision components are part of every Scotch Data Cartridge. Over twenty-five years of service to the computer industry assure you of the utmost reliability. Scotch Data Cartridges are available in miniature DC 100A, the standard-size DC 300A and now, an extra-length DC 300XL with 50% more storage capacity. They are compatible with most cartridge systems including Hewlett-Packard, IBM, NCR, Tektronix and Tl. To find out where you can find Scotch Data Cartridges or virtually any other data recording medium, call toll-free: 800-328-1300. (In Minnesota, call collect: 612-736-9625.) Ask for the Data Recording Products Division. If it's worth remembering, it's worth Scotch Data Recording Products. Circle 368 on inquiry card. 3M BYTE April 1979 21 Photo 2: The serial inter- face board installed inside the Apple II. 0300 A9 CE LDA #$CE 0302 8D C1 CO STA $C0C1 0305 A9 27 LDA #$27 0307 8D C1 CO STA $C0C1 030A 20 58 FC JSR $FC58 030D A9 60 LDA #$60 030F 20 ED FD JSR $FDED 0312 C6 24 DEC $24 0314 AD C1 CO LDA $C0C1 0317 29 02 AND #$02 0319 F0 12 BEQ $032D 031 B A9 AO LDA #$A0 031 D 20 ED FD JSR $FDED 0320 C6 24 DEC $24 0322 AD CO CO LDA $C0C0 0325 09 80 ORA #$80 0327 20 ED FD JSR $FDED 032A 4C OD 03 JMP $030D 032D 2C 00 CO BIT $C000 0330 10 E2 BPL $0314 0332 AD 00 CO LDA $C000 0335 8D CO CO STA $C0C0 0338 AD 10 CO LDA $C010 033B 4C 14 03 JMP $0314 SET 8251 MODE (SEE 8251 DATASHEET) SET 8251 COMMAND CLEAR THE SCREEN AND HOME GET CURSOR CHAR PUT CURSOR ON SCREEN BACKUP SCREEN INDEX TO OVERWRITE CURSOR CHECK 8251 STATUS MASK OFF RECEIVE READY BIT BRANCH IF NOT READY GET A BLANK OVERWRITE THE CURSOR BACKUP SCREEN INDEX GET CHAR FROM 8251 SET BIT 7 HIGH PUT CHAR ON THE SCREEN PUT UP NEXT CURSOR AND LOOP CHAR ENTERED ON KEYBOARD? BRANCH IF NO GET CHAR FROM KEYBOARD OUTPUT CHAR TO BE SENT BY 8251 RESET KEYBOARD CHECK FOR NEXT CHAR Listing I : Program in assembler language for the 6502 processor. This enables the Apple II to function as a full duplex terminal. tween ground and +5 V. The +1 2 V and —12 V supply lines should also be decoupled to ground using 0.1 uF capacitors. Do not use high value electrolytic capacitors, since this interferes with the Apple's switching power supply. The RS-232 input, output, and ground should go to a standard DB25 connector. Using the Interface Listing 1 contains a program, entered with the Apple's assembler, that sets the Apple up for use as a terminal. Data received from the input port is displayed on the screen, and whatever is typed on the key- board is sent out the transmit line. This pro- gram operates the Apple as a full duplex terminal. In other words, there is no internal logical connection between the keyboard and the screen. The characters that are typed Photo 3: The serial inter- face is used here to con- nect the Apple II to an Intel SDK-80 microcom- puter. 22 April 1979 © BYTE Publications Inc Circle 74 on inquiry card. COMPUtf THINK You ve heard of our dual disk drives, memory expansion, and other peripherals which also in- cludes software, i.e., Fortran, PLM, Basic complier, Source- Editor, Autolink, Pagemate Database and a complete line of business applications. COMPU/THINK manufactures complete small business sys- tems, for the professional pro- grammer, engineer and small businessman. We offer complete customer support including maintenance. If you're a small businessman who is not a programmer or a programmer who is interested in sophisti- cated products • at reasonable prices, call us the company who thinks about its customer*! For further information call or write: Frank Price, •Director of Marketing COMPU/THINK 3260 Alpine Road • Menlo Park, Calif. 94025 • (415) 854-257? Dealerjnquiries invited. 'COMPUTER SYSTEMS^FOR BUSINESS". SERIAL INTERFACE APPLE H BUS DO [49>- Dl [48 I D2 [47>- D3 [46 I 4 [45 I 05 Lf_4 I D6 [43>- D7 [42 I Qi> AO [T> I I l (38>- I TecT^ I 7M f36>- I I + I2V [50>- I I + 5V [25>- GND [26 I -I2V [|?>- res rir>- 12V I CI a 74LS04 ^ + 5V 27 28 13 DO Dl 02 03 D4 05 06 07 RD TXD IC2 8251 CTS TXC RXC WR C/D CLK CS RESET 20 ,'0.1/iF 5V A I W, •■ O.I/iF i I NEAR EACH IC CK IC3 74LSI6I CLEAR P LOAD T OC I0.IU.F •12V ICIb 74LS04 17 25 + 5V U 13 12V CLK OUT IC4 MM5307-AA A B C D RESET IC5 1488 IC6 1489 RS-232 (DB-25 CONNECTOR) I I flP> TXD I l470pF m I5K T •— W, — I |470pF 5V A 2.2K (4) I I I -{T> RXD 1 I -TT> GND I ^o. S4 rrr Figure I: Schematic diagram for the serial interface. Table I: Power wiring table for figure I. Number IC1 Type 74LS04 +5 V 14 Gnd 7 -12 V +12 V IC2 8251 26 4 - - IC3 74LS161 16 8 - - IC4 MM5307-AA 4 - 12 - IC5 1488 - 7 1 14 IC6 1489 14 7 - 24 April 1979©BYTE Publications Inc Data Rate Selection S4 S3 S2 S1 Data Rate (bps) C C C N 50 c c N c 75 c c N N 110 c N C C 134.5 c N C N 150 c N N C 300 c N N N 600 N C C C 900 N C C N 1200 N c N C 1800 N c N N 2400 N N C C 3600 N N C N 4800 N N N C 7200 N N N N 9600 C = closed N = open (not closed) 8251 set for ^-16 mode Table 2: Switch settings to select various data rates for this serial interface. A dual in line pin-type switch may be used. appear on the screen only if the device you are communicating with echoes them back to you. With this program the board has communicated perfectly with an Intel single board computer at a data transmission rate of 600 bits per second. Conclusion Some experimenters have faced difficulty in attempting to interface the Apple II to such devices as the Motorola 6820 PIA (per- ipheral interface adapter). Most of the prob- lems stem from a 25 ns timing delay on the bus lines of the Apple. I advise erstwhile interfacers not to become bogged down in this sort of thing; there are too many new and useful integrated circuits available with which to work. Not all highly programmable devices are as fussy about timing as are the standard support devices for the 6800 and 6502 pro- cessors. My design shows that other families of circuits may be utilized without much trouble. The design using the 8251 device has suffered no timing glitches such as the ones that plague circuits using the 6820 device. The moral is to keep your eyes open to discover new and versatile integrated cir- cuits and to experiment with them, what- ever processor you use. Signetics has invented an interface circuit, the 2651, which is similar to the 8251. The principal difference is a built-in data rate generator. If I can obtain one, I know what my next experiment will be." EPROMs out at the touch of a finger. After programming a 2708 or 2716 EPROM you won't need a screwdriver to pry it out of SSM's new PB1 board equipped withTextool sockets. Just flip the lever and lift it out. And on the same board there are 4 sockets waiting for 2708 or 2716 EPROMs that can be independently addressed to any 4k or 8k boundary above 8000 hex. Two boards in one. PB1 has two separate programming circuits so 2708 or 2716 (5v) type of EPROMs can be programmed without modifying the board. Programming voltage is generated on-board by a DC-DC converter; no need for an external power supply. Programming sockets are Dip Switch addressable to any 4k boundary. And complete software is provided for programming and verifying EPROMs. With our Magic Mapping™ feature, unused EPROM sockets don't take memory space, so you are never committed to the full 4k or 8k of memory. The board can be configured for to 4 wait states. Use fast or slow EPROMs. All lines are buffered. The PB1 kit is available at over 150 retail locations or directly from SSM for $139.95 (withTextool sockets) or $119.95 (without Textool sockets). All SSM kits are backed by a 90 day warranty. Assembled, one year warranty. SSM manufactures a full line of S-100 boards, including CPU, Video, I/O, RAM, EPROM, Music, Prototyping, Terminator, Extender and Mother boards. For complete details just send for our new, free brochure. PB1 2708/2716 Programmer &4k/8k EPROM Board Textool programming sockets Programming protect switch v LED indicating programming mode Programming power supply EPROM addressing switches 2116 Walsh Ave., Santa Clara, CA 95050 (408) 246-2707 We used to be Solid State Music. We still make the blue boards. Circle 335 on inquiry card. April 1979 © BYTE Publications Int 25 Simulating Physical Systems The Two-Dimensional Ideal Gas Mark Zimmermann Caltech 130-33 Pasadena CA 91125 Computers are becoming increasingly val- uable in the sciences, for data reduction and analysis and for the simulation of physical systems. With a machine to do the repeti- tious work, an astronomer can follow the orbits of hundreds or thousands of stars as they are affected by their mutual gravita- tional fields and move to make a globular cluster or a spiral galaxy. A chemist can fol- low molecules in a liquid as they attract and repel and undergo chemical reactions. A physicist can watch the atoms of a gas mov- ing from a low entropy, highly ordered state toward a more probable chaotic configura- tion, and can follow the random walk mo- tion of any specific particle as it suffers col- lisions with the rest of the gas. How does one go about setting up a phys- ical simulation? It's necessary to deter- mine the most important laws that govern the system under investigation. A star ■ ■■■■ ■ ■■■■■ ■■■■■■_ '■■■■■■»■■■■ ■■■■■■■■■ IMIIIIIIIllllllLl Photo I : Initial configuration for a run of the ideal gas model. 26 April 1979 © BYTE Publications Inc cluster, for example, is controlled mainly by Newton's law of gravitation. The nuclear reactions which power individual stars are interesting, but probably not very important to the structure of the cluster as a whole. (An exception might be a cluster of extremely massive stars; such stars could run out of fuel and blow up before there was time for their orbits to settle down.) The first step in programming any phys- ical system is to cut away all the features except those which are crucial to it — in other words, to make a model. If the correct effects and features have been included, the model will act enough like the physical system to be useful and accurate, and the model will be small and simple enough to be computable in a reasonable amount of time and space. Secondly, one must take the equations that govern the model and translate (and sometimes simplify) them into a form which a machine can handle. Today, only a few very high-level systems (such as MACSYMA, REDUCE, SHEEP, and FORMAC) can handle abstract equations and functions, and even these sophisticated systems can't do very much. Until people learn how to explain the details of problem solving mathematics better, most machines are best at manipulation of discrete, finite precision numbers. So, if one wants to compute the flight of a Frisbee, one needs to turn the continuous differential equations for its motions into discrete difference equations. It's analogous to the way one plots a diagonal line on a teletypewriter — the continuous line is broken up into a discrete set of points that the printer then approximates as best it can. If the printer can type smaller, the approximation is better. Similarly, if the smooth equations describing the Frisbee's flight are broken up into tinier steps, then the approximate solution the machine generates comes closer to the actual motion. Finally, given the model of the physical system to be simulated, and given a transla- tion of the equations controlling that model into a machine acceptable form, the rest is easy: just write the program! Ah, if it were only so. To avoid gross errors and smaller bugs, it's best to write in a high-level lan- guage (BASIC, FORTRAN, Pascal, etc), but then the resulting code usually runs unac- ceptably slowly. It seems to be a general consequence of Murphy's Law ("Anything that can go wrong, will!") that any physical system interesting enough to be worth simulating is too complex to be effectively simulated. So, compromises are always necessary. Astronomers try to simulate galaxies using a thousand point masses and an approximate force law, instead of using the actual ten billion stars with 1/r 2 fields. Chemists settle for a few hundred molecules in their "liquid," instead of 10 23 or so. All they can do is hope that enough of the many-body collective effects show up for their too small models to be interesting, and that the cost of computing comes down enough for them to simulate bigger systems next year. As calculations get cheaper, that last hope seems to be the best. Another way to compromise between the human speed and efficiency of programming in a high-level language, and the computer speed and efficiency of programming in machine language is obvious: do both, and produce a hybrid program. The BASIC (or Pascal, or whatever) program provides the framework and handles non-time-critical tasks; it then calls machine language modules to perform the innermost loops, the time- consuming parts of the program which are simple enough to write accurately and rapidly in such a low-level language. As a developmental tool, this top-down approach is infinitely better than writing all machine language code and then spending days debugging it. In fact, if the program can be entirely written in the high-level language Photo 2: One time step later, particle number has moved ten units to the right and is colliding with particle number 31 at X=10, Y=0. Photo 3: A view of the simulation J 02 time steps after starting. April 1979 © BYTE Publications Inc 27 Figure 7: 90 degree type collision for two particles with equal and opposite initial velocities. t o and then run (slowly, perhaps) on small, special cases to test out the fundamental equations, so much the better. The machine language subroutines can then be written and substituted in only as necessary. With this 3 step approach (model, trans- late, program), simulating physical systems isn't necessarily easy, but it is systematic and can be interesting and educational. Photo 4: A velocity distribution histogram after 102 steps. Note the energy error (possibly due to roundoff and truncation error, or maybe I acciden- tally hit the G key). Energy error is worse at these low energies when most particles have only very small velocities. Photo 5: Configuration for a high temperature gas with a total energy of 1207 units. The Ideal Gas As an application of the above principles, I've programmed in BASIC and 6502 machine language (on a Commodore PET) a simula- tion of an ideal gas — a gas made of pointlike particles that interact only by direct colli- sions. An actual gas, of course, is made of molecules or atoms which have size and internal structure. The molecules may react when they collide with sufficient energy, and they may influence each other (via electrical forces) even when they are quite far apart. The gas may condense into a liquid or solid phase if its temperature is low enough and its pressure high enough. The model I made does not include those features. It doesn't even include the three dimensions in which the physical gas moves! For speed and simplicity, I restricted the gas particles to move in two dimensions within the 50 by 80 cell "box" of the PET's video screen. The two-dimensional gas is interesting in itself, and it actually occurs, approxi- mately, when atoms get adsorbed on the surface of some crystals. The adsorbed particles are relatively free to move from place to place on the crystal surface, but they are not free to leave the surface if the temperature is low enough. (If this physical system isn't exciting enough for you, you can imagine that the program is simulating a large number of balls on a billiard table, or perhaps hockey pucks sliding on ice.) Several other features of the model I made are important. I used only 256 gas particles for two reasons: it made the machine language routines simpler, and more particles would have filled up too large a fraction of the screen. As a general rule, the errors in simulating a random process shrink as 1/N/N, where N is the number of objects in the simulation. For example, if a pollster asks 100 randomly chosen people for their opinion on some issue, he or she typically makes about 1 /\/1 00 = 10% errors in estimating the general opinion based on the finite sample. If the average number of molecules in one cubic centimeter of air is Text continued on page 32. 28 April 1979 © BYTE Publications Inc Graphics for small systems were too expensive... HIM TM Until Now J digital plotters The perfect small system output device • Displays data in easy to read graphical format • Both serial and parallel inputs built-in • Uses standard 8V2" x 11" paper • Plotting speed up to 2.4 ips • Resolution of both 0.01 and 0.005 in. • Baud rate and step size easily changed • Completely assembled and ready to use • Priced at $1085* HIMEL digitizers The perfect small system input device • Resolution and repeatability of 0.005 in. • Origin is completely relocatable • RS232C and 8 bit parallel interface se- lectable at the connector • Accuracies of ±0.015 in. (0.4mm) • Optional LC display shows actual values being inputted • Digitizing surface 11" x 11" • Priced at $795* I 33/01 - I HS50I 1 (Optional LC display) '> ./ •U.S. Domestic Price Only TM Trademark of Houston Instrument For rush literature requests or local sales office information only, persons outside Texas call toll free 1-800-531-5205. Houston instrument ONE HOUSTON SQUARE (512)837-2820 "the graphics - recorder company" DIVISION OF BAUSCH & LOMB ® AUSTIN, TEXAS 78753 TWX 910-881-2022 miDrtDCAM nccirc Rochesterlaan 6 8240 Gistel Belgium EUROPEAN Ur-r-IL-E Phone 059/277445 Telex Bausch 81399 Circle 176 on inquiry card. BYTE April 1979 29 DOUBLE DENSITY £ I SAVING Now you can put your S-100 system solidly into a full-size, single/double density, 600K bytes/side disk memory for just $1149 complete. DISCUS/2D™ single/double density disk memory from Thinker Toys™ is fully equipped, fully assembled, and fully guaranteed to perform perfectly. DISCUS/2D™ is a second generation disk memory system that's compatible with the new IBM System 34 format. The disk drive is a full-size Shugart 800R,the standard of reliability and performance in disk drives. It's delivered in a handsome cabinet with built-in power supply. The S-100 controller utilizes the amazing Western Digital 1791 dual-density controller chip . . . plus power-on jump circuitry, 1K of RAM, 1K of ROM with built-in monitor, and a hardware UART to make I/O interfacing asnap. The DISCUS/2D™ system is fully integrated with innovations by designer/inventor George Morrow. Software includes BASIC-V™ virtual disk BASIC, DOS, and DISK-ATE™ assembler/editor. Patches for CP/M* are also included. CP/M? Microsoft Disk BASIC and FORTRAN are also available at extra cost. DISCUS/2D™ is the really solid single/double density disk system you've been waiting for. We can deliver it now for just $1149. And for just $795 apiece, you can add up to 3 additional Shugart drives to your system. Both the hardware and software are ready when you are. Ask your local computer store to order the DISCUS/2D™ for you. Or, if unavailable locally, write Thinker Toys™ 1201 10th St., Berkeley CA 94710. Or call (415) 524-2101 weekdays, 10-5 Pacific Time. (FOB Berkeley. Cal. res. add tax.) *CP/M is a trademark of Digital Research. CS)Morrow makes disk memory for Thinker Toys ASK FOR THINKER TOY 1 " 1 PRODUCTS AT YOUR LOCAL DEALER NOW ALABAMA Jack Robertson & Associates Computer Store 586 Shade Crest Road Birmingham, AL 35226 (2051 328-9890 ALASKA Computer Cache 529 I Street Anchorage, AK 99510 (9071277-7914 ARIZONA •Computerland-Phoenix Biltmore Plaza 3160E.Camelback Phoenix, AZ 85016 (6021956-5727 ARKANSAS Microsystems Route 1. Box 765 Rogers. AR 72756 CALIFORNIA Advanced Computer Products, Inc. 1310 East Edinger Santa Ana. CA 92705 (7141558-8813 Bingham Electronics lOOVallecitos Way Los Gatos. CA 95030 (4081395-0010 Byte Shop-Berkeley (Computer Center) 1514 University Avenue Berkeley. CA 94703 (415(845-6366 Byte Shop-Hayward 1 122 "B" Street Hayward.CA 94541 (415)537-2983 Byte Shop-Lawndale 16508 Hawthorne Blvd. Lawndale.CA 90260 (213)371-2421 Byte of Palo Alto-I 2233 El Camino Real Palo Alto. CA 94306 [4151327-8080 Byte of San Diego 8038 Clairement Mesa Blvd, San Diego, CA 921 11 (714)565-8008 Byte of Palo Alto-ll 475 Sacramento San Francisco. CA 941 1 1 (415)434-2983 Byte Shop-San Rafael 509 "B" Francisco Blvd San Rafael. CA 94901 (415)457-9311 Byte Shop-Santa Clara 3400 El Camino Real Santa Clara. CA 95051 (408)249-4221 Computer Center. Inc. 4014 Geary Blvd. San Francisco. CA 941 18 (415)387-2513 Computer Components 5848 Sepulveda Blvd. Van Nuys. CA 91411 (213)786-7411 'Computerland. Inc. 14400 Catalina Street San Leandro. CA 94577 (415)895-9363 *Compuferland-EI Cerrito 1 1074 San Pablo Avenue El Cerrito. CA 94530 (415)233-5010 "Computerland-San Francisco 1 17 Fremont Street San Francisco, CA 94105 (415)546-1592 Data Machines. Inc. 1228 Folsom Street San Francisco, CA 94103 (415)864-7200 Digital Deli Computer Store BOW. El Camino Real Mt. View, CA 94040 (415)961-2670 Electronics Enterprises Rio Linda, CA 95673 (916)991-2010 ICE House Inc 398 N.E. Street P.O. Box 336 San Bernardino, CA 92401 (714)888-3690 Integrated Computer Systems 3304 Pico Blvd. Santa Monica. CA 90405 (213)450-2060 Khalsa Computer Systems 500 So. Lake Avenue Pasadena, CA91101 (213)684-3311 Logic Systems 57 1 7 Bryce Canyon Place Sacramento, CA 95842 (916)331-7176 ACC 505 Cypress Point Drive Mt View. CA 94043 (415)969-4969 Max Computing Systems 7417 Winding Way Fair Oaks, CA 95628 (916)961-5817 Micro-Sun Computer Center (Formerly Byte-Walnut Creek) 2989 North Main Walnut Creek, CA 94596 (415)933-6252 Omega Enterprises 921 N. La Jolla Avenue Hollywood. CA 90046 (213)654-2214 (213)656-7368 PC. Computers 10166 San Pablo Avenue El Cerrito, CA 94530 (415)527-6657 Pilgrim Computer Products 1444 Pioneer Way El Cajon.CA 92020 (714)278-8764 Redding Computer Service 610 W. Cypress Avenue Redding, CA 96001 (916)246-1170 COLORADO Computer Technology 6311 Federal Blvd. Denver. CO 80221 (303)427-4438 CONNECTICUT R & R Computer Store 1 30 Jefferson Avenue New London. CT 06320 (203)447-1079 FLORIDA Byte Shop-Ft. Lauderdale 1044 E. Oakland Park Blvd. Ft. Lauderdale. FL 33334 (3051561-BYTE Byte Shop 7825 Bird Road Miami. FL 33155 (305) 264-BYTE Computer Center of the Palm Beaches 2827 Exchange Court West Palm Beach, FL 33409 (305) 689-3233 Digital Design Center 601 Golden Harbour Drive Boca Raton. FL 33432 (305) 994-4826 Microcomputer Systems, Inc. 144S. Dale Mabry Tampa, FL 33609 (813)879-4225 GEORGIA Micro Business Systems 103 Commerical Avenue Carrollton.GA30117 (404) 834-7705 HAWAII Mahalo Microsystems Ltd P.O. Box 8523 Honolulu, HI 96815 (808)922-2152 ILLINOIS Bies Systems (Formerly-The Computer Store) 7037 W. North Avenue Oak Park, IL 60302 (312)386-3323 "Computerland-Peoria 4507 N. Sterling Peoria, IL 61614 (309) 688-6252 Computer Station 3659 Nameoki Road Granite City, IL 62040 (618)452-1860 lllini Microcomputers 612 E. Ogden Avenue Naperville. IL 60540 (312)420-8813 Lillipute Computer Mart. Inc. 4446 Oakton Street Skokie. IL 60076 (312)674-1383 INDIANA Audiospecialists 401 North Michigan South Bend. IN 46601 (219)234-5001 KANSAS Computer Center (Byte Shop #61 ) 5815 Johnson Drive Mission, KS 66202 (913J432-BYTE MARYLAND 'Compute rland-Rockville 16065 Frederick Rd. (Rt. 355) Rockville, MD 20855 (301)948-7676 MASSACHUSETTS Computer Mart. Inc 1395 Main Street Waltham, MA 02154 (617)899-4540 Computer Shop-Cambridge 288 Norfolk Street Cambridge. MA 02139 (617)247-0700 MICHIGAN The Abacus Rt. 1; Box 193. US-31 Berrien Springs, Ml 49103 (616)429-3034 •Compulerland-Soulhfield 29673 Northwestern Highway Southfield. Ml 48034 (313)356-8111 Computer Mart-Royal Oak 1800 W. 14 Mile Road Royal Oak, Ml 48073 (313)576-0900 Micro Computer World 313 Michigan NE Grand Rapids, Ml 49503 (616)451-8972 Neal and Associates 4215 Shetland Drive Ann Arbor. Ml 48104 (313)973-0979 Tn-Cities Computer Marl 3145 Shattuck Saginaw, Ml 48602 (517)790-1360 MINNESOTA Microprogramming, Inc 1351 Larc Industrial Blvd Burnsville.MN 55337 (612)894-3510 NEBRASKA Omaha Computer Store 4540 S 84th Street Omaha, NE 68127 (402)592-3590 NEVADA Byte-Reno (Cyber Sense. Inc ) 4104 S Kietzke Lane Reno, NV 89509 (702)826-8080 NEW HAMPSHIRE •Compuleriand-Nashua 419 Amherst Street Nashua, NH 03060 (603) 889-5233 Microcomputers. Inc. 36 Otterson Street Nashua, NH 03060 (603)889-1646 NEW JERSEY Applied Computer Research Systems 445 Brick Blvd. Bricktown. NJ 08723 (201)477-4222 Atlantic Microsystems 82 Maryknoll Road Metuchen. NJ 08840 (201)549-0189 The Computer Emporium Avenues of Commerce/Bldg 103 2428 Route 38 Cherry Hill, NJ 08002 (609)667-7555 S-100. Inc. 7 White Place Clark. NJ 07066 (201)382-1318 NEW YORK Byte Shop-New York 130 E. 40th Street New York, NY 10016 (212)889-4204 The Computer Corner. Inc. White Plains Mall 200 Hamilton Avenue White Plains. NY 10601 (914) WHY-DATA Computer Enterprises P.O. Box 71 Fayetteville. NY 13066 (315)637-6208 Computer Marl-New York, Inc. 1 18 Madison Avenue New York, NY 10016 (212)686-7923 Computer Microsystems 1311 Northern Blvd. Manhasset.NY 11030 (516)627-3640 Computer Shop of Syracuse, Inc. 3470 Erie Blvd. East Dewitt. NY 13214 (315)446-1284 Home Computer Center 671 Monroe Avenue Rochester. NY 14607 (716)244-6237 Long Island Computer General Store 103 Atlantic Avenue Lynbrook, NY 11563 (516)887-1500 Micro World Computer Store 435 Main Street Johnson City, NY 13790 (607) 798-9800 Mini Micro Mart, Inc. 1618 James Street Syracuse, NY 13202 (315)422-4467 NORTH CAROLINA Fulureworld 2514 University Drive Durham. NC 27707 (919)489-7486 OHIO Byte Shop-Ohio 19524 Center Ridge Road Rocky River, OH 44116 (216)333-3261 ■Computerland -Cleveland 1288 Som Center Road Cleveland, OH 44124 (216)461-1200 OKLAHOMA Microliihics, Inc. 2918 N.MacArthur Blvd. Oklahoma City. OK 731 27 (405)947-5646 OREGON Byte Shop-Beaverton 3482 S.W.Cedar Hills Blvd. Beaverton.OR 97005 (503)644-2686 PENNSYLVANIA Byte of Pennsylvania 1045 Lancaster Avenue Bryn Mawr, PA 19010 (215)525-7712 Marketline Systems. Inc. 2337 Philmont Avenue Huntingdon Valley, PA 19006 (800) 523-5355 SOUTH CAROLINA Byte Shop #32 1920 Blossom Street P.O. Box 5144 Columbia. SC 29205 (803)771-7824 TEXAS East Texas Computers 305 Clemson Drive Tyler, TX 75703 (214)561-2635 (214)561-1648 Microbyte-Abacus 2218 Crawford Houston, TX 77002 (713)757-1128 Micro Mike's 905 Buchanan Amarillc.TX 79101 (806) 372-3633 Neighborhood Computer Store 4902 34th Street #20 Lubbock, TX 79410 (806)797-1468 UTAH Byte of Salt Lake City 261 South State Salt Lake City. UT84111 (801)355-1041 ' 'Computerland of Salt Lake City 161 E.2nd South Salt Lake City. UT84111 (801)364-4416 VIRGINIA 'Computerland of Tysons Corner 841 1 Old Courthouse Road Vienna. VA 22180 (703)893-0424 The Computer Place 2718 Colonial Avenue SW Roanoke. VA 24015 (703)982-3661 The Computer Systems Store 1984 Chain Bridge Road McLean, VA 22102 (703)821-8333 Redi-PGMS 7916 Westpark Drive McLean, VA 22102 (703)893-7200 WASHINGTON •Compute rland/SKC 1500 South 336th Street Federal Way, WA 98003 (206)927-8585 (206) 838-9363 Personal Computers. Inc South 104 Freya Spokane, WA 99202 (509) 534-3955 WISCONSIN Lancer Electronics. Inc. 2700 S Chicago Avenue So. Milwaukee. Wl 53172 (414) 762-6500 AUSTRALIA Automation Statham Pty.Ltd. 47 Birch Street Bankstown. NSW 2200 (02)709-4144 BELGIUM Pulsion Avenue Albert Mahiels. 13/081 B-4020 Liege CANADA The Byte Shop-Vancouver 2151 Burrard Street Vancouver. B.C. V6J 3H7 (604)736-0511 Compumart 411 Roosevelt Avenue Ottawa. Ontario K2A 3X9 (613)725-3192 Custom Computing Systems, Inc. 204 2nd Avenue N Saskatoon. Sask. S7K 2B5 (306)242-7808 Home Computer Center 6101 Yonge Street Willowdale, Ontario M2M 3W2 (416)222-1165 Orthon Computer Company 12411 Stony Plain Road Edmonton, Alberta T5N 3N3 (403)488-2921 Pacific Computer Store 4509 Rupert Street Vancouver. B.C. V5R 2J4 (604)438-3282 TJB Microsystems. Ltd. 10991 124th Street Edmonton. Alberta T5M 0H9 (403)455-5298 Trintronics, Ltd. 186 Queen Street W Toronto. Ontario H5V 1Z1 (416)598-0260 ENGLAND AEM Systems Ltd 12A London Street Southport. England (0704)79761 Interam Computer Systems Lid 59 Moreton Street Victoria. London S.W.1 01-834 0261/2733 GERMANY Compute rshop •GMBH D-7800 Freiburg Im Breisgau Adelhauserstrasse 29 West Germany JAPAN Super Brain 1-15-16 Sopokanda Chiyoda-Ku. Tokyo MEXICO I.T.E.S.O. 1342-8 Ninos Heroes Guadalajara SINGAPORE Og Departmental Store 100 Upper Cross Street Singapore 1 917788 Sys-Tech Pte Ltd 556B Rochor Centre Rochor Road. Singapore 7 2927645 9 Thinker Toys 'Thinker Toy ' M Products may be purchased from all Computerland™ stores worldwide Circle 255 on inquiry card. BYTE April 1979 31 Decimal Memory Address 5632 thru 5799 5800 thru 6036 6399 6655 6911 7167 7423 7679 7935 8191 6144 thru 6400 thru 6656 thru 6912 thru 7168 thru 7424 thru 7680 thru 7936 thru 10 11 thru 25 26,27 28 29,30 31,32 6050 thru 6074 6075 thru 6099 6100 thru 61 14 5632 thru 5654 5655 thru 5660 5661 thru 5679 5680 thru 5685 5686 thru 5689 5690 thru 5727 thru 5747 thru 5780 thru 5800 thru 5810 thru 5726 5746 5779 5799 5809 5824 5825 thru 5848 5849 thru 5866 5867 thru 5882 5883 thru 5886 5887 thru 6036 6037 thru 6049 Contents Or Function Move particles one step forward in time, bouncing off walls as necessary. Plot particles on screen, colliding ones which fall in same cell on the 50 by 80 grid. High bytes of X coordinates. Low bytes of X coordinates. High bytes of Y coordinates. Low bytes of Y coordinates. High bytes of VX velocities. Low bytes of VX velocities. High bytes of VY velocities. Low bytes of VY velocities. Current screen character at location to be plotted. Table of PET % graphics symbols; translates to and from "binary graphics symbols." Low, high bytes of current screen address. "Binary graphics symbol" to be put onto current location (1, 2, 4, or 8). High, low bytes of M=(A+B+C+D)/2. High, low bytes of TEMP=M-B. Low bytes of table of left ends of screen lines. High bytes of table of left ends of screen lines. Table of graphics symbols, in order defined to be 1, 2, 3, 4, . . . , 15 in "binary graphics symbols." Move X coordinate. Check to see if in box; fix if not. Move Y coordinate. Check to see if in box; fix if not. Increment counter; do next particle if not done. Fix if gone off left edge. Fix if gone off right edge. Fix if gone off bottom. Fix if gone off top. Transfer table to page of memory. Put address of screen left edge of line to be plotted into 26,27. Put "binary graphics symbol" to be plotted into 28, and add location in line to be plotted to 26,27. Find current graphics symbol which occu- pies space to be plotted in; look up in table and translate to "binary graphics symbol." Plot particle if space to which it goes isn't already occupied. Increment counter and go back to 5810 if not through. A collision has occurred! Scan back to see which particle has collided with the one about to be plotted, and fix their velocities, as in text. This space intentionally left blank. Table 7 ." Comments on Gas machine language modules given in listing 2, Photo 6: Velocity histogram for the high temperature gas shown in photo 5. Text continued from page 28: 3X 10 19 , then the fractional fluctuat ion in this number is about 1/^3 X 10 19 =»0.2 parts per billion — small, but measurable. (The human ear is sensitive enough to barely hear these fluctuations — try it, if you can find a quiet enough place!) So, the errors that the 256 particle gas m odel will tend to make are of the order of 1 /\l256 ~ 6% — not terribly bad. A second important feature of my model is the way it handles collisions. Time is broken into steps, and two particles which end a timestep in the same cell are considered to collide. It would be far more complicated to calculate distances between particles as they move and to declare a collision only if their center-to-center distance fell below a certain limit. It also turns out not to matter much, as far as the final equilibrium state of the gas is concerned. Actual collisions are sometimes grazing, sometimes head-on, and generally everywhere in between, depending on the details of the interactions between the molecules and their impact parameters. None of that really matters for our purposes. The important feature of all collisions in gasses is that the collisions always conserve energy and momentum. Energy is just kinetic energy for pointlike particles: Vim v . To simplify the arithmetic, I let all of my gas particles have mass m = 2, so their ener- gies are just the squares of their velocities. In two dimensions, velocity has components along the X and Y axes; call them VX and VY. The momentum of a particle is just its mass times its velocity. Momentum thus has X and Y components, each of which must separately be conserved, that is, remain con- stant during a collision. To be specific, suppose that VX and VY are arrays, and that particles numbered 1 and 2 are colliding. If arrays WX and WY are used to hold their velocities after the colli- sion, then conservation of energy says that (total energy after)=(total energy before), that is, WX(1) 2 +WY(1) 2 +WX(2) 2 +WY(2) 2 = VX(1) 2 +VY(1) 2 +VX(2) 2 +VY(2) 2 . Conser- vation of X momentum says that WX(1)+ WX(2)=VX(1)+VX(2), and conserving Y momentum implies that WY(1)+WY(2)= VY(1)+VY(2). Now, if the velocities before the col- lision are known, then there are four ve- locities afterwards to solve for: WX(1), WY(1), WX(2), and WY(2). Three equations are not enough information to solve for four unknowns. The missing equation contains the details of the collision — whether it is head-on or glancing or what. One might write out this fourth equation (it's done in most freshman physics textbooks) in terms 32 April 1979 © BYTE Publications Inc £!™?WQRLD TOLL-FREE 1-800-528-1418 LOWEST PRICES . FAST DELIVERY . DEPENDABLE SERVICE DOUBLE DENSITY HORIZON I KIT double the storage at the same price! Today's best buy. 180K bytes per disk. The chosen computer tor two MicroWorld systems . . . Autoscribe — The Paperwork Manager- and Bookkeeper — The Office Accountant-. Single density still runs on your new Horizon, or you can copy and convert all North Star software and pro grams to double density. • exclusive application software • add'! 16K memory (kit), $349 • add'l disk drive (kit), $349 NEW! Call for low assembled prices. Double density also available on North Star disk sub-system, $599 kit. MICROPOLIS DISK DRIVE FOR TRS-80 oV- ZSk i>r % HEATH DATA SYSTEMS PRINTER MicroWorld Specials Integral Data Printer $749 Add for Tractors $ 150 Mime Terminal $742 Hazeltine 1410 Terminal . $ 765 Hazeltine 1500 Terminal . $1097 Teletype Model 43 Printer $1019 Dataproducts M-200 Printer $2921 Vector Graphics MZ $3225 Exidy 16K Sorcerer $1035 Data General microNOVA $CALL Qume Sprint 5 RO Printer (55cps) $2895 DEC LS 120 Printer .... $CALL Centronics 779 Printer (incl. tractors) $1095 Micropolis 1042 Mod I Drive $CALL Tl 59 Calculator $ 219 Novation CAT Modem .. $ 199 Tl 820 Terminal $2199 North Star Horizon Software $CALL Dataproducts B-300 Printer $5346 IPSI 1620 Diablo RO .... $2705 Hitachi 9" Monitor $184 Cromemco System III ... $5299 Imsai VDP-80 $CALL EWORLD Bringing information technology to your doorstep 1425 W. 12th PI. • Tempe, AZ 85281 • 602-894-1193 Circle 232 on inquiry card. VISA | No extra charge for credit card orders Freight collect, F.O.B. Tempe No other handling charges Formerly Byte Shop Mail Order CALL TOLL-FREE 1-800-528-1418 Listing 1: BASIC program for the PET which simulates an ideal gas. This program uses the assembly language modules shown in listing 2. The notation used in this listing is described in table 3. 1 10 15 20 30 35 40 45 50 60 70 80 82 84 86 90 95 100 105 110 115 117 120 130 140 150 160 180 190 200 300 350 400 420 450 480 500 520 540 550 560 600 610 620 630 640 650 670 700 720 740 760 780 785 790 795 800 810 815 820 825 830 840 845 850 860 1000 1020 1100 REM POKE 135,22 FOR SAFETY!! (KEEP BASIC BOUNDED) REM GAS COPYRIGHT 1978 MARK ZIMMERMANN REM GRAPHICS SYMBOLS FOR PLOTS IN DATA STATEMENTS DATA 100, 111, 121,98, 248,247, 227, 160, 101, 116, 117,97,246, 234, 231, 160 DIM UP(7),RI(7), VY(20),VX(20): FOR l=0 TO 7: READ UP(I): NEXTI REM UP ARRAY IS FOR UPWARD GRAPH, Rl FOR RIGHTWARD; VY & VX HOLD VELOCITIES FOR 1=0 TO 7: READ R 1(1): NEXTI REM SC$ DRAWS THE AXES FOR THE GRAPHS SC$="c/s 10-IM \bd \bd \bd \bdbbJbd \bd \bd \bd \bdbOJbd \bd \bd \bd \ bdbb -5J" SC$= SC$ +"/jrf \bd \bd \bd \ bdbbb -\QJbd \ rrrrrrrrd --\0 ubb l ]bd-5bu "TMOiTn" SC$=SC$+" bdbu Vbbd} Ohome " REM MEMORY ALLOCATIONS: 6144-6399, HI BYTES OF X COORDINATES REM 6400-6655, LO BYTES OF X; 6656-6911, HI BYTES OF Y REM 6912-7167, LO BYTES OF Y; 7168-7423, HI BYTES OF VX; 7424-7679, LO VX REM 7680-7935, HI BYTES OF VY; 7936-8191, LO BYTES OF VY PRINT "HIT 'R'TO RESETTIMER" PRINT" 'S' TO MOVE SLOWER" PRINT " 'F' FOR FASTER" PRINT" 'G' TO GOOSE PARTICLE #0" PRINT "AND ANY OTHER KEY TO PLOT VELOCITIES" REM 120-140 FILL THE VELOCITIES WITH ZEROES AND THE LO BYTES OF POSITIONS REM TO CENTER THE PARTICLES IN THEIR RESPECTIVE SQUARES FOR l=0TO 255 POKE 7168+1,0: POKE 7424+1,0: POKE 7680+1,0: POKE 7936+1,0 POKE 6400+1,128: POKE 6912+1,1 28: NEXTI REM ARRANGE PARTICLES NICELY HERE FOR l=0 TO 39: FOR J=0 TO 5 POKE 6144+I*6+J,2*I: POKE 6656+l*6+J,2*J:NEXT J: NEXTI REM USE UP ALL PARTICLES! FOR 1=240 TO 255: POKE 6144+1,2*11-240): POKE 6656+1,20: NEXTI DE=30: REM PRELIMINARY TIME DELAY SYSI5632): REM MOVE ONE TIMESTEP PRINT "c/s";:N=N+1:REM CLEAR SCREEN; N COUNTSTIME SYS(5800):REM PLOT & COLLIDE THEM! PRINT N:T=TI X0=INT(PEEK(6144)/2):Y0=INT(PEEK(6656)/2): POKE 33728+X0-4O*Y0, 42:REM MARK #0 IF (Tl-T) < DE GOTO 560: REM DELAY GETA$: IF A$="" GOTO 400 ':N=0:GOTO400 :DE=2*DE: GOTO 400 ': POKE 7168,10: GOTO 400 :DE=DE/2: GOTO 400 IF A$="R"THEN A$='" IF A$="S"THEN A$="" IF A$="G"THEN A$='" IF A$="F" THEN A$='" A$="":E=0:PRINTSC$ FORI=0TO20: VX(l)=0: VY(l)=0: NEXTI: REM CLEAR ACCUMULATORS FORI=0TO255: HX=PEEK(7168+I): HY=PEEK(7680+I): LX=PEEK(7424+I) LY=PEEK(7936+I): REM CALCULATE VELOCITIES, ADJUST IF NEGATIVE IF HX > 127 THEN HX=HX-255: LX=LX-256 IF HY > 127 THEN HY=HY-255: LY=LY-256 VX=HX+LX/256: VY=HY+LY/256: E=VX*VX+VY*VY+E: REM ADD UP ENERGY ::::::: :REM NOW COMES PLOTTING: ::::::: VX=INT(VX): VY=INT(VY): IF(VX > 10)OR(VX < -10) THEN VX= SGN(VX)*10 REM LIMITS PLOTSTO BETWEEN -1 & 10 IF (VY > 10) OR (VY < -10) THEN V Y=SGN(V Y) *10 VX=VX+10:VY=VY+10 REM ACCUMULATE COUNTS IN VX & VY ARRAYS; SCALARS VX & VY ARE DIFFERENT!! VX(VX)=VX(VX)+1 : VY(VY)=VY(VY)+1 : AX=33582+VX-40*INT(VX(VX)/8) REM CALCULATE AX AND AY, ADDRESSES FOR PLOT OF A GIVEN VX AND VX(VX), ETC. AY=33572-40*VY+INT(VY(VY)/8) CX=UP(VX(VX)-8*INT(VX(VX)/8)l: CY=RI(VY(VY)-8*INT(VY(VY)/8)) REM CX & CY ARE GRAPHICS CHARACTERS USED FOR SOME VX OR VY POKE AX.CX: POKE AY,CY NEXT I PRINT TAB(10);"ENERGY=";E GET A$: IF A$="" GOTO 1020: REM WAIT UNTIL DONE LOOKING AT GRAPHS GOTO 400 of the scattering angle, and then use the details of the particles' positions to choose that angle, but that would involve calcu- lating sines and cosines of the angle, and it's unnecessarily slow and complicated (espe- cially to program in machine language). Instead, I chose one special type of colli- sion, which enabled WX(1), WX(2), WY(1), and WY(2) to be calculated using only addi- tion, subtraction, and division by 2. (I can program those!) This special collision scatters two particles by 90 degrees, if they approach each other with opposite ve- locities, as shown in figure 1. The resulting equations for the velocities after the colli- sion are simple. Let M=(VX(1)+VY(1)+ VX(2)+VY(2))/2. Then WX(1)=M-VY(1), WY(1)=M-VX(2), WX(2)=M-VY(2), and WY(2)=M-VX(1). It's an exercise in ele- mentary algebra to see that these values for the velocities after the collision conserve energy and momentum. So that's the specific model: a two-di- mensional gas made of 256 particles on a 50 by 80 grid, which make 90 degree type colli- sions whenever two fall in the same cell. Now for step 2: make the equations of motion computable. The equation that governs the particles' positions between collisions is, in words, that the time-rate- of-change of the position is the velocity; the velocity is constant. It's the simplest differ- ential equation imaginable, and the solution is also simple: particles move in straight lines at constant speed between collisions. But in a machine, nothing moves continuously. It's rather like Zeno's Paradox: if you look at an arrow in flight, at some moment it cer- tainly is where it is, not somewhere else - it's at a definite location, not smeared out or blurred. So, how can the arrow move? Zeno couldn't answer this (or chose not to), but later mathematicians (Newton, Leibnitz, and others) did. Their answer involves looking at the motion as a series of tiny discrete jumps. The computer can do that too. If a particle is at position X,Y at one moment, and has velocity VX, VY, then a time T later it will be at X+TXVX, Y+TXVY. When I wrote the original (high-level language) version of this simulation, I used precisely these "time- step" formulae; in the machine language version, I set T = 1 for simplicity. I also chose a specific precision arithmetic: two bytes for each number, in 2's complement notation, with the decimal point (it's really a binary point!) between the two bytes. The high byte (to the left of the point) gives a number that can be directly plotted on the screen; the low byte keeps several decimal places of accuracy and holds down roundoff Text continued on page 38. 34 April 1979 © BYTE Publications Inc A Beautiful Way To Iuterf ace IQ140 tB^H SOROC's first and foremost concern, to design outstanding remote video displays, hai resulted in the development of the IQ 140. This unit reflects exquisite appearance and performance capabilities unequaled by others on the market. With the IQ 140, the operator is given full command over data being processed by means of a wide variety of edit, video, and mode control keys, etc. The detachable keyboard, with its complement of 117 keys, is logically arranged into 6 sections plus main keyboard to aid in the overall convenience of operation. For example, a group of 8 keys for cursor control / 14 keys accommodate numeric entry / 16 special function keys allow access to 32 pre-programmed commands / 8 keys make up the extensive edit and clear section / 8 keys for video set up and mode control / and 8 keys control message and print. Two Polling options available: 1) Polling compatible with Lear Siegler's ADM-2. 2) Polling discipline compatible with Burroughs. 120 \ The SOROC IQ 120 is the result of an industry- wide demand for a capable remote video display terminal which provides a multiple of features at a low affordable price. The IQ 120 terminal is a simple self-contained, operator / computer unit. The IQ 120 offers such features as: 1920 character screen memory, lower case. RS232C extension, switch selectable transmission rates from 75 to 19,200 bps, cursor control, addressable cursor, erase functions and protect mode. Expansion options presently available are: block mode and hard copy capability with printer interface. The IQ 120 terminal incorporates a 12-inch, CRT formatted to display 24 lines with 80 characters per line. Circle 330 on inquiry card. 1G5 FREEDOM AVE., ANAHEIM, CALIF. 92B01 (7141993-2860 / (BOO) B54-0147 There's an Ohio Scientific dealer near you. ALABAMA Plainsman Micro Systems 3808 Pepperill Parkway Of lice #1 Auburn, AL 38830 (205) 821-1694 M.C.S. Corp. Pelham Mall Pelham, AL 35124 (205)663-1287 ALASKA Alert T.V. 6122 Seward Highway Anchorage, AK 99502 (907)344-9311 Scientific Business Instr's BOO E. Diamond Blvd. Ste. 140 Anchorage, AK 99502 (907) 344-8352 The Computer Shop 15 N. Central Colorado City, AZ 86021 (602) 875-2451 D.C.T Co. 1210 W. Alameda W103 Tempe. AZ 85282 (602) 966 6440 ARKANSAS Computerland of Little Rock 11121 Rodney Parham Little Rock, Afl 72212 (501)224-4508 Anaheim Computer Equipment 2974 W. Ball Rd. Anaheim, CA 92804 (714) 827-9570 Shuey Aircraft 1009 E. Vermont Anaheim, CA 92805 (714)991-3940 Professional Services 139 S. Beverly. Beverly Hills. CA 90212 (213) 550-1560 Tri Source Corp. 1660 Rollins Burllngame. CA 9O014 (415)692-5416 IS Audio-Visual Services 10000 HannaSt. Chalsworth. CA 91311 (213)998-2059 Silver Spur Eleclronics Communications 13552 Cenlral Ave. Chino. CA 91710 (714)627-9366 Alternative Computer Systems 216 Full Circle Davis, CA 95616 (916) 758-5364 Advenlures in Computing 8756 Warner Founlain Valley. CA 92706 (714)848-8388 Ohio Scienlilic West 15461 Chemical Lane Huntington Beach, CA 92649 (714)891-2457 Consumer Computers 8907-A La Mesa Blvd. La Mesa, CA 92041 (714)465-8888 Computers-Are-Fun 2268 Westwood Blvd. Los Angeles. CA 90064 (213) 475-0566 Data Products Mgmt. 128 N. Garfield Monterey Park, CA 91754 (213)573-5991 A.J.M. Enterprises P.O. Box 1396 Rldgecresl. CA 93555 (714)975-8638 Microlech Exports 9l2CowperSt. Palo Alto. CA 94301 (415)3281712 The Computer Center 8205 Ronson San Diego, CA 92111 (714)292-5302 Olson Eleclronics Kearny Mesa, 4840 Convoy San Diego, CA 92111 (714)292-1100 B. L. M. Syslems Inc. One Ecker San Francisco, CA 94105 (415)546-1797 Systems Engineering 900 3rd Slreel San Francisco. CA 94107 (415)777-3150 Tech Service 1200Tayler#6 San Francisco. CA 94108 (415)771-5061 A, A. Office Equipment 15296 E. 14th SI. P. O. Box 3221 San Leandro. CA 94578 (415)357-1737 Kirco Corp, P.O. Box 396 Sierra Madre, CA 91024 (213)355-0720 COLORADO Pulse Technology 5074 Gallatin Place Boulder. CO 80303 (303) 444-3652 Slleo Elelronics Co. 381 S. Broadway Denver, CO 80209 (303) 777-3222 Tricomp Computer Country 3489 W. 72nd Ave., Suite 101 Denver, CO 80030 (303) 426-7743 Computer Shop 835 Main H206 Durango. CO 81301 (303)247-5905 Byte Shop. Inc. 3463 South Acoma Englewood. CO 80110 (303)761-6232 Tolal Data Systems 125 Fairway Lane Fort Collins, CO 80521 (303) 491-5692 CONNECTICUT R & R Computer Sales 130 Jefferson Ave. New London, CT 06320 (203) 447-1079 DISTRICT OF COLUMBIA American Data HomeOflice Computer 1030 15th Street Washington, D.C. 20005 (202)466-6612 Newtronics 1647 Lemont N.W. Washington. D.C. 20034 (202) 234-6646 FLORIDA Trans-Data Corp. 161 Almerla Avenue Coral Gables, FL 33134 (305) 576-7666 Intercontinental Computer 2754 N. W. N, River Drive Miami, FL 33142 (305)633-1546 Micro Computer Syslems 144 S. Dale Mabry Hwy. Tampa. FL 33609 (813)879-4301 Electronic Information Systems 170 Heatherwood Lane Alhens, GA 30601 (404) 353-2858 Graham Business Computer 5725 Buford Highway, Suite 216 Atlanta. GA 30340 (404)457-8540 Columbus Soltware Center 4723 Northgale, Box 8088 Columbus, GA 31908 (404) 563-7729 Capital Computer Systems 3396 El Camlno Ave. Sacramento, GA 95821 (916)483-7298 Small Computer Syslems 3149CWallalai Honolulu, HI 96816 (808) 732-5246 IDAHO Cimoo Dislributors, Inc. 1016 Park Lane Poratello. ID 83201 (208) 237-2448 American Microprocessors 1100 E. Broadway Alton, IL 62002 (618) 465-4489 Simblu Corp. 800 N. Main St. Antioch, IL 60002 (312) 395-8389 Tech-Tronics 715 S. University Carbondale, IL 62901 (618)549-8495 Adonis Computing 2855 W. Nelson Chicago, IL 60618 (312)463-0847 Electronic Systems 611 N.Wells Chicago. IL 60610 (312)944-6565 A & H Associates, Ltd. 2530 Crawford Evanston, IL 60602 (312)328-2600 No-Name 2701 Grand Ave Galesburg. IL 61401 (309) 343-6135 Processor Systems 228 School Geneva, IL 60134 (312) 232-7195 CompuTerminal Systems.lnc. 1132 Waukegan Glenview, IL 60025 (312)7243690 Tek-Aids Industries 1711 Chestnut Glenview, IL 6O025 (312)724-3620 Autodata Corp. 21000 S. Western Ave. Olympia Fields, IL 60461 (815)469-4775 American Microprocessors 6934 N. University Peoria. IL 61614 (309) 692-5852 American Microprocessors 20 N. Milwaukee Prairieview. IL 60069 (312) 634-0076 Quincy Hobby Center 3632 Maine St. Ouincy, IL 62301 (217)223-8498 Wysocki Electric 6583 11th St. Rockford. IL 61109 (815)874-4846 Elkhart Computer Company 29934 RiviBra Elkhart. IN 46514 (219)295-8181 American Microprocessors 146 N. Broad Griffith. IN 46319 (219)924-7901 American Microprocessors 3602 Easl Washington Indianapolis, IN 46201 (317)3597445 Computer Management 610 Monroe LaPorle, IN 46350 (219)362-5812 American Microprocessors 2655 Irving Portage, IN 46368 (219) 760-2278 Computer Center 19819 Orchard South Bend, IN 46637 (219) 272-0252 IOWA American Microprocessors 102 E. 4th Waterloo. IA 50703 (319) 266-2255 KANSAS Columbus Computing Center 217 4th Ave. Columbus. KS 66725 (316)429-3605 Dunn ElBCtronlcs 10O9S. Kansas Liberal. KS 67901 (316)624-1888 Barney & Associates 425 N. Broadway Pittsburg. KS 66762 (316)231-1970 Technlgraphics 5911 Claredon Wichila. KS 67220 (316)744-2443 Maine Data 52 Canco Rd. P.O.Box 121 Woodfors Station Portland. ME 04101 (207) 773-1051 The Mathbox 4431 Lehigh College Park. MD 20740 (301)277-6828 Syslems Engineering 1749Rockville Pike Rockville. MD 20842 (301)468-1822 The Math Box 2621 University Blvd W Wheaton. MD 20902 (301)933-6555 Bradshaw Enterprises 18 Harborview Drive Hingham. MA 02043 (617)749-6844 Computer Shop/Aircom Inc 288 Norfolk St. Cambridge. MA 02139 (617)661-2670 The Abacus Route 1. Box 193 Nlles Road Berrien Springs. Ml 49103 (616)429-3034 Kimble Terminals 451 S Eton Birmingham. Ml 48008 (313)645-5553 Microcomputer World 313 Michigan N E Grand Rapids. Ml 49503 (616)451-8972 Lansing. Ml 48910 (517)3940585 Great Lakes Photo 5001 Eastman Midland. Ml 48640 (517)631-5461 Finco 9100 W. Bloomington Floy-Ste. 170, Freeway Office Park Bloomington. MN 55431 (612)884-6744 North State Microcomputers 1600 London Rd.. Ste. 100 Dululh. MN 55812 (218) 728-2695 Custom Compuler Systems 1823Lowry Minneapolis, MN 55411 (612)588-3944 ABS 547 25th Avenue North St.Clpud. MN 56301 (612) 253-8734 Frisch Computers 1415 Arcade St. Paul. MN 56301 (612) 771-7569 Westronics 716 NW8lh St Wlllmar. MN 56201 (612)235-6096 MISSISSIPPI Jack Fisher Sales 100 Main Michigan City, MS 38647 (601)224-6470 Memory Bank 1 Hermosa Drive Ocean Springs. MS 39564 (601) 875-2723 MISSOURI Four State Microcomputer 402 Wall Joplin. MO 64801 (417)782-1285 Impact Systems 613 W. 3rd St. Lee's Summit. MO 64063 (816)524-5333 The Computer Bit 1320S. Glenstone Springfield. MO 65B04 (417)883-3709 Futureworld 1909 Seven Pines St. Louis. MO 63141 (314)434-1121 Sauer Computer Systems 1750 South Brentwood Suite 601 St. Louis. MO 63144 (314)962-0382 P.O. Box 2418 Cut Bank. MT 59427 (406)336-3117 Intelligent Sys. & Robotics 2335 S 35th Lincoln, NB 68506 (402) 483-1989 Omaha Computer Store 4540 South 84th Omaha. NB 68127 (402) 592-3590 J.B.A. Associates 1700 Wester Ave. #C Las Vegas. NV 89102 (702) 3820562 NEW JERSEY Computer Corner 240 Wanaque Pompton Lake, NJ 07442 (201) 835-7080 Garden Statu Computer 922 South Avenue Westlield, NJ 07090 (201)232-0511 Mlcromini Systems 4020 Hempslead Ave. Befhpage. NY 11714 (516)731-7100 DBIS 475 While Plains Road Eastchester, NY 10707 (914)779-5292 Associated Consultants 33 Ogden Easl Wlllislon, NY 11596 (516)746-1079 Work Force, Inc. 315 Walt Whitman Rd. Huntington Station, NY 11746 (516)271-7711 AristoCrafl 314 5th Avenue New York. NY 10001 (212)279-9034 Better Programming Syslems. Inc. 275 Fori Washington Ave. New York, NY 10032 (212)781-1861 Computer Mart of N. Y. 118 Madison New York, NY 10016 (212)686-7923 Brag Microcomputers 19 Cambridge Rochester, NY 14607 (716)442-5861 Universal Data Research 234 Tennyson Terrace Williamsville, NY 14221 (716)6897788 Wesnell, Inc. 506 E. Central Ave. P.O. Box 686 Raelord, NC 2S376 (919) 875-2798 General Sys. Programming 1013 University Avenue Grand Forks, ND 58201 (701)746-1042 BandOrch, Inc. 337 E. State Si. Alliance, OH 44601 (216)821-2600 Lucas Ollice Equipment & Service 869 E. Franklin Cenlerville.OH 45459 (513)433-8484 Econo Dala 580 Walnut Clncinnali, OH 45202 (513)421-7071 Systems Support Associates 2330 Victory Parkway Cincinnati, OH 45206 (513)281-4477 Medical Business Syslems 6685 Beta Drive Cleveland, OH 44143 (216)461-7650 Integrated Management Sys. 6400 E. Broad St. Sle. 401 Columbus, OH 43213 (614)866-1307 Astro Video Electronics Inc. 504 E. Main St. Lancaster, OH 43130 (614)687-0629 Johnson Compuler 123 W. Washington Medina. OH 44256 (216)725-4560 Micro Syslems Sales 30 W.Aurora Road Norlhfield, OH 44067 (216)467-0003 Gauger Engineering 910 Orient Street Clinton, OK 73601 (405) 323-2320 Accounting Systems 2709 Orlando Oklahoma City. OK 73120 (405) 751-1537 Gauger Engineering 3824 S. 79th East Tulsa, OK 74145 (918)627-1064 Schoolfulures Inc Box AOhara Hall Marythursl, OR 97036 (503) 635-3544 Fial Computer 10675 SE 42nd Avenue Mllwaukle, OR 97222 (503) 654-9574 Broadl Enterprises 550 N. Derr/Rt. 15 Lewisberg. PA 17837 (717)523-8641 Television Parts Co. Inc. 518 5lh Ave. New Brighton. PA 15066 (412)846-4044 International Automation Inc 2nd Floor Mellon Bank Bldg New Kensington. PA 15608 (412)337-6080 Abacus Data Syslems Roule 8 Reno. PA 16343 (814)677-6502 Creative Compuler Systems & Soltware 14 S Church St Wesl Chester. PA 19380 (215)436-4750 America's Largest Full Line Microcomputer Company SOUTH CAROLINA Island Business Machines 21 Kingbird Hilton 'Head is SC 29928 (803) 785-3631 SOUTH DAKOTA Exe Engineering 804 E. Lewis Vermillion. SO 57069 (605)624-6411 TENNESSEE Computer Power ol Memphis 3540 Walker Avenue Memphis, TN 38111 (901)452-1526 Computer Powerof Oak Ridge 800 Oak Ridge Turnpike Oak Ridge. TN 37830 (615)482-9031 Personnel Cost Control 11311 Stemmons Freeway Dallas. TX 75229 (214)247-5371 Compuler Imagineering 2825 Valley View Dallas. TX 75234 (214)247-6393 R K O. Enterprises 1007 W Harrison Harlingen.TX 78550 (312)428-6072 Cybertronics 16327 Timber Valley Houston. TX 77070 (713)376-8431 Mr Computer 744 FM 1960 W.. Suite E Houston, TX 77090 (713)444-7419 Mr. Computer 17024 Butte Creek Houston. TX 77090 (713)353-0518 Kay Computers 1230 Main League City (713)332-5555 Datex Computer Center 2626Kermil Hwy. Odessa. TX 79763 (915)333-4516 Compuler Shop 6812 San Pedro San Antonio. TX 78216 (512)828-0553 Walker Electronics 325 W. Main St. Lehi.UT 84043 (801) 768-3698 Everton Publishers 526 N. Main St. Logan. UT 84321 (801)752-6022 Home Compuler Slore 2343 Easl 3300 South Salt Lake City. UT 84109 (801)484-6502 TV Specialists 170 E 2100 South Salt Lake City. UT 84108 (801) 486-7555 Community General Store 2704 N Pershing Arlinglon.VA 22201 (703)527-4600 Hf8 Computers 217 E. Main St. Charlottesville. VA 22901 (804) 295-1975 Automated Business Svcs 1649 W Broad St. Richmond. VA 23220 (804) 355-4361 Microsystems. Inc 5320 Williamson Roanoke. VA 24012 (703) 563-0693 Microsystems of Virginia 107 Lee Vinton, VA 24179 (703) 5630693 WASHINGTON Computerland of Bellevue 14340 N.E. 20th Bellevue. WA 98007 (206) 746-2070 Ideafix 12039 Main St. Bellevue. WA 96005 (206) 454-9046 Ye Olde Computer Shoppe 1301 George Washington Way Richland. WA 99352 (509) 946-3330 Ye Olde Computer Shoppe 1605 E. Isaacs SI Walla Walla. WA 99362 (509) 529-9331 WEST VIRGINIA Interactive Operations P.O. Box 1322 Bluefield.WV 24701 (304) 327-6583 Computermart. Inc. P.O. Box 336 Morgantown. WV 26505 (304) 29 1-5400 Indian Head Compuler Systems 405 S. Farwell St. Eau Claire, Wl 54701 (715)834-8169 MicroComp 44 N. Main Fond du Lac. Wl 54935 (414)922-2515 Specialty Olfice Machines 20 East Second Fond du Lac. Wl 54935 (414)922-5440 American Microprocessors 3121 Windsor Rd. Janesville, Wl 53545 (608) 752-01 1 1 Inlegraled Micro 206 Hood St. La Crosse, Wl 54601 (608) 784-7979 Madison Computer Store 1825 Monroe Madison, Wl 53711 (608) 255-5552 Milwaukee. Wl 53213 (414)258-2588 Control Technology 204 Crazy Horse Lane Gillette. WY 82716 (307) 682-0300 Becterm 1277Chemin St Jean Bernieres. Quebec. Canada G0S 1C0 (418)831-4522 Omega Computing Ltd Box 220 Station P Toronto. Ontario Canada M5S 2S7 (416)425-9200 Robo-Tronics 509 16th N W. Calgary. Alberta Canada T2M 0J6 (403) 282-9468 Venezuela 3392 Buenos Aires Argenlina 1211 Capital Fed 882547 AUSTRALIA Sys. Automaton Propr Ltd 26 Clark SI Crows Nest. NSW. Australia 2065 (02) 439-6477 IEC (International Eleclronicl Avenue Charles Plisnier. 3F B 1070 Bruxelles (Belgium) 02/521-9580 Mutek The Studio. Quarry Hill. Box Corsham Willshire. England 022121-3289 Abacus Computers Limited 62 New Cavendish Street American Data-Home & Office Computer 150 Regent Si Ste. 500 Chesham House London. W1R5FA England (01) 439-6288 ^Microcomputers P. O Box 24 Northwich. Cheshire C8W 1RS. England 0606-75627 Janaz Computer Shop 12 Rue Pasquier 75008 Paris. France 329-6237 Electronic J.L. 97 RuedesChantiers 78000 Versailles France 950-2820 Compumak Ltd. 117So1onosSl Athens 142, Greece 3632952 Skylab ViaMGioia66 20125 Milano Italy (021 688-3806 Ediconsull S.R.L Via Caccini 12 Monza. Italy 039-38-9850 Electronica S.A De C V Varsovia #36 Mexico 6. D. F. 5-33-11-80 NETHERLANDS Ingenleurs Bureau Koopmans Joh. Vermeer Sir 7 3351 BM Papendrecht Netherlands 078-56033 Pereyra & Assoc S.R.L. Aires Schrelber 225 U'b Aurora Miralfores Lima, Peru 462680 Puerto Rico Computer Sales P.O. Box 2036 Halo Rey. Puerto Rico 00919 (809)751-4042 Sociedad Anonima DeVentees P.O. Box 701 Cueno. Ecuador 830-770 Isotronic AB Box 3056 18303 Taby Sweden (08)756-0155 Naafexco Corp. 4023 Basel Basel. Switzerland 4023 (0114161)463626 Elec Data Processing C A. Av. 15-Esq. Calle72 Edil. Paseo72Piso 2-Local 39-Apartado Postal 1892 Maracaipo. Venezuela 7184 BISY Rheinslrasse 2 4040 Neuss 1 West Germany (02101)28124 Microcomputer Dalensysleme GmbH Alsfrelder Slrasse 6 P.O. Box 1108-68 D-e U)0 Darmstadt West Germany (06151)71-4444 1333 S. Chllllcothe Road • Aurora, Ohio 44202 (216) 562-3101 Here it is at last... -rue CIDCT FLOPPY DISK BASED COMPUTER FOR UNDER * III TheCIPMF Complete mini-floppy computer system 10K ROM and 12K RAM Instant program and data retrieval The Challenger 1 P Mini-disk system features OhioScientific's ultra-fast BASIC-in-ROM, full graphics display capability and a large library of instant loading personal applications soft- ware on mini-floppies including programs for entertainment, education, personal finance, small business and now home control! The C1 P MF configuration is very powerful. However, to meet your growth needs it can be directly expanded to 32K static RAM and a sec- ond floppy by simply plugging these options in. It also suports a printer, modem, real time clock and AC remote interface as well as the OS-65D V3.0 development oriented operating system. Circle 290 on inquiry card. Or Start with the C1 P CASSETTE BASED Computer for just $349. The cassette based Challenger 1 P offers the same great features of the mini-disk system including a large software library except it has 4K RAM and conservative program retrieval time. Once familiar with personal computers, you'll be anxious to expand your system to the more powerful C1 P MF. You can move up to mini-disk performance at any time by adding more memory and the disk drive. Contact your local Ohio Scientific dealer or the factory today. *Both systems require a video monitor, modified TV or RF converter and home television for operation. Ohio Scientific offers the AC-3 combination 12" black and white TV/monitor for use with either system at $1 15.00 retail. All prices, suggested retail. 1333 S. CHILLICOTHE RD., AURORA, OHIO 44202 (216) 562-3101 BYTE April! 979 37 Listing 2: The 6502 assembly language modules for use with the ideal gas program. COMMENTS LABEL MNEMONIC BEGINMOVE: LDX #0 LDY #0 TOP: LDA CLC VXLO.X ADC XLO.X STA XLO.X LDA VXHI.X ADC XHI,X STA XHI,X BMI NEGX CMP #80 BCS BIGX RETX: LDA CLC VYLO.X ADC VLO,X STA YLO,X LDA VYHI.X ADC YHI,X STA YHI.X BMI NEGY CMP #50 BCS BIGY RETY: INX BNE TOP RTS NEGX: TYA SEC SBC XLO.X STA XLO,X TYA SBC XHI,X STA XHI,X REFLVX: TYA SEC SBC VXLO,X STA VXLO.X TYA SBC VXHI,X STA VXHI.X JMP RETX BIGX: LDA SEC #255 SBC XLO,X STA XLO,X LDA #159 SBC XHI.X STA XHI.X JMP REFLVX NEGY: TYA SEC SBC YLO.X STA YLO,X TYA SBC YHI,X STA YHI.X REFLVY: TYA SEC SBC VYLO,X STA VYLO,X TYA SBC VYHI.X STA VYHI,X JMP RETY BIGY: LDA SEC #255 SBC YLO,X STA YLO.X LDA #99 SBC YHI,X STA YHI,X JMP REFLVY initialize particle counter ;clear Y register ;move x coordinate of particle ;by adding VX to X ;bounce off left wall if x.LT.O ;bounce off right wall if x.GE.80 ;move y coordinate ;by adding VY to Y ;bounce off bottom if y.LT.O ;bounce off top if y.GE.50 ;do all 256 particles ;back to BASIC control ;prepare to reflect — x to x ;by subtracting from .-another in accumulator .-reflect velocity vx also .return to main program prepare to reflect x to 160— x .-(actually, 159.99. . .-x) .•reflect velocity vx using previous code ; reflect y to — y ;reflect velocity vy also ;return to main program ;prepare to reflect y to 99.99 . . .— y BEGINMOVE 5632 BEGINPLOT 5800 XHI 6144 XLO 6400 YHI 6656 YLO 6912 VXHI 7168 VXLO 7424 VYHI 7680 VYLO 7936 OLDCHAR 10 GRAFTAB 11 ADDRNOW 26 NEWSYMB 28 MHI 29 MLO 30 TMPHI 31 TMPLO 32 SCRTABLO 6050 SCRTABHI 6075 SYMBTAB 6100 Table 2: Specific addresses used in the 8 K byte PET Gas program. Addresses are given in decimal. els = clear screen. b = backspace (cursor left). d = down (cursor down). r = right (cursor right). u = up (cursor up). home = cursor home. ;use previous code to reflect vy Listing 2 continued on next page. Table 3: The PET uses special graphics sym- bols to denote cursor control characters. Since these special characters cannot be typeset, the above notation is used in the program. Text continued from page 34: or truncation errors. When an X coordinate ends up less than or greater than 80, I reflect the particle off the left or right wall and reverse its X velocity; when a Y coordi- nate falls outside the box's range (0 to 50), I do the same for it. (Since I don't check for arithmetic overflows, if velocities get larger than about 32, there is a chance for error; this isn't a serious restriction, in practice.) In this format, addition and subtraction are trivial, and the only trick to dividing by 2 is to get the sign bit correct after shifting right. That's all there is to the model. The details that are explained in the remarks in the BASIC listing (listing 1), and in the commentary about the listing 2 machine lan- guage modules in table 1, are probably of interest mainly to 6502 system users, espe- cially PET owners who can use the program without modification. (At top speed, it makes about seven timesteps per second!) Much more interesting in general are the "bells and whistles" that can be added to the bare model for convenience and physical insight. 38 April 1979 © BYTE Publications Inc Tinker, Tailor, Soldier, Sailor . . . Doctor, Lawyer . . . the Chieftain's here. No matter whether you're a serious hobbyist or a serious businessman, the Chieftain 6800 microcomputer with ca- pabilities that surpass the Z-80 is made for you. Smoke Signal's quality -packed Chieftain I features two 5.25-inch mini- floppy drives and Chieftain II fea- tures two 8-inch floppy drives. , *■ Both microcomputers «**v\> provide 32K static memory, two serial I/O ports, a 2 MHz processor board, a 2K RAM monitor, a nine-slot motherboard with built- in baud rate generator and gold connectors for high reliability. The Chieftain's stylish leath- er-grained cabinet houses the above with its own cooling fan and regulated power supply. Every Chieftain is complete with system software and is totally burned-in as well as tested to further insure high reliability. And it's expandable to 64K memory with up to 2 megabytes floppy disk storage. So see your nearest Smoke Signal dealer, he'll be glad to show you how to get your wampum's worth. Systems . start at $2,595. 3 Ik * □ Send information on your Chieftain microcomputer □ Send name of nearest dealer Name Address Company City State/Zip SMOKE SIGNSL BROADCASTING 31336 Via Colinas. Westlake Village. California 91361. (213) 889-9340 Dealer inquiries invited. Hail to the Chieftain Smoke Signal Broadcasting, 31336 Via Colinas, Westlake Village, CA 91361, (213) 889-9340 Circle 328 on inquiry card. BYTE April 1979 39 Listing 2, continued: BEGINPLOT: LOOP01 : TOPPLOT: SKIP01: SKIP02: SKIP03: LOOP02: LDX LDA STA DEX BNE LDA LSR TAY LDA STA LDA STA LDA BCC LDA STA LDA LSR BCC ASL ADC STA BCC INC LDY LDA STA LDY CMP BEQ DEY JMP FOUNDIT: TYA AND BNE TYA ORA TAY LDA LDY STA INX BNE RTS TXA TAY LDA DEY CMP BNE LDA CMP BNE LDA CLC ADC STA INCRX: HIT: LOOP03: SEEK: #1 5 .-transfer graphics symbol table to page SYMBTAB— 1,X ;binary symbols allow quarter-character GRAFTAB— 1 ,X ;high resolution graphics LOOP01 YHI,X ;get a particle's y coordinate A .-divide by 2 LDA ADC STA LDA CLC ADC STA LDA ADC STA LDA CLC ADC STA LDA ADC look up screen address in table for left end of screen line to be plotted on and store on page SCRTABLO.Y ADDRNOW SCRTABHI.Y ADDRNOW+1 #1 SKIP01 ;if carry is clear then y coordinate was even #4 ;before division by 2 NEWSYMB ;store #1 or #4 here, if y even or odd XHI.X ;get particle's x coordinate A ;divide by 2 SKIP02 ;skip if x was even NEWSYMB ;double NEWSYMB if x odd ADDRNOW ;add x/2 to left edge address ADDRNOW ;to get plotting address SKIP03 ;skip if no carry ADDRNOW+1 #0 (ADDRNOW), Y ;get symbol currently occupying particle's OLDCHAR ;target plotting cell, 0LDCHAR = GRAFTAB-1 #1 5 ;prepare to look up symbol in table OLDCHAR,Y FOUND IT ;exit when found in table LOOP02 ;have no fear, it will always be found! — OLD- CHAR =GRAFTAB-1 ;binary symbol in Y register, one bit for each Vi cell NEWSYMB ;check for a collision HIT ;ahit!!!no need to plot, but must collide veloc- ities now ;restore old binary symbol to accumulator NEWSYMB ;addnewbit OLDCHAR, Y ;look up new plotting symbol #0 (ADDRNOW), Y ;plot new symbol ;increment particle counter TOPPLOT ;loop until done ;back to BASIC control XHI.X ;transfer particle counter to Y register ;colliding particle's x coordinate in accumulator .-look for the (previously plotted) colliding particle ;loop until found a matching x coordinate ;do their y coordinates match too?? XHI.Y SEEK YHI.X YHI.Y LOOP03 ;if not, keep looking VXLO,X ;match found — prepare to collide velocities VXLO.Y MLO VXHI,X VXHI.Y MHI MLO VYLO,X MLO MHI VYHI.X MHI MLO VYLO.Y MLO MHI VYHI.Y ;MLO and MHI store M=(VX1+VY1+VX2+ VY2I/2 CMP #128 ;now we've got the sum, must divide by 2 to get M ;first, essential to set carry flag for proper division Listing 2 continued on next page. First, it's easy to write a loop to add up the kinetic energy of each particle; the total energy of the system should be conserved. Roundoff (from the division by 2, in par- ticular) does make small errors occur, but I've found them to be tiny even after hun- dreds of timesteps. It is interesting to note that the energy is directly proportional to the temperature of the system. The eye can easily tell the difference between "hot" and "cold" gasses, with some experience. It is also interesting to plot the velocities of the gas particles. In theory, after lots of collisions have occurred, the distributions of VX and VY velocities should be bell shaped (also called "Gaussian" or "normal") curves (see photos). It's quite satisfying to see a ridiculous initial distribution, with all the particles at rest except for one, evolve as collisions happen toward the normal curve. (The width of the distribution is pro- portional to the square root of the tempera- ture.) There are fluctuations away from this equilibrium distribution, of course, but they are small, roughly 1/\/rT^6% in this model. Another educational phenomenon that this model can illustrate is called Brownian motion, the "random walk" that a particle in the gas executes as it is buffeted by other objects. It's a 1 line addition to the original program to change the symbol for one par- ticle (number 0, for example) to something distinctive, so its motion can be followed. (An asterisk was used in the photos here.) On long timescales, the net motion of a particular particle is less than one might expect — the average distance it moves is not (ave rage s peed)X(time), but (average speed)X\/(time). (Albert Einstein got his Nobel Prize partly for his explanation of Brownian motion, published in 1905.) There are many other "theoretical experiments" that one can do with this model of a gas. One could count the col- lisions off a wall and check the ideal gas law which relates pressure, density, and temperature. Another experiment could be to measure the "speed of sound" in the gas, by giving a push to the particles on one side of the box, and seeing how long it takes the resulting density wave to move across. (The box may be too small and the gas too dilute to do this cleanly, however; I'm not sure.) It might be nice to connect up the screen edges, so that particles which move off the right side appear at the left, etc. That way, one could set up a "wind" (a net nonzero momentum in some direction) and it would last forever (within roundoff) with- out hitting any box walls. Another possi- bility is to evolve a system forward in time for a while, and then reverse all velocities. 40 April 1979 BYTE Publications Inc Effectively, this reverses time— if roundoff is unimportant, the particles should retrace their paths and return to the initial con- figuration, like a movie run backwards! This simulation of a gas is extraordinarily simple in principle, but displays a surprising wealth of realistic physical phenomena. It's not surprising that slightly more complicated laws, acting on larger numbers of particles, can make galaxies and DNA molecules, snowflakes and cyclones. The challenge is to simplify and then simulate them!" BIBLIOGRAPHY 1. Aarseth, Sverre J, and Myron Lecar, "Computer Simulations of Stellar Systems," Annual Reviews of Astronomy and Astrophysics, volume 13, 1975, pages 1 thru 22. 2. Lykos, Peter (editor), "Minicomputers and Large Scale Computations," from a symposium sponsored by the ACS Division of Computers in Chemistry, American Chemical Society, Wash- ington DC, 1977. (See chapters 11 and 12 in particular.) Listing 2, continued: Reif, F, Course), 1967. Statistical Physics (Berkeley Physics volume 5, McGraw-Hill, New York, ROR A .otherwise sign bit will be lost!!! STA MHI ROR MLO ;division by 2 completed LDA MLO calculate after-collision velocities now as described SEC ;in text SBC VYLO,X STA TMPLO ;save in temporary place LDA MHI SBC VYHI,X STA TMPHI LDA MLO .■proceed to collide all velocities SEC SBC VXLO.Y STA VYLO.X LDA MHI SBC VXHI.Y STA VYHI.X LDA MLO SEC SBC VYLO.Y STA VXLO.Y LDA MHI SBC VYHI.Y STA VXHI.Y LDA MLO SEC SBC VXLO.X STA VYLO.Y LDA MHI SBC VXHI.X STA VYHI.Y LDA TMPLO STA VXLO.X LDA TMPHI STA VXHI.X JMP INCRX ,-collision finished — go back to main p CARD-HEADER TERMINAL This new concept in terminal equipment for TTY type terminal replacement a 3277 replacement*. • Typewriter style keyboai • 80 x 24 character display. • Hand-fed Hollerith type card badge reader. • Compatible with modems for remote use. • 12" diagonal screen. PHOHE P.O. Box 1522 • Rockford. Illinois 61 110 Phone 815/962-8927 Circle 305 on inquiry card. April 1979 © BYTE Publications Inc 41 Bccfc Reviews Adaptive Information Processing: An Introductory Survey by Jeffrey R Sampson Springer- Verlag, New York 1976 214 pages $14.80 «as«»>^SSJ ioa«uts>s»* :e .Hfe 22S2SS- A book that deals with theoretical com- puting machines, the biology of an amoeba, and a very good checkers program should pique the interest of many readers. Adaptive Information Processing: An Introductory Survey is excellent for someone who wants a thorough overview of the subjects covered. The book deals with three broad topics: information and automata, biological infor- mation systems and artificial intelligence. The second and third are at opposite ends of the spectrum of adaptive information processors: living organisms and "intelli- gent" computer programs that mimic human thought. But the first topic, which deals with the nature of information and with certain imaginary, idealized computing machines, summarizes a body of knowledge that sets an upper bound on the transmission of data and on the problem solving limits of any computer. It is only in the light of these limitations that the later examination of living and nonliving information processing systems becomes meaningful. The first section has five chapters on communication theory, coding information, finite automata, Turing machines, and cellular automata. The last three subjects refer to three levels of idealized computing machines that mathematicians and computer- scientists have devised and studied to deter- mine what problems can and cannot be solved on a given machine. Most important are two facts: firstly, the Turing machine is capable of solving any problem that any computer can solve; and secondly, there are certain problems that a Turing machine can- not solve. This implies that there are pro- blems insoluble by computer. The fourth chapter is especially good for its conden- sation of the work done along these lines, in particular, the famous "halting" problem for the universal Turing machine. The "Biological Information Processing" section devotes a chapter each to informa- tion processors on four levels: the biochemi- cal, genetic, neural, and nervous system lev- els. The first chapter gives a concise descrip- tion of the role of enzymes and DNA in the processes of biological information transfer. The fifth chapter deals with limited attempts of scientists to simulate various levels of bio- logical processes via computer programs. The final section deals with five artificial intelligence topics: pattern recognition, game playing, theorem proving, generalized problem solvers and natural language proces- sing. Here, the author admits that his mate- See Sol at all these fine computer centers AL: Birmingham: Computer Center Inc., (205) 942-8567. CA: Costa Mesa: Orange County Computer Center, (714) 646-0221. Los Angeles: Computers Are Fun, (213) 475-0566. Modesto: Computer Magic, (209) 527-5156. Mountain View: Digital Deli, (415) 961-2670. Walnut Creek: MicroSun Computer Center, (415) 933-6252. CT: Bethel: Technology Systems, (203) 748-6856. FL: Ft. Lauderdale: Byte Shop of Ft. Lauderdale, (305) 561-2983. Miami: Byte Shop of Miami, (305) 264-2983. Tampa: Microcomputer Systems, (813) 879-4301. ID: Boise: Byte Shop Computer Store, (208) 345-3811. IL: Lombard: Midwest Microcomputer. (31 2) 495-9889. I A: Davenport: Memory Bank, (319) 386-3330. MA: Waltham: Computer Power, (617) 890-4440. MD: Silver Springs: Computers Etc., (301) 588-3748. Towson: Computers Etc.. (301) 296-0520. MO: Florissant: Computer Country, (314)921-4434. NJ: Cherry Hill: Computer Emporium, (609) 667-7555. Iselin: Computer Mart of New Jersey, (201) 283-0600. NY: Endwell: The Computer Tree, (607) 748-1223. NYC: Computer Mart of New York. (202)686-7932. White Plains: The Computer Corner, (914) 949-3282. NC: Raleigh: ROM's N' RAM's, (919) 781-0003. OH: Akron: The BasicComputerShop,(216) 867-0808. OR: Beaverton: Byte Shop Computer Store, (503) 644-2686. Portland: Byte Shop Computer Store, (503) 223-3496. PA: King of Prussia: Computer Mart of Pennsylvania, (215) 265-2580. Rl: Warwick: Computer Power, (401 ) 738-4477. TN: Kingsport: Microproducts & Systems, (615) 245-8081. TX: Arlington: Computer Port, (817)469-1502. Arlington: Microstore, (817) 461-6081. Houston: Interactive Computers, (713)772-5257. Houston: Interactive Computers, (713) 486-0291. Lubbock: Neighborhood Computer Store. (806) 797-1468. Richardson: Micro Store. (214) 231-1096. UT: Salt Lake City: Home Computer Store. (801 ) 484-6502. VA: McLean: Computer Systems Store, (703) 821-8333. WA: Bellevue: Byte Shop Computer Store, (206) 746-0651. Lynnwood: Byte Shop Computer Store, (206) 775-7436. Seattle: Byte Shop of Seattle, (206) 622-7196. Wl: Madison: The Madison Computer Store. (608) 255-5552. Milwaukee: The Milwaukee Computer Store, (41 4) 445-4280. DC: Georgetown: Georgetown Computer Emporium, (202) 337-6545. CANADA: London, Ontario: The Computer Circuit Ltd.. (519) 672-9370. Toronto, Ontario: Computer Mart Ltd., (416) 484-9708. Vancouver, B.C.: Basic Computer Group Ltd., (604) 736-7474. ARGENTINA: Buenos Aires: Basis Sistemas Digitales. 93-1988 or 57-7177. AUSTRALIA: Prospect: A.J.F. Systems and Components Pty. Ltd., 269 1244. Sydney: Automation Statham, (02) 709.4144. BELGIUM: Bruxelles: Computerland, 02/511.34.45. COLOMBIA: Bogota: Video National, 326650. DENMARK: Copenhagen: Peter W. Holm Trading ApS 01-543466. MEXICO: Mexico City: Industrias Digitales, (905) 524-5132. SPAIN: Barcelona: Interface S.A., (93)301 7851. SWEDEN: Stockholm: Wernor Elektronik, (0) 8717-62-88. UNITED KINGDOM: Huntingdon, England: Comart, Ltd., (0480) 74356. London: The Byte Shop Ltd., 015542177. VENEZUELA: Los Ruices, Caracas: Componentes Y Circuitos Electronicos TTLCA, 355591 . 42 April 1979 © BYTE Publications Inc Circle 300 on inquiry card. Soli The small computer that won't fence you in. A lot of semantic nonsense is being tossed around by some of the makers of so-called "personal" computers. To hear them tell it, an investment of a few hundred dollars will give you a computer to run your small business, do financial planning, analyze data in the engineering or scientific lab — and when day is done play games by the hour. Well, the game part is true. The rest of the claims should be taken with a grain of salt. Only a few personal computers have the capacity to grow and handle meaningful work in a very real sense. And they don't come for peanuts. Remember, there's no free lunch. So before you buy any personal computer, consider Soli 1 " It costs more at the start but less in the end. It can grow with your ability to use it. Sol is not cheap. But it's not a delusion either. Sol small computers are at the very top of the microcomputer spectrum. They stand up to the capabilities of mini systems costing four times as much. No wonder we call it the serious solution to the small computer question. Sol is the small computer system to do the general ledger and the payroll. Solve engineering and scientific problems. Use it for word processing. Program it for computer aided instruction. Use it anywhere you want versatile computer power! Build computer power with our software. At Processor Technology we've tailored a group of high-level languages, an assembler and other packages to suit the wide capabilities of our hardware. Our exclusive Extended BASIC is a fine example. This BASIC features complete matrix functions. It comes on cassette or in a disk version which has random as well as sequential files. Processor Technology FORTRAN is similar to FORTRAN IV and has a full set of extensions designed for the "stand alone" computer environment. Our PILOT is an excellent text oriented language for teachers. Sold and serviced only by the best dealers. Sol Systems are sold and serviced by an outstanding group of conveniently located computer stores throughout the U.S. and Canada. For more information contact your nearest dealer in the adjacent list. Or write Department B, Processor Technology, 7100 Johnson Industrial Drive, Pleasanton, CA 94566. Phone (415) 829-2600. In sum, all small computers are not created equal and Sol users know it to their everlasting satisfaction. ProcessorTechnology rial emphasizes the heuristic programming school of thought, which favors the methods that produce the maximum amount of intel- ligence, rather than those schools that try to model human thought processes. Each chap- ter in this section describes the terminology, basic concepts, and techniques of the sub- ject. The game playing chapter is useful for readers interested in designing sophisticated game playing programs. These last chapters describe the most im- pressive "intelligent" programs in several fields: Guzman's See, which analyzes and recognizes solid geometric forms from a video picture; Samuels' checker playing pro- gram, one of the most successful game play- ing programs; the theorem proving Logic Theorist and the General Problem Solver (both by Newell, Shaw, and Simon); Weizen- baum's Eliza and Raphael's Sir, both written to appear to understand conversational English. Each chapter ends with a complete bibli- ography and a short set of exercises. A lot of material is presented in a short space, and the readability of the book varies with the reader's familiarity with the basic concepts of the subject being presented. Except for this one necessary shortcoming, the book still manages to cover some of the most im- portant ideas and programs in computer science history. The section on biological in- formation processing systems augments the book's value. Gregg Williams 1605 Eastmoreland -#3 Memphis TN 38104" BASIC Programming for Scientists and Engineers by Wilbert N Hubin Prentice-Hall Inc, Engle- wood Cliffs, NJ 1978 $9.95 paperbound With personal computers currently fol- lowing a geometric growth curve, I think BASIC will become the Esperanto of the cognoscenti; it nearly is now. Since the professional community forms a large user group, I feel the science and engineering people will need the ability to work in other languages besides the ubiquitous FORTRAN. Mr Hubin's fine book is one of the best first books of BASIC that I have seen. It is suitable for both the experienced pro- grammers seeking to add BASIC to their repertoires, and for the beginning science students who need both computer and technical problem solving experience. The first portion of the book is devoted to learning the language. The various state- ments of BASIC are defined and illustrated, and there is a discussion of elementary ter- minal usage as well as hints for using BASIC in the most efficient manner. Each type of statement has review questions and problems for each subsection, and, for the insecure among us, answers. Hints on troubleshooting are a nice bonus for the newcomer, since it takes a little ACL (accumulated computer lore) before one develops a feel for de- bugging code. Segments of programs show just how code consisting of BASIC state- ments can be used to accomplish the reader's purpose. The chapter on flowcharting ably demon- strates the fundamentals of this art, dis- cusses their applications, and then provides a diverse sampling of problems to sharpen the reader's skills. The author's editorial on flowcharting may even bring old hands back to the fold of those who document programs before they become operational. Handily, once again, solution flowcharts are in the appendix. The concluding two chapters are devoted to solving technical problems with a com- puter. The problems deserve a mention here, since they form a nucleus of problems suit- able for a science course. Equations of mo- tion, centers of mass, Hermite polynomials, and others serve to show the student how to apply the computer to classroom concepts. The range of problems is superb, from simul- taneous equations and least squares fit to solutions of differential equations and error analysis. Each application mastered will mean a valuable addition to the reader's skills. The problems are drawn from the gamut of the engineering ranks and the physical sciences, and footnotes refer the reader to the journals of science. Comple- tion of these exercises will give the prac- titioner a mastery of BASIC and a few fundamentals of science. The appendices offer a summary of BASIC statements and the meaning of each. There is a short example of terminal usage employing a Digital Equipment Corp PDP-1 1 as an example. Especially handy is the sec- tion on BASIC error messages, although it is a bit brief. In familiarizing yourself with a new machine or language, deciphering the error messages is usually a headache. The computer's opinion of the defects in a program is often expressed in a cryptic manner. While machines vary, beginners' mis- takes do not, and the common ones are listed. In addition, there is a useful index. The bibliography focuses on books applying computers to the physical sciences. Through- out the book, the print is well-displayed and easy to read. If you are thinking of learning BASIC, think of this book. Noel K Julkowski 18755 Van Buren St Salinas CA 93901 ■ 44 April 1979 ©BYTE Publications Inc INTERTEC'S INTE3TIBE ® VIDEO DISPLAY TERMINAL ATTENTION RETAILERS: InterTube Terminals are easy to sell for one simple reason. They outperform the competition so well that it's embarrassing to have any other terminal on display. Add to that InterTube's rugged design which insures you of the reliability that brings customers back. And modular design engineering that makes servicing a snap! But best of all, the InterTube is readily available. Just a quick call and you'll have units in stock. Immediately! And our scheduled delivery program will help you keep them in stock. Good margins, good service, good delivery. Simple? You bet it is! InterTube dealerships are now available in many areas. Contact us today and start selling from stock tomorrow! 3 C INTE3TEC DMA SY5TEMS. The InterTube Video Display Terminal is truly representative of the latest state-of-the-art advances in microprocessor technology. Its basic teletypewriter compatability combined with its numerous "smart" terminal features satisfy the universal requirement for a low-cost, high performance video terminal. You get everything you need for cleaner input and faster throughput. An upper and lower case character set displayed on a sharp 8X10 dot matrix. A full 24 line by 80 character screen. A status line which is displayed in half-intensity. A complete ASCII keyboard with an 18-key numeric pad. You get full cursor addressing, automatic repeat of all keys, individual backspace and shiftlock keys. A graphics mode to facilitate easy design and display of all types of forms. And you get everything your operators need to make their jobs a pleasure. A hooded display that cuts glare and gives extra privacy. A wide bandwidth monitor for sharp images everywhere on the screen. Below-the-line character descenders to make reading easier. A programmable white-on-black or black-on-white display, and a self-test mode for easy maintainability. You get high powered text editing with such features as character and line insert/delete, full and/or partial block transmit, programmable end-of-line terminators, and protected fields. All standard. And all for a retail price you won't believe . . . only $874. Incredible! ■m Corporate Headquarters: 2300 Broad River Road • Columbia, South Carolina 29210* 803 / 798-9100 • TWX: 810-666-2115 Circle 183 on inquiry card. byte April 1979 45 Sources of Numerical Error Daniel R Buskirk POB211 The Rockefeller University New York NY 10021 A growing number of microcomputer enthusiasts are finding the need to perform control operations, evaluate complicated mathematical expressions and analyze statis- tical data. In short, many hackers want to tackle problems conventionally left to larger computers. To do this, they must become acquainted with error analysis. Programmers need to be concerned about errors in any program involving the evaluation of a function or algebraic ex- pression, or one which involves a large number of simple but repetitive operations. Even in control applications, it is often critical to be aware of the potential for error. What do we mean by error? The numer- ical analyst, a professional mathematician involved with the design and analysis of numerical algorithms, recognizes three dis- tinct types of error. The first is the blunder, which is not an error at all in the mathe- matical sense. A blunder is a gross error: a mistake in program logic, a typographical error, or perhaps only a misplaced decimal point. The mathematician, like the rest of us, must shrug his shoulders at a blunder, and hope to do better next time. Blunders need not concern us here. Certainly blunders account for the vast majority of errors; but what other types of errors are there if we ignore blunders? One type is the truncation error. For example, take the infinite series representation of the function sin(x): / \ X x-> x^ .in(x) : - — - - — + — — 1! 3! 5! About the Author Daniel Buskirk is currently a graduate fellow at Rockefeller University, where he is studying neurobiology. He has a bachelor's degree in mathe- matics and zoology. His current professional interest is the application of mathematical and computer methods to the study of neuronal structure. When not working, he enjoys photography, playing the piano, and, of course, fiddling with microcomputers. If we were to use this relation to evaluate sin(x) in a computer, we could not carry this series on forever. Whenever we stop, we have failed to evaluate the remaining terms in the expression, or truncated the series. Those who understand a little calcu- lus will recognize that this series converges; that is, it gets arbitrarily close to the correct value when sufficiently many terms are calculated. But there must always be a small but finite truncation error (if this computation is carried out on a digital computer). Another calculation involving truncation error is the evaluation of integrals using the trapezoidal rule. Though an infinite series of trapezoids, each approaching zero width, will give us the area under the curve (its definite integral) exactly, any computer evaluation must settle for a finite number of trapezoids. Thus there will be truncation error. To be sure, it is generally possible to avoid the consideration of truncation error by simply requiring that the truncation error be less than the precision of the whole calculation. However, the clever programmer recognizes that there are usually several different infinite series representations of any function. Often, one of these series will require significantly fewer terms to come within the required precision. The error of most concern to numerical programmers is not truncation error but rather roundoff error. Since the word length in most computers is fixed, any number that exceeds this length must be rounded off before it can be stored in the computer's memory. This error is the most significant, so we shall consider it in more detail. Although almost all "big" computers store numbers in binary digits, the following examples are given in base ten because it is more familar (and it is similar to the binary coded decimal format often used in micro- computer floating point packages). Most computers store a real number by breaking it down into a mantissa and an exponent, much like scientific notation. A word which looks like this: 46 April 1979 © BYTE Publications Inc Our Two Bits Bit Bit Bit Bit Pad Pad Pad Pad Bit Pad ® m Bit Pad ®dq Bit Pad ©m Bit Pad ® [D Bit Pad ®m< Bit Pad ®nn Bit Pad ®m Bit Pad™ is the low-cost digitizer for small computer systems. Better than a joystick or keyboard for entering graphic information, it converts any point on a page, 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. Bit Pad by Summagraphics. The leading manufacturer of data tablet digitizers. Bit Pad. The only words you need to say when considering digitizers. $1,000 creativity prize. Just write an article on an original Bit Pad application and submit it to any national small-computer periodical. If the editors publish it — and the decision is solely theirs — Summagraphics will pay you $1,000. ~ ' corporation 35 Brentwood Ave., Box 781, Fairfield, CT 06430 ' Phone(203) 384-1344, TELEX 96-4348 Dealer inquiries invited Circle 358 on inquiry card. BYTE April 1979 47 7352 05 mantissa exponent would represent the real number 0.7352 x 10^ or 73520. Now, if we wish to store a number larger than four decimal places, we must round it off. (It is true that our ex- ponent here is limited to two decimal places. Any exponent with three or more places in this case represents an overflow condition. Since overflow is generally easily avoided, we will not discuss it here.) Con- sider the numbers 8,931,724 and 0.761253. In the first case, rounding off to 0.8931 x 10^ represents an error of 724. The error in rounding the second is 53 x 10~°. Thus, it is most common for the numerical analyst to speak of relative error rather than abso- lute error. In this case, both errors will be on the order of 10~4 of the value being stored in memory. If this error seems trivial, let us look at an example, albeit a contrived one (more realistic examples will be examined later). For instance, if we wish to evaluate the expression: J_ a-b where a = .891 36 and b = .891 34. Rounding a and b and subtracting, we get 10,000 rather than 50,000, the correct answer. Thus our answer was off by a factor of five even though our round off error was very small. It might be argued that double precision calculation would have eliminated the problem completely. Clearly, accuracy increases with increased word length, but roundoff never disappears. Since some hand calculators use up to 13 decimal digits in storing numbers while displaying ten digits, we might expect them to have "more than enough" accuracy. But in many engineering and statistical problems, calculators can make significant errors. The reader con- cerned with calculator accuracy might wish to read the short article by Bernard Cole in the November 25 1976 issue of Electronics. The reason for the problem with round- off, even with 13 digit accuracy, is the situation most frustrating for numerical' programmers. Roundoff occurs at every step of any program. In a very long program, roundoff error may have been introduced many millions of times. This error may propagate itself and accumulate into a very large error in the result. Programs in which this propagation of error is likely to occur (finding the inverse of a large matrix, for instance) are generally so complicated that it is impossible to predict precisely what the effect of constant rounding off will be. Often the numerical analyst resorts to probability theory to get an idea of how much error is likely to be in the results. Errors often become critical when func- tions are calculated. Let us assume we have a value for the variable x stored in memory. There is some error associated with x (perhaps roundoff error, or maybe x is the result of a physical measurement). We'll call this error 5. Thus x = x + 5, where x is the unknown true value of x. It may be very easy to calculate some function of x, f(x), but what is the error of the result? Let us define the error of the result as e. Then: f(x ) + e = f(x +5) If we know our initial error 5 is small, we would like to assume the error e is small as well. If the function is simple, or involves only one variable, we can be confi- dent the resulting error is not large if neither 8 nor the derivative of the function at x is large. But what about functions of more than one variable? What about complex algorithms such as the solution to simul- taneous equations, often done using a process mathematicians know as Gaussian elimination? Very often, small errors in the input values will yield results which are off by a significantly large amount. So large, in fact, that the results are worthless and the programming is futile. This situation is dis- tressingly common in everyday problems in science, engineering and the social sciences. Numerical analysts call a problem well posed if small errors in input still result in a reliable answer. However, even a well posed problem can be solved inaccurately if the programmer has not chosen his algo- rithm cautiously. With all this talk about errors, what can be done? Is there any hope at all of obtain- ing consistently reliable results? Unfortu- nately, there are no general methods. How- ever, the programmer who is aware of how errors can occur is in a better position to compensate for them. For instance, let's look at the general quadratic equation: x 2 + 2bx + c = [Note: The expression on the left side of this equation is equivalent to the familiar form used to generate the quadratic formula, ax 2 + bx + c. However, it leads directly to the computationally simpler form of the two roots X-] and X2 . . . CM] 48 April 1979©BYTE Publications Inc If we have a computer of word length t, we might reasonably hope to solve for x by using the formulas '1 b+ \bl- = -b- These formulae work well in most cases, but the astute programmer should notice that there is a problem if b < and JsL < -3 < CO I LU -1 ETC - - ENGINEER 45 F BLD BL - - - - SECRETARY 33 F - - - - - - - - - — - — - JACKSON SUE - - - JANITOR 50 M - - 8/78 - - - MANAGER - F - - - - JONES MIKE ENGINEER 38 M BR BR - - - - - - F - - - - - - ENGINEER 41 M BR BL - - - - - - - - - - - JETER BOB ENGINEER 27 M BR BR 5/78 - (1) (2) (3) (4) (5) (6) (7) (81 19) (10) 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 (1) SET (2) JOB = "ENGINEER" (3) HAIR = "BR" (4) EYES = "BR" (5) LASTNAME = "J??????" (including the author) "reinvent" the con- cept with some regularity are twofold: the descriptions of this form of memory rarely make it past technical parallel machine architecture symposia or journals into the more commonplace world; and the beauty and power of a memory that can by its very nature eliminate or ease searching, sorting, table lookup, and pattern matching is so Striking— the idea is so natural in human terms that it occurs to many individuals. Figure 1 shows a conceptual associative memory word holding information from the previous example. It can be seen that a long word is desirable to store related data. Exact match was the only comparison function used (and is the basic, sometimes only, asso- ciative function available in the integrated circuit forms of this memory). A mask is applied to all the words and selects the part of the words to be treated (either matched against, or read out). The comparand is the common information that all words test. Due to the length of associative words, some real designs compare the words with the comparand one bit at a time (bit serial, word parallel). This reduces the amount of com- parison logic and the size of the data paths to reasonable levels, although a full word comparison takes longer. Comparisons are usually over lengths much less than the full word size, so the compromise is a good one. With each word (6) AGE > 25 (7) AGE < 30 (8) SEX = "M" (9) READ(LASTNAME.FIRSTNAME) (10) READ(LASTRAISE) there is one separate bit of information for the response status, called the tag. The SET function forces the tags to their responding state (1), thereby activating all words ini- tially. A good survey of associative memory articles and architectures is found in Yau and Fung. There is also a new, easy to follow book on the subject by Foster (see biblio- graphy). The full word parallel design of figure 1 will be used for the examples, since it is the simplest conceptually. A more practical architecture that can be built for an S-100 computer will be outlined in part 2. Selection More intelligence can be added to our demons. "Everybody up!" (1) SET — Load personnel file from diskette. "Who, in my employ, — an engineer, brown hair and eyes, (2) JOB = "engineer" & (3) HAIR = "br" & (4) EYES = "br" last name "J . . . " something, between 25 and 30 years old — has been dating my daughter?" Text continued on page 58. Figure 2: When selecting a final response, check that one of the response bits is still set after all ques- tions have been asked and answered. April 1979 ©BYTE Publications Inc 55 For your SWTP 6800 Computer . . . PERCOM's" FLOPPY DISK SYSTEM the f > 1 — f — \f — ' n/j Li! 1 \ u ^ ■* *- ■* Ready to plug in and run the moment you receive it. Nothing else to buy, no extra memory. No "booting" with PerCom MINIDOS'", the remark- able disk operating system on EPROM. Expand- able to either two or three drives. Outstanding operating, utility and application programs. For the low $599.95 price, you not only get the disk drive, drive power supply, SS-50 bus controller/interface card, and MINIDOS'" you also receive: • an attractive metal enclosure • a fully assembled and tested inter- connecting cable • a 70-page instruction manual that includes operat- ing instructions, schematics, service procedures and a complete list- ing of MINIDOS'" • technical memo updates — helpful hints which supplement the manual instructions • a 90-day limited warranty. SOFTWARE FOR THE LFD-400 SYSTEM Disk operating and file management systems INDEX™ The most advanced disk operating and file management system available for the 6800. INterrupt Driven Executive operating system features file-and-device-independent, queue-buffered character stream I/O. Linked-file disk architecture, with automatic file creation and allocation for ASCII and binary files, supports sequential and semi-random access disk files. Multi-level file name directory includes name, extension, version, protection and date. Requires 8K RAM at $A000. Diskette includes numerous utilities $99.95 MINIDOS-PLUSX An easy-to-use DOS for the small computing sys- tem. Supports up to 31 named files. Available on ROM or diskette complete with source listing $39.95 BASIC Interpreters and Compilers SUPER BASIC A 10K extended disk BASIC interpreter for the 6800. Faster than SWTP BASIC. Handles data files. Programs may be prepared using a text editor described below $49.95 BASIC BANDAID'"Turn SWTP 8K BASIC into a random access data file disk BASIC. Includes many speed improvements, and program disk CHAINing $17.95 STRUBAL+'" A STRUctured BAsic Language compiler for the pro- fessional programmer. 14-digit floating point, strings, scientific func- tions, 2-dimensional arrays. Requires 16K RAM and Linkage Editor (see below) . Use one of the following text editors to prepare programs. Complete with RUN-TIME and FLOATING POINT packages $249.95 Text Editors and Processors EDIT68 Hemenway Associates' powerful disk-based text editor. May be used to create programs and data files. Supports MACROS which perform complex, repetitive editing functions. Permits text files larger than available RAM to be created and edited $39.95 TOUCHUP™ Modifies TSC's Text Editor and Text Processor for Per- Com disk operation. ROLL function permits text files larger than available RAM to be created and edited. Supplied on diskette com- plete with source listing $1 7.95 Assemblers PerCom 6800 SYMBOLIC ASSEMBLER Specify assembly options at time of assembly with this symbolic assembler. Source listing on diskette $29.95 MACRO-RELOCATING ASSEMBLER Hemenway Associates' assembler for the programming professional. Generates relocatable linking object code. Supports MACROS. Permits conditional assembly $79.95 LINKAGE EDITOR — for STRUBAL+'" and the MACRO-Relocating assembler $49.95 CROSS REFERENCE Utility program that produces a cross- reference listing of an input source listing file $29.95 Business Applications GENERAL LEDGER SYSTEM Accommodates up to 250 accounts. Financial information immediately available — no sorting required. Audit trail information permits tracking from GL record data back to source document. User defines account numbers $199.95 FULL FUNCTION MAILING LIST 700 addresses per diskette. Power- ful search, sort, create and update capability $99.95 PERCOM FINDER'" General purpose information retrieval system and data base manager $99.95 ™ trademark of PERCOM Data Company, inc. Ordering information To order, call toll free 1-800-527-1592. MC and VISA welcome. COD orders require 30% deposit plus 5% handling charge. Allow three weeks for delivery. Allow three extra weeks if payment is by personal check. Texas residents add 5% sales tax. PERCOM 'peripherals for personal computing' 56 BYTE April 1979 Circle 301 on inquiry card. Requires 16K RAM, Level II BASIC and Expansion Interface PERCOM DATA COMPANY, INC. Dept. B 318 Barnes Garland, Texas 75042 (214)272-3421 7b Order Call 1-800-527-1592 'RADIO SHACK amt.IRS-80 are iisilemarks of Tandy Corpoialiori *rticn has no slafinnsttip to PtfCOM DATA COMPANY, INC. Circle 301 on inquiry card. BYTE April 1979 57 Text continued from page 55: &(5)LASTNAME = "J???????????" & (6) AGE > 25 & (7) AGE < 30 & (8)SEX = "m" "Has he had a raise lately?" (9) READ(LASTNAME, FIRSTNAME) (10) READ(LASTRAISE) Figure 2 shows another example of in- formation retrieval, this time with a person- nel file, and again with a single demon finally selected. Response of the demons is shown after each step. Any of the relational comparisons as well as exact match can be added easily to the function set. Information has been broken down into fields and field lengths the user deemed most valuable. Since this word format can be stored on floppy disk with the data, the driving pro- gram or operating system has easy access to it and can manipulate the mask to select Command (1) SET (2) MW FL1,FL2,FL3,FL4,0F 16 (3) ADD LASTMO TO STD (4) REGION = 'W (5) STD > 100 (6) MW FL1.0 (7) SET (8) REGION = (9) STD > 75 (10) MW FL.2,0 (11) SET (12) REGION = (13) STD > 50 (14) MW FL3,0 'E' 'C (15) SET (16) FL1,FL2,FL3 = 111 2 (17) MW FL4,0 (18) SET (19) FL4 = 1 (20) QUERY (21) JUMPZ, (26) (22) READ(LASTNAME.FIRSTNAME) (23) PRINT(LASTNAME,FIRSTNAME) (24) NXT (25) JUMP (20) (26) END Table 1: A complete In- formation processing example with parallel update, and the use of disjunctive sets. Action Activate all words. Initialize all four flags at once.* STD-STD + LASTMO for all words. Select western region salesmen. FL1 = marks the members of this group with sales to date over $100,000. Eastern region salesmen with sales to date over $75,000. Central region salesmen with sales to date over $50,000. All salesmen not included in the three* subsets above have FL4 = 0. The union of the three subsets Any members left in this set? Transfer to statement 26 if not. Read the specified fields of the first responder and print them. Turn off first responder (select next one). •MASK FOR ONE-STEP FLAG MANIPULATIONS the field requested for each operation. A top level program could be as utterly read- able as the one given with the example. So far, only the first step in utilizing infor- mation in the associative memory has been illustrated — the selection process. The over- all set of entries is logically reduced by selection criteria to the subset of interest. Members of the smaller set may now be up- dated in parallel, or read out (in part, if desired) on some priority basis; the former involves parallel writing of the associative words, and the latter, responder resolution (when there is more than one answer). Multiwrite Now that the demons we want are on their feet, what kind of work can they do besides checking their description? They can all be told to change it at the point specified by the mask (ie: all responding words can be made to change their values at once to the value on the comparand bus). This process of writing a common datum, in parallel into all responding words, is called multiwrite responders by Foster, and he calls associative memories possessing this ability CAPPS (content addressable parallel pro- cessors). Whole sets of items can be updated (eg: marking certain bills as paid), or, if the selection criterion is known to produce a unique result, more specific information can be written (change John Williams job title to manager). Again, we can be sending these associ- ative write commands into the interior of a dark cave. We know which demons are reacting, but we don't know where they are, nor do we care. The nearest use of address information occurs when the mask is changed to operate on a specific field (whose relative location inside each word has been previously established). By setting the mask to enable the writing of only a single bit (or bits), parallel program flags can be kept with each word, recording the word's membership in some selected group, with the flag itself possibly becoming SELECT STD = SALES TO DATE ($IOOOs) LASTMO = LAST MONTH'S SALES ($IOOOs) LAST NAME FIRST NAME REGION STD LASTMO — u — F L I F L 2 F L 3 F L 4 FORMAT 58 April 1979 © BYTE Publications Inc Wordsmith is the video text editing system you've been waiting for Its power, flexibility and simplicity help you carve any text editing task down to size — in a way you can understand. We wanted a system that allows you to think in traditional ways about text layout, yet at the same time makes the traditionally tedious operations such as cut and paste simple and fast. We think we've done it. We want you to decide for yourself ^m^^mmmm^^^^^^^^^^^^^^^^^^^^^^ Flexibility Logical/ Physical Page Distinction. Define your own hardcopy size. Wordsmith remembers the difference between the screen size and the hardcopy page size. Modular Hardcopy Driver. Drive a Qume® Sprint-5 or TTY-like device directly now, Diablo, NEC and other hardcopy devices soon. Pure Text. Wordsmith files are pure text with no control characters mixed in. This universal format keeps you as compatible with the world as possible. What you see on the screen is what you get as hardcopy. Page Templates. Snapshots of the block layout of a page can be saved as named disk files, then later recalled and superimposed on the current page. Use such "templates" for standard multicolumn layouts, common letter formats, and fixed-field forms. A single keystroke dispatches you quickly from block to block as you fill in your page. (ZZ1 □ Take a snapshot of a page's window layout File Switching. Moving from document to document to examine, copy, move and change text is like rolling off a log. You're not confined to one disk file at a time anymore. ■■ Power Page Oriented Philosophy. A document is a collection of pages. The screen displays one entire page at a time. Simple random access page flipping commands take you quickly to any page in the document. Equally efficient commands allow you to insert, delete, copy and move pages both within one document and across documents. Extensive Block Manipulation Capabilities. Using "windows", portions of text, charts, etc., can be quickly and effortlessly moved around on the current page, or across pages. The shape and size of any window can be changed in real time, with the contained text automatically reformatting itself (heeding word and paragraph boundaries) to conform to the new shape. i 1 1 I Move Text Blocks Set Up Multiple Text Regions u Change Text Shape Instantaneous Formatting. Compacting (extraneous blank deletion) and right justifying are simple commands that tidy up a full page or window's worth of text in the blink of an eye. Random access cursor movement, line and character insert and delete, line and page split and join, and a host of other line and character level commands help you put text in its place quickly and accurately. Simplicity Auto Word Break. Forget the right margin. Wordsmith notices when you won't be able to complete the current word and moves it to the next line for you as you continue typing. Understandable Commands. The most frequently used commands are single keystrokes. The rest are easily remembered abbreviations. Informative Status Lines. The top two screen lines constantly display page number information, document name, cursor position, tab stops and status/error phrases. You're always in touch with your document. Page 3 of 8 File=ADV1 Cursor row 28, col 43 t ♦ * I t The TM oX3RT)srait:h TEXT EDITOR Defining the New Generation of Text Editing from Micro Diversions, Inc. 8455-D Tyco Rd. Vienna, Va. 22180 (703) 827-0888 ■ Direct CP/M«" and North Star DOS compatibility ■ Available for 40x86, 24x80 and 16x64 memory-mapped video boards ■ Fully reentrant for efficient multi-programming environ- ments (6K program space, 5K data area) ■ 8080 and Z80 compatibility Protection Against Catastrophic Errors. It's nearly impossible to rum your document with a single bad command. Wordsmith's page oriented design and double- checking user interface help you do what you mean! Ordering Information: $200 (Screensplitter' M Owners: $80) Manual only: $15 Check, VISA. Mastercharge 1. CP/M or North Star DOS version? 2. TTY or QUME interface? 3. Brand and memory address of video display board? 4. Ship on single or double density, 5" or 8" diskette? Inquire about our custom keyboard. Circle 219 on inquiry card. BYTE April 1979 59 part of future selection criteria. Alternatively, these flags might be used to save carry or overflow information during parallel arith- metic routines. Indeed, combining these program variables with further comparison sequences makes possible a whole list of parallel associative routines like: MAX I MUM MINIMUM NEXT GREATER THAN NEXT LESS THAN ADD or SUBTRACT constant ADD or SUBTRACT fields STRING SEARCH (pattern matching) SORT on any field. Figure 3 demonstrates the method of flag- ging responding words, table 1 shows a complete information processing example with parallel update, and the use of disjunc- tive sets. Responder Resolution When it becomes necessary to get infor- mation out of the words rather than just updating them in place, some form of ar- bitration is required to handle cases of mul- tiple responders. It is useful to have a query function to tell if there are any responding words. "Is anybody in there?" Any demons sitting down and asleep would not answer, SOFTWARE DEFINED WORD FORMAT WITH ONE BIT RESERVED FOR A FLAG NAME PHONE AGE STATE 1) SET 2) MW FLAG, SELECT ALL WORDS MULTIWRITE IN FLAG BIT (MASK ENABLES WRITING ONLY FLAG) ALL FLAGS ARE INITIALIZED TO A KNOWN STATE (0) 51 1 IL • • • 55 OK • • • 60 1 IL 3) AGE > 50 4) STATE =IL 5) MW FLAG , I Figure 3: Multiwriting allows the user to write data into all locations that are responding at the same time. and any amount of simultaneous yes replies would still be interpretable. In fact, any answer at all, except total silence, indicates there is at least one responder. A single, readable bit line on which each word ORs its tag (responder = 1) would tell the central processor whether or not any active words were left. (With some analog hardware we might even count the number of responders by measuring the intensity of the answer.) It is not acceptable to walk to the mouth of the cave and yell inside, "I want the name of anyone who speaks French." If only one standing demon meets this requirement, the answer you hear will be true, but in general you may expect to be greeted with an un- intelligible mixture of voices. To handle the problem, a priority list can be implemented at the hardware level. All words in the sys- tem are daisy-chained together to one word arbitrarily defined as having the highest priority. When an associative read is exe- cuted, a small amount of time is allowed for the chain to select the highest priority responder, and that responder alone is enabled to place its requested field(s) on the data in bus to the processor. With a compan- ion function, Next, which turns off the first responder, information may be extracted serially from each active word without addresses and without conflict. Without addressing, we are able to do the following: select via content those words we want (in parallel); process them in place (in parallel); and read out their information (serially). Entering data into an associative memory initially is a serial operation, so provision is often made for random access addressing. With absolute fixed addresses, associative memory may be quickly loaded from sec- ondary storage or main memory through DMA (direct memory access) or block transfers. Random access reads and writes are both allowed. To save address space when using this addressable associative mem- ory, the memory may be arranged into banks occupying the same locations. Ran- dom access memory requests affect only the addressed memory section whose bank is selected; associative instructions ignore bank information and activate the whole memory. Given the addressing order now placed on the memory, an alternative to the prior- ity list responder resolution hardware is available. The tags of words sequential in address space may be blocked into groups and fed to the central processor as data from special input ports or memory loca- tions. The processor can then scan the bits in order for Is (responders). Since tag N represents word N in the associative mem- 60 April 1979 © BYTE Publications Inc Color. VP-590 add-on Color Board allows program control of 8 brilliant colors for graphics, color games. Plus 4 selectable background colors. Includes sockets for 2 auxiliary keypads (VP-580). $69.* Sound. VP-595 Simple Sound Board provides 256 tone frequencies. Greatforsupplementing graphics with sound effects or music. Set tone and duration with easy instructions. $24* Music. VP-550 Super Sound Board turns your VIP into a music synthesizer. 2 sound channels. Program control of frequency, time and amplitude envelope (voice) independently in each channel. Program directly from sheet music! Sync provision for controlling multiple VIPs, multitrack recording or other synthesizers. $49* Memory. VP-570 RAM Expansion Board adds 4K bytes of memory. Jumper locates RAM in any 4K block of up to 32K of memory. On-board memory protect switch. $95.* EPROM Programmer. VP-565 EPROM Programmer Board comes complete with software to program, copy and verify 5-volt 2716 EPROMs— comparable to units costing much more than the VP-565 and VIP put together! Programming voltages generated on board. ZIF PROM socket included. $99.* EPROM Interface. VP-560 EPROM Interface Board locates two 5-volt 2716 EPROMs (4K bytes total) anywhere in 32K of memory. VIP RAM can be re-allocated. $34* ASCII Keyboard." Fully encoded, 128-character ASCII encoded alpha-numeric keyboard. 58 light touch keys including 2userdefined keys! Selectable upperand lower case. Handsomely styled. Under $50* Tiny BASIC.** VP-700 Expanded Tiny BASIC Board puts this high-level language on your VIP. BASIC stored in 4K of ROM. Ready for im- mediate use — no loading necessary. This expanded BASIC includes the standard Tiny BASIC commands plus 12 additional — including color and sound control! Requires external ASCII encoded alpha-numeric keyboard. $39* iary Keypads. Program your VIP for 2-player inter- action games! 16-key keypad VP-580 with cable ($15*) connects to sockets pro- vided on VP-590 Color Board or VP585 Keyboard Interface Card ($10*). COSMAC VIP lets you add . computer power a board at a time. With these new easy-to- buy options, the versatile RCA COSMAC VIP (CDP18S711) means even more excitement. More challenges in graphics, games and control func- tions. For everyone, from youngster to serious hobby- ist. And the basic VIP com- puter system starts at just $249* assembled and ready to operate. Simple but powerful— not just a toy. Built around an RCA COSMAC micro- processor, the VIP includes 2K of RAM. ROM monitor. Audio tone with a built-in speaker. Plus 8-bit input and 8-bit output port to inter- face relays, sensors or other peripherals. It's easy to program and operate. Powerful CHIP-8 interpre- tive language gets you into programming the first evening. Complete docu- mentation provided. Take the first step now. Check your local com- puter store or electronics parts house. Or contact RCA VIP Marketing, New Holland Avenue, Lancaster, PA 17604. Phone (717) 291-5848. "Suggested retail price. CDP18S711 does not include video monitor or cassette recorder. "Available 1st Quarter, 1979. The fun way into computers. RCA Circle 322 on inquiry card. BYTE April 1979 61 Photo I: Video display of an inquiry to Semion- ics ' associative memory board, REM, and the re- sponse. In the inquiry, ? is a don't care character which will match anything. DMC3 - MOERSTN, NAHEi « G????????» ZIP » 941??, VIM L£ 1931] jSJlll925 2W-16-3243 953H.IU.Y-IM LOSHtLTOS CA 94«2 415-941-W47 *!£5t928 184-98-3264 lttt-CKSTVIBH) LOS-ALTOS W 94122 415-941-3129 n^iijii m-26-nx 632-0K&0H-R0 NTN.UIEH CA 94143 415-9W-421? ANDERSON WIS K%Tim 555-46-5982 286-LAURft-LH HTN.UIEH C* 94143 415-9S1-134S ory, an absolute word address can be de- rived and information read random access style. The accessing of data via address makes this second responder resolution technique nonassociative, but it is sometimes used to avoid the extensive hardware of the priority list. The Real Time Pinch When the first generation of computers was being built, hardware was critically ex- pensive, and the von Neumann architecture — a general purpose design which truly mini- mizes hardware through serial processing — was not seriously questioned. With the plummeting cost of electronic parts, mini- mizing hardware has become less important to the designer. The desire to maximize throughput, particularly in multiuser situ- ations, has led to the introduction of par- allel processing at all architectural levels with the concomitant increase in hard- ware complexity — from multiprocessor systems, to machines incorporating mul- tiple independent I/O (input/output) chan- nels, down to distributed processing logic, as in an associative memory. The concept of a general purpose parallel computer is quite hazy, so the thrust has been to build specialized hardware for the von Neumann machine to deal with the parallel com- ponents of computing as they are recognized. Some products for associative processing are commercially available. On the high end, STARAN is a very expensive associative machine from Goodyear Aerospace, and may be the only machine of its kind for sale. On only a slightly less grand level, there are a few 16 bit or smaller CAMS (integrated circuit associative memory inte- grated circuits), which even in quantities of 100 carry a price tag of about $1.50+ per bit. They are fast parts, some with speeds in the 10 to 40 ns range. IBM also uses such fast, and small associative memories in the virtual memory hardware of the 360/67 for quick address lookup. But associative memory for a large computer subsystem need not be nearly so fast, nor could it be tolerable at such a price. Cost, in the world of electronics, is not necessarily a function of complexity, but of volume. Unfortunately, large manufacturers must usually see millions of projected sales before entering the marketplace with anything really new. Big businesses, mean- while, cannot afford to walk away from years of accumulated software on their present machines, no matter how cumber- some. Software is expensive to create and maintain, so big installation inertia will keep sales volume at a trickle. Yet given the ubiquity of sorting, searching, merging, updating, and linking in such business sys- tems, it is no small irony that a judiciously used associative memory subsystem could in many cases greatly reduce software com- plexity, and therefore expense (not to even mention greatly increase program speed). To review, costs will not come down, nor viable products become available until expected sales volume goes way up, and at $1.50 per bit The cycle, representative of large scale business, may perhaps be broken at the new grass roots level — the home, small business, or research system where inertia is at a minimum. An add-in associative memory can be designed with off-the-shelf integrated circuits and random access memories for a cost to memory ratio of only 2 or 3 to 1 . This memory design is discussed in part 2 (May 1979 BYTE). BIBLIOGRAPHY 1. Foster, Caxton C, Content Addressable Parallel Processors, Van Nostrand Reinhold Co, New York, 1976. 2. Yau, S S and Fung, H S, "Associative Processor Architecture — A Survey," Computing Surveys, volume 9, number 1 , March 1977. ■ 62 April 1979 © BYTE Publications Inc NorthStarT^ "Micro-Computer Products to Look Up to" L F _T w I Horizon Disk Capacity Keeps Growing The Horizon is now capable of 720K bytes on-line! The Horizon can connect to four double density 5Va" single-sided disk drives. Each of those drives can access 180K bytes of information. A four drive system accesses 720 Kbytes! That's capacity you don't usually find in a microcomputer, but there's even more to come! The North Star disk con- troller board is designed so that two- sided disk drives may be added as soon as they become available from North Star. Existing Horizons will accommodate the new two-sided drives so North Star owners can simply add additional drives to up-grade their system. Each two-sided drive will access 360K bytes! That means the maximum on-line disk storage for the Horizon will increase to over 1.4 million bytes! New Cabinet for Disk Drives North Star additional disk drives are now available with the same high quality wood cover as the Horizon computer! The Additional Drive Cabinet (ADC) is designed to accept either one or two drives for the Horizon or for mounting North Star Micro Disk System drives. Like the Horizon, the ADC is available with either wood or blue metal cover. Included is a new power supply capable of powering one or two drives. The ADC is $129 in kit form. Assembled, with one drive the ADC is $599, with two drives $999. Pascal Now Available for Horizon The much-heralded Pascal language is now being offered for use with the North Star Horizon computer. North Inside view of Horizon with processor board, RAM board, disk controller, two drives, and power supply. Star, with the co-operation of the Uni- versity of California at San Diego, is now delivering a Pascal Program De- velopment system. North Star Pascal is ideally suited for developing large programs because of features such as: long variable names, block-structured control statements, and compilation. North Star Pascal is available on 5Va" diskettes for use with the Horizon or Micro Disk System. North Star Pascal will operate with either the Z80 or 8080 microprocessor. Pascal, including documentation, is available in either single or double density versions for $49. An auxiliary Pascal diskette, contain- ing an 8080/Z80 assembler and some additional Pascal utilities, is available for $29. Complete information is avail- able at your local retail computer store. First Double Density, Now Double Memory The new North Star 32K RAM board (RAM-32) has doubled the memory density of the popular Horizon compu- ter. AvailaPle either with the Horizon or other S-l 00 bus computers, the RAM-32 runs at full speed -no wait states - with the 4 MHz Z80A microprocessor (as well as with slower Z80 and 8080 processors). Addressability of the RAM-32 is switch-selectable in four 8K regions. North Star RAM features like bank- switching and parity checking are standard. The parity checking capa- bility means that the RAM-32 is con- stantly diagnosing itself. That's a plus for your system. The fact that parity checking is a North Star RAM-32 stan- dard is a plus for your pocketbook! There is no extra charge for this impor- tant capability. A Horizon with 48K of RAM can be con- figured by using one North Star 16K RAM board and a RAM-32. Need more memory?56K canbe configured by using two RAM-32 boards with one 8K region switched off. NORTH STAR MDS, ZPB, FPB FOR OTHER S-100 COMPUTERS Upgrade your system with these North Star products - available for any S-100 computer: Micro Disk System -a complete 5 1 /t" floppy disk system, Z80 Processor Board, or the Hardware Floating Point Board. Horizon and RAM board | srices are: Kit Assembled Horizon - 1-16K $1599 $1899 Horizon - 1-32K 1849 2099 Horizon - 2-32K 2249 2549 RAM-32 599 659 RAM-16 399 459 ■4 Atypical Horizon configuration: CRT, Hori- zon computer. Additional Drive Cabinet (ADC). W> NorthSlarT Computers 2547 Ninth Street Berkeley, California 94710 (415) 549-0858 Circle 285 on inquiry card. BYTE April 1979 63 BYTE's Bits Motorola 6809 Card Folding A useful item of documentation fur- nished with the Motorola 6809 micro- processor is the MC6809 Microprocessor Instruction Set Summary card. Printed on heavy stock, it contains vital infor- mation for the programmer in condensed form. This combination of heavy stock and condensed information gives this document an information density of 4.72 x 10 7 characters per slug, a figure imaginable only with advanced tech- nology. Users who peruse the card, however, might have difficulty in refolding it to its original compact configuration. There- fore we present here helpful instructions to refold the card. The first step is to differentiate be- tween the pages of the card. Luckily, this is much easier than integrating between the pages, or even reading between the lines. Here we employ the convention of using letters of the English alphabet. Upper case is preferred for clarity, but lower case may be employed if you are coding a word processing sys- tem. Completely unfold the card and stretch it out on a flat surface. Using a pencil, inscribe the letter A on the top righthand corner of the first page, the page containing the title and program- ming model. Move the pencil down to the second page, and inscribe the charac- ter B in the top righthand corner. Con- tinue this process, incrementing the alphabetic character down the length of the card until you reach the last page, which should bear the appellation J. This completes the page distinction rou- tine. JpeoUeosy Software FINANCIAL ANALYSIS SPORTSTRIVIA MICROTRIVIA TRANSACTIONAL ANALYSIS WARLORDS • KIDSTUFF f BULLS AND BEARS APPLE • PET • TRS-80 Now available at over 1,000 stores worldwide! ■/peokeasy Joftuuarc m Box 1220, Kemptville, Ontario, Canada, K0G 1J0 (613) 258-2451 Having identified the pages, you are now ready to begin the actual folding process. Grasp the bottom page ). Fold it up on top of page 1. Now take page I, and fold along the F-G seam so that the back side of page I contacts the back side of page D. Take care that page J does not become unfolded from I. Take heart, we're almost through. Grasp the top edge of page G and fold along the C-D seam so that the front side of page G contacts the back side of page A. Moving quickly now, fold the front side of page C to the front side of page B. Take the A-G aggregate, and fold the whole thing back onto page E. The folding process should now be complete, and the card returned to its original state. User options at this point include: placing the card in your pocket, placing the card in a desk drawer, or binding the card with a paper clip. Note please, that these instructions are based on preliminary folding infor- mation provided by Motorola. It is possible that actual production sample of the card will have a different foldout specification. In addition to its unique topological properties, the card will be of interest because of the information printed on it Included are addressing mode sum- maries, operation descriptions, register bit assignments, vectors and stacking order, and miscellaneous data. . . ,RS» NE Computerized Bulletin Board We have received an announcement from the New England Computerized Bulletin Board System informing us that they have been in operation since December 1977. In order to connect to the CBBS, a terminal with a modem or acoustic coupler and a phone line is necessary. The procedure is as follows: set your terminal to 300, or 110 bps (30 or 10 characters per second) full duplex. Dial (617)963-8310 and wait for the carrier. Place the phone in the acoustic coupler and hit carriage return on your terminal a few times. The CBBS will then respond and take you the rest of the way." 64 April 1979 S BYTE Publications Inc Circle 351 on inquiry card. Everybody's making money selling microcomputers. Somebody s going to make money servicing them. New NRI Home Study Course Shows You How to Make Money Servicing, Repairing, and Programming Personal and Small Business Computers Seems like every time you turn around, some- body comes along with a new computer for home or business use. And they're being gobbled up to handle things like payrolls, billing, inven- tory, and other jobs for businesses of every size.. .to perform household functions like budgeting, environmental systems control, indexing recipes, and more. Growing Demand for Computer Technicians... Learn in Your Spare Time Even before the microprocessor burst upon the scene, the U.S. Department of Labor forecast over a 100% increase in job openings for the decade through 1985. Most of them new jobs created by the expanding world of the computer. NRI can train you at home to service both microcomputers and their big brothers. TYain you at your convenience, with clearly written "bite-size" lessons that you do evenings or weekends without quitting your present job. Assemble Your Own Microcomputer NRI training includes practical experi- ence. You start with meaningful experiments building and studying circuits on the NRI Discovery Lab® Then you build your own test instruments like a transistorized volt-ohm meter, CMOS digital frequency counter... equip- ment you learn on, use later in your work. And you build your own microcomput- er, the only one designed for learning. It looks and operates like the finest of its kind, actually does more than many commercial units. But NRI engineers have designed components and planned assembly so it demonstrates important principles, gives you working experience in detecting and correcting problems. It's the kind of "hands-on" training you need to repair and service units now on the market. Mail Coupon for Free Catalog No Salesman Will Call Send today for our 100-page, full- color catalog. It describes NRTs new Mi- crocomputer Technology course in detail, shows all equipment, kits, and lesson plaas. And it also tells about r— — — — other NRI courses . . . A I T% I Complete Communi- la II I cations with 2-meter transceiver... TV/Audio/Video Systems Servicing with training on the only designed-for-learning 25" diagonal color TV with state-of-the-art computer programming. With more than a million students since 1914, NRI knows how to give you the most in home training for new opportunity. If coupon has been removed, write to NRI Schools, 3939 Wisconsin Ave., Washington, D.C. 20016. RUSH FOR FREE CATALOG NRI Schools McGraw-Hill Continuing Education Center 3939 Wisconsin Avenue Washington, D.C. 20016 ['lease check for one free catalog only. NO SALESMAN WILL CALL All career courses approved under GI Bil □ Check for details. D Computer Electronics Including Microcomputers □ TV/Audio/Video Systems Servicing D Complete Communications Electronics with CB • FCC Licenses • Aircraft, Mobile. Marine Electronics □ CB Specialists Course D Amateur Radio • Basic and Advanced □ Digital Electronics • Electronic Technology • Basic Electronics D Small Engine Repair D Electrical Appliance Servicing D Automotive Mechanics D Auto Air Conditioning □ Air Conditioning, Refrigeration, & Heating Including Solar Technology (Please Print) Age City/State/Zip Accredited by the Accrediting Commission of the National Home Study Council 170-049 BYTE April 1979 65 A Simulated View of the Galaxy + 90° -90° Figure 1 : The celestial coordinate system. -90° 24h RIGHT ASCENSION Mark Dahmke 8312Selleck Hall 600 N 15th St Lincoln NE 68508 Figure 2: A Miller projection is used for plotting the data. At one time or another, each of us lets our imagination wander; perhaps to places familiar to us, or places we have never been and can only dream about exploring. Often, my imagination leads me to the questions: "What does our sun look like from neigh- boring stars?" and "What do our famil- iar constellations look like from other points of view?" Have you ever wished that you could travel anywhere in the universe whenever you wanted to? With the help of computers and graphics dis- plays we can begin to answer some of these questions and have fun exploring what we know about the galaxy at the same time. Getting Started Several things are needed to simulate the stars in our galaxy; an algorithm that will allow us to shift our position with respect to the Earth based coordinate sys- tem; actual or hypothetical coordinates of stars; and a display device on which to plot the resulting star maps. The first ver- sion of this program was written four years ago and run on an IBM 1130 computer. Output was in the form of a printer plot. 50 stars were entered, using data on the 50 brightest stars in our sky. Since posi- tions given in star catalogs are in celestial (spherical) coordinates, right ascension (RA) corresponding to longitude (0 to 23 hours), declination (DEC) corresponding to latitude (—90 to +90 degrees), and distance in light years were entered directly into a disk file. The program then performed the necessary conversions to get values in radians. Fig- ure 1 shows the celestial coordinate system. 66 April 1979 © BYTE Publications Inc The author wishes to thank TRC Photograph- ic Specialists of Omaha NE for their help. Coordinate Transformations In order to display the stars as they would appear from another point in space, their coordinates must be converted to a manageable form. Shifting the origin of the coordinate system appears to be the easiest way to obtain the desired results. Declina- tion and right ascension must be converted to radians first: RA= RAX 0.261799 DEC = DEC X 0.01745 where RA and DEC represent right ascen- sion and declination, respectively. Then the celestial coordinates can be converted to rectangular coordinates: X = RX cos (DEC) X cos (RA) Y= RX cos (DEC) X sin (RA) 1= RX sin (DEC) The resulting rectangular coordinates are in units of light years, because of the variable R (distance). The coordinates may be kept in three arrays for easy manipulation. Next, the origin must be shifted to the new point of view. The celestial coordinates of the destination or new origin are given by the user of the program (through console input) and converted to rectangular co- ordinates with the same set of equations used above. To shift the origin, the follow- ing three equations should be used: X = X — Xq, Y =Y-Y and Z = Z 0' where X , Y , and Z are the rectangular O' O' ° Photo I : Side view of our galaxy from 90,987 light years. coordinates of the new origin; X, Y, and Z are the old coordinates of a star in the three arrays; and X ', Y ' and Z ' are the resulting shifted coordinates. To display the stars, the rectangular coordinates must be converted back to celestial coordinates: (R')2 = (X')2 + (Y')2 + (Z')2, RA'= arctan (Y'/Z'), DEC'=arcsin (Z'/R'). It is also necessary to multiply by the ap- propriate scale factors to be compatible with the screen or window dimensions of the display device. The current version of the program displays the stars in the form of a Miller projection, as shown in fig- ure 2. This produces a distorted view on the top and bottom of the display but does show the entire sky. An alternate format magnifies the window to display only a 50 by 50 degree frame. This gives the impression of looking out the window of a spaceship, but makes navigation difficult. In order to shift the window, we must introduce some new variables to indicate in the program which rotations are required. This can most easily be accomplished by altering the equations used for shifting the origin: Text continued on page 70 A glossary is provided on page 80. April 1979 ©BYTE Publications Inc 67 HELLO FELLOW COMPUTERIST.. At this time I wish to introduce myselt. I am PERRY POLLOCK, the owner, manufacturer and designer of the products advertised in this issue of this fine magazine. In the issues to come, I will be introducing more powerful interfaces for the various popular computers. To take advantage of this opportunity, I would like to tell you a little about my beliefs, aims and policies. Starting out as a hobbiest, I realize your needs, concerns and most of all the requirements of a good, well designed and fairly priced interfaces for your computer. It is my goal to supply you with the most for your investment and the highest quality possible. All the products are designed by me. They are first drawn out and logically analyzed. Then they are wire wrapped and tested. When I am satisfied that it functions well, then I will etch a sample printed circuit board, then and only then, will I commit the design to a mass production run. All the parts used in our products are of the highest quality. The manuals are written so you can understand all the phases of construction and operation. How many times have we bought a product and it lacked for a good, understandable manual, or has it had so many flaws that we could swear that we were re-designing the product. ALL OF THIS IS IN THE PAST. These products are not offered unless they are right!!! " Another one of my aims is to let you know who you are dealing with. How many times have we ordered a product and wondered who we were really dealing with. Then . ..if we had problems, how difficult was it to contact them? Because of all this, I have chosen to publish a picture of myself (I'm not vain, really) and a picture of my wife Korrine (pictured below). I am available 24 HOURS A DAY. I have a telephone answering service that will put your call through to me anytime day or night, or if you wish you can call me at home. (602) 886-5037. If you have a problem, question or just want to talk, give me a call. I have many exciting new products under development. It will be an exciting year and I hope you will enjoy the interfaces designed for you and I. I know these interfaces have made my computer more enjoyable for me and hopefully for you. Sincerely, Perry and Korrine Pollock Your fellow computerists WORLD POWER SYSTEMS, INC. P.S.: My guarantee ... If you are not satisfied with the product, return it to your dealer or me for a full refund within 5 days of purchase. 68 BYTE April 1979 Circle 390 on inquiry card. 3S+P INTERFACE CARD A POWERFUL I/O INTERFACE CARD FOR ANY S-100 BUS. THREE SERIAL PORTS AND ONE PARALLEL PORT. FULLY HARDWARE OPERATED. NO SOFTWARE INITIALIZATON REQUIRED. IN ADDITION, THIS BOARD WILL OPERATE WITH ANY SOFTWARE. USER IS ABLE TO SELECT STATUS BITS TO FIT ANY SOFTWARE CONFIGURATION. FEATURES • SELECTABLE BAUD RATES: All baud rates are dip switch selectable. Each port can be set for its own baud rate. CRYSTAL CONTROLLED baud rates. This interface card can operate with any Micro-processor at any speed. The3S+P does not depend on the CPU for its originating clock. 110-9600 baud. • EASY CONFIGURATION: The 3 S+P is easy to set. All port addresses are set by dip switches. Each port can be assigned, independent of each other. • SOFTWARE COMPATIBLE: The 3 S+P will be compatible with most software arrangements due to the ability to set the status bits and the parity. Parity, character length, stop bits all set by dip switches. Each port can be set to it's own individual arrangement. • HIGH QUALITY: The highest quality parts are used. P.C. Board is with plated through holes, solder mask, silk screen legend and gold plated contacts. • OUTPUT ARRANGEMENT: All outputs terminate at the top of the card via a 26 contacts. Standard 26 pin IDC connectors mate with each port. RS-232, current loop at each serial port and full data lines at the parallel port connection. Operation is asynchronous mode, but can be configured for synchronous operation by minor re-configuration. • FULL DOCUMENTATION: A complete manual of operation and construction is included. Easy construction and 3 hours is the estimated construction time. Just plug in, set the switches and enjoy all the different configured software. NO MORE changing the software to match your I/O board. Just set the board and enjoy. Kit $159.95 OPTIONS Assembled $189.95 Connecting cables from 26 pin to standard DB-25 are separate. Molded factory cables are available for $14.95 each. Cables have 26 pin IDC connector at one end and DB-25 female at other end, connected by ribbon cable. CASH WITH ORDER, VISA, MASTER CHARGE TERMS NO C.O.D.'S! PERSONAL CHECKS REQUIRE 3 WEEKS TO CLEAR. ORDER FROM WORLD POWER SYSTEMS, INC. 1161 N. El Dorado Place, Tucson, Arizona 85715 24 Hour Order Phone No: 602-886-2537 STOCKING DISTRIBUTOR FOR SOUTHERN CALIFORNIA CONTACT: CALIFORNIA DIGITAL 213-679-9001 Circle 390 on inquiry card. BYTE Aprill 979 69 Table 7 .' Execution times of one iteration of the program with various num- bers of stars. Times include plot or display device data transfer rates. Text continued from page 67 Number of Stars IBM-1130 8080/BASIC 8080/ASM IBM 370/158 10 4 minutes 10 seconds 0.5 seconds 0.1 seconds 100 6 minutes 100 seconds 5.0 seconds 0.3 seconds 400 8 minutes 400 seconds 20.0 seconds 1.0 seconds Table 2: Star coordinates taken from star atlases and catalogues. Besides using real stars, the author also input 300 "imitation" stars to fill out the galaxy to what it actually looks like. The stars listed should be enough to produce interesting patterns in a reasonable amount of home computer time. Names (popular or scientific) are rough approximations in English alphabet. An asterisk represents ficticious "fill-out" stars to represent extragalactic objects. Right Name Ascension Declination Distance Magnitude (hrs) (degrees) (light yrs) A. CETUS 02.983 003.900 250.0 2.8 A2. LIB 14.800 -15.833 62.0 2.9 THI. ERI 02.933 -40.517 120.0 3.4 SUN 00.000 0.000 .1 -9.0 AND.GALAXY 00.667 4.100 1500000.0 7.8 AND. A 00.668 4.100 1 500000.0 7.8 AND. B > 00.666 4.200 1 500005.0 7.8 AND. C 00.665 4.400 1500010.0 7.8 AND. D 00.668 4.300 1501000.0 7.8 AND. E 00.667 4.500 1500100.0 7.8 AND. F > * 00.660 4.000 1500150.0 7.8 AND. G 00.656 4.400 1 500050.0 7.8 AND. H 00.660 4.550 1510000.0 7.8 AND. I 00.661 4.500 1510001.0 7.8 AND. J J 00.667 4.600 1510000.0 7.8 EG224A 00.667 041.001 1 500000.0 5.0 EG224B "\ 00.669 041.000 1500000.0 5.0 EG224C . . 00.665 r 00.666 041.001 1500000.1 4.9 EG224D i 041 .002 1500001.0 5.0 EG224E J 00.665 041.001 1500000.0 5.0 EG224F 00.668 040.999 1500000.0 5.0 EG225COM P 00.630 041.420 1500000.0 9.9 EG201COM P 00.667 040.600 1 500000.0 9.5 PLEIADES 03.733 023.950 4300.0 4.7 SIRIUS 6.716 -16.6 8.7 -1.4 A.CENTAU 3 1 14.600 -60.6 4.3 -.2 CANOPUS 6.380 -52.6 2300.0 -.7 VEGA 18.586 38.733 23.0 .1 CAPELLA 05.216 045.950 42.0 .2 ARCTURUS i 14.223 019.450 32.0 .2 PROCYON 07.612 005.350 10.0 .5 ARCHERN/ \R 01.598 -57.483 70.0 .6 B CENTAUI 31 14.005 -60.133 130.0 .8 ALTAIR 19.805 008.733 18.0 .9 ALDEBARC )N 04.550 016.416 54.0 1.1 SPICA 13.376 -10.900 190.0 1.2 FORMALH/ \UT 22.915 -29.883 27.0 1.3 DENEB 20.662 045.100 465.0 1.3 RIGEL 05.202 -08.250 545.0 .3 BETELGEU SE 05.875 007.400 300.0 .9 BELLATRi; < 05.367 006.300 230.0 1.7 E.ORION 05.567 -01.233 300.0 1.7 K.ORION 05.767 -09.683 2100.0 2.2 D. ORION 05.497 -00.333 600.0 2.5 L.ORION 05.550 009.917 1600.0 3.7 ANTARES 16.438 -26.316 170.0 1.2 REGULUS 10.095 012.216 70.0 1.3 B. LEO 1 1 .800 014.733 43.0 2.2 G. LEO 10.300 019.983 90.0 2.6 E. LEO 09.733 023.917 100.0 3.1 TH. LEO 11.217 015.600 150.0 3.4 X - X — x , Y=Y-Y n , and Z = Z — Z , will become: x' = (X-XJ (cos0) (cos0) + (Y- Y o ) (sin0) (cos0) + (Z - Z Q ) (sin 0) y' = (Y - YJ (cos 0) - (X-X , (sin0) (Z-Z o )(cos0)- (X - X Q ) (cos 8) (sin 0) (Y - YJ (sin 6) (sin 0) where: 6 = rotation about the X axis on the Y,Z plane, = rotation about the Z axis on the X,Y plane. Also, when converting back to celestial coordinates, scale factors must be intro- duced to produce a 50 by 50 degree field of view. The user may wish to experiment with other window formats. Expanding the Model Looking at the sky from various points of view in space is interesting, but I have found that animation really shows the power of the simulation technique, and of animated graphics. With the coordinates of over 400 stars (100 real stars and 300 that add the general shape of the Milky Way spiral arms of our own galaxy), we can begin the explo- ration of our universe. Unfortunately, 400 stars do not make a galaxy, or even a small Table 2 continued on next page. About the Author Mark Dahmke is currently employed by the University of Nebraska Computer Network as a programmer/analyst in the Academic Computing Services section. He is also a senior computer science major. At home Mark owns an 8080 based sys- tem with 32 K bytes of memory and a floppy disk drive. His work involves graphics, electronics, writing and systems programming. 70 April 1979 © BYTE Publications Inc We make our Floppys as if your job depends on them. Because it does. In your work, data is too important to lose. So if you use a Floppy Disk with even a minor flaw-like a dropout - you risk a lot. That's why Maxell has taken the danger out of Floppy Disks. Maxell: the worlds most dependable Floppy Disks. We've devoted two generations to building our reputation as manufacturers of the world's finest magnetic media. Our Floppy Disk technology achieves a consistency that is rarely equalled . . . and never surpassed. Even the jackets our floppys come in are made to resist heat and mechanical shock. And they're specially treated to prevent the build-up of static charges, so they do their part to increase the total reliability of their precious contents. Made better than most specifications. To guarantee complete interchangeability, all Maxell floppys conform to ISO. ECMA. ANSI, JIS, and IBM standards. But even more important to you, Maxell's own tolerances are tougher than the industry's. And our inflexible Quality Control inspections permit nothing to blemish our hard-earned reputation. So when your job depends on full data retrieval, depend on Maxell Floppy Disks. They work best . . . and so will you. Maxell offers the full range of Floppy Disks, from standard 8-inch to 5 1 /4-inch, plus Data Cassettes. Dealer inquiries invited. maxell DATA PRODUCTS The Quality Alternative Maxell Corporation of America. Data Products Group 60 Oxford Drive, Moonachie, NJ 07074 Tel. (201) 440-8020 Circle 209 on inquiry card. BYTE April 1979 71 Table 2, continued: D. LEO 11.217 021.000 140.0 3.5 Z. LEO 10.250 023.567 500.0 3.6 M. LEO 09.850 026.167 110.0 4.1 R.D SCO 15.900 -28.500 450.0 4.0 SCO 16.883 -42.317 300.0 3.8 TH. SCO 17.567 -42.967 140.0 2.0 SHAULA 17.500 -37.067 200.0 1.7 E. SCO 16.783 -34.200 75.0 2.3 K. SCO 17.650 -39.000 360.0 2.5 D. SCO 15.938 -22.533 590.0 2.5 G. SCO 16.883 -42.317 100.0 3.8 POLLUX 07.705 028.150 31.0 1.2 CASTOR 07.523 032.000 44.0 1.6 E.GEM 06.700 025.167 200.0 3.2 GEM 06.217 022.517 300.0 3.4 D.GEM 07.300 022.033 300.0 3.5 Y. CAS 00.900 060.450 200.0 2.2 A. CAS 37.833 059.267 230.0 2.4 B. CAS 00.108 058.883 45.0 2.4 D. CAS 01.400 060.083 150.0 2.8 E. CAS 01.867 063.517 100.0 3.7 D.TAURUS 05.383 28.567 130.0 1.7 TAU 05.633 021.000 350.0 4.1 HYADES 04.250 016.000 300.0 4.0 E. TAU 04.450 019.117 300.0 4.0 E URSAE MAJ 12.863 056.233 50.0 1.7 DUBHE 1 1 .000 062.017 105.0 1.9 N. UMA 13.767 049.467 210.0 1.9 MIZAR 13.367 055.183 190.0 2.2 D. UMA 12.233 057.200 100.0 2.2 B. UMA 10.980 056.650 76.0 2.4 Y. UMA 1 1 .867 053.967 88.0 2.5 BCRUCIS 12.746 -59.416 465.0 1.5 ACRUCIS 12.396 -62.816 150.0 1.6 ECANISMAJ 06.945 -28.900 325.0 1.6 ACRUX 12.400 -63.150 220.0 .9 E. CARINA 08.358 -59.350 330.0 1.7 B. CARINA 09.217 -69.517 300.0 1.8 A. TRIA 16.717 -68.933 130.0 1.8 MIRFAK 03.350 049.683 270.0 1.9 Y. VEL 08.133 -47.183 100.0 1.9 ALHENA 36.583 016.450 78.0 1.9 KAUS. AUST 18.350 -34.417 160.0 1.9 ALWAZOR 07.100 -26.317 650.0 1.9 MURZIM 06.342 -17.933 300.0 1.9 D. VEL 08.717 -54.517 70.0 2.0 ALNITAK 05.633 -01.967 400.0 2.0 B. AURIGAE 05.933 044.950 84.0 2.0 PEACOCK 20.367 -56.900 160.0 2.1 POLARIS 01.817 089.033 470.0 2.1 Y. UMI 01.530 073.000 500.0 4.7 N. UMI 01.620 076.000 700.0 5.7 D. UMI 01.795 086.100 650.0 5.0 E. UMI 16.850 082.130 550.0 5.1 TH. UMI 01.572 078.100 750.0 5.0 A. OPH 17.550 012.600 67.0 2.1 NUNKI 18.867 -26.367 160.0 2.2 A. AND 00.088 028.817 120.0 2.1 ALPHARD 09.417 -08.433 200.0 2.2 ALNA'IR 22.083 -47.200 91.0 2.2 SUHAIL 09.100 -43.233 220.0 2.2 B. PER ALGOL 03.082 040.767 100.0 2.2 A. ARI 02.067 023.233 74.0 2.2 B.GRUS 22.650 -47.150 325.0 2.2 B. CETI 00.683 -18.267 57.0 2.2 B. UMI 14.850 074.367 270.0 2.2 1. CARINA 09.267 -59.067 100.0 2.2 TH CENT. 14.067 -36.117 86.0 2.2 D. PUPPIS 08.033 -39.867 800.0 2.3 Y1. AND. 02.033 042.083 400.0 2.3 ALPHECCA 15.550 026.883 67.0 2.3 Y. CYGNUS 20.333 040.100 470.0 2.3 B. AND 01.117 035.350 75.0 2.4 Y. DRA 17.917 051.500 150.0 2.4 N. CMA 07.367 -29.200 270.0 2.4 A. PHE 00.400 -42.583 76.0 2.4 E.PEG 21.700 009.650 250.0 2.5 A. PEG 23.033 014.933 100.0 2.6 N. OPH 17.125 -15.667 76.0 2.6 Y. CRV 12.217 -17.267 130.0 2.8 fraction of it, but with a little imagination (which was all we had in the first place) we can mentally fill the gaps in the model. The current version of the simulation runs on an IBM 370-158 with a 2250 graphics display unit. The 2250 has a resolution of 4096 by 4096 points. With a slight modification to the program, it will run in a continuous loop, starting with a direction vector and velocity in light years per iteration. The effect is that of a space craft with almost unlimited velocity. With a fast processor, the impression of speed is dramatic. Velocities of 10,000 light years per second have been simulated. There are no relativistic effects, but it might be interesting to add the nec- essary equations— especially if color graphics are available. The Doppler shifts would be most striking. The stars in the direction of travel would be intensely blue, while those receding from the observer would be a deep red. Adding More Stars As my desire to travel outward increased, I soon realized that I would have to have something to travel to. Additions to the model included the Andromeda galaxy (approximately 1 .5 million light years away), the Magellanic clouds (our nearest inter- galactic neighbors) and several other extra- galactic objects. One problem with adding more stars is that the execution time goes up proportionately. When experimenting with computer based simulations, this soon be- comes apparent. Note that in listing 1, the algorithms have been optimized to the extreme, to cut down on the execution time. Comparison tests were run on several sys- tems with the results shown in table 1 . The IBM-1130 was slowed down by its printer, used to generate a printer plot of the star map. The 8080 is almost fast enough to compete with the 370, if it didn't have to do the floating point calculations in software. A floating point hardware board would probably decrease the times given for the 8080 by a factor of 10. The 370 is a multi- programming system— running several other programs at the same time. Thus, the simula- tion has to compete with other programs and is also slowed down by competition for peripheral devices such as video terminals, the 2250 graphics display, printers, and card readers. Implementation The details of implementation depend on the computer, display device, and language used. The original IBM-1130 version used a printer plot because that was the only out- 72 April 1979 © BYTE Publications Inc include us in your plans for 1979!! Sophisticated technology low pressure living, with more pro- fessional and personal advantages than we can list ■ Long growth cycle projects. ■ Rapid advancement. ■ Direct computer access. ■ Good internal communications. ■ Real state-of-the-art develop- ments. ■ High internal visibility. ■ In-plant recreation. ■ Low cost of living. ■ High quality of life. ■ Beaches, boating, and wildlife preserves. ■ Within reach of major Cultural Centers. ■ Ground floor opportunities in the design and development of our new C-2140 ECR/POS Multi-Microprocessor Based Retail System. You'll find solid professional and personal reasons for building a new ca- reer with us. The following are current career openings: SYSTEMS ANALYSTS/REAL TIME PROGRAMMERS • Operating System Design • Microprocessor Software— Assembly Language • I/O Drivers • Diagnostics TEST SYSTEMS ENGINEERS/ DEVELOPMENT ENGINEERS • 8080 Based Microprocessor Design • ATE Programming of Microprocessor Boards • NMOS, EMOS, CMOS, LSI & MSI Technologies • Multiprocessor Systems Architecture SUPPLIERS QUALITY ASSURANCE • Vendor Quality Management • Interfacing with Design Engineering, Product Test, Field Engineering, Purchasing & Manufacturing • Components— Specification & Product Design INDUSTRIAL/MANUFACTURING ENGINEERS • Assembly Routines, Labor Estimating, Production Line Layouts • Facility & Capital Equipment Analysis • ATE & CAM • Production Support & R&D Liaison POWER SUPPLY DESIGNERS • Design and Develop Low-Voltage Switching Power Supplies • Adherence to UL/CSA and International Safety Standards • Worst Case Design on Circuits If you qualify for any of the above, call us at: 302-934-8111, or send resume and salary require- ments, in complete confidence, to: Mr. Joseph G. Buskirk, NCR Corporation, Dept. , Engineer- ing & Manufacturing, Mitchell Road, Millsboro, DE 19966. C R Complete Computer Systems Circle 279 on inquiry card. An equal opportunity employer BYTE April 1979 73 Photo 2: Our galaxy from —5983 light years. Photo 3: The night sky as seen from the Northern Hemisphere of Earth. Note the Big Dipper in the upper center, Leo just above and right of center, and the Milky Way down the left and across the middle. put device available. Since the available memory was limited (8 K words), the pro- gram was written to make heavy use of disk files for storage of the starting coordinates and intermediate results. The last phase of the program scanned the disk file containing the shifted coordinates and produced a printer plot. The second version ran on an IBM/360-65 and plotted on a Tektronix 4013 graphics display terminal. Although neither of these first two versions was animated, single star maps could be obtained. The 2250 version required considerably more programming effort. Since the 2250 is a high speed device, true animation was finally possible. The 2250 refreshes its dis- play from a core buffer loaded from the processor. Coordinates are plotted and mapped into the buffer; subroutine EXEC is then called and the entire buffer is sent to the display. Unfortunately the buffer must be cleared before another iteration can take place— but clearing the buffer also clears the screen. The solution is to maintain two sepa- rate buffers. One can be displayed on the screen while the other is being cleared and loaded. If this is not done, the display will flicker with a duty cycle of about 10 percent on, 90 percent off, since the calculation time is greater than the intermediate display time. Sample Output Photo 1 is a side view of our galaxy from 90,987 light years. As you can see, the model is not accurate because the middle of the galaxy is almost empty. Also, the large bright spot on the right side of the galaxy represents the tight group of 100 stars that form our local constellations. At the bottom of the screen distance, right ascension, declination, and velocity have been dis- played for reference. The minus sign on the distance means that the direction of travel is opposite the direction the right ascension/ declination vector. Photo 2 is a view of our galaxy from -5983 light years. Photo 3 shows the sky from Earth (note the Big Dipper in the upper center, Leo just above and right of center, and the Milky Way down the left side and across the bottom). Photo 4 shows our local constellations from 2937 light years, against the background of the Milky Way. Photo 5 is another side view of the Milky Way from one million light years (viewed with the 50 by 50 degree window). The two small objects just below and to the right of the galaxy are the large and small Magellanic Clouds. They are approximately 100,000 light years from the Milky Way. Text continued on page 80 74 April 1979 © BYTE Publications Inc INTEGRATED CIRCUITS MICROPROCESSOR LED'S SOCKETS CAPACITORS DIODES TRANSISTORS RESISTORS POTENTIOMETERS 09 a z CO I- < LU I CO z CO s I CO cc O t- o m z z o u CO >- oc o CO hi I o 5 CO CO - m 3 LU -1 m < u CO cc LU 0. D a. Q CO H CO o O m CO a. -i u lo UJ K co cc LU Q -1 o I LU CO D LL CO z co I- < LU X CO cc o i LU z z o o CO _i < i cc o CO LU I o H g CO im- electronic components One-Stop Component Center EXCITING NEW KITS !! Digital Stopwatch Kit • Use Intersil 7205 Chip * Plated thru double-sided P.C. Board • LED display (red) * Times to 59 min. 59.59 sec. with auto reset * Quartz crystal controlled * Three stopwatches in one: single event, split (cummulative) and taylor (sequential timing) * Uses 3 penlite batteries * Size: 4.5" x 2.15" x. 90" JE900 in :ln.i.-i r.l.irT.H' - iameco itMBS CO CC o H O LU z z o o CO > cc o CO LU I o I- s CO CO UJ -I CO LU < UJ _t CD < u CO cc LU 0. s 3 -> Q. Q CO CO o o DO CO 0. 3 o !o UJ I- co cc LU Q _J o I UJ CO => co z CO < UJ I CO K. o H u LU z z o o CO -J < > cc o CO LU I s co JE701 * Bright .300 ht. common cathode display • Uses MM5314 clock chip -*- Switches for hours, minutes and hold functions * Hours easily viewable to 20 feet * Simulated walnut case • 115 VAC operation * 12 or 24 hour operation • Includes all components, case and wall transformer • Size: 6-3/4" x 3-1/8" x 1-3/4" 6 Digit Clock Kit JE747 BHBI:^: • Four .630" ht. and two .300" ht. common anode displays • Uses MM5314 clock chip • Switches for hours, minutes and hold functions • Hours easily viewable to 30 feet •Simulated walnut case • 115 VAC operation • 12 or 24 hour operation •Includes all components, case and wall transformer •Size: 6-3/4" x 3-1/8" x 1-3/4" Jumbo 6 Digit Clock Kit WOW!!! OVER 300 AUTHORIZED DISTRIBUTORS . . . HERE'S JUST A SAMPLING: ALABAMA ILLINOIS (Co ntlnuedl NEBRASKA TENNESSEE (C nntinued) Mobile Lafayette Radio Electronics Oak Park Spectronics Inc. Lincoln Altair Computer Center Clarksville Masstronics ALASKA Rock ford Imperial Computer Systems L mcoln Scott Electronic Supply Inc. Cookeville Wagnon's Stereo Center Anchorage TV Mart Schaumburg Data Domain Omaha Heathkit Electronic Center Knoxville Eastern Micro ARIZONA INDIANA Omaha Omaha Computer Store Nash ville Electra Distributing Co. Yuma Yuma Electronics East Chicago Aero Electronics Corp. NEVADA TEXAS CALIFORNIA IOWA Las Vegas Century 23 Amarillo Computer Encounters Inc. Beit flower Earl's Hobby Shop Indianoia Electronic Limited NEW JERSEY Dallas CompuShop Berkeley Al Lasber Electronics KANSAS Brick town Radio Shack Associate Store Houston Altair Computer Center Mission Vie jo Tower Electronics Corp. Wichita Amateur Radio Cherry Hill The Computer Emporium Houston CompuShop Monterey Zackn EQuipment Company Pompton Lake Computer Corner Houston Interactive Computers Oceans ide Electronic Center KENTUCKY of New Jersey San Antonio Sherman Electronics Palo Alto Zack Electronics Lexington Radio-Electronic Ramsey Type-Tronic Computer Store Supply Inc. Pasadena Dow Radio Inc. Equipment Co. NEW MEXICO UTAH Sacramento Heathkit Electronic Center LOUISIANA Las Cruces Manme's Electronic Supply Mid vale Heathkit Electronic Center Sacramento Zackn Baton Rouge Pelican Electronics NEW YORK Provo Alpine Electronic Supply Co. San Carlos J& H Outlet Store Houma Pelican Electronics Endwell Computer Tree Inc. VIRGINIA San Diego Radio Shack A.S.C. Metarie Pelican Electronics Kingston Greylock Electronics Alexandria Computer Hardware Store Mira Mesa MARYLAND New York Computer. Mart of A/t'iv York Alexandria Heathkit Electronic Center San Fernando San Fernando Electronics Churcbville Churchville Electronics Troy Trojan Electronics Charlottesville Lafayette Radio San Francisco Zack Electronics Damascus Damascus CB Utica Am-Com Electronics Falls Church Crossroad Electronics San Jose United Radio & TV Supply La Vale J & M Electronics NORTH CAROLINA Hampton Lafayette Radio San Luis Obispo Mid-State Rock vi tic- Computer Workshop Boone Alpha Digital Systems Norfolk Avec Electronics Corp. Electronic Supply Rock v Me Heathkit Electronic Center Durham Futureworld Richmond Avec Electronics Corp. Santa Ana Quality Electronics Tows on Baynesville Electronics Inc. Greensboro Byte Shop Roanoke The Computer Place Santa Crus Santa Cru/ Electronics Towson Heathkit Electronic Center Raleigh Byte Shop of Raleigh Virginia Beach Heathkit Electronic Center Santa Maria Caps Electronics MASSACHUSETTS NORTH DAKOTA WASHINGTON Santa Monica Mission Control Pitts field Pittsfield Radio Co. Inc. Fargo The Computer Company Long view Progress Electronics Suisun City Byte Shop Watt ham Computer Mart Inc. OHIO Moses Lake Ron's Electronics Sunnyvale Sunnyvale Electronics Worces ter RM Electronics Inc. Bucyrus Mead Electronics Pasco Riverview Electronics Vallejo Zackit MICHIGAN Cincinnati Heathkit Electronic Center Seattle Amateur Radio Supply Walnut Creek MicroSun Computer Center Ann Arbor Wedemeyer Electronic Supply Columbus Heathkit Electronic Center Seattle CCom COLORADO Clawson Radio Supply & Engineering Dayton Altair Computer Center Seattle Empire Electronics Aurora Com Co Electronics Detroit Heathkit Electronic Center Reynoldsburg Universal Amateur Radio Spokane Personal Computers Duranqo The Computer Shop Flint Hobby Electronic Center OKLAHOMA Tacoma C & G Electronics CONNECTICUT Garden City Computer Center Oklahoma City Bits. Bytes & Micros WEST VIRGINIA Bridgeport Bridgeport Computer Lansing Fulton Radio Supply Co. OREGON Morgantown Electro Distributing Co. FLORIDA Lansing Wedemeyer Electronic Supply Albany Oregon Ham Sales Wheeling Lafayette Radio Ft. Lauderdale Computers For You Midland Computronix Corp. Coos Bay Her rick Electronics WISCONSIN GEORGIA Mt. Clemens The Computer Store Portland Portland Radio Supply West Allis Olson Electronics Atlanta Atlanta Computer Mart Nilus Miles Radio Supply Salem Computer Pathways CANADA Columbus Radio Wholesale MINNESOTA PENNSYLAVANIA Alberta (Calgary) The Computer Shop HAWAII Duluth Northwest Radio of Duluth Hershey Microcomputer systems inc. Ontario (Willowdalel Home Comouter Honolulu Integrated Circuit Supply Hopkins Heathkit Electronic Center Pittsburgh Heathkit Electronic Center IDAHO St. Paul Heathkit Electronic Center York G.Y.C. Company Quebec (Montre 60 \Y£S NO STORE NEW SEGMENT TIME ( HALT J Figure 2; Simplified flow diagram for the Three- Diinensional Mars Lander program. FIXED INITIALIZATION LABEL E ( START J CLEAR FLAG ANO REGISTERS STORE CONSTANTS STORE SHIP'S POSITION STORE SHIP'S VELOCITY /il) OO^V YES J yS NO ' CALCULATE FUEL USAGE, SHIP'S NEW MASS CALCULATE & VELOCITY FOR ROCKET BURN UPDATE VELOCITY FOR ROCKET BURN FREE-FALL LABEL A SHIFT DATA TO SECONDARY REGISTERS STORE FREE-FALL LOOP COUNT ESTIMATE SHIP'S POSITION FOR GRAVITY CALCULATION CALCULATE GRAVITY. UPDATE VELOCITY FOR GRAVITY UPDATE SHIP'S POSITION FOR AVERAGE SEGMENT VELOCITY SHIFT OATA TO SECONDARY REGISTERS SET "NO FUEL" FLAG BURN ONLY REMAINING FUEL SHOW "J39S" CALCULATE THE INTERPOLATION RATIO CALCULATE SHIP'S POSITION, VELOCITY, AND FUEL CALCULATE MISS DISTANCE, IMPACT SITE TO TARGET ALTERNATE CALCULATION RECALL SEGMENT TIME AND SHIP'S POSITION ( DISPLAY STACK J RECALL REMAINING FUEL AND SHIP'S VELOCITY ( DISPLAY STACK J f HALT J April 1979 ©BYTE Publications Inc OFFERS A NEW CONCEPT IN SOFTWARE PRESENTATION FOR IT'S EXCITING LINE OF PROGRAMS PRS MAKES A BREAK- THROUGH IN DOCUMENTATION Every PRS program comes with a com- plete and instructive handbook. This unique documentation is written in clear and easy-to-understand English. PRS offers you a true fluency in computer- user dialogue. MICROFILE: A NEW DATAFILE MANAGEMENT PROGRAM With PRS MICROFILE you can: Man- age any list of items. Edit files. Sort items alphanumerically. Search by keys. Total columns. Justify columns. Save and retrieve data with mass storage media. PRS MICROFILE documentation also solves one of the major concerns of be- ginners. A special chapter explains how you can interface newly acquired soft- ware with you specific configuration. CORE: AN INDISPENSABLE "BRAIN-SURGEON" This PRS program is essential for the TRS-80 level II. Here's a partial list of commands: Ex- amine and modify memory. Display memory in Hex, ASCII, or CPU registers. Enter ASCII in memory. Fill memory. Move block of memory. Verify memory. Locate string. Branch to routine. Go to and execute (two break- points available). Hex arithmetic. Ques- tion input ports and command output ports. Tape Cue, on/off. Read file in memory (bias available). Write file from memory. Memory test. Etc. Disk version soon available. A2FP: A PLOTTING PROGRAM FOR APPLE II This PRS program is a "modern age" tool for students, engineers and researchers. A2FP plots 2-dimensional functions in HIRES graphics. Uses the full screen (280 x 192 points.) Plots on Cartesian coordinates. Gives complete parameters of plotted curves. Superimposes plots. Offers many plotting modes. DDS II: THE FAMOUS DYNAMIC DEBUGGING SYSTEM DDS II is incredibly powerful. Although designed for microcomputers, it is even more sophisticated than the built-in de- bugging environments supported by most large main frames. DDS II assembles and disassembles all 8080 code. Performs "software open- heart surgery", artfully displaying on the screen all registers, program instruc- tions and memory. Simulates dual screen capability. You can switch on command from the DDS II display to the program output. It's like having two video monitors for the price of one. Up- dates the display while monitoring the program. Includes a full array of monitoring tools. TRS-80 version soon available. PRS PROGRAMS ARE PROTECTED IN A BEAUTIFUL CASSETTE OR DISK FOLDER The PRS cassette or floppy disk and manual for your PRS programs are pro- tectively nestled in an efficient and durable gold-imprinted folder. PRS SUPPORTS YOUR MAJOR BRANDS Over 20 packages are currently avail- able. Use the coupon below for a com- plete description of each PRS program and listing of versions produced for each program. VISIT YOUR NEAREST DEALER TODAY Let your dealer demonstrate the ex- cellence of PRS programs. Circle 309 on inquiry card. BYTE April 1979 89 Listing 1: Mars Lander program for the HP 67/97 programmable calculator. Clear flags, set for DEG, and set display to FIX 3 before recording program. User entry points are capitalized in comments. Location Program Steps Commentary 001 ( LBL B ) ( EEX ) ( 2 ) ( XY? ) Fuel gone? 015 ( GSB 9 ~) ( Rl ) ( STO 7 ) Update ship's mass and velocity for burn. 018 ( LST X ) ( -H ) ( LN ) ( 4 ) 022 (GSB a ) ( 1 ) 024 ( LBL A ) ( ST 1 ) FREE-FALL: Store number of segments. 026 ( LBL ) ( GSB d ~) ( CF J Free-fall loop: Calculate position for 029 ( GSB b ") ( X 2 J ( RCL A ) ( X^Y J gravity update, update velocity for 033 ( + ) ( RCL D ) ( GSB a ) ( P^S ) gravity, update ship's position. 037 ( RCL 4 ) ( + ) ( Rt ) ( RCL 6 ) 041 ( + ) ( Rt ) ( RCL 5 ) ( + ) ( Rt ) 046 ( Pgs ) ( SF ) ( GSB b ) 049 ( RCL E ) ( X^Y? ) ( X>Y? ) ( GTO 7 ) Impact? 053 ( - ) ( STO 8 ) ( GSB 4 ) Shift data. 056 ( F? 1 ) ( GTO ) ( RCLO ) No fuel? 059 ( X3 ) ( DSZ? ) ( GTO ) More free-fall segments? 062 ( LBL D ) ( GSB 2 ) ( RCL E ) DISPLAY: Current segment time, position, 065 C ~ ) ( RCL A ) ( FU ) ( STK ) fuel, and velocity status. 069 ( RCL 7 ) ( RCL 9 ) ( - ) 072 ( GSBd ) ( GSBc ) ( STK ) ( RTN ) 076 ( LBL a ) ( X ) ( P->R ) ( Rt ) ( X^Y ) Subroutine; Spherical to rectangular, then 081 ( P^R ) ( STO - 4 ) ( Rl ) ( STO - 5 ) update velocity. 085 ( [U ) ( STO - 6 ) 087 ( LBLd ) ( RCL 6 ) ( RCL 5 ) Subroutine; Recall velocity. 090 ( RCL 4 ) ( RTN ) 092 ( LBL b ) ( RCL B ) ( X ) Subroutine; Calculate new position, then 095 ( RCL 1 ) ( + ) ( F?0 ) store new position only if 098 ( STO 1 ) ( Rt ) ( RCL B ) ( X ) flag is set. 102 ( RCL 3 ) ( + ) ( F?0 ) 105 ( STO 3 ) ( Rt ) ( RCL B ) ( X ) 109 ( RCL 2 ) ( + ) ( F?0 ) 112 ( STO 2 ) ( Rt ) 114 ( LBLc ) ( R^P ) ( Rl ) ( X^Y ) ( Rt ) ( RTN ) Subroutine; Rectangular to spherical. 120 ( R^P ) ( LBL 4 ) ( 7 ) ( Xj5 ) ( STO ) Subroutine; Shift final segment data into Listing 1 continued on next page. 90 April 1979 © BYTE Publications Inc BEYOND TRS-80 When Microsoft put Level II BASIC on TRS-80, you got a glimpse of its full potential. Now Microsoft introduces: TRS-80 Fortran and TRS-80 will never be the same! Plus Circle 228 on inquiry card. TRS-80 FORTRAN includes the finest Z-80 development software available: Z-80 Macro Assembler, versatile Text Editor, and Linking Loader. Total price: Only $350.00 TO: Microsoft, 10800 NE Eighth, Suite 819, Bellevue, WA 98004 □ Send me free TRS-80 FORTRAN overview. □ Send me TRS-80 FORTRAN and Z-80 development soft- ware for $350.00. □ Check enclosed □ Master Charge □ VISA card Number Exp. Date Cardholder's Signature. Name. Address. City .State. .Zip. Clip the coupon and ORDER NOW, or send for free overview for more details about TRS-80 FORTRAN. TRS-80 FORTRAN is supplied on two minidiskettes and requires a 32K system with one disk drive. Dealer inquiries invited. 10800 NE Eighth, Suite 819 Bellevue, WA 98004 Listing 1, continued: 125 129 133 136 138 142 144 147 151 155 158 162 166 172 175 178 180 185 188 193 197 201 205 208 211 214 215 220 ( LBL8 ) ( RCL (i) ) ( PtS ) ( STO (i) ) ( PjS ) ( DSZ? ) ( GTO 8 ) ( RTN ) ( LBL2 ) ( RCL 3 ) ( RCL 2 ) ( RCL 1 ) ( GTO c ) (JblTJ C J CZH> CE^LJ ( GTO 6 ) ( STO -8) (STO -r 8 ) ( 7 ) ( ST I ) ( LBL5 ) (~P^S ) ( RCL (i) ) ( P^S ) (RCL (i) ) ( - ) ( RCL 8 ) ( -H ) (STO-(i)) ( DSZ? ) ( GTO 5 ) ( LBL6 ) ( GSB2 ) ( FU ) ( COS ) ( COS ) ( X ) ( COS~ 1 ) ( X^Y ) C_E_) C J c J c J c J CXZ) ( Xfl)? ) ( GTO 3 ) ( RCL 2 ) ( RCL 3 ) ( R-P ) ( LBL3 ) ( STO A ) ( GTO D ) ( LBL9 ) ( SF 1 ) (_ ]) ( X^Y ) ( RTN ) ( LBL E ) ( CF 1 ) (CL REG ) r^~) c j c C~* ) c D ( 3 ) ( STO E ) J CEO C D ( STO D ) ( EEX ) ( 4 ) ( STO 9 ) ( 9 ) ( X ) ( STO 7 ) ( GSBc ) c J ( STO 1 ) ( STO 2 ) ( STO 3 ) ( 2 ) ( STO 4 ) ( CHS ) ( STO 5 ) ( GSB4 ) ( GTO D ) ( LBLC ) f 3 ( ) ( X>Y? ) ( X2Y ) ( STO A ) ( 2 ) ( -r ) ( STO B ) ( RTN ) (i) secondary registers. Subroutine; Recall position. Impact; Exactly on surface? Calculate interpolation ratio, then interpolate position, velocity, and fuel data for instant of impact. Calculate miss distance; if zero, alternate calculation; Display impact status. Subroutine; Out of fuel. INITIALIZE: Store constants, the fixed initial position and velocity, then display the initial status. SEGMENT TIME: Check and store. Listing 2: Optional random initialization for Mars Lander. Clear flags, set for DEG, and set display to FIX 3 before recording program. User entry points are capitalized in comments. Commentary CIRCULAR: Set for random circular orbit. ELLIPTICAL: Set segment time, gravity constant. Mars radius, ship's mass, ship's random radius and 6. Location ( Program Steps ) ) ) ) c ) ) ) 001 ( LBLC ") ( SF 2 ) 003 ( LBLE ) ( 6 ) ) ( STO A 2 008 ( 4 ) ( STO B ) c 4 ) C 3 c ( EEX ( 3 - 014 C STO D ) ( 3 ) ( 3 ) C 9 3 019 (STOE) ( 9 ) ( EEX ) C 4 Listing 2 continued on page 98. 92 April 1979 ©BYTE Publications Inc BITE B1BNS BOOKS OF INTEREST TO COMPUTER PEOPLE" More BYTE BOOKS in your future Circle 36 on inquiry card. BYTE April 1979 93 And the future THE BYTE BOOK OF COMPUTER MUSIC combines the best computer music articles from past issues of BYTE Magazine with exciting new material— all written for the computer experimenter interested in this fascinating field. You will enjoy Hal Chamberlin's "A Sampling of Techniques for Computer Performance of Music" which shows how you can create four-part melodies on your computer. For the budget minded, "A $19 Music Interface" contains practical tutorial information— and organ fans will enjoy reading "Electronic Organ Chips For Use in Computer Music Synthesis". New material includes "Polyphony Made Easy" and "A Terrain Reader". The first describes a handy circuit that allows you to enter more than one note at a time into your computer from a musical keyboard. The "Terrain Reader" is a remarkable program that creates random music based on land terrain maps. Other articles range from flights of fancy about the reproductive systems of pianos to Fast Fourier trans- form programs written in BASIC and 6800 machine language, multi-computer music systems, Walsh Functions, and much more. For the first time, material difficult to obtain has been collected into one convenient, easy to read book. An ardent do-it-yourselfer or armchair musicologist will find this book to be a useful addition to the library. H fflHI€MI Ettt 1 {0} ISBN 0-931718-11-2 Editor: Christopher P. Morgan Pages: approx. 128 Price: $10.00 a mrmvii am SUPERWUMPUS is an excit- ing computer game incorpo- rating the original structure of the WUMPUS game along with added features to make it even more fascinating. The original game was described in the book What To Do After You Hit Return, published by the People's Computer Com- pany. Programmed in both 6800 assembly language and BASIC, SUPERWUMPUS is not only addictively fun, but also provides a splendid tutorial on setting up unusual data structures (the tunnel and cave system of SUPERWUMPUS forms a dodecahedron). This is a PAPERBYTE™ book. ISBN 0-931718-03-1 Author: Jack Emmerichs Pages: 56 Price: $6.00 Tiny Assembler | 6800 Ver*t«i3.t TINY ASSEMBLER 6800, Version 3.1 is an enhancement of Jack Emmerichs' success- ful Tiny Assembler. The origi- nal version (3.0) was described first in the April and May 1977 issues of BYTE magazine, and laterinthePAPERBYTE™ book TINY ASSEMBLER 6800 Version 3.0. In September 1977, BYTE magazine published an article entitled, "Expanding The Tiny Assembler". This pro- vided a detailed description of the enhancements incorporated into Version 3.1, such as the addition of a "begin" statement, a "virtual symbol table", and a larger subset of the Motorola 6800 assembly language. All the above articles, plus an updated version of the user's guide, the source, object and PAPERBYTE™ bar code formats of both Version 3.0 and 3.1 make this book the most complete documentation possible for Jack Emmerichs' Tiny Assembler. ISBN 0-931718-08-2 Author: Jack Emmerichs Pages: 80 Price: $9.00 A walk through this book brings you into Ciarcia's Circuit Cellar for a detailed look at the marvelous projects which let you do useful things with your micro- computer. A collection of more than a year's worth of the popular series in BYTE magazine, Ciarcia's Circuit Cellar includes the six winners of BYTE's On-going Monitor Box (BOMB) award, voted by the readers themselves as the best articles of the month: Control the World (September 1977), Memory Mapped IO (Novemberl977),ProgramYourNextEROMinBASIC (March 1978), Tune In and Turn On (April 1978), Talk To Me (June 1978), and Let Your Fingers Do the Talking (August 1978). Each article is a complete tutorial giving all the details needed to construct each project. Using amusing anecdotes to introduce the articles and an easy-going style, Steve presents each project so that even a neophyte need not be afraid to try it \gg2l ISBN 0-931718-07^ Author: Steve Ciarcia Pages: approx. 128 Price: $8.00 is right now! BASEX, a new compact, compiled language for micro- computers, has many of the best features of BASIC and the 8080 assembly language— and it can be run on any of the 8080 style microprocessors: 8080, Z-80, or 8085. This is a PAPERBYTE™ book. Subroutines in the BASEX operating system typically execute programs up to five times faster than equiva- lent programs in a BASIC interpreter— while requiring about half the memory space. In addition, BASEX has most of the powerful features of good BASIC inter- preters including array variables, text strings, arithme- tic operations on signed 16 bit integers, and versatile IO communication functions. And since the two lan- guages, BASEX and BASIC, are so similar, it is possible to easily translate programs using integer arithmetic data from BASIC into BASEX. The author, Paul Warme, has also included a BASEX Loader program which is capable of relocating pro- grams anywhere in memory. $321 ISBN 0-931718-05-8 Author: Paul Warme Pages: 88 Price: $8.00 ■li/ifrllMlA^ Froorammin Twhntquas PROGRAMMING TECH- NIQUES is a series of BYTE BOOKS concerned with the art and science of computer programming. It is a collection of the best articles from BYTE magazine and new material collected just for this series. Each volume of the series provides the personal com- puter user with background information to write and main- tain programs effectively. The first volume in the Programming Techniques series is entitled PROGRAM DESIGN. It discusses in detail the theory of program design. The purpose of the book is to provide the personal computer user with the techniques needed to design efficient, effec- tive, maintainable programs. Included is information concerning structured program design, modular pro- gramming techniques, program logic design, and examples of some of the more common traps the casual as well as the experienced programmer may fall into. In addition, details on various aspects of the actual program functions, such as hashed tables and binary tree processing, are included. ISBN 0-931718-12-0 Editor: Blaise W. Liffick Pages: 96 Price: $6.00 SIMULATION is the second volume in the Program- ming Techniques series. The chapters deal with various aspects of specific types of simulation. Both theoretical and practical applications are included. Particularly stressed is simulation of motion, including wave motion and flying objects. The realm of artificial intelligence is explored, along with simulating robot motion with the microcomputer. Finally, tips on how to simulate electronic circuits on the computer are detailed. ISBN 0-931718-13-9 Editor: Blaise W. Liffick Pages: approx. 80 Price: $6.00 Publication: Winter 1979 RA6800ML: AN M6800 RELOCATABLE MACRO ASSEMBLER is a two pass assembler for the Motorola 6800 microprocessor. It is designed to run on a mini- mum system of 16 K bytes of memory, a system console (such as a Teletype terminal), a system monitor (such as Motorola MIKBGG read only memory pro- gram or the ICOM Floppy Disk Operating System), and some form of mass file storage (dual cassette recorders or a floppy disk). The Assembler can produce a program listing, a sorted Symbol Table listing and relocatable object code. The object code is loaded and linked with other assembled modules using the Linking Loader LINK68. (Refer to PAPERBYTE™ publication LINK68: AN M6800 LINKING LOADER for details.) There is a complete description of the 6800 Assembly language and its components, including outlines of the instruction and address formats, pseudo instruc- tions and macro facilities. Each major routine of the Assembler is described in detail, complete with flow charts and a cross reference showing all calling and called-by routines, pointers, flags, and temporary variables. In addition, details on interfacing and using the Assembler, error messages generated by the Assem- bler, the Assembler and sample IO driver source code listings, and PAPERBYTE™ bar code representation of the Assembler's relocatable object file are all included. This book provides the necessary background for coding programs in the 6800 assembly language, and for understanding the innermost operations of the Assembler. ISBN 0-931718-10-4 Author: Jack E. Hemenway Pages: 184 Price: $25.00 to order books see next page LINK68: AN M6800 LINKING LOADER is a one pass linking loader which allows separately translated relocatable object modules to be loaded and linked together to form a single executable load module, and to relocate modules in memory. It produces a load map and a load module inMotorola MIKBCJG loaderformat. The Linking Loader requires 2 K bytes of memory, a system console (such as a Teletype terminal), a sys- tem monitor (for instance, Motorola MIKBCJG read only memory program or the ICOM Floppy Disk Operating System), and some form of mass file stor- age (dual cassette recorders or a floppy disk). It was the express purpose of the authors of this book to provide everything necessary for the user to easily learn about the system. In addition to the source code and PAPERBYTE™ bar code listings, there is a detailed description of the major routines of the Linking Loader, including flow charts. While imple- menting the system, the user has an opportunity to learn about the nature of linking loader design as well as simply acquiring a useful software tool. ISBN 0-931718-09-0 Authors: Robert D. Grappel & Jack E. Hemenway Pages: 72 Price: $8.00 Winter 1979 TRACER: A 6800 DEBUGGING PROGRAM is for the programmer looking for good debugging software. TRACER features single step execution using dynamic break points, register examination and modification, and memory examination and modification. This book includes a reprint of "Jack and the Machine Debug" (from the December 1977 issue of BYTE magazine), TRACER program notes, complete assembly and source listing in 6800 assembly language, object program listing, and machine readable PAPERBYTE™ bar codes of the object code. ISBN 0-931718-02-3 Authors: Robert D. Grappel & Jack E. Hemenway Pages: 24 Price: $6.00 MONDEB: AN ADVANCED M6800 MONITOR- DEBUGGER has all the general features of Motorola's MIKBCJG monitor as well as numerous other capabili- ties. Ease of use was a prime design consideration. The other goal was to achieve minimum memory requirements while retaining maximum versatility. The result is an extremely versatile program. The size of the entire MONDEB is less than 3 K. Some of the command capabilities of MONDEB In- clude displaying and setting the contents of registers setting interrupts for debugging, testing a program- mable memory range for bad memory locations changing the display and input base of numbers displaying the contents of memory, searching for a specified string, copying a range of bytes from one location in memory to another, and defining the loca- tion to which control will transfer upon receipt of an interrupt This is a PAPERBYTE™ book. ISBN 0-931718-06-6 Author: Don Peters Pages: 88 Price: $5.00 BAR CODE LOADER. The purpose of this pamphlet is to present the decoding algorithm which was de- signed by Ken Budnick of Micro-Scan Associates at the request of BYTE Publications, Inc., for the PAPER- BYTE™ bar code representation of executable code. The text of this pamphlet was written by Ken, and contains the general algorithm description in flow chart form plus detailed assemblies of program code for 6800, 6502 and 8080 processors. Individuals with computers based on these processors can use the software directly. Individuals with other processors can use the provided functional specifications and detail examples to create equivalent programs. ISBN 0-931718-01-5 Author: Ken Budnick Pages: 32 Price: $2.00 I I ! I I I I BYTE BOOKS Division • 70 Main Street • Peterborough, New Hampshire 03458 Title Company Streel City Slate'Province D Check enclosed in the amount of $ _ □ Bill Visa □ Bill Master Charge Card No. Please send the books I have checked. □ Computer Music $10.00 □ SUPERWUMPUS $6.00 □ Tiny Assembler (3.1) $9.00 □ Circuit Cellar $8.00 DBASEX$8.00 □ Program Design $6.00 BVTl BOOKS. BYTE BOOKS logo, and PARI RBYTI arc trademarks of BYTE Publications, Inc. Exp. Date □ Simulation $6.00 □ RA6800ML $25.00 DLink68$8.00 □ TRACER $6.00 nMondeb$5.00 i I Bar Code Loader $2.00 Add 50C per book to cover postage and handling Please allow 6-8 weeks for processing vour order. 96 BYTE April 1979 Circle 36 on inquiry card. TSC BASIC for 6800 The fastest floating point BASIC for any micro. Move over 6502! Out of the way 8080! The fastest floating point BASIC for any micro now runs on the 6800. And with the TSC name, you know it's top quality. TSC BASIC is not only fast, but complete with over 50 commands and functions. Features include six digit floating point math, full transcendental functions, unlimited string length, if/then/else construct, logical operators.and two-dimensional arrays (including string arrays). Available now on KCS cassette for $39.95. Requires 9K minimum, no source listing included. Soon to come is a version for the FLEX™ disk operating system. _ 100 80 X) c o u R ) ( FU ) ( X2Y ) ( Rt ) ( P->R ) ( STO 1 ) ( R4- ) ( STO 2 ) ( Rl ) ( STO 3 ) ( RCL D ) ( RCL8 ) Q } CVx^ ( STO 9 ) ( GSB 1 ) ( STO 4 ) ( rcli ) r ") ( GSB 1 ) ( STO 5 ) ( RCL 2 ) C D C J ( CHS ) ( RCL 3 ) ( * ) ( STO 6 ) ( RCL 5 ) ( RCL 4 ) ( GSB 2 ) ( RCL 9 ) (^ ^ (ST0^4) C STO -f- 5 ) ( STO * 6 ) ( F?2 ) ( GT0 5 ) ( GSB 1 ) ( 2 ) (_ ( STO + 4 ) ( GSB 1 ) ( 2 ) (^ ( STO + 5 ) ( GSB 1 ) ( 2 ) (_ J ( STO + 6 ) ( LBL5 ) ( 7 ") C ST I ) ( LBL3 ) ( RCL (i) ) C P£S ) ( STO (i) ) ( Pg ) ( DSZ? ) ( GTO 3 ) ( LBLD ) ( RCL 3 ) ( RCL 2 ) ( RCL 1 ) ( GSB 2 ) ( RCL E ) ( - ) ( RCL A ) ( Rj. ) ( STK ) ( RCL 7 ) ( EEX ) ( 4 ) ( STO 9 ) ( - ) ( RCL 6 ) ( RCL 5 ) ( RCL 4 ) ( GSB 2 ) ( STK ) ( RTN ) ( LBL 1 ) ( 1 ) ( GSBO ) Q C3Z) otn3 3 C ( LBLO ) ( RCLO ) Q J c 3 ( X 2 ) ( FRAC ) ( STO ) Q 3 ( RTN ) ( LBL 2 ) ( R-*P ) ( FU ) ( XjiY ) ( Rt ) ( R^P ) ( RTN ) ( LBL A ) (CL REG) ( 1 ) ( CHS ) C ST I ) ( CHS ) ( STO + ) (GTO (i) ) C LBL B ) ( STOP ) ( RTN ) Convert position to X, Y, Z, and store. Calculate circular orbit velocity, random X, Y, Z velocity for an orbit horizontal at the ship's position, adjust X, Y, Z velocity. Circular orbit? If elliptical orbit, make random X, Y, Z velocity adjustment. Shift data from primary to secondary registers. DISPLAY: Show segment time, ship's position, fuel, and velocity. Subroutine; Randomize position and velocity. Subroutine; Random number generator. Subroutine; Rectangular to spherical. SPIN: A random seed randomizer. SEED: To store user's random seed. 98 April 1979 ©BYTE Publications Inc The ORIGINAL Computer People Who KNOW computers and offer EVERYTHING you need in Small Computer Systems im yv/u nouu ■■■ Lilian vsvm Compare PRICE, QUALITY, DELIVERY, SERVICE and ' why you don't have to look anyplace else! ipare PRICE, QUALITY, DELIVERY, SERVICE and ^^^^^M II see why you don't have to look anyplace else! ^r ^ ■■■■■■■■■■■■I ^SOFTWARF ^ SB**! 8 Here are nine packages tr enable you to make full use the potential in your small computer system: ACCOUNTS RECEIVABLE INVENTORY ORDER ENTRY WORD PROCESSING PAYROLL REAL ESTATE MGT MEDICAL-DENTAL MAILING PROGRAM SHIPPING & RECEIVING and MORE! Microsoft Basic, Fortran, Cobol available CALL* for prices \ tot \ prices Decwriterll $1395.00 Qume Sprint 5/45 R0 2795.00 Persci 277 Dble Density 1395.00 Imsai PCS 80/15 599.00 Anadex DP 8000 Printer 995.00 44 Column Printer .... $295.00 Livermore Accoustic Coupler 249.00 Javelin 9" Monitor 159.95 Pertec 4511-R 10 M Hard Disk CALL* We have a full staff of Programmers and Computer Consultants to design, configure and deliver a Turnkey Computer System to meet your specific requirements. SYNCHRO-SOUND The Computer People 193-25 Jamaica Avenue, Jamaica, New York 11423 212/468-7067 TWX 710-582-5886 ENTERPRISES, INC. Hours 9-4 Daily and Saturday Visit our new showroom Working units on display BankAmericard Master Charge Circle 355 on inquiry card. BYTE April 1979 99 Operation Keys Display Explanation Load Three-Dimensional Mars Lander program — 0.000 — Initialize (fixed orbit) E 60.000 T Default segment time, seconds 45.000 Z Position angle 0, degrees 35.264 Y Position angle 9, degrees 1803.152 X Ship's altitude, km 80000.000 T Initial fuel supply, kg -45.000 Z Velocity angle 0, degrees 0.000 Y Velocity angle 9, degrees 2.828 X Ship's velocity, km/s Rocket burn for 60 seconds, 135, ENTER, 60.000 T Segment time, seconds 0= 135°, = 0°, 100 kg/s ENTER, 100, B 42.820 Z Position angle 0, degrees 35.245 Y Position angle 9, degrees 1802.794 X Ship's altitude, km 74000.000 T Remaining fuel supply, kg -46.751 Z Velocity angle 0, degrees -1.238 Y Velocity angle 9, degrees 2.553 X Ship's velocity, km/s Free-fall 66, 60 second segments 66, A 60.000 T Segment time, seconds -115.974 Z Position angle 0, degrees -33.762 Y Position angle 9, degrees 5.694 X Ship's altitude, km 74000.000 T Remaining fuel supply, kg 145.618 Z Velocity angle 0, degrees -7.423 Y Velocity angle 9, degrees 3.907 X Ship's velocity, km/s Free-fall one, 35 second segment 35, C, 1, A 3393.000 Impact signal 6706.884 T Impact-to-target distance, km -118.488 Z Impact position angle 0, degrees -34.135 Y Impact position angle 9, degrees -0.206 X Impact position vertical error, km 74000.000 T Remaining fuel supply, kg 144.164 Z Impact velocity angle 0, degrees -6.425 Y Impact velocity angle 9, degrees 3.913 X Ship's impact velocity, km/s Table 2: Demonstration of the Three-Dimensional Mars Lander program's operation. Note that the thrust from the rocket burn is directly opposite to the initial velocity. Text continued from page 86: Celestial Mechanics America. Follow the demonstration example in table 2 to help to understand the space- ship control, and the status displays. The HP-97 prints status displays. A good landing is within 100 m (0.100 km) of the target site, with a near-vertical descent (0 = ±180°, and = 0°, for velocity angles), and at an impact velocity of less than 1 m/s (0.001 km/s). There is plenty of fuel on board to make a good landing at the target site from even a "worst case" random orbit. The initial mass ratio is 9 to 1. Note that the display reads in kilometers and in km/s; in the normal FIX 3 display format, you can read down to the nearest meter and m/s. When near to landing, it is helpful to change the display to FIX 6, so that you can read down to the nearest millimeter and mm/s. Also note that during descent, the spaceship's position is given in degrees, and on Mars' surface, one degree is about 60 km. Celestial orbits of a relatively light body around a massive primary may be repre- sented by the conic sections: circle, ellipse, parabola, and hyperbola, all formed by the intersection of a plane with a cone at various angles. In this program we are concerned only with circular and elliptical orbits, since parabolas and hyperbolas represent non- repeating, or one pass orbits. In a circular orbit, the orbiting body always has the same velocity and the same distance from the primary. The attraction of gravity is exactly balanced by the centrif- ugal force at all times. Both the body's potential energy (a result of altitude) and its kinetic energy (a result of velocity) are constant. An elliptical orbit is far more common; a circular orbit is really just a special case of an elliptical orbit. In an elliptical orbit, the body's velocity and its distance from the primary are continually varying. While the body's potential energy varies with its alti- 100 April 1979 © BYTE Publications Inc Circle 304 on inquiry card. BYTEAprill979 101 tude, and its kinetic energy varies with its velocity, its total energy remains constant. Its energy is merely oscillating between kinetic and potential forms. If we are in a spaceship, how do we change altitude with a minimum energy usage (ie: minimum fuel usage)? Under some special circumstances, this is fairly straight- forward. For example, to go from one circular orbit to another circular orbit in the same plane — but at a different altitude — the minimum-fuel-usage maneuver is known as a Hohmann transfer. It is simply an ellipse tangent to both circular orbits. A Hohmann transfer is made in three stages: (1) Thrust along the current direction of motion (or against it) until the vel- ocity has increased (or decreased) enough to form an elliptical orbit that reaches just up (or down) to the desired new circular orbit altitude; (2) Wait in elliptical transfer orbit until the new altitude has been reached on the opposite side of the primary from the start; (3) Thrust along the current direction of motion (or against it) until the orbit has been circularized at the new altitude. Note that the direction of this second thrust must be oppo- site to the initial direction of thrust (since we are now on the opposite side of the primary), though both increase (or decrease) the spaceship's velocity. But how can we use this method to land on the surface of the primary? Just perform a Hohmann transfer to zero altitude, then stop! Of course, this assumes that the land- ing trajectory is tangent to the surface, and that we stop instantly. While this is theoret- ically the most efficient way to land from orbit, we can't quite actually do it this way; we have to leave some room to slow down and stop and a little extra for maneuvering room. However, the closer we can approach this theoretical minimum-fuel-usage landing, the lower the actual fuel usage will be. To repeat: for a minimum-fuel-usage landing from orbit, an initial rocket burn is made when the spaceship is on the oppo- site side of the primary from the landing site to slow down enough to pass over the landing site at a low altitude; then free-fall until near to the target site. At the last possible moment, again make a rocket burn (or series of rocket burns) to stop orbital velocity, and to land vertically on the sur- face at the target site. Note that Mars' very thin atmosphere is ignored. But what do we do when the landing site is not in the plane of the orbit? Just change the plane of the orbit so that the landing site is in the plane of the orbit. This can create two complications: (1) Since orbital velocity around Mars is fairly high, it takes a lot of fuel to change the plane of the orbit; (2) In general, the heading of the space- ship in orbit is continually changing. But what is the proper heading to make the plane of the orbit pass through the landing site? The answer to (1 ) is, literally, roundabout. If the plane change is very great, it will save fuel to first do a Hohmann transfer to a higher altitude so that the spaceship's veloc- ity will be lower, before changing the plane of the orbit. Then come back down on another elliptical orbit to a low altitude over the target landing site. In answer to (2), there are two planes that the spaceship's orbit can be in, that also pass through the target site, where the heading does not change: the equator, and the Greenwich meridian. If we approach the target site along the equator or along the Greenwich meridian, there is no problem of constantly changing headings. Note that any free-fall orbit is planar (that is, flat), and that the plane of the orbit always passes through the center of the primary. Therefore the orbit's path on the surface of the primary is always a great circle. (A great circle is formed by the inter- section of the primary's surface with a plane passing through the center of the primary.) It passes over the equator twice for each complete orbit, and over the Greenwich meridian (or its extension, position angle = ±1 80°) twice for each complete orbit. Program Organization To squeeze this rather complex program into the 224 program steps available in the Hewlett-Packard HP-67/97, considerable use was made of subroutines, as shown in pro- gram listing 1. Note that subroutines may have two entry points. To translate this program to other systems, remember that the HP-67/97 uses RPN (reverse Polish nota- tion) on a 4 register stack. Therefore func- tion symbols follow data entry, the same as though you were doing the calculation manually. Flags and conditional tests skip the following program step if the test is false. The more important equations used for calculating the random initialization, the Text continued on page 108. 102 April 1979 © BYTE Publications Inc A 32-page Coloring Book about Computers written and illustrated by Theodore Cohen and Jacqueline Bray The Magic Machine is an introduction to computing for young children. The drawings and text show how two children find uses for a computer in their home. The Magic Machine will help the child in your life to understand some of the functions of computers in his world, and to better understand the importance of computing in your world. The Magic Machine comes COMPLETE WITH CRAYONS, and is lots of fun to color and read. ISBN 0-931718-17-1 $2jOO Buy this book at your favorite computer book store or order direct from BYTE BOOKS. Add 75 V r = Spaceship's velocity after rocket burn, km/s Pg = P| + V r t/2 V, and V f » Initial and final ship's velocity, km/s V exh = Rocket exhaust velocity, 4 km/s g = C g /R 2 M| and M f = Initial and final ship's mass, kg V f = V r - gt p g = Position of spaceship for gravity calculation P f = Pj + (V; + V f )t/2 P, and P f = Initial and final ship's position t = Segment duration time, seconds After Impact with Mars' Surface: g = Gravity acceleration, 3.74 m/s 2 at surface V imp = V f + c / d < V i- V f> imp = Impact velocity on Mars' surface, km/s c/d = Interpolation ratio P imp = Pf + c/d(P i -P f ) P. imp " Spaceship's impact position on Mars' surface Distance = 59.22(cos~ 1 ({cos New Velocity 6 z / S5 S6 \ Initial | Velocity b c Update Position Rectangular to Spherical 6 Skip Interpolation 7 Mars Surface Impact 7 Ship's Mass S7 Ship's Mass d Recall Velocity 8 Data Shift Loop 8 Last Altitude S8 - e - 9 Out of Fuel 9 1 0,000 A Segment Time, t B t/2 S9 Flags On, Store New Position C - 1 On, Out of Fuel D Gravity Constant 2 - E Mars' Radius 3 - I Loop Count 106 April 1979 ©BYTE Publications Inc COmPUTER SOFTWARE For Homeowners, Businessmen, Engineers, Hobbyists, Doctors, Lawyers, Men and Women We have been In business for over nine years building a reputa- tion 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, simulta- neous 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. Vol. Vol. II Business* Personal Bookkeeping Programs Bond Building Compound Cyclic Decision 1 Decision 2 Depreciation Efficient Flow Installment Interest Investments Mortgage Optimize Order Pert Tree Rate Return 1 Return 2 Schedule 1 Games & Binomial Beam Pictures Chl-Sq. Conv Coelt Filter Animals Four Confidence 1 Fit Astronaut Confidence 2 Integration 1 Bagel Correlations Integration 2 Bio Cycle Curve Intensity Cannons Differences Lola Checkers Dual Plot Macro Craps Exp-Dlstrl Max. Mln. Dogfight Least Squares Navald Paired Optical Judy Plot Planet Line Up Plotpts PSD Pony Polynomial Fit Randt Regression SlaM Rand 2 Sky Diver Solve Tank Teach Me Stat 2 T-Dtstrlbutlon Sphere Than Stars Unpaired Track Variance 1 Triangle Variance 2 Variable Linus XY Vector Ms. Santa APPENDIX A Nixon Noel Noel Nude Peace Policeman Santa's Sleigh Snoopy Virgin Vol. Ill Billing Inventory Payroll Risk Schedule 2 Shipping Stocks Swflch • Virtually Machine Independent - these programs are writ- ten 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 Vol- ume V which gives conversion algorithms for 19 different Basic's; thafs right, just look it up and make the substitution for your particular version. If you would like to convert your favorite program Into 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 through V would be useable, how- ever they should execute in only 8K of user RAM. 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. Maintains Company accounts and generates financial reports. Includes routines for Pyrl, Inv. Depr, A/R, A/R Designed to challenge the average player, fairly comprehensive. Great fun for all, offers a unique opportunity for beginners In need of an opponent. For Doctors and Dentists alike, a complete patient billing system which also permits the maintaining of a patient history record. Wordprocesslng for lawyers, publishers, writers, etc. Wife, store, and change from rough draft to final copy In a variety of formats. Disk utility program with memory testing. Taxpayers return, Itemized deductions or standard Reconciles bank statements Balances your checkbook Computes real cost on bank financed Items; cars, boats, etc. Deprec 2 Computes depreciation, 4 methods, any time period APPENDIX C - FAVORITE PROGRAM CONVERSIONS Vol. IV Vol. V Vol. VI Bingo Andy Cap Ledger Bonds Baseball Bull Compare Enterprise Football Confld 10 Descrlp Vol. VII Funds 1 Differ Chess Funds 2 Engine Go-Moku Fourier Jack Horse Life Loans Integers Logic Medbll Mazes Playboy Poker Primes Popul Profits Probal Quadrac Wdproc Qublc Red Baron Rates Regression 2 Retire Road Runner Utility Savings Roulette SBA Santa Vol. VIII Tlc-Tac-Toe Stat 10 Stat 11 Steel 1040-Tax Top Balance Vary _. . Xmas APPENDIX B lnst1o78 Vol. I - $24.95 Bookkeeping Games Pictures Vol. II - $24.95 Math/Englneerlng Plotting/Statistics Basic Statement Def. Vol. Ill - $39.95 Advanced Business Billing, Inventory Investments Payroll Vol. IV - $9.95 General Purpose Vol. V - $9.95 Experimenter's Program Vol. VI - $49.95 Mini-Ledger Vol. VII - $39.95 Professional Programs Vol. VIII - $19.95 Homeowner's Programs AVAILABLE AT MOST COMPUTER STORES Master Charge and Bank Americard accepted. Our Software Is copyrighted and may not be reproduced or sold. Add $1.50 per volume handling, all domestic shipments sent U.PS. except APO and PO. Box which go parcel post. Foreign orders add $8.00/volume for air shipment and make payable In U.S. dollars only O SCIENTIFIC RESEARCH ^^^ RO. Box 490099-B Key Biscayne, FL 33149 Phone orders call 800-327-6543 Information - (305) 361-1153 BYTE April 1979 107 Circle 53 on inquiry card. tfc^ 1 COMPUTER AGE, INC. Business Systems Division is offering OSBORNE'S quality software packages, written in CBASIC, for immediate delivery PAYROLL WITH COST ACCOUNTING ACCOUNTS RECEIVABLE AND ACCOUNTS PAYABLE GENERAL LEDGER 8" CPM diskette 5" North Star CPM diskette also: CPM CBASIC 5" or 8" £85.00 $85.00 $1 45.00 $ 95.00 Other systems software also available Complete turn-key Business Systems available in- cluding: Auto-Scribe Word Processing System $7595.00 Bookkeeper Client Write-up System $6895.00 Integrated Business System of G/L, A/P, A/B, Payroll, Inventory $5995.00 Other systems to be available soon. Custom programming services. Computer Age, Inc. 1308 N. Federal Hwy. Pompano Beach, FL 33062 [305] 946-4999 computer mart of new jersey computer mort of Pennsylvania the microcomputer people® Computers don't moke a computer store, PEOPLE do. Our people hove been involved with microcomputers since day one. We offer experience and expertise unparalleled in the microcomputer industry. Whether you ore in the market for o complete system, peripherals, custom software, service, or just some friendly advice; there simply is no other place to go. 550D»KolbPlk. King of Prussia. PA 1940S (2)5)365-2380 Text continued from page 102: spaceship's trajectory, and for interpolating landing conditions are given in table 3. The second equation on table 3 uses the method of direction cosines to set a horizontal orbit for any spaceship position. Many systems do not have rectangular-to-polar and polar-to- rectangular functions; these may be per- formed using software functions or sub- routines, with the equations given in table 4. The use of storage registers, labels, and flags in the program is shown in table 5. The program operation is shown most clearly in figure 2. At the beginning of cal- culations for each segment, the same posi- tion, velocity, and fuel data are in both the primary and the secondary registers. During the rocket burn and free-fall cal- culations, only the data in the primary registers is progressively updated. After all trajectory calculations for the segment have been made, the secondary registers still contain the initial segment data, while the primary registers now contain the final segment data. Then there is a test for Mars impact during the segment; if impact has occurred, initial and final segment data are used to interpolate impact status; if impact has not occurred, primary register data is copied into the secondary registers in preparation for calculation of the next segment. If the program is still in a loop of free-fall segment calculations, the next segment is calculated; otherwise, the current status data is displayed and the program halts. The impact interpolation method is shown in figure 3. The calculated impact- to-target distance is correct only for the hemisphere of Mars that is centered upon the designated target site. If the landing is within a square about 240 meters on a side centered upon the designated target site, roundoff in the cosine function causes a calculated miss distance of 0. If you are this close, Mars' surface may be considered as flat, and a simpler alternate miss dis- tance calculation is used. Conclusions This program may be considered as primarily a game program, or as primarily a celestial mechanics simulation program. In either case, as you learn how to control the spaceship for better landings using less fuel, you will also be learning more about the intuitive "feel" of celestial mechanics, and will gain a greater appreciation of some of the problems of space flight. Watch that fuel gauge, and happy landings!" 1 08 April 1979 © BYTE Publications Inc Circle 66 on inquiry card. At last.. .get the power of the APL language on Z80- based microcomputers Write finished applications software in a fraction of the time you'd need to write similar programs in BASIC, FORTRAN, or COBOL APL is one of the most concise, powerful prog- ramming languages, but until now its use was limited to large mainframe computers because the language occupied so much memory. APL has been used by some companies with very large computers since 1966, to save countless costly hours of program preparation. Now Vanguard Systems Corporation has implemented this potent computer language to run on Z80 micro- processors. APL/Z80™ is useful, not only for mathematics and engineering applications, but also for text pro- cessing and other business applications. It's easy to learn, quick to write. APL/Z80 helps you develop functional software, and debug it, in about one-fifth the time it takes you to program equivalent functions in BASIC, FORTRAN, or COBOL APL/Z80 lets you focus on the problem you want to solve, rather than on the programming language you're using. Your choice; one or many In one line of code, APL often does what other languages require many lines to do. We haven't room here to show side-by-side comparisons of equivalent programs in APL, BASIC, FORTRAN, and COBOL. The other languages take too much space. But we can show you some sample APL programs. Test your current language yourself by writing an equivalent program for each example here. You'll quickly see the time advantages APL/Z80 offers. Example This APL/Z80 expression inputs a list of values (list B), computes the average of all items in the list, then prints the average: d«-( + /b) ipB+n In other languages, this expression may require at least one loop and perhaps 10 statements. Example This APL/Z80 expression inputs a list of values (list A), sorts the list from lowest to highest values, and prints out all values in the list A in ascending order: In other languages, this expression usually takes two loops and 15 to 20 statements. Example This APL/Z80 function computes the mean, vari- ant, and standard deviation for a list called X: In other languages, a program equivalent to this can be quite cumbersome. When you try writing one, you'll find yourself wishing you had APL/Z80 already. Don't let the unusual symbols in APL/Z80 worry you. APL has so many complete functions built into the language itself, there aren't enough letters in the English alphabet to give every function a unique single-character name. Of course, APL/Z80 could name each function with four or five letters, as BASIC does, but that rapidly eats up memory. Besides, once you learn a language, you start using abbrevia- tions anyway. APL/Z80 lets you use abbreviations from the very beginning, saving memory space both in your head and in your machine. It has taken more than 2 years of concentrated work to produce APL/Z80, but it gives you much of the power of APL on a large mainframe, for a fraction of the cost. APL/Z80 can handle not only shared variables, but also arrays of up to 8 dimensions. Whether you're an engineer, an educator, or a businessman, Vanguard Systems Corporation brings you the full power of APL at a price you can afford. Now you can enjoy the privacy and convenience of Circle 380 on inquiry card. Check these APL/Z80 features: • up to 27k byte active workspace on systems using CP/M*, or Digital Group systems using DISKMON • system variables, execute, & format are implemented • disk workspace and copy object library • shared variables • arrays up to 8 dimensions • dynamic execution of system commands • auxiliary processor for interfacing I/O ports • auxiliary processor for indexed file systems • canonical representation, fix • latent expression • can boot directly into application program from system power-on. your own low-cost APL microcomputer, right on your desktop. Software only, or hardware/software together If you need both hardware and software, order our APL/DTC™for only $6495. This is a complete APL/Z80 hardware/software configuration with 26k usable active APL workspace, dual quad-density mini- disk drives, and video console. Because each APL/DTC is custom-assembled, your unit will be shipped 30 to 60 days after we receive your order. Local main- tenance on the hardware is available in major metro- politan areas. Write or call us for more details on machine specifications, If you already own any Z80-based computer with CP/M* disk operating system, or a Digital Group system with DISKMON, you can get APL/Z80 on your machine for only $350. This includes the end-user software license, object code floppy disk, and complete documentation. If you want to read the documen- tation before ordering the complete set, our user's manual is available separately at $25 per copy. We can ship your order now! At Vanguard Systems, we're ready to ship your APL/Z80™ license/disk/documentation package or user's manual today. We have them in stock for immediate delivery. Act now to begin saving hours and headaches by developing powerful, precise appli- cations programs in APL/Z80. Mark the items you need and mail the coupon today with your check, money order, or VISA/MasterCharge information. You'll be glad you did. "Trademark of Digital Research Please rush the items ordered below. I understand the software license for APL/Z80™ covers one machine for one end-user and includes a non-disclosure agreement to protect Vanguard Systems Corporation's propiietary rights. Prices and specifications subject to change without notice. Complete APL/Z80™Software Packages include end-user limited license, object code disk, and documentation manual: □ for CP/M'" disk operating system, $350 specify version (check one) □ for serial ASCII APL terminal □ for 64-char. video display (Vect. Graph., Proc. Tech, or compatible) □ for 80-char. video display (compatible w/Vect. Graph. & similar boards) □ for Digital Group DISKMON operating system. $350 Please describe your disk to be sure you get the correct object codedisk for your machine (check one box in each column) SIZE 5" floppy 8" floppy DENSITY □ single □ double □ quadruple FORMAT □ soft-sectored ! □ 0SI □ Micropolis □ North Star compatible Accessories □ APL Video Character Generator ROM, $25 (directly replaces MCM-6571-A to givetrue APL characters) D APL/ASCII Character Generator Board. $89.95, for Vector Graphic, Processor Te- chnology, & similar boards APL/Z80™ User's Manual alone □ $25 APL/DTC™Hardware/Software Unit □ A complete machine/software configura- tion. Includes CPU, dual quad-density mini-disk drives, video terminal, APL char- acter generator, end-user limited license for software, object code disk, and docu- mentation. $6495, shipped freight collect FOB San Antonio. NOTE. Texas residents must add 5.5% sales tax to all prices. We ship UPS, so P.O. box address must give phone number. International customers should write for details on shipping rates & requirements before ordering. Enclosed is my check for $ OR Charge to. □ MasterCharge P Visa Ship to. Name Address City Card :: Signature. exp. date State _ Phone . — Zip. YvNquAiid SysTEMS Coup. ,512) 828-0554 6812 San Pedro San Antonio, TX 78216 I BYTE April 1979 109 The Standard Data Encryption Algorithm Part 2: Implementing the Algorithm Robert V Meushaw 4188 Brittany Dr EllicottCity MD 21043 Part 1 of this article described the five basic functions which must be performed to implement the Standard Data Encryption Algorithm: permutation operations, table lookup, circular rotation, byte exchange, and modulo 2 addition. Of course, there are many iterations of these functions in the encryption and de- cryption process. Design Approach When I began the design, I knew that there were many possible approaches. How- ever, I also knew that the one hard con- straint I faced was the amount of memory available on the basic KIM-1 computer. This constraint was the determining factor in the design, and, as a consequence, in the efficiency and speed of the implementation. In order to determine how much memory I would have for the program, I began to estimate the amount of storage I would need to hold all of the tables I needed. My pre- liminary estimate was that for each entry in each permutation table I would need one byte (I actually needed slightly more, as you will see). This assumption meant that I would need 312 bytes — almost one third of the memory available to me. I next looked at the Select S1 thru S8 function. There are eight separate tables with 64 entries each. However, since each table entry required only four bits instead of eight (the entries range from hexadecimal to F), I knew that if I was clever I could get away with half a byte per entry. I would still need 256 bytes for these tables, of course. So before I even started on the pro- gram, one half my available memory was committed. The impact of the above results became clear when I looked at the memory require- ments for subkeys K1 thru K16. Each sub- key would require 6 to 8 bytes (depending on how data was represented), giving a pos- sible total storage requirement of 128 bytes. Since I would be left with only about 128 bytes for the program (and I didn't think that was enough) I made the decision to generate each subkey as I needed it. Module Design Difficulties The actual design of the individual mod- ules went through several iterations. My primary problem was that the optimization of the overall program meant that the de- sign of each module was intimately involved with the design of other modules— not usually a good design approach. A revision of any module usually resulted in several iterations of changes to other modules. An example of this coupling is the following: • efficient design of the Select SI thru S8 module requires inputs to be avail- able as 8 bytes of 6 bits each. • in order to generate the input as required above, the subkey and the results of the Select E permutation must be represented as 8 bytes of 6 bits each. • the design of the module which per- formed the permutation function had to be modified and reoptimized to allow for less than 8 bits per byte in the result. 110 April 1979 ©BYTE Publications Inc I am sure that many readers have en- countered the same type of difficulty in developing relatively complex software which must be optimized for speed, space, or both. It was a frustrating experience be- cause of the many revisions required. Data Movement One of the first tasks in designing this program, or any program, was the definition of the data structures and the data transfers which will occur. The basic data elements to be manipulated are: 8 bytes of plaintext input (PT) 8 bytes of key (KEY) 8 bytes of subkey (SUBKEY) 8 bytes for Ci and Di (CD) 8 bytes of storage for intermediate results (TEMP). Text continued on page 114. PT Key CD PTright 5 Temp (+) Subkey 6 Subkey 7 Temp 8 PTIeft © Temp 9 PT Initial permutation Permuted Ch 3ice 1 Permuted Choice 2 Select E Select S1 thru S8 Permute P — ► Inverse initial ► permutation PT CD Subkey Temp Subkey Temp Temp PTIeft PT Table 8: Data transformations and movement used in software imple- mentation of the Standard Data Encryption Algorithm. This table does not include the exchange of PTIeft and PTright used in block transformation. PERMUTED CHOICE ONE PERMUTED CHOICE TWO SELECT SI THRU S8 | PT RIGHT I TEMP SUBKEY TEMP PERMUTE P I I TEMP PT INITIAL AND INVERSE INITIAL PERMUTATION | PT ]L (8 (8 GROUPS OF 6 BITS EACH) Ri f (R, K) n: :: GROUPS OF 6 BITS EACH) GROUPS OF 6 BITS EACH) Table 9: Data format and data movement used in the software implementation of the Standard Data En- cryption Algorithm. April 1979 © BYTE Publications Inc 111 Solve Problems By Simulation with simulations of many con- cepts, including • wave motion • flying objects • artificial intelligence • electronic circuits • and robot motion! //ilwirimlVYy SIMULATION is a collection of the best articles from BYTE Magazine on this useful computer technique, plus exciting new material on the subject. SIMULATION is the second volume in the Programming Techniques series on the art and science of computer programming from BYTE BOOKS. Editor Blaise W.Liffick's selection of material furnishes not only background information from which the personal computer user is able to write and maintain simulation programs, but also actual programs for simulating many situations. Theoretical and practical applications of this technique are explored in articles dealing with specific aspects of simulation. Learn how to find solutions to your problems through SIMULATION. ISBN 0-931718-13-9 $6. • II Buy this book at your favorite computer book store or order direct from BYTE BOOKS. Add 50$ per book for postage and handling BITE BOONS "BOOKS OF INTEREST TO COMPUTER PEOPLE" 70 Main Street, Peterborough, New Hampshire 03458 112 BYTEApriM979 Circle 36 on inquiry card. "Efficiency is in. Extravagance is out: —vector Graphic That's why when you look for top-quality, low-cost, add-on- memory you should always look for Vector Graphic on your memory boards. It means they stand behind every product through over 200 Vector Graphic dealers. Vector Graphic is the only one who designs in so much quality for so little cost. The 48K Dynamic RAM memory board is used in the Vector MZ microcomputer, although any Z-80/S-100 computer system can take advantage of the problem-free transparent refresh offered in this high-quality, low-cost add-on-memory. It's no secret, Vector Graphic is state-of-the-art 16K-bit dynamic boards. And each board is thermally cycled, aged and continuously read-write tested over 400 million error-free cycles. The new 48K board consumes less than 4 watts total power and provides the same superior design and reliability found in all products from Vector Graphic. Remember, it's memory that works. carefully assembling RAMs into 48K RAM Dynamic Memory 5695 (suggested U.S. retail price) Dealer inquiries invited □ Send me the name of the nearest dealer □ Send more information Name Company Address— City/State/Zip. VECtCR G=tAPHC inc. 31364 Via Colinas, Westlake Village, CA 91361, (213) 991-2302 Circle 383 on inquiry card. BYTE April 1979 113 Text continued from page 111: Table 8 depicts the data transformations and data transfers that occur. The first item shows that the plaintext data is permuted by the initial permutation and stored in the bytes originally occupied by the plaintext data. Figure 7: Flowchart of module which performs the per- mutation function TFORM. ANY MORE BITS Required to I Ifill current r~ ■ HOLD I HAVE ALL | | ELEMENTS OF I PERMUTATION r—- I ARRAY BEEN I |jDONE c STORE CORRECT NUMBER OF BITS / BYTE FOR RESULT IN BITCNT FETCH PERMUTATION ARRAY ELEMENT PUT SOURCE BYTE NUMBER IN Y PUT MASK NUMBER IN X FETCH PROPER SOURCE BYTE ISOLATE PROPER BIT USING MASK SHIFT ISOLATED BIT INTO HOLD DECREMENT INDEX TO PERMUTATION ARRAY ELEMENT PUSH HOLD CONTENTS ON STACK PULL WORDS FROM STACK AND STORE AT PROPER DESTINATION LOCATION For each of the transformations which occur, table 9 shows the format of both the data input and the results of the operation. Each rectangular box represents one byte. As an example, consider the transformation Permuted Choice 2 (PC-2). The input is Ci (28 bits) and Di (28 bits) and the output is stored as 8 blocks of 6 bits each. The label CD (to the left) shows the source data, and subkey shows the destination of the results of the permutation. Permutation Module: TFORM At this point l can begin the detailed ex- planation of the major modules. The module where most of the work is done (and where most of the time is spent) is TFORM. Steps 1 , 2, 3, 4, 7 and 9 of table 8 depict the per- mutation functions performed. The opera- tion of this module is similar in each case; only the input parameters are different. The primary input parameters to TFORM are: source data address, destinaiion address tor results, and permutation table address. For example, to perform the permutation shown in step 4 of table 8, TFORM would get the source address of PT (right), the destination address of TEMP, and the table address of the Select E permutation. A general flowchart of TFORM is shown in figure 7. It provides a top level description of the operation for those readers who want to program the function on different machines. The first task is to update the input pa- rameters used by the routine. In addition to the parameters described above, the routine also needs the number of elements in the permutation table (PCOUNT), the number of bytes in the result of the permutation (WCOUNT), and the number of bits in each result byte (BCOUNT). Here's how the permutation is done. The first element of the permutation table is obtained. This element tells which bit of the input is the first bit of the result, as follows' referring to figure 8, bits 0, 1 and 2 refer to the byte of the source data to be used; bits 3, 4, 5 and 6 refer to a mask number to be used to isolate the proper bit. At this point, an example might help. Figure 9 shows how the first bit of Permute P is obtained. The first bit of the result is bit 16 of the input — this corresponds to byte 1 of the input 7 6 5 4 3 2 I MASK NUMBER BYTE NUMBER ( RETURN J Figure 8: Format of elements of permuta- tion table. 114 April 1979 ©BYTE Publications Inc 2« ^^~P ■■■- JUST WRAP TOOL WITH \^jl^mmm-mni . .s 0NE M FT R0LL 0F W , RE COLOR PART NO. U.S. LIST PRICE BLUE JW-1-B 514.95 WHITE JW-1-W 14.95 YELLOW JW-1-Y 14.95 RED JW-1-R 14.95 M REPLACEMENT ROLL OF WIRE 50 FT. BLUE RJWB 2.98 WHITE R-JW-W 2.98 YELLOW R-JW-Y 2.98 RED R-JW-R 2.98 WHY CUT? WHY STRIP? WHY SLIT? WHY HOT ■ AWG 30 Wire .025" Square Posts Daisy Chain or Point To Point No Stripping or Slitting Required ...JUST WRAP tm.... Built In Cut Off Easy Loading of Wire Available Wire Colors: Blue, White, Red & Yellow i £ DAISY CHAIN POINT TO POINT OK MACHINE & TOOL CORPORATION 3455 CONNER ST., BRONX, N.Y. 10475 (212) 994-6600/TELEX 125091 •MINIMUM BILLING $25.00 /ADD SHIPPING CHARGE $2.00/ NEW YORK CITY / STATE RESIDENTS ADD APPLICABLE TAX. Circle 286 on inquiry card. BYTE April 1979 ' 115 24 25 © FIRST ELEMENT OF PERMUTE P XI OOOOOI INDEX TO BYTE I SOURCE DATA FOR PERMUTE P BYTE X X X X X X X © INDEX TO MASK 8 I 00000 00© BIT 16 ISOLATED ADD FF i i i i i i i i CARRY ' 1 © X X X X X X X X BIT ( ;arr r ' r X X X X X X X X © SHIFT BIT 16 INTO RESULT BYTE BYTE 3 After completion of all bit permutation op- erations using all table elements, the result bytes are taken from the stack and placed at the proper destination address. This routine, as well as others, makes ex- tensive use of the 6502 indirect, indexed mode of addressing. It is a particularly powerful technique for sequencing through many tables, as this program does. Before leaving the description of this routine, I should explain one problem I had with the permutation table for Permuted Choice 1. For the results of each permuta- tion except Permuted Choice 1, there are either 6 or 8 bits in each byte. Table 9 shows that two bytes of the result have only 4 bits. To achieve consistency in the code for TFORM, I added eight elements to the per- mutation table of Permuted Choice 1. They force these extra bits to 0, using mask 0, and allow all bytes of the result to have eight bits. Select SI thru S8 Module Figure 9: Example of per- mutation operation being used to obtain first bit of Permute P result. ANDed with mask 8. Once the bit is iso- lated, it is forced into the carry bit by first clearing the carry bit and then adding hexa- decimal FF. The value of the carry bit is then shifted into the result byte. The process described above is continued for all the elements of the permutation table. The number of bits in each result byte is controlled by BCOUNT. Each result byte is temporarily stored on the program stack. As described before, the Select SI thru S8 function transforms groups of six bits in- to groups of four bits according to tables S1 thru S8. Table 9 shows that each group of six bits is contained in one byte of source data. Figure 10 shows the organization of the data for the tables S1 thru S8. In order to transform each 6 bit source group into the proper 4 bit result group, you must generate an index into the segment containing the S1 thru S8 data. As seen in Figure 10: Table organiza- tion for Select SI through S8 data. SI, S2 INDEX S3, S4 INDEX S5, S6 INDEX S7, S8 INDEX OOXXXXX X I X X X X X X X X X X X X I I X X X X X X SI DATA S2 DATA S3 DATA S4 DATA S5 DATA S6 DATA S7 DATA S8 DATA 64 BYTES (SEGMENT 0) 64 BYTES (SEGMENT I) 64 BYTES (SEGMENT 2) 64 BYTES (SEGMENT 3) HIGH LOW NYBBLE NYBBLE 1 1 6 April 1979 © BYTE Publications Inc Some plain words about Word Processing Microtronix introduces the "Turnkey" Word Processing Package for $2150 Simply put, Word Processing is a system that treats text as a steady stream of characters. Think of it as a form of paperless typing that enables you to com- pose, edit, and store large amounts of text. Just punch in the copy, edit and print. It's really that simple. Word Processing: The Keyword is Flexibility. Paperwork: It's expensive not only in time and money, but in space as well. Cutting through the wads of paperwork is what Word Processing is all about. • Correspondence Direct mail, questionnaires, press releases, sales pro- posals, and announcements. • Academic Graduate theses, literary manuscripts, and research notes. • Legal Documents Leases, wills, and briefs. • Accounting Ledger and journal entries, billings and invoices, collec- tion letters, and monthly state- ments. Type that standard form and save for future use on audio cassette (included) or optional disc drive. Add varable information and with the press of a button your final copy is printed. The $8000.00 word Processing Package at a fraction of the cost. 'that You've read about Lanier Word Processing, and IBM's Mag Card Unit. Now think practical. Here's a system that performs on a par with the "biggies" " is tailored to your budget. The System Radio Shack TRS-80 Level I with 16K memory. Serviceable at any local Radio Shack Store . . $799 Anderson-Jacobson 841 Serial Printer. The "State of the Art" bidirectional terminal containing a heavy duty IBM 745 Selectric. An excellent "off- line" typewriter as well $1 195.00 "The Electric Pencil" - Software. Designed for the TRS-80. Features include correction, insertion and deletion of letters, words, lines, and paragraphs. Contains user defined output format. Add $50. for disk base version $99.95 TRS-232 Interface - To connect your TRS-80 to the Anderson-Jacobson 841. No expansion interface needed $49.95 Pick up the phone and call our toll-free number. Talk to us about options. We can adapt a Word Pro- cessing Package to your present system. OtherEqmpmen^^^ Special Sale on Printers: Save $50 to $150 Integral Data IP/125 $749 IP/225 Tractor $899 Anadex DP 8000 Bi-directional Tractor. . $995 Texas Inst. 1 5" Bi-directional Tractor . . . $1895 Micropolis Disk Drive for the TRS-80 1027-1 Expands storage capacity to 89K or ap- proximately 15,000 words per diskette $499 1037-11 Double density dual unit. 77 tracks 400 K $1193 Modems Novation (Radio Shack) "Cat" send/receive with free software $199.95 Discounts on TRS-80 Hardware ExtensiveSoftware^vgilgble^^ Write for our free catalog. Major credit cards ac- cepted. Toll Free Microline 800-532-4550 In Penna. and Can(2 15)665-1 1 12 Microtronix P.O. Box Q Phila. Pa. 19105 microtronix Microtronix Price Match Policy We will match any currently advertised price providing the item is in stock. Shipping/handling: Soitware - $2.50 initial chg. $ .50 each additional item. Add $2.00 lor Air Wee ™ Mm SS iVtatSf jtt! AK, AR, CA. FL. GA, HI ID, IL. IN, IA. KS, KY, MI, MN, MT, NE, NV, NM, ND, OR, TN, TX, UT, WA, WI, WY. Hardware-call tor details. Pa. res. add 6%. All products subject to availability and guaranteed by the manulacturer. Circle 226 on inquiry card. BYTE April 1979 117 INPUT TO SI - S8 > SI DATA S2 DATA 1 1 b, b 2 b 3 b 4 b 5 b 6 INDEX INTO SI-S8 TABLE *■ i y »■ *4 "3 d 2 d l c 4 c 3 c 2 c. DATA DATA DATA AND I I I I Figure 11: Example of the process which performs the mapping function S8. oooo c 4 c 3 c 2 c ( MASK HIGH NYBBLE DATA TRANSFORMED BY S8 figure 10, the index into each individual table is controlled by bits 6 and 7 of the index byte. Let's examine how to map the last byte of the source data using S8. Figure 1 1 shows that the low order 6 bits from the source byte are used to select a byte from the 64 bytes in the S7, S8 segment. To access the correct 64 byte segment (S7, S8) we force the two high order bits to 11. The resulting byte is used as an index into the table. If you mask the high 4 bit word of the ac- cessed byte (which also contains S7 data), the proper S8 data is selected. Of course, the table data must be properly ordered within S8, but that's fairly easy. In order to carry out the other transfor- mations, you proceed in a similar fashion. The only changes would be the two high order bits used to index the proper segment of the table, and whether you mask the low or high nybble. A general flowchart of this module is pro- vided in figure 1 2. ROTATE Module As I said before, I decided to generate each subkey as I needed it. To generate sub- keys K 1 thru K 1g , it is necessary to perform left rotations of Ci and Di and then perform Permuted Choice 2 as shown in part 1. The number of left shifts is determined by using the iteration count, LOOPCT, as an in- dex into the table SHIFTM. This module is relatively straightforward except for the problem caused by the half byte boundary shown in figure 13. A second problem arises in the case of de- cryption. In this case, the subkeys must be generated in reverse order (ie: K16 thru K1). In order to generate them properly, the rota- tion of Ci and Di is done by right shifting and by using the SHIFTM table in reverse sequence and by performing Permuted Choice 2 before the right rotation is done. This may seem strange, but I gave it a great deal of thought to make sure it was right. It is the simplest way that I could devise to do the decryption correctly, and it works! What's Left? The only remaining module is the one which swaps two groups of four bytes each. This module is called SWAP, and it performs the swap function and block transform function discussed in Part 1. Put Them All Together The main module, DES is really a master controller for the other modules. It initial- izes the parameters used by TFORM, per- forms the appropriate modulo 2 additions shown in table 8, makes sure that subkeys are properly generated during encryption and decryption, and maintains the iteration count. Figure 14 is a general flowchart for this module. 118 April 1979 © BYTE Publications Inc WHEN THE FUN AND GAMES ARE OVER, y . u shouidn * have to gamble on your microcomputer's ability to get down to business. You won't with Outpost 11. It's a serious unit with quality components: Cherry, full ASCII key- board; Setchell-Carlson CRT, 24 x 80 characters, 7x9 dot matrix; inverse, grey, blink; form generation characters; Shugart floppy disk drives; M6800 CPU; 32 k bytes RAM; glass-epoxy PC boards, manufactured and tested to Mil Q 9858- A; entire unit 1 00-hour burn in tested; IC's tested to Mil P 883; I/O interrupt prioritizing structure; soft- sectored disk format; business BASIC; self diagnostics; software development pack- ages; etc; etc; etc. All this and more at only $2,595, suggested retail price. See Outpost 1 1 at a dealer listed or write us for the name of a dealer near you. 129?3§) Corporation, 4301 Poche Court West, New Orleans, La. 70129 THE SERIOUS MICROCOMPUTER BUT/7B5TH * / Dealers: DALLAS, Eclectic Corp. - 214-358-1307 • GREENVILLE SC, Plus, Inc. - 803- 242-9090 • HOUSTON , Eclectic Corp. - 71 3-228-7798 • IDAHO FALLS ID, Great Plains Computer Co.- 208-526-9051 • NEWORLEANS.TANO- 504-254-3500 • SALT LAKE CITY UT, Home Computer Store — 801-484-6502 • SEATTLE, Empire Electronics — 206-244-5200. Dealer inquiries invited - 504-254-3500. TWX 810-591-5229. Circle 348 on inquiry card. BYTE April 1 979 119 f START J Figure 12: Flowchart of module which per- forms the select SI through S8 mapping function SELECT. SET BITS 6 AND 7 OF SEGMNT TO POINT TO S7 AND S8 DATA SEGMENT SET X REGISTER TO FETCH 8 BYTES FETCH BYTE TO BE MAPPED. CREATE INDEX INTO SELDAT TABLE USING SEGMNT FETCH SELDAT DATA MASK HIGH NYBBLE AND RETAIN FETCH NEXT BYTE TO BE MAPPED. CREATE INDEX INTO SELDAT TABLE USING SEGMNT FETCH SELDAT DATA MASK LOW NYBBLE COMBINE WITH PREVIOUS NYBBLE TO FORM RESULT BYTE PUSH ON STACK PULL 4 BYTES FROM STACK AND STORE IN TEMP (0)- TEMP (3) ( RETURN J 28 BITS ADJUST SEGMNT TO POINT TO NEXT SEGMENT OF SELDAT DECREMENT X TO POINT TO NEXT BYTE TO BE MAPPED. I The only particular point worth noting is that the parameters used by TFORM to perform the proper permutation are stored sequentially in the order used. The order of the information in the table DATA is: Initial Permutation data Permuted Choice 1 data Permuted Choice 2 data — i Select E data Permute P data 16 iterations Figure 13: Rotation of the bits in Ci,Di requires special attention to bit 28 because it is in the middle of a byte. Inverse Initial Permutation data Once the Initial Permutation and Per- muted Choice 1 are performed, the DES routine sequences TFORM thru Permuted Choice 2, Select E, and Permute P, for 16 iterations. Then TFORM performs the inverse Initial Permutation to complete the encrypt or decrypt operation. Using the Program The Standard Data Encryption Algorithm program is written as a subroutine which can be called at hexadecimal address 0176. In order to use the routine, three things must be supplied: mode, plaintext, and key. The mode byte (location 0000) is set to 00 for encryption or FF for decryption. The plain- text is 8 bytes of data (locations 0001 thru 0008) which is to be encrypted or decrypted. The key is eight random bytes provided by you (locations 0009 thru 0010) to control the algorithm. The encrypted (or decrypted) result is returned to locations 0001 thru 0008. A call to DES uses 12 bytes of stack stor- age. If your other programs use the stack, you should take care to avoid overwriting the main routine. Many of the page zero lo- cations used by DES may be used for other purposes between calls. These hexadecimal locations are 001 1 thru 002C and 0038 thru 0040. A memory map of the entire program is shown in figure 15. When the encryption key is loaded, you should make sure that the bits are nearly as random as possible, since it is the random- ness of the key which makes it difficult for an outsider to decrypt the cipher. If you attempt to load ASCII characters as key, it is likely that the most significant bit of each byte will be zero. This will substantially re- duce the strength of the algorithm. An alter- nate way to handle the key is as 16 ASCII characters, with random contents in the four low order bits. The four low order bits of these characters can be compacted to form the eight bytes of key which the algorithm requires. Text continued on page 124. 120 April 1979 ©BYTE Publications Inc 64K bytes of fast, low power dyna- mic RAM. $ 6 9500 32K bytes of faster static RAM. $59500 Both Our UNCommon Dynamic and our UNComrrion Static RAMS have the following features and specifications: • Compatible with: IMSAI, VECTOR, SOL, TDL, MITS, IA, CROMEMCO, NORTH STAR, and most other S-100 systems. • Inputs buffered with 1 LS TTL load. • Outputs are all three state. • Memory selectable and deselectable in 4K increments. • DIP switch selectable addressing. • Phantom selectable on pin 67. • Disc compatible. DMA compatible to 1MHz. • Reliability — all boards are fully tested a. Bus address and control line timing skew. b. Word pattern sensitivity. c. All boards are burned-in. • Full documentation. • Industrial quality design and components. Glass epoxy boards. Silk screened legends. Gold plated edge connectors. All ICs on sockets. • Delivery — Stock to 30 days. • Guaranteed performance for one year on parts and labor. Full refund if returned undamaged within 14 days. Our UNCommon Static RAM Features: Our UNCommon Dynamic RAM Features: • 64K bytes of dynamic RAM with on board transparent refresh. • S-100 interface compatible with crystal controlled timing IN- DEPENDENT of bus orprocessor timing. • No wait states or cycle stealing with 8080 or Z80 to 4MHz. Up to 5MHz with 1 wait state. • 32K bytes of static RAM using 300n Sec low power static RAMS. • No wait states or cycle stealing with 8080, 8085, or Z80 pro- cessors up to 5MHz. • Organized in 8 independently addressable 4K byte increments at 4K boundaries. 1 would like to older the foltowftig imiy Assembled and tested UNCommon memory UNCommon Dynamic RAMS D DM6400 64K RAM - $095™ Q DM4800 48K RAM - $595* D DM3200 32K RAM - $495 " UNCommon Static RAM D 5M3200 32K RAM - $595 Enclosed is a check or money ordet tot ICalil tesidents please add CA sales lax Please Allow 14 days lot checks to cleat bank Thank yon i Please bill my □ BA, □ VISA, or □ MASTERCHARGE account. Card No.: Expiration date: Four digits above name on Masrercharge card: Name Address City Stale Zip Phone MEASUREMENT 867 North Main street Systems &. Controls Oran 3 e. California 9Z668 incorporated Telephone: (714)633-4460 All orcicis -ihippi'd postpaid All orders in U.S. lunds Please .ulcl 10% on .ill orders outside U 5.A.. Canada and Mexico Circle 215 on inquiry card. BYTE April 1979 121 START INITIALIZE TFORM DATA POINTER AND LOOPCOUNT YES _/encrypt \> "^v MODE jS ^0 PERFORM PERMUTED CHOICE TWO ROTATE Ci, Di ROTATE Ci, Di PERFORM PERMUTED CHOICE TWO PERFORM SELECT E MODULUS 2 ADDITION OF SUBKEY AND PERMUTED PT RIGHT PERFORM SELECT SI - S8 PERFORM PERMUTE P MODULO 2 ADDITION f (R,Ki) TO PT LEFT SWAP PT LEFT AND PT RIGHT PERFORM BLOCK TRANSFORMATION PERFORM INVERSE INITIAL PERMUTATION ( END J Figure 14: Flowchart of the main routine for the Standard Data Encryption Algorithm. 122 April 1979 © BYTE Publications Inc P„GE: 0° 001 sT o«i- srC 000100 ORG^"^llSllC „ nF oooiio ° CCBS s ««i* c 00 e. 00012° R ECOBD WW a oooi^ ■ Division. 000140 0K» SECTION- C0RD 32- 0001B0 Ui 2 PRODUCT B c ,l« 000190 « UNIT-S^ E SE CTI0N. &*&%&&% 00 0230 02 «£oesc pic xO ST OCK. 1 T " 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 oooo 0000 oooo 002D 002D 002D 02D VMA>E 00023' 0002*0 0002^0 000260 000210 000280 STOCK CO -OESCRl 1 " CIS 000280 ENTER-f %,C HH/l f «(«>■ ^^ ^^ ^M HM m. >^l 000310 000320 000330 000340 000350 000360 02 02 02 02 02 02 00036° eoU RE D1V1S 00041° °M,-JNPUT. 6W T6R-tT. 000420 « 0R " rt0 VE ^eWr-^ • 000430 DISPL^OR 000440 rnRB ECT-ERR° R ; - ,„. 000450 C0 R \ C CEPT EN ^nn»60 ,- CRT-SI SS ^ssa^iT'n*^ ■ From Micro Focus Ltd - 000560 OlSPl^f ooo580 f s ° CIS COBOL , END OV " ^ iUm t .__ 000460 00041° 000480 000490 000500 000510 000520 000530 _ - rt cAU oon ooib 002F 0030 0036 004D 004E 0065 006F oon 00TD 0083 0089 0091 009P. 009B 009F 001^3 00B4 IS COBOL is the Compact, Interactive, Standard COBOL which offers ir the first time a cost-effective key to full commercial use of micro- computers. It can be used simply and naturally, offers facilities unavailable with other forms of COBOL, and produces efficient code without wasting space. For example, a 32K byte sytem is sufficient to run the compiler or a substantial application program. CIS COBOL contains the most relevant parts of the ANSI 74 standard plus extra facilities to provide a powerful interactive business language. The CIS COBOL Object Pack is available for shipment on IBM compatible diskette to users of a variety of 8080/Z80 based computers running the CP/M* operating system. Dealer and Application Vendor terms are available Now enhanced to version 3 with FORMS utility to generate COBOL source direct from CRT image. Micro Focus offers a CIS COBOL licencing package to OEM's including access to internal docu- mentation and program source plus an Interfacing Kit to enable CIS COBOL to be implemented quickly in the OEM's own hardware and software environment. The CIS COBOL compiler is itself written in COBOL making it self compiling and thereby extremely portable. MICRO FOCUS LTD 58 Acacia Road, London NW 86AG, ENGLAND, UK Telephone 01 722 8843 TLX 28536 Our telephone number in December issue of BYTE was incorrect. * CP/M is a trademark of Digital Research Circle 220 on inquiry card. BYTE April 1979 123 CLC | LDA $00 I STA WORD 1 / STA STA WORD 2 ( WORD 3 ) Initialization STA WORD 8 / 2 bytes 3 cycles LDA SOURCE 1 ) 2 bytes 2 cycles AND $XX ( Basic in line coding to 2 bytes 2 cycles ADC $FF ( permute one bit 2 bytes 5 cycles ROL WORD 1 ) 8 bytes 12 cycles LDA SOURCE 2 total total AND ADC ROL SXX $FF WORD 1 Table 10: 6502 instructions which could be used to in line code the per- mutation function. Fastest time to permute one bit requires 12 cycles and 8 bytes of memory. Key Plain Cipher 7CA110454A1A6E57 01A1D6D039776742 690F5B0D9A26939B 0131D9619DC1376E 5CD54CA83DEF57DA 7A389D10354BD271 07A1133E4AOB2686 0248D43806F67172 868EBB51CAB4599A 3849674C2602319E 51454B582DDF440A 7178876E01F19B2A 04B915BA43FEB5B6 42FD443059577FA2 AF37FB421F8C4095 0113B970FD34F2CE 059B5E0851CF143A 86A560F10EC6D85B 0170F175468FB5E6 0756D8E0774761D2 0CD3DA020021DC09 43297FAD38E373FE 762514B829BF486A EA676B2CB7DB2B7A 07A7137045DA2A16 3BDD1 19049372802 DFD64A815CAF1A0F 04689104C2FD3B2F 26955F6835AF609A 5C513C9C4886C088 37D06BB516CB7546 164D5E404F275232 0A2AEEAE3FF4AB77 1F08260D1AC2465E 6B056E18759F5CCA EF1BF03E5DFA575A 584023641 ABA61 76 004BD6EF091 76062 88BF0DB6D70DEE56 025816164629B007 480D39006EE762F2 A1F9915541020B56 49793EBC79B3258F 437540C8698F3CFA 6FBF1CAFCFFD0556 4FB05E1515AB73A7 072D43A077075292 2F22E49BAB7CA1AC 49E95D6D4CA229BF 02FE55778117F12A 5A6B612CC26CCE4A 018310DC409B26D6 1D9D5C5018F728C2 5F4C038ED12B2E41 1C587F1C13924FEF 305532286D6F295A 63FAC0D034D9F793 '/////////. PAGE O DATA/TABLES ROTATE C AND D ROUTINE SWAP ROUTINE SELECT SI-S8 ROUTINE TFORM PERMUTATION ROUTINE MAIN ROUTINE PROGRAM STACK PERMUTATION TABLES FOR: INITIAL PERMUTATION INVERSE INITIAL PERMUTATION PERMUTED CHOICE TWO PERMUTE P MAPPING TABLES FOR SELECT SI - S8 PERMUTATION TABLE FOR PERMUTED CHOICE ONE 0000 0086 0087 00D8 00D9 KIM RESERVED AREA (OOEF - OOFF ) 0I32 0I33 OI75 0I76 OICB 0200 02FF 0300 03FF Table 11: Sample test words for the Standard Data Encryption Algorithm. Figure 15: Memory map for the Standard Data Encryption Algorithm program. Text continued from page 120: Data encrypted using the Standard Data Encryption Algorithm will be decrypted properly as long as the correct 8 byte bound- aries are maintained. This allows you to in- dependently decrypt 8 byte blocks of data in memory. There are other ways of using the encryption algorithm which require data to be decrypted in the same sequence as it was encrypted. If you are interested in adapt- ing DES to these other techniques, you should refer to textbooks dealing with cryptography. As a final note in using the encryption program, all of the routines, permutation and selection tables, and TFORM input parameter tables (array DATA) may be relocated by altering a small number of address references. Timing Analysis One of my primary objectives in pro- gramming the Standard Data Encryption Algorithm was to determine the efficiency of the 6502 processor in handling a task which requires lots of bit manipulation. In order to determine the efficiency of the implementation, I calculated the approx- 1 24 April 1979 © BYTE Publications Inc At last. A controller you'll never have to throw If you've got a floppy disk controller on your S-100 bus, you've got a big problem. Because when you want to upgrade your system from single to double density, or from single-sided to double-sized, or from 5" to 8" floppy, you'll have to throw that old controller off the bus. But not any more you don't. Because at DATASPEED, we've developed one controller that works with all four kinds of floppy disk drives. And doubles the density, too. Works with all floppy disk drives. Single-sided minifloppys™ Double-sided minis. Single-sided maxis. Even the new double-sided maxis with up to 8 megabytes. This is the only controller in the world that works with all four. So when you buy this controller, and a compatible CP/M™ we're including a free software package that lets you transfer all your files to double density. We call it The Conductor. The DATASPEED Floppy Disk Controller. It handles all your upgrades. It packs in twice as much. And at only $295, it's even the cheapest way to go. That's why this is one controller you'll never have to throw off the bus. And that's why we had to call it The Conductor. Ask for it at your local computer shop or send $295 for immediate delivery. By the way, we have Double-Density CP/M™ for only $100. Complete disk drive systems are available. Write us for more information. Dealer inquiries welcome. And watch our future ads for trade-in offers. DATASPEED, INC., 1302 Noe Street, San Francisco, CA 94131. Handles any upgrade. THE CONDUCTOR ™ When you want to go from single-sided to double-sided drives, this great new controller reads each side automatically. And you can upgrade from 5" to 8" disks just by changing a simple Header socket. Packs in twice the data. Now you can pack double density data on every side of every disk. Because we've designed in a bootstrap PROM that automatically controls any shift from single to double density. And, of course, when you're running double density, you can transfer data in half the time. Circle 88 on inquiry card. Minifloppy is a TM of Shugart Associates. CP/M is a TM of Digital Research. BYTE April 1 979 125 imate number of machine cycles spent in each module during one encryption cycle. The cycle times which I used for each instruction were taken from the data pro- vided by MOS for the 6502. My calcula- tions revealed the following times: DES (Main) Routine - 4300 cycles Rotate - 1 900 cycles Select S1-S8 7500 cycles TFORM - 146000 cycles This indicates that over 90 percent of the time is spent in the module TFORM. These calculations also indicate that the to- tal encryption time is approximately 160 ms; assuming the 1 /us cycle time of the KIM-1. In order to verify these calculations, I timed a loop which performed 256 encryption operations. The observed execution time was 164 ms. Not bad for a rough estimate. Max- imum throughput would be about 390 bps. I next wondered what maximum through- put could be achieved, given unlimited mem- ory. The two most obvious changes to make were to perform subkey generation only once, and to optimize TFORM. Table 10 shows the basic instructions which could be used to code the basic permutation func- tions, such as Permute P in line. It also shows the number of machine cycles re- quired and the number of bytes of memory required. These changes would reduce the Listing 1: The DES program implemented on the basic KIM-1 module. * « jfl * * * * * * * * *********** * ******************** * * * * * MICRO - OATH encryption standard program » * b V * * R 6ERTV. MEUSHAM * * * * < E M T R V 017 6; * ********************************************* * * ■* * * * * * * * * * * * * * MEMORY LOCATIONS 9 08 7 ****** MODE : ** > * : * * * * * * t ENCRYPT/DECRYPT H0OE 8 7 PTL * *000 i PTC LEFT) START Cp 08 7 PTR * $0005 PTCRICHT) START 8 7 KEY * 1 00 09 KEY START 0o8 7 TEMP * t 1 1 TEMPORARY STORAGE 8 7 SUBKEY * root s< SUBKEY START y 7 CD 1 * * 2 1 START OF C< I ) 08 7 CD2 * too J 2 08 7 CD 3 * *o023 8 7 CD 4 * *0024 8 7 CD 5 * tOO 2 5 START OF D < I > 8 7 CD i * r 2 6 08 7 CD 7 * f 0027 8 7 CD i * 1 2 8 0087 LOOFCT * tOO 2? ITERATION COUNT o 8 7 S I T C M T * t 2 A « BITS PER U0RD 8 7 S E M H T * * 2 A DATA POINTER FOR SI- 08 7 HOLD * *002B TEMPORARY STORAGE Listing 1 continued on next page. number of cycles spent in TFORM to about 16900. The time for one encryption cycle would be reduced to about 31 ms, and maxi- mum throughput would increase to 2000 bps. Memory requirements would increase to about 3500 bytes. It is clear that although the 6502 can per- form at a reasonable rate, its instruction set is not well suited to high speed implemen- tation of the Standard Data Encryption Algorithm. If bit test instructions were avail- able, similar to those of the Zilog Z-80, it would theoretically be possible to reduce the time spent in TFORM by 50 percent. It would then make sense to speed up the other routines. I would not be surprised if through- puts of 8,000 to 1 0,000 bps were possible. Conclusions I have demonstrated that the Standard Data Encryption Algorithm can be imple- mented on the basic KIM-1 with reasonable performance. However, it is clear that the instruction sets available for most processors are not well suited to an efficient implemen- tation of the algorithm. It is also clear that the basic functions necessary to perform the algorithm (ie: bit permutations) are not well suited to implementation in software. I have shown that an increase in memory to about 3500 bytes will allow the through- put to be increased from 390 bps to about 2000 bps. I have attempted to present a coherent description of the Standard Data Encryption Algorithm for those readers who may be interested in reprogramming it. Table 11 provides a set of test words to verify your implementation. These test words are part of those available from National Bureau of Standards Special Publication 500-20. The coding of my encryption program is provided in listing 1. For anyone inter- ested in obtaining a KIM compatible cassette with the Standard Data Encryption Algor- ithm program, several driver routines for Teletype and keypad, a shortened version of the program, and complete documenta- tion, send $6 to R Meushaw, 4188 Brittany Dr, Ellicott City MD 21043. REFERENCES Data Encryption Standard, FIPS Publication 46, US Department of Commerce/National Bureau of Standards, 1977. Validating the Correctness of Hardware Imple- mentations of the NBS Data Encryption Standard, NBS Special Publication 500-20, US Department of Commerce/National Bureau of Standards, 1977. Katzan, H, 777e Standard Data Encryption Algo- rithm, Petrocelli Books Inc, New York, 1977. 126 April 1979 ©BYTE Publications Inc 16K BYTES OF MEMORY, SPEECH, ACTION SOUNDS, MUSIC AND COLOR „g| FCC, CSA AND UL APPROVED FREE $300. WORTH OF 14 PROGRAMS INCLUDING EDU-BASIC AND LEVEL 2 BASIC. If you thinking about a Home Computer, make sure it's not just a game Two years ago we wrote a piece on the most startling product of the decade. The first personal computer. It actually brought the miracle of computing power within reach of small businesses. At less than $1000, it was even affordable for home use. That was two years ago. Today, that same unit, and other second and third genera- tion models are still being sold. Enter now Interact's fourth generation American- made personal computer with total sound, color, 16,000 bytes or words of usable memory, and superb ease of handling at hundreds of dollars less than any compar- ably equipped computer. GIANT COMPUTER HARDWARE Beneath its cover is the Intel 8080" micro- processor brain — a powerful logic com- ponent used in computers costing tens of thousands of dollars. Interact loads data up to 5 times faster than most other com- pacts. Its 8080 brain does all of the complex data saving, processing and retrieval chores. All that's left is typing in the data through the 9 inch, 53-key standard type- writer keyboard. WHY IT COSTS LESS Since the unit performs in color, it is de- signed to hook up to any TV antenna ter- minal. If we included a color screen (CRT), we'd have to charge more. Witness the 16K Radio Shack Model. It's only black and white, and with its screen that isn't even a TV, it costs $899.00. Ours, with full sound and color is several hundred dollars less. Interact full sound is generated three ways: There are game action sounds from the microprocessor, tunes within the programs and actual speech and music from any cassette software. In fact, it is the only com- puter able to transmit full sound through a TV. Image resolution is superb. THE MOST EFFICIENT BUSINESS TOOL EVER Interact" comes ready to handle a wide range of business applications. Its Level II Basic, and 16K byte system capacity give you the instruction set and the room to write your own programs for payroll, inven- tory, client records, etc. For accountants, attorneys, doctors, salespeople, and small businesses, it's a lot of computer for very little money. For the enlightened computer expert, our Level II Basic is Interact's version of the Microsoft'" and is equivalent to all Level II programs cur- rently available. The program includes: a super- set of operations in floating point with integer and string arrays, direct memory access, direct statement execution, two character variable names, user definable functions, multi-state- ment lines, editing, scrolling, file management, and more. AN INCOMPARABLE SCHOOL TEACHER Since it can talk, play music and perform in color, Interact is a phenomenal teacher. Circle 42 on inquiry card. That's why High/Scope, an educational research foundation, was commissioned to develop an exclusive Language Arts pro- gram for it. The 8-unit program ranges from Letter Recognition for preschoolers through Word Root, Grammar, Critical Reading and Writing exercises for the 8 to 15 year old. Students listen, take notes and prepare assignments through the com- puter. Similar math and foreign language programs are also being prepared. By com- parison, any one of these courses given by a tutor or commercial school could easily cost as much as the computer itself. IT'S A BRILLIANT MUSIC TEACHER A comprehensive music program and a piano keyboard overlay turn the computer into a perfect pitch maestro. You can prac- tice, write a tune or record. To create a melody, you can select both key and tempo. A staff is displayed on which to write your song, note by note, complete with rests and values. Play the composition back; correct any note; instantly transpose it to another key; or store it on a blank cassette for later revision. A student can listen to his lesson and transpose it into another key for use with F, B'\ E' horns, etc. The youngster then plays along in the right key, in the cor- rect meter. It's a fantastic application. OF COURSE, IT PLAYS GAMES Interact is a total entertainment center with color, sound, and music. There are Chess, Backgammon, Hangman, Regatta Races, Concentration, Trailblazers, Black- jack, Star Track-games that would cost any arcade owner $2000 or more. Challenge the computer or another opponent. Each game will bring family and friends together for hours of quality fun. FCC AND CSA APPROVED FOR YOUR TV The Interact computer, with built-in stor- age and programmability, is FCC and CSA approved for attachment to any TV. It is UL listed and operates on standard 1 10V house- hold current. It's portable, too: weighs 12 pounds and is only 19" L x 12" W x 8" D. SPECIAL OFFER-OVER $300 WORTH OF FREE PROGRAMS-INCLUDING LEVEL II Interact is exceptional. But, there is just no way to prove it, unless you are enjoying it in your own home and business. You have to try it. That's why we are giving you 14 different full color and sound programs FREE-including Edu-Basic and the Basic Level II program for advanced applica- tions. It's our way of backing up everything we've said and making it worth your while to check it out for yourself. Your $300 FREE value includes: Edu-Basic'" • Level II Basic • Blackjack • Compute-A-Color'" • Hangman'" • Knockdown'" • Trailblazers™ • Dogfight'" • Showdown'" • Regatta'" • Concentration • Add-Em-Up'" • Computer Maze'" • Biorhythm™ and 1 Blank Data Tape. Fourteen programs are actually more than other computers have to offer. They're yours FREE with your purchase of the Interact. If, after 15 days you are not satis- fied with your Interact, you may return it for a prompt refund of the purchase price. Sorry, but you'll have to return the 14 pro- grams and the data cassette also. The unit is backed by a ninety-day parts and labor limited factory warranty. CREDIT CARD ORDERS CALL TOLL FREE - 800-621-5809 ILLINOIS RES: 800-972-5858 24 HOURS -7 DAYS/WEEK I 1 □ Please send me the Interact Computer, with 2 Hand Controls, connecting RF adapter and the 14 Free Program Library-Including Basic Level II and 1 Blank Data Tape. If not satisfied, I can return same for a prompt refund within 15 days. D I enclose $588.00 plus S17.95 shipping and Insurance. Allow 2-3 week delivery. (III. residents add 5% tax.) □ I also want the following programs: □ Star Track $24.95 □ MicroChess (vs. computer) $24.95 n VideoChess (vs. opponent) $19.95 □ Backgammon $24.95 D Reversi $19.95 □ Music Maestro $24.95 □ Total amount enclosed $ n Check n Money Order D Charge My Credit Card: □ American Express Q Master Charge □ Carte □ BankAmer/Visa □ Diners Club Blanche Credit Card No Master Charge # _ Name Add ress City _Exp. Date State Signature. . -Zip- 801 Green Bay Rd., Lake Bluff, IL 60044 Camelot DIRECT A DIVISION OF UNITED EDUCATORS. INC. BYTE April 1979 127 Ill IT. LL CO q: 1— 1 a: - to 3 o <2j CK Q- LULU C> CO I— O ixi o t- oc Ul O I— -X * X SC X a. U. QC >■ UJ =3 ocxcjx: CO hMnOJXCxXJ o x □ cc t— o_ 3 ui => o x: cj «-«»-<© O •-* co 3 oc en o. ~ o n i— ui co x X k- q; lu _ k- I— I— X QC _J HI O - Z JhHUlZOlliai-Z _ 3: I—Q- cuj>-«0Z30t2> •! • >- GL UJ m (J EJ »-t 3- Q —I O >■ UJ O OC D_ ■— LU wouicca-or-si- i^uj o ui KJOZSUIQ.U133Q 1— =3 1— _i or o ac ui o to etc wt-i-aoiHaauicDr 3 to. to x uj>- XI— _J* x 1— UJ 3 Lu uj atou. ui o u. a 3 3 o i-.ocdq.oq: _j _, _« o e m oa. q. cj e a a a ■ X Ul CM a. M) I— _J - o x w a. o k mo ujuioujocouj w ui >■ ui — ■ a. a. ZEhuiu«o^uii-j u n m n mi - - >>ao:ii WZ' x aa i— m ui ui m M w a; uj o =- oc ui d d m to a jq j EZUii rt u.aui3XEWE o a: a Dt i~ ac (»!hwmoooiiJ3vU)iiiuiuioou,uilijo cci— oi— U.U.U. 07oa.ooctou-u.oQ_tou. ui <-■ i-c oc oc oc ac ac J Z Z UIU1 O LU LU o ■-• 1-1 a. a. u. a_ a. ui LU :z x x x id cj o a: OHOU iouhui j co to a. v OQDhU U. _J -J o •— t— u_ o o u :<:>-* 1 ¥> x x a. UJ CO . •a a > x j ■! x q > 1 o; ct a >: -i o u j 1 a i- 1 ui a j :- 1 1 > j el) OKblUlilOI"A6-HUttMCliCiiflfX-* Oct cn-ucn-mti u_a>-3nQa: ccnuio HdOiliadJ-J-OUJilLL 1— 1— 1— -« ■X U. CO CO -1 1-1 !-■ Q ^ r- ^1 u"^ a. O 1 o c Q "iC -h , U O O 0? ■** 1 u. o o — o I- m :- ij j j j u 1 'i ii j j j j el ct -a: :- lu ■_» CJ oc oi O Oi 1- o to O o o -_> o; i— UJ X i- X 'Z? X-J i ct lie cc cc o 5 8 Z O ^. O il K E 3 D 3 ■! U. .-1 _1 CO U. O tO CC Q O Q I- - O Ul IZOUIUIUUCXCI (L W E « CO O CL CL CO 3 O CO .H 1 -J r- r. r. r. r- r. r- r- r- r- r~ r- 00 'Xi CO -X' CO CO 00 CO CO 7>atOU. — 'X' CO CO CO CO OP. X tr 'T- \n iX> ' -.0 \P C^ ui >» ■"> -.o '.P ■.£> --0 CO •O 'J? '^ tj -o ••» -^- X ijl -X 1 I T CO X ' o o -o o - n u"i r - CP* co d ui O — CM t u"> r~ dh ilo o C*l t -.p co x i"o C> U, *** ro tf? X -X -X -X X -X CJ u6Ciu O OOOO O O O O O Q O O O o © o o o o o o o o o o o o O o o c^ c> o o o o 000 o o o o o o -o o c> c> C> -O O O O 5 .5 a 128 April 1979 IS BYTE Publications Inc 0_ •— i=i I Q2 ^ ■" uj a x i— h~ x ■■-- u, 3 ^ t— LU EI »J fr- X _J Ct Li_ (J s* LJ QLU H h o. o _j c>£ a. Z EO.Q. - ct a: OOlkvU U.U.QU. q: a: oc o LU LU I— X o_ w 31 X X LU )— 1-4 c* co Oh- fr- oc a. 33 lu o ui ~ :> i— a: 13 :*: 2: QC X fr- co r- 1 o o 3 ac 1 -< (n a q a a 1 >c _j O x o o 1 LU LU U. X U_ U_ CO 10 ; X x 1 e E O 0C I— CO Q UJ X - UJ X fr- fr— CD * a: i~ E 2: h- k 33 CO DC UJ 00 CO O LU UJ _J LU LU ' co co Co to CO : x x x x x -- 1 e x: x: e x: x »— 1 ■* m ■£ r- « — ■ c c; o .C: C: O 10 £ ■Q Cj O. X SE Cl_ naul-i- X cc r-- 1 ct 'i :•■: j (t u m i -iu it ct ij) w Ci o o t- uj a 0^ ui z o t- z 01(0 h- TjjujwQimciiajwflma: N 17 17, SO ,-, L) o c» m u. o eg c — 01 u d ro o oj to lo in x o o '■£■ o <7. moo o o '■•j x co in c- *_> «-< CM CJ f 1 1 03 o (M CM ■.£> X tlJ U. — ■ to Ift ■.£ CO CO Li_ — I r*J IT? CO CO X X X CO CO CO CO CO CO CO CO O CJ CJ O '_) O O O O O O O O o o o o o o o o 000 — — ' O Ij. ' ■ r>j ro * lo m> r- O O O O O ^N*i?iuuie«w«i/)N5sc | 4! 1 O O 00000000 o o o o o O OOOOOO O O o o O O OOOOOOOOOOOOOOOOOOOOOOOOOOOO' CO '_) .=1 LU O ■.£» mj •-£> ■£> r- o o o o o o o o o o a. ct a k- _i x 1— 3 UJ . to >c O OL t— 1— z: x x _J •- ■ o >- co to Gt e: *r QC » CO * 3) 3C X X UJ Ok! X cock MEhjaiai- CO X X CO O UJ X *-< ol :x: x: a co re i— ^ :c o lu or i-t H x 3: a. i^oxxi-Wi-i-h x e: 2; u. — . 33QUX C3LUI— f-i CO CK 3* Q. iX LU LU h h X ID Zl- Q LU HE X LUJ— fr- XX-JXQfr-OiCJ uj z > » a: e — ■ 3: co o lu ^ck conh- ^oaxracjr^) CO O t- -9 1— co e: -a X t- UJ O LU X O ,=L e: co (J x C3 3C U x WOO. i-U x e: I— ui D W v O f_) X li_ x e; CO oc fr— Z3 UJ X , t-t fr— Off m S 3: X A ■m ^ n- a X X O X - fr- O a. u. QC u ^ O z O UJ to A UJ fr- t— 1— UJ X -1 X UJ et: a CO >- 5- UI a. X X h— 3 1— QC DC QC 3B X a ac QC ►-4 UJ a X X O x: X a 1^ iV UJ , O fr- UJ fr— CO O u. ill L) ~) c —I >— DC x: QC O =J oc O 3- CJ UJ 771 A 03 1— CO X * CJ N CO O 1 UJ O ZJ LU ■ tO 4* <0 CO LU 5Z CO CJ 35 LU CO CO x ;•■: _i fr- UI Cu I— <:o m n: X X 7-' ~< LU CO x x r~: x x :- x £1 x >'. x x > x i3> x x x u o x » 6HQ£)£C«OZfr-Uiatt«OZQ!I6UJC(,hUJCLaJhZa.Zh ji/ijjQi-jtjCDja.tO"rjmci: a o o x *- x joi-aa j uawh- j *■ x QOCD UJ o —< o o o o O O O O O o o o 000 000000-0 ooo-o O OOOO O O OOOOOO ^ -O O O <-> o April 1979 © BYTE Publications Inc 1 29 Listing 1, continued: oo 72 40 Oil? A 3F 00 7 5 3 00 7 6 7 00 7 7 i 00 7 F 02 2 2 2 02 2 2 2 02 >2 i >1 1 02 38 3?' 3 A 3B 3C 3D 3E 3F 0208 28 29 2A 2B 2C 2D 2E 2F 0210 IS 19 1A IE 1C ID IE IF 0218 08 09 OS OB OC OD OE OF 0220 40 41 42 43 44 45 46 47 31 3 2 3 3 3 4 35 36 3 7 21 22 23 24 25 26 27 0228 30 02 3 20 0238 10 11 12 13 14 15 16 1 1 02 4 OB OF A E 9 D OS C 0248 13 i; 12 16 11 15 10 14 02 5 IB IF 1A IE 19 ID 18 1C 02 5 8 23 0260 2B 27 22 26 21 2F 2A 2E 29 25 20 24 2D 28 2C 0268 33 37 32 36 31 35 30 34 02 7 36 3F 3 A 3E 3 9 3D 38 3C 02 7 8 43 4 7 4 2 4 6 4 1 40 4 4 0280 24 OC 44 36 35 lb OF 34 0288 27 ID 2E 45 26 2C OE 3E 0290 25 14 IF IE OD tC 46 2D 0298 10 29 22 IB 38 41 40 13 02A0 20 21 1A 3A 11 2A 30 39 02A8 23 18 28 08 42 19 Oh 3 1 0260 OS 43 3B 33 28 23 2B 23 0268 16 13 06 42 OB 42 3A 32 02C0 2h 22 2A 22 1A 12 OA 4 1 02C8 OA 41 39 3 1 29 21 29 2 1 02D0 19 11 09 4 09 40 38 30 02D8 28 20 28 20 18 iO OS 43 02E0 OE 20 19 32 30 33 25 02E8 09 IS IB 43 31 42 4i. 1 H 1 SHIFTH DATA FOR CD SHIFT IP TABLE IP( I NVERSE ) TABLE PC- 2 TABLE 3ELECT-E TABLE PERMUTE-P TABLE 02FO 11 3B 12 28 13 3A 39 8 02FS OA 2 3 21 28 2 A 22 38 41 1780 00 2 21 22 2 3 PC-1 TABLE 1788 28 2 9 2A 2B 2C 2D 2E 2F 1790 30 31 3 2 3 3 3 4 35 36 37 1798 38 3 9 3 A 3B 3C 3D 3E 3F 1?H0 00 00 2 4 25 26 2 ? 17A8 IS 19 1 A IB 1C ID IE IF 176 10 11 12 13 14 15 16 17 1768 OS 09 OA OB OC OD OE OF 03 EF 03 4i FD Da 74 it 47 SELDAT < 8 E 03 8 26 EF FB 22 B3 D8 3 4 1 E 0310 3 9 AC A7 6 62 Ct CD 6A 03 18 5C 96 9 5 9 5 36 ?A 85 3 2 4 FD IE C8 E7 8A SB 21 03 2 8 DA 4 3 64 9F 2D ;4 Bl 72 0330 F5 5B C8 Bi 9C 37 76 EC 03 3 8 3 9 AO A3 5 52 6E OF D9 03 4 A? DD OD 7 8 9E OB E3 9 5 03 4 8 6 36 3 6 4F F9 60 5A A3 0350 11 24 D2 y 7 ca 52 1 -J EC 0358 BB CI 4C BA 24 FE 8F 19 03 6 DA 13 66 HF 49 DO 9 06 03 6 8 8C 6A FB 9 1 3 7 8D OD 7 8 03 7 BF 4 9 1 1 F4 23 E5 CE 3E 0378 55 BC A2 57 E8 22 74 CE 3 8 i) 2C EA CI BF 4A 2 4 IF C2 038 8 7 9 47 A2 7C 66 D9 68 15 3 9 80 56 5D 1 3 3 FD F4 AE 3 9 8 DE 30 7 9B E5 83 96 6 8 03 A 4 9 B4 2E S3 IF C2 85 7C 03A8 A 2 19 D8 E5 7C 2F 83 DA 03 6 F7 6B 9 FE C4 1 5A 9 7 03 6 8 61 A6 3D 4 OB 5 8 E6 3D 3 C 4D Dl 62 OF 28 6D E4 7 S 03C8 F6 4A OF 93 8B 17 Dl A4 03 DO 3 A EC C9 35 9 3 56 7E CB 03 D 8 55 20 AO FE 6C 89 17 6 2 03 EO 17 62 4B Bl 64 DE Dl 87 03 E 8 C9 14 3C 4A 7E AS E2 7D o 3 F AO 9F fh 5C oA "\> SO FO 03FF OF E3 5 3 25 9 5 3 6 ? 6 C B ■ CP/M+TRS-80 The CP/M Operating System now available for Radio Shack's TRS-80 CP/M OPERATING SYSTEM • Editor, Assembler, Debugger, and Utilities • For 8080 and Z-80 Systems • Up to four floppy disks • Documentation includes: CP/M Features and Facilities CP/M Editor Manual CP/M Assembler Manual CP/M Debugger Manual CP/M Interface Guide CP/M Alteration Guide CP/M System Diskette and Documentation (Set of 6 manuals) for $150. CP/M Documentation (Set of 6 manuals) only $25. MAC® MACRO ASSEMBLER • Compatible with new Intel Macro standard • Complete guide to Macro Applications MAC Diskette and Manual for $150. SID® SYMBOLIC INSTRUCTION DEBUGGER • Symbolic memory reference • Built-in assembler/disassembler SID Diskette and Manual for $125. TEX® TEXT FORMATTER - • Powerful text formatting capabilities • Text prepared using CP/M Editor TEX Diskette and Manual for $125. HIGH-LEVEL LANGUAGES • Basic • Fortran • Cobol • Call or write for information USER'S GROUP • 35 disks with utilities, games and applications • Call or write for information FMG ©©BPOIrMTIlOIN] P.O. Box 16020 • Fort Worth. TX 76133 • (817) 738-0251 CPM is a registered trademark of Digital Research Corp TRS-80 is a registered trademark of Radio Shack 130 April 1979 © BYTE Publications Inc Circle 136 on inquiry card. INTRODUCING G2 LEVEL III BASIC. Now do more than ever before with the most powerful Basic you can buy for the TRS 80. Open the manual and load the cassette. Then get ready to work with the most powerful Basic interpreter you've ever had your hands on...Level III Basic for Radio Shack Computers. It loads right on top of the Level II ROM, and in just 5K of space, opens up your capability to new dimensions. For starters, this new cassette-based interpreter gives you the whole catalog of disk programming power. Plus graphics commands. Plus powerful editing commands. Plus long error messages, hex and octal constants and con- versions, user defined functions and a number of commands never before available on either cassette or disk interpreters! Easier Loading, Fewer Keyboard Errors. G2 Level III Basic eliminates aggravations you've had, including keyboard "bounce" and those super-sensitive tape deck settings. Programs will load easier, and you'll have far less trouble with input errors. Basic Access to RS-232. Until now, if you wanted to access your RS-232 interface, you had to work in assembly language. G2 Level III Basic does the work for you, letting you use your interface with Basic statements. Have You Wished for More Power? This new interpreter gives you 10 machine language user calls for subroutines, long error messages, a new TIME$ call for your real time accessory, plus measure or limit input timing that lets you put a time limit on responses when you're playing games or giving exams. And the list doesn't stop here. Easier and More Powerful Graphics. This new Basic includes three simple commands that can eliminate dozens of program steps. PUT transfers information from a designated array to your screen; GET reverses the process. LINE makes your computer do the work when you input beginning and end points. Give it two diagonally opposite corner locations, and it'll outline the rectangle you're looking for. Only Microsoft Could Do It. G2 Level III Basic was created by Microsoft, the same company that wrote Level II Basic for Radio Shack. And it actually uses Level II as a foundation for this enhanced add-on. By the time you've mastered all it can do, calling up the flexibility of the graphics commands, and even enjoying the convenience of renumbering, you'll wonder how it was all possible. It's like getting a whole new computer for your computer. Available Now for Only $49.95. You get the power that might otherwise cost you hundreds of dollars in additional equipment for only $49.95. Price includes the User Manual, a Quick-Reference Card, and a preprogrammed cassette tape. Load the tape, open the manual, and get ready to work with the most powerful Basic Interpreter you've ever had your hands on. G2 Level III Basic for the TRS-80. Another member of the growing G2 Personal Computer Program Library. For the name of the G2 dealer nearest you, call us toll-free at 800/538-8540 or TUC REASON 800/538-8541. In California, please call 800/672-8691. YOU BOUGHT YOUR COMPUTER. PHT ol GRT Corporator Hf I Consumer Compiler Group ■ x ' 1286 North Lawrence Station Road Sunnyvale. California 94086. 408/ 734 -2910 Circle 151 on inquiry card. BYTE April 1979 131 Queuing Theory, the Science of Wait Control Part 1: Queue Representation Len Gorney POB 96 RD 1 Clarks Summit PA 18411 How many times have you waited in a line? Do you always get to a supermarket checkout counter without having to wait? Is the pump at the gas station always open and ready for you as you drive into the service area? It's difficult to imagine anyone going anywhere and not having to wait in a line. Since we're computer oriented, let's define a waiting line by its proper name — that is, a queue. A queue is a waiting line controlled by some service mechanism. A customer enters a queue at the tail of the queue, waits in line until he or she arrives at the head of the queue, is serviced at the head of the queue, and, finally, leaves the queue. At the super- market a customer pushes a cart to one of the lines formed at the checkout area and waits in a line until finally arriving at the cash register at the head of that line. After checking out the purchases, that customer leaves the queue. Queue Examples Other examples of queues can be found in many areas of our everyday lives. The supermarket checkout queue is a commercial type of queuing system. Other commercial queues include the bank teller queue, the barbershop queue, the gas station queue, etc. The field of transportation is not with- out its share of queues: traffic lights, turn- pike toll booths, airport runways, loading and unloading docks are but a few examples. Of course, we have personal queues. How about that shelf of books you're planning to read some day? Let's Have Order A queue is defined as a waiting line, and since a waiting line has both a beginning (tail) and an end (head), a queue must also have both these properties. The head and tail idea implies that cus- tomers entering (being inserted) or leaving (being deleted) must follow a definite order- ing scheme as members of the queue. This ordering scheme is defined as the dispatching discipline of the queue. The usual dispatching discipline of a queue is known as first in first out or FIFO. An orderly queue exhibits this scheme. The first person entering the queue is the first person to receive service, and the last person entering the queue is the last person to receive service. Any person entering after the first but before the last must spend some time waiting in the queue before service may be rendered. The first in first out discipline is but one of many ordering schemes that queues follow. Other servicing disciplines include last in first out (eg: a stack of dishes), a priority queue, and shortest line first or longest line first (these are multiple queuing systems and will be discussed later). Queue Representation How can we represent a queue as part of a computer program? The following piece of BASIC coding (a one-dimensional array) could be used to represent a queue in a com- puter program: 10 DIM Q(100). A queue is nothing more than a special purpose one-dimensional array. Just as the ordinary one-dimensional array is repre- sented as a single row or a single column structure n locations long or deep, the queue can be represented as a single row structure n locations long. Over and Under When an array is dimensioned to 100 locations, the program cannot access the 132 April 1979 © BYTE Publications Inc Wondering which memory is best for you? bQ/e 2* offers the following products to the S'100 market at the industry's lowest prices: 8K Static Memory Board This 8K board is available in two versions. The 8KS-B operates at 450ns for use with 8080 and 8080A microprocessor systems and Z-80 systems operating at 2MHz. The 8KS-Z operates at 250ns and is suit able for use with Z-80systems operating at 4MHz. Both kits feature factory fresh 21 02's (low power on 8KS-B) and includes sockets for alllC's. Support logic is low power Schottky to minimize power consumption. Address and data lines are fully buffered and 4K bank addressing is DIP switch selectable. Memory Protect/Unprotect, selectable wait states and battery backup are also designed into the board. Circuit boards are solder masked and silk-screened for ease of construction. These kits are the best memory value on the market! Available from stock . . . 8KS-B $125 (assembled and tested add $25.00) 8KS-Z $145 (assembled and tested add $25.00) 16K Static Memory Board Base 2can now offerthe same price/performance in a 1 6K static RAM as in its popular 8K RAM. This kit includes 8K bank addressing with 4K boundary address setting on DIP switches. This low power unit provides on-board bank selection for unlimited expansion ... No MUX board required. Using highest quality boards and components we expect this kit to be one of the most popular units on the market. Available in two speed ranges, the 1 6KS-B operates at 450ns while the 1 6KS-Z operates at 250ns. 16KS-B $285 (assembled and tested add $25.00) 16KS-Z $325 (assembled and tested add $25.00) Z-80 CPU Board Our Z-80 card is also offered in two speed ranges. The CPZ-1 operates at 2MHz and the CPZ-2 operates at 4MHz. These cards offer the maximum in versatility at unbelievably low cost. A socket is included on the board for a 2708 EPROM which is addressable to any 4K boundary above 32K. The power-on jump feature can be selected to address any 4K boundary above 32K or the on-board 2708. An On-board run-stop flip-flop andoptional generation of Memory Write allowsthe board to run with or without a front panel. The board can be selected to run in either the 8080 mode, to take advantage of existing software, or in the Z-80 mode for maximum efficiency. For use in existing systems, await state may be added to the M1 cycle, Memory request cycle, on-board ROM cycle, input cycle and output cycle. DMA grant tri-states all signals from the processor board. All this and more on toD quality PC boards, fully socketed with fresh IC's. CPZ-1 $110 CPZ-2 $125 S-100 for Digital Group Systems This kit offers, at long last, the ability to take advantage of S-1 00 products within your existing DigitalGroup mainframe. Once installed, upto four S-1 00 boards can be used in addition to the existing boards in the D.G. system. The system includes an "intelligent" mother board, ribbon cables to link existing D.G. CPU to the DGS-100 board and a power wiring harness. The DGS-1 00 is designed to fit in the 5-3/4" x 1 2" empty area in the standard D.G. cabinet. It may seem expensive but there's a lot here! End your frustration! DGS-100 $295 ba/e 2 inc. Send for more details on these products. Get on our mailing listfor information on more soon to be announcedproducts at factory-direct prices from BASE 2. Why pay more when you can get the best at these prices??? P.O. Box 3548 • Fullerton, Calif. 92634 (714) 992-4344 CA residents add 6% tax MC/BAC accepted • FOB — U.S. destination Circle 22 on inquiry card. BYTEAprill979 133 Listing 1: Simple BASIC simulation of a row queue. Pseudorandom number generation is done to ensure that the queue simulation works correctly as described in the text. A sample run of the program is also shown. 1000 1001 1002 1003 1010 1020 1030 1031 1032 1033 1040 1041 1042 1043 1050 1051 1052 1053 1054 1055 1060 1070 1080 1090 1091 1092 1093 1094 1100 1110 1120 1130 1140 1141 1142 1143 1150 1160 1161 1162 1163 1164 1165 REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM DIM 9(5) INITIALIZE QUEUE TO EMPTY STATE FOR J2 = 1 TO 5 Q(J2) = -9 NEXT J2 INITIALIZE TAIL TO HEAD OF QUEUE T = 5 START OF MAIN SIMULATION LOOP FOR J2 : 1 TO 15 GENERATE A RANDOM NUMBER TO DETERMINE AN INSERTION WHEN N <= 5 A DELETION WHEN N >= 6 N = INT ( RND (1) * 10 ) + 1 PRINT "NUMBER:"; Nj IF N <= 5 GOSUB 1170 IF N >= 6 GOSUB 1240 PRINT QUEUE CONTENTS PRINT TAIL POINTER VALUE PRINT " QUEUEr-j FOR J3 = 1 TO 5 PRINT QCJ3); NEXT J3 PRINT " TAIL="J T END OF MAIN SIMULATION LOOP NEXT J2 STOP INSERTION ROUTINE WHEN T = QUEUE IS FULL, I.E. OVERFLOW ELSE, INSERT N AT TAIL AND DECREMENT TAIL 104th or -36th location. These integer values are not within the boundaries of the dimen- sioning statement. If the program attempts to address out of range locations during execution of the program, an overflow or underflow condition occurs. Overflow occurs when a location greater than that given in the dimensioning statement is addressed. Likewise, underflow occurs when a negative subscript is given as an addressing value. Some BASIC interpreters allow for addressing location of an array. If an array is dimensioned to 100 locations, the actual number of legally addressable locations is 101 (counting location as the first avail- able location). The program listings in this article do not take advantage of this extra available array location. The first available location is always array location 1 , and the last avail- able location is equal to the integer value given in the dimensioning statement. Let's get back to overflow and underflow as these conditions apply to queues. If we assume that our queuing program will not address a location above or below those given in the dimensioning statement, over- flow and underflow take on a somewhat different meaning. A queue overflow occurs when the pro- gram attempts to insert an item into our queue and the queue is filled to its capacity. Underflow in a queue structure occurs when the program attempts to delete an item from the queue but there are no items in the queue. Queue Operations Items in an ordinary one-dimensional array can have many operations performed SEND: $95 MORSE TRANSCEIVER • 1 to 150 WPM (set from terminal) 32 character FIFO buffer with editing Auto Space on word boundries Grid/Cathode key output • LED Readout for WPM and Buffer space remaining SERIAL INTERFACE: • ASCII (110, 300, 600, 1200) or Baudot (45, 50, 57, 741 compatible • Simplex Hi V Loop or T 2 L electrical interface • Interlaces directly with the XITEX® SCT-100 Video Terminal Board; Teletypes® Models 15, 28, 33, etc.; or the equivalent - MRS-100 CONFIGURATIONS: - • $95 Partial Kit (includes Microcomputer components and circuit boards; less box and analog components) • $225 Complete Kit (includes box, power supply, and all other components) • $295 Assembled and tested unit (as shown) — Overseas Orders and dealer inquires welcome ^^ COPY: " 1 to 150 WPM with Auto-Sync. • Continuously computes and displays Copy WPM 80 HZ Bandpass filter • Re-keyed Sidetone Osc. with onboard speaker • Fully compensating to copy any 'fist style See your local dealer or contact XITEX® direct. MC/Visa accepted »XIT€X CORP I362H Neutron • P. O. Box 4021 !0 Dallas. Texas 75240* 1214 1 386-3859 134 April 1979 © BYTE Publications Inc Circle 400 on inquiry card. on them. A program can insert items any- where within the array, and items can be removed from any legal location within the array. Items can be examined and. left in place or moved to any location within an array. A queue can have only two operations performed upon its items. The first of these allowable operations is the insertion of an item into the queue. This insertion can be done only at the tail of the queue. The second operation allows for deletion. Dele- tion is done only at the head of the queue. The Simple Row Queue The program shown in listing 1 is a simula- tion of a row queue (see figure 1). The mechanics of a row queue follow the defini- tions we have seen so far. The row queue has its tail at location 1 of array Q, while its head is at location 5 of array Q. The choice of these locations for tail and head is arbitrary. I chose this scheme TAIL POINTER-, Listing I , continued: HEAD I END OF QUEUE 4.5 5.0 1.2 3.8 5.1 7.2 Figure 1 : Simple row queue. This type of queue has a stationary "heqd" and a moving "tail. " As data items are deleted from the head, all of the data items in the queue are moved toward the head, and the tail pointer is decremented by I . As more data is entered into the queue at the tail, the location of the tail pointer is incremented by one location. 1166 1170 1160 1190 1200 1210 1220 1230 1231 1232 1233 1234 1235 1236 1237 1240 1250 1260 1270 1280 1290 1300 1310 1320 1330 1340 1350 1360 1370 REM REM REM REM REM REM REM REM IFI: GOTO 1220 PRINT " INSERTION"; Q(T) r N T = T - 1 RETURN PRINT " OVERFLOW "; RETURN DELETION ROUTINE WHEN T r 5 QUEUE IS EMPTY, I.E. UNDERFLOW ELSE, DELETE N AT HEAD OF QUEUE AND MOVE REMAINING ITEMS TOWARD HEAD IF T r 5 GOTO 1350 PRINT " DELETION "; T = T + 1 FOR J4 = 5 TO T STEP -1 IF J4 = 1 GOTO 1330 J5 = J4 - 1 QCJ4) r Q(J5> NEXT J4 RETURN QC1) = -9 RETURN PRINT " UNDERFLOW"; RETURN END RUN NUMBER: NUMBER: NUMBER: NUMBER: NUMBER: NUMBER: NUMBER: NUMBER: NUMBER: NUMBER: NUMBER: NUMBER: NUMBER: NUMBER: NUMBER: UNDERFLOW INSERTION DELETION INSERTION INSERTION INSERTION INSERTION INSERTION OVERFLOW 8 DELETION 7 DELETION 8 DELETION 3 INSERTION 4 INSERTION 9 DELETION QUEUEr-9 QUEUEr-9 QUEUEr-9 QUEUEr-9 QUEUEr-9 QUEUEr-9 QUEUEr-9 QUEUE: 5 QUEUE: 5 QUEUEr-9 QUEUEr-9 QUEUEr-9 QUEUEr-9 QUEUEr-9 QUEUEr-9 •9 -9 -9 ■9 -9 -9 ■9 -9 -9 ■9 -9 -9 '9 -9 1 ■9 3 3 3 3 2 5 2 2 2 5 -9 •9 -9 ■9 3 4 3 ■9 4 4 4 4 4 4 2 2 2 5 -9 TAILr 3 TAILr -9 TAILr 4 TAILr TAILr TAIL: TAIL: 1 TAIL: TAIL: I TAILr 1 3 TAIL: 2 TAIL: 3 TAIL: 2 TAIL: 1 TAILr 2 Circle 401 on inquiry card. April 1979 © BYTE Publications Inc 1 35 HEAD POINTER TAIL POINTER HEAD POINTER (a) TAIL POINTER HEAD POINTER (O Figure 2: Circular queue in three states of use. Figure 2a is an empty queue, in which the head pointer and the tail pointer point to the same location in the queue. Figure 2b shows a partially filled circular queue. The tail pointer moves ahead of the head pointer as data items are added to the queue. As an item is deleted, the head pointer moves towards the tail pointer. Figure 2c shows a full queue. In this state the tail pointer has caught up with the head pointer. Note that one location in the queue will be left empty. If this were not done, the next item added to the queue would make the head and tail pointers point to the same location, which would seem to indicate that the queue was empty. because it is easier to output the queue dur- ing execution of the program in a normal left-to-right reading fashion. The head (service facility area) of the queue of listing 1 is always at location Q(5). The tail of the queue (the location in the queue where items will be inserted) moves from location 5 toward location of array Q as items are inserted into the queue. When items are deleted, the tail of the queue moves from its present value toward loca- tion 5. The tail of the row queue is indicated by a tail pointer (variable T). When T is 5 the queue is empty: that is, there are no items in the queue. When T is the queue is filled to its capacity and no insertions can be made without causing an overflow condition. To simulate the action of a queue proper- ly, listing 1 generates pseudorandom numbers to determine queue insertion or deletion. The importance of randomness in proper queue operation is explained later. Before you execute the program in list- ing 1, run through its operations with pencil and paper. This approach will show you how the program will run before the actual operation is simulated by the computer. This method will also clarify the mechanics of a simple row queue operation. The Circular Queue A major disadvantage of our simple row queue is the fact that items must be moved toward the head of the queue after each deletion. /Editor's Note: This is not true for all implementations of a row queue. Often, the pointers indicating the head and tail of the row queue are moved instead of all the data inside the queue. . . .RGAC/ The loop in line numbers 1370 through 1400 of list- ing 1 accomplishes this move. If we're trying to represent a queue simulation in a com- puter program, why not use some program- ming techniques to take advantage of decreasing execution time and thereby elimi- nate some of the unwieldy code? The circular queue, figure 2, is also repre- sented as a special purpose one-dimensional array. The simple row queue has a pointer to keep track of the location where the next item insertion was to take place. The circular queue also has this tail pointer. The difference between the row and circular queue lies in the addition of another pointer to indicate the location of the head of the queue. The simple row queue always has its head at the last available location of the array Q. The circular queue structure can have its head anywhere within the queue. Circular Queue Representation The circular queue operates in the same manner as the simple row queue. Items are still inserted into the location given as the tail point location of array Q. 136 April 1979© BYTE Publications Inc ^i%3 \UMM^t to ^M£& &?0$mm »' NEW! MODEL CC-9 $200.00 (4800 Baud) $220.00 (9600 Baud and 220V/50 Hz) 9600 BAUD CASSETTE RECORDER An ASYNCHRONOUS NRZ type Recorder with remote motor start/stop. Error rate 10 8 at 4800 BAUD. Can be used from 110 to 9600 BAUD into a UART - no clocking required. This is not an audio recorder. It takes RS232 or 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 speeds are 1.6" / 3.0" and 6.0" per second. 110 volt, 60 Hz, 5 watts. (220 Volts on special order). Can use high quality audio cassettes (Philips Type) or certified data cassettes. Recommended for DATA LOGGING, WORD PROCESSING, COMPUTER PROGRAM RELOADING and DATA STORAGE. Manual control except for motor start/stop. 6800, 8080 or Z80 software for file or record searching available on request with order. Used by major computer manufacturers, Bell Telephone and U.S. Government for program reloading and field servicing. AVAILABILITY - Off the shelf. PROVIDES MONITOR AND TAPE SOFTWARE in ROM. TERMINAL and TAPE PORTS on SAME BOARD. CONTROLS ONE or TWO TAPE UNITS (CC-8 or 3M3B). 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, interfaces and software. This is Revision 8 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 preprogrammed 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 TTL or RS232 level. AVAILABILITY - Off the shelf. 2SIO (R) CONTROLLER $190.00, Tested & Assmb. t* & — ► DOUBLE DENSITY FLOPPY DISK CONTROLLER A new floppy controller for 5" and 8" drives utilizing the new 1791 chip to provide single or double density recording. Flip the switch to use one or the other mode. Can load memory from single density and re-record it double density on the same drive so you can transfer or re-record your programs and files. Comes with new format program for double density on disk to replace your old single density format program. (Soft Sector IBM format). $320.00 assembled and tested. CP/M® is now available, rewritten as necessary to utilize it with the double density disk controller card above. $100.00 with manuals, $70.00 without manuals. CBASIC and other software can be supplied by our dealers, in double density form. SWTP Disk drive owners, you can now use your drive with CP/M®and our Z80 board below. All CP/M® compatible pro- grams will run in your altered SWTP. Tape Software-We can now supply XITAN Z80 software in KC Standard or CC-9 formats. Z 80 BOARD for SWTP COMPUTER Now you can use the 8080/Z80 software programs in your SWTP 6800 machine. Re- places your MPU board with a Z80 and ROM so that you are up and running with your present SWTP memory and MPS card. 1 K ROM on board replaces MIKBUG and enables you to use XITAN Z80 software which we can supply. AVAILABILITY - Off the shelf. _$190.00, Tested & Assmb. 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 BankAmencard accepted. Naticnal Multiplex Corporation „_„o 3474 Rand Avenue, South Plainfield NJ 07080 Box 288 Phone (201) 561-3600 TWX 710-997-9530 <^___ Circle 278 on inquiry card. BYTE April 1979 137 Listing 2: BASIC listing for a circular queue simulation. Lines 1900 through 2 J 00 are the insertion routine; lines 2110 through 2270 are the deletion routine. A sample run of the program is shown at the end of the listing. 1000 1001 1002 1003 1010 1020 1030 1031 1032 1033 1034 1040 1050 1051 1052 1053 1060 1061 1062 1063 1064 1065 1070 1080 1090 1091 1092 1093 1094 1100 1110 1120 1130 1131 1132 1133 1140 1150 1151 1152 1153 1154 1155 1900 1910 1920 1930 1931 1932 1933 1934 1940 1950 1960 1970 1971 1972 1973 1980 1990 1991 1992 1993 2000 2010 2020 REN REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM REM DIM Q(5) INITIALIZE QUEUE TO EMPTY STATE FOR J2 = 1 TO 5 Q(J2> = -9 NEXT J2 INITIALIZE HEAD AND TAIL POINTERS TO HEAD OF QUEUE LOCATION H = 5 T = 5 START OF MAIN SIMULATION LOOP FOR J3 = 1 TO 10 GENERATE A RANDOM NUMBER TO DETERMINE AN INSERTION WHEN N <= 5 A DELETION WHEN N >= 6 N r INT C RND (1) * 10 ) + 1 IF N «= 5 GOSUB 1900 IF N >= 6 GOSUB 2110 PRINT QUEUE CONTENTS PRINT TAIL AND HEAD POINTER VALUES FOR J4 = 1 TO 5 PRINT QCJ4); NEXT J4 PRINT " TAIL AT"j Tj " HEAD AT"j H END OF MAIN SIMULATION LOOP NEXT J3 STOP INSERTION ROUTINE CHECK TAIL AND HEAD POINTER VALUES IF H : T GOTO 1970 IF H < T GOTO 2030 IF T >= 1 GOTO 2030 IF H = 5 GOTO 2080 INSERT ITEM AT Q(H) SINCE QUEUE IS EMPTY QC5) = N T = 4 GOTO 2050 IF T <> GOTO 2000 RESET POINTERS TO HEAD OF QUEUE H s 5 T = 5 CHECK IF QCT) EMPTY FOR POSSIBLE INSERT IF QCT) H = 5 T r 5 -9 G0T02080 Listing 2 continued on page 140. The major difference is in the way which the program controls the head location of the queue. A new variable called H (for head pointer) points to the array location which holds the item ready for deletion. An item is inserted into the queue at the location pointed to by the tail pointer. After this insertion, the pointer is moved by one location in readiness for another insertion. When an item is deleted, the head pointer comes into play. In the simple row queue, the head is always at the last available loca- tion. In the circular queue, the head of the queue is defined by the value of the head pointer variable H. After an item is deleted, the head pointer is moved one location toward the value of the tail pointer. In this structure, data items remain stationary; only the pointers vary, indicating relative positions of the tail and the head of the queue. This queue structure is clearly advan- tageous when we're dealing with long queues. If a row queue is filled to its capac- ity and an item is deleted, every remaining item has to be moved one at a time toward the stationary head of the row queue. The circular queue moves the head pointer by only one location, thereby cutting program execution time. The tradeoff is time versus space. The circular queue program is longer than the simple row queue; however, the time to execute the circular queue routine is shorter since the majority of code execution in the simple row queue is during the moving of the items after a delete operation. In the circular queue, the tail pointer chases the head pointer during insertions. During deletions, the head pointer chases the tail pointer. When the circular queue is filled to capacity, the head and tail pointers are at adjacent locations. No more items may be inserted simply because there is no more available space to fit an item into the queue. An overflow condition occurs if an insertion is attempted on a filled queue. An underflow occurs when the queue is empty and a deletion is attempted. An empty circular queue is one in which the tail and the head pointers are at the same loca- tion in the array Q. The program given in listing 2 simulates a circular queue. Again, a pencil and paper method of initial execution may prove help- ful. After the mechanics of this structure are understood, then execute the program. This completes our discussion of two different types of queues and their repre- sentation in a computer. In part 2 we will consider queues in the world around us and fit them into the structures already developed. 1 38 April 1979 © BYTE Publications Inc mm**0m0*mtm0*m \ 53m " your BASIC software magazine" TM e. BIZ-80 Software products oriented to four levels of TRS-80 supported systems — ALL SYSTEMS UPWARD COMPATIBLE SYSTEM-S $99.95 A stand-alone 1 6K Level II with one cassette tape SYSTEM-I $249.95 A 32K Level II with DOS, optional printer (CRT oriented) and one disk SYSTEM-I I $499.95 A 32K Level II with DOS, line printer and two disks SYSTEM -III Write for full particulars A 48K Level II with DOS, line printer and two-plus disks • Inventory 'Mailing - names and addresses •Accounts Receivable 'Order Processing 'Invoicing •Accounts Payable 'General Ledger 'Fixed Assets •Profit & Loss Statements 'Word Processing • Labor Scheduling 'Sales Analysis/Statistics •Patient Billing 'And MORE... IF YOU HAVEN'T SUBSCRIBED TO SOFTSIDE, YOU MISSED: "OCTOBER Cribbage, State Capital Quiz, Death Star, Pillbox, Calculator NOVEMBER End Zone, Troll's Gold, Shopping List, Level I to Level II, Octal to Hex Conversion DECEMBER Santa Paravia, Mortgage Calculation, Six Million Dollar (/10K) Clock, Spelling Bee, Biorhythms JANUARY 'Round the Horn, Kiddy Slot, Writing Good Computer Games-Part I, Ten Pin Bowling, High Speed Graphics, Comput-A-Sketch FEBRUARY Form 1040, Writing Good Computer Games-Part II, Concentration, Elements Quiz, Cribbage Update 12 issues - $15.00 Softside Subscriptions Box 68 Milford, NH 03055 603-673-5144 HOW MUCH LONGER CAN THIS GO ON? IK e. Cassettes BIZ-80 A PLAN — not a package 17 Briar Cliff Dr. Milford, N 603-673-5284 H Each month brings you a new issue of SoftSide PLUS the prerecorded cassette version of that month's feature programs, ready to run. That's all included in" your six morith memBersHip for : only $38.00 [Thirty programs for only about :■'• • ' ! SEND IN YOUR ORDER TODAY - LEAVE G TO US! SoftSide Cassettes PO Box 68 Milford, NH 03055 603-673-5144 NEW PUBLICATION Level 8 Sampler Adventure D 32K $24.95 Pork Barrel 16K $9.95 'Round the Horn 16K $9.95 Star Trek III. 3 16K $14.95 X-Wing Fighter 16K $7.95 Ten Pin 16K $7.95 Slalom 16K $7.95 Cribbage 16K* $7.95 Sargon 16K $19.95 Backgammon 16K $7.95 Inventory II D 32K $150.00 End Zone 16K* $7.95 Inventory I D 32K $59.95 Accts. Rec. D 16K $59.95 Payroll I D 32K $59.95 Mail List I D 16K $19.95 Mail List II D 32K $99.95 Appt. Log 16K $9.95 Ham Radio 16K $9.95 Renumber D 4-48K $25.00 Personal Finance 16K $9.95 Tarot 16K* $9.95 "Also available in Level I D=Disk T-fJ TIM-80 i ICC Software Exchange I/ BRIAfl CLIFF DRIVE AMPSHIBE 03055 SEND FOR OUR COMPLETE CATALOG TODAY! hmtmtm* i Circle 326 on inquiry card. WM Dedicated to the serious programmer, from enthusiastic hobbyist to professional PREMIER EDITION FEATURES Inkey Routines by Lance Micklus Simple SiMON-moni tor /disassembler written in BASIC Variables in Level ll-how to determine which variables have been used Subscriptions: 4 issues, $10.00 PO Box 68 Milford, NH 03055 BYTE April 1979 139 Circle 382 on inquiry card. MORE BANG PER BUCK The PERKIN-ELMER BANTAM All the Features of the Hazeltine 1400 & LSI ADM-3A Plus Upper/Lower Case 7 x 10 Char. Matrix White or Black Char. Transparent Mode Tab Function Backspace Key Shiftlock Key Print Key Integrated Numeric Pad Cp4- I .bl per montr Lease-Purchase $1095.00 TELETYPE MODEL 43 KSR with RS232 10 or 30 CHAR/SEC 132 COLUMNS UPPER/LOWER CASE ^^ USR-310 m 9k Originate V ™ Acoustic ^^$149.00 Coupler 0-300 Baud Stand Alone Crystal Controlled RS232 ^Mfet USR-330 i M Originate ^^ Auto-Answer ^ $324.00 Modem FCC Certified for Direct Connection to Phone Lines USR-320 Auto-Answer Only Modem $299.00 All Units include a 120 day warranty. Optional Maintenance package available. Any Product may be returned within 10 days for a full refund. U.S. ROBOTICS, INC. 1035 W. LAKE ST. CHICAGO, ILL. 6D6D7 Sales (312)733-0497 General Offices (312) 733-0498 Service (312)733-0499 Listing 2, continued: 2021 2022 2023 2030 2040 2050 20 SO 2070 2080 2090 2100 2101 2102 2103 2104 2105 2110 2120 2130 2140 2150 2160 2170 2171 2172 2173 2174 2180 2190 2200 2201 2202 2203 2210 2220 2230 2240 2250 2260 2270 RUN REM REM REM NORMAL TAIL INSERTION OCT) = N T = T - 1 PRINT " " PRINT "ARRIVAL" RETURN PRINT " " PRINT "OVERFLOW" RETURN REM REM REM REM REM REM REM REM REM REM REM REM DELETION ROUTINE CHECK POINTER VALUES FOR POSSIBLE DELETE IF H = T GOTO 2150 IF H > GOTO 2190 H = 5 GOTO 2180 IF H <> GOTO 2180 H = 5 T = 5 DELETE FROM QCH) IF QCH) HAS AN ITEM ELSE, QUEUE IS EMPTY, I.E. UNDERFLOW IF QCH) = -9 GOTO 2240 QCH) = -9 H = H - 1 RESET POINTERS FOR NEXT DELETE IF H <> GOTO 2260 H = 5 RETURN PRINT " " PRINT "UNDERFLOW" RETURN END ARRIVAL -9 -9 -9 -9 3 TAIL AT 4 HEAD AT 5 ARRIVAL -9 -9-9 2 3 TAIL AT 3 HEAD AT 5 ARRIVA ■9423 TAIL AT 2 HEAD AT 5 -9-9 4 2 -9 TAIL AT 2 HEAD AT 4 ARRIVAL -9 5 4 2-9 TAIL AT 1 HEAD AT 4 ARRIVAL 3 5 4 2-9 TAIL AT HEAD AT 4 ARRIVAL 3 5 4 2 1 TAIL AT 4 HEAD AT 4 OVERFLOW 3 5 4-9 1 TAIL AT 4 HEAD AT 3 ARRIVAL 3 5 4 3 1 TAIL AT 3 HEAD AT 3 . 140 April 1979 O BYTE Publications Inc & .i\ . •FaLLFUDCTIOD ^ the S-100 I/O BOARD $189 "unkit", $249 assembled Our new I/O board gives you unparalleled flexibility and operating convenience . . . the specs speak for themselves: • 2 independently addressable serial ports dip switch selectable addresses • Real LSI hardware UARTS for minimum CPU housekeeping • RS232C, current loop (20 mA), and TTL and signals on both ports • Precision, crystal-controlled baud rates up to 19.2 KBaud (individually dip switch selectable) • Transmit and receive interrupts on both channels, jumperable to any vectored interrupt line • Industry standard RS232 level converters with five RS232 handshaking lines per port • Optically isolated current loop with provisions for both on-board, and off-board, current sources • UART parameters, interrupt enables, and RS232 handshaking lines are software programmable, withpower-on hardware default to customer-specified hard-wired settings for maximum flexibility • Port connectors mate directly to ribbon cable and DB25 connectors in standard pinouts • RS232 lines will conform to either master or slave configurations • Board gives full feature operation with both 2 and 4 MHz systems • Low power consumption: +8V @ 450 mA max (350 mA typ); + 16V @ 150 mA max (70 mA typ); - 16V @ 70 m A max (55 mA typ) • No software initialization required for board operation, although board parameters may be altered by software Amazingly enough, all these features won't cost you more than other types of I/O boards that do a whole lot less. Visit your local computer store and see one in person, or order direct from us. ^o° N Godbout's got S-100 Bank Select ! 'We're happy to announce a new family of S-100 Econoram'" boards, each with two independently selectable banks — perfect for Alpha Micro Systems, Marinchip, and similarly structured machines. Low power, 4 MHz operation, and of course . . . completely static operation. Name Storage Buss Addressable on Design Unkit Assm CSC Econoram Xir-16 16K X8 S-100 8K boundaries static $369 $419 $519 Econoram XIP-24 24K X 8 S-100 8K boundaries static $479 $539 $649 Econoram XIII™ 32K X 8 S-100 16K boundaries static $629 $699 $849 m Please note CompuKit™ from Godboul boar ds are generally available n 3 forms: unkit (sockets, bypass caps pre-sc Idered 1 \ : I in place for easy assembly); assembled and tested; or qualified under the Certified System Component (CSC) program (200 I I hour burn-in. guaranteed A MHz operation over the full commercial temperature range, and immediate replacement in event ^L of failure with in 1 year of invoice date). -J ' . AND WE STILL LEAD THE MEMORY PACK IN PRICE, SELECTION, AND BUSS SUPPORT Name Storage Buss Design Speed Configuration Unkit Assm CSC ECONORAM II m 8KX8 S-100 static 2 MHz dual 4K $139 $159 N/A ECONORAM IV™ 16KX 8 S-100 static 4 MHz single 16K $295 $329 $429 ECONORAM VI ™ 12KX8 H8 static 2 MHz 1-8K, 1-4K $200 $270 N/A ECONORAM VII™ 24K X 8 S-100 static 4 MHz 2-4K, 2-8K $445 $485 $605 ECONORAM IX™ 32K X8 Dig Crp static 4 MHz 2-4K, 1-8K, 1-16K $649 N/A N/A ECONORAM X™ 32KX8 S-100 static 4 MHz 2-8K, 1-16K $599 $649 $789 ECONORAM XI™ 32K X 8 SBC static 4 MHz 2-8K, 1-1 6K N/A N/A $1050 TRS-80 CONVERSION KIT $109 (3/$320) Our kit is warranted for 1 year, comes complete with dip shunts, and uses 250 ns access time chips for operation at 4 MHz. Upgrades 4K TRS-80 to 16K, or populates Memory Expansion Module (our easy-to-follow instructions show you how); also expands memory in APPLE and Exidy Sorcerer computers. COMING SOON: Memory Management System that allows Altair and Imsai owners do bank select — the easy, efficient way, without heavy retrofitting. Expand your system to half-a- megabyte of memory by letting our memory management do the work, so you don't have to waste a bunch of I/O space . . .just what you've needed for those BIG memory systems. Also, look for our new high-speed motherboard in the months ahead. TERMS: Allow 5% shipping, excess refunded. Cal res add tax. VISA®/Mastercharge® call our 24 hour order desk at at (415) 562-0636. COD OK with street address for UPS (UPS COD charge applies). Prices good through cover month of magazine. CompuKit BOX 2355, OAKLAND AIRPORT, CA 94614 from pwrjg HOT-OFF-THE-PRESSES-CATALOGUE: Our new catalogue is something you need if you're into electronics. Parts, kits, computers, electronic music, specials . . . it's really packed, and it's free. Just send us your name and address, we'll take care of the rest. Circle 1 50 on inquiry card. byte April 1979 141 NEECO PET 2001 — 32K PROUDLY ANNOUNCES THE NEWEST PET MICROCOMPUTERS BY COMMODORE! The PET™ is now a truly sophisticated Business System with the announcement of these Peripherals. ■■' i '■■: i'i:- • rm [r.nr.r lj i'f] ( j:;aiiun ,-vi,.r, SCtvamn etc Tin., pet- Busirtess System as ,i mBnagOfneni tod delivers information to all levt'ls ■ ; . ;■ ■ ■ . ;■'■-. w.ly atlamaDleoniy -v.fr' Fju.iiii-.ii t many imesm m ■■■■i- msi»e rnflP£r"Busuwss ■.V ;''''■'■■ i tip- lil Ihi'pnOf.l COM pllicifril buSint'SI, [ 1 "' ■ .'. leiKigeofapplrcationslramtoggfng :■ ii.i 'it 'Mi' B) m major cofpwaHons lo OfBWsing ■::. Sl i II.. ■ >, !■,.< i. -i urcil ti" small businesses Here : :'•',: 'i'- i ' ■ i,r';iu«,csrnihecuiporatioii sanal rfiss Slock control. &>ng timKasting marnjlaclurifig costing customer mating ■■:,"■. Ttu >'ET - Floppy &sk and a compBlitHOSusmesa sysent a! a reasonable - Takp a closer look at these Peripherals i i * • • « i « «i i PRODUCT DESCRIPTION PET 2001— 8K* PET 2001 — 16K PET 2001 — 32K" PET 2021 PRINTER PET 2022 PRINTER PET 2023 PET 2040 PETC2N NEW PET USER MANUAL 8KRAM 16KRAM 32KRAM ELECTROSTATIC TRACTOR/ROLL ROLL FEED MINI-FLOPPY 2nd CASSEETTE PRICE $ 795 $ 995 $1195 $ 550 $ 995 $ 850 $1095 $ 100 $ 10 AVAILABILITY IMMEDIATE MAY-JUNE IMMEDIATE JULY-AUGUST JULY-AUGUST JULY-AUGUST JULY-AUGUST IMMEDIATE IMMEDIATE THESE UNITS INCLUDE THE C2N CASSETTE AND SMALL KEYBOARD. THE FULL SIZE KEYBOARDS MAY NOT BE AVAILABLE UNTIL THIS SUMMER. NEECO IS NOW ACCEPTING $25 DEPOSITS ON THE SYSTEM COMPO- NENTS OF YOUR CHOICE! PURCHASE ORDERS ARE ACCEPTED IN LIEU OF DEPOSITS. NEECO IS A FULL COSTOMER SERVICE ORIENTED COMPANY. PLEASE CALL FOR ADDITIONAL INFORMATION THE NEW ^ commodore PET PERIPHERALS! L_ 1 2040 2022 Dual Drive Floppy Disk Tractor Feed Printer The Dual Drive Floppy is the latest in Disk technology with extremely targe storage capability and excellent file management. As the Commodore disk is an "Intelligent" peripheral, it uses none of the RAM (user) memory of the PET™ The Floppy Disk operating system used with the PET" computer enables a program to read or write data in the background while simultaneously transferring data over the IEEE to the PET'". The Floppy Disk is a reliable low cost unit, and is convenient for high speed data transfer. Due tc the latest technological advances incorporated in this disk, a total of 360K bytes are avail- able in the two standard 5 ; V disks, without the problems of double tracking or double density. This is achieved by the use of two microprocessors and fifteen memory I.C.s built into the disk unit. Only two connections are neces- sary — an A/C cord and PET™ interface cord. The Tractor Feed Printer is a high specification printer that can print onto paper (multiple copies) all the PET™ characters — letters (upper and lower case), numbers and graphics available in the PET™. The tractor feed capability has the advantage o( accepting mailing labels, using standard preprinted forms (customized), cheque printing for salaries, payables, etc. Again, the only con- nections required are an A/C cord and PET™ connecting cord. The PET™ is programmable, allowing the printer to format print for: width, decimal position, leading and trailing zero's, left margin justified, lines per page. etc. It accepts 8'. . " paper giving up to four copies. Bidirec- tional printing enables increased speed of printing. NEW ENGLAND AREA SUB-DEALERSHIP INQUIRIES INVITED! 95 2021 $549 ELECTROSTATIC PRINTER $99 95 C2N SECOND CASSETTE NEECO IS PLEASED TO ANNOUNCE THAT WE ARE MOVING INTO A NEW 9,000 SQUARE FOOT FACILITY IN THE BOSTON (NEEDHAM, MASS.) AREA. OUR NEW LOCATION WILL ENABLE US TO PROVIDE BETTER CUSTOMER SERVICE VIA OUR NEW 2,800 SQUARE FOOT SHOWROOM, OUR 1200 SQUARE FOOT SERVICE FACILITY, AND OUR SEVEN DIRECT TELEPHONE LINES (SO YOU WILL NEVER HEAR A BUSY SIGNAL!). WE NOW ARE AUTHORIZED TO SERVICE IN-WARRANTY PETS. SO IF YOU HAVE A PROBLEM OR A QUESTION CALL NEECO, WHERE OUR COMMODORE PET CUSTOMERS COUNT! FULL BUSINESS SOFTWARE PROGRAMMING AVAILABLE. * FEEL FREE TO CALL AND ASK QUESTIONS — ARE YOU ON OUR MAILING LIST? NEECO NEW ENGLAND ELECTRONICS CO., INC. 679 HIGHLAND AVE., NEEDHAM, MASS. 02194 MON.-FRI. 9:30-5:30, SAT. 10-2, EST. (617)449-1760 (413)739-9626 AS OF APRIL1. UNTIL APRIL 1. VISA/MASTERCHARGE ACCEPTED 142 BYTE April 1979 Circle 281 on inquiry card. INTRODUCING — THE NEW DUAL DRIVE MINIFLOPPY FOR PET! /o NOW WITH OPTIONAL 400K (DUAL DENSITY) CUSTOMER ORDERS ARE NOW BEING SHIPPED WITHIN TEN DAYS!!! DKH641 IS A PRODUCT OF COMPUTHINK. ■ DUAL MINI FLOPPY DRIVE WITH 100K PER DISK SIDE FOR TOTAL 200K ON LINE. • COMMERCIAL LOADING SPEEDS * 8K LOADS IN 2.6 SECONDS COMPLETE. • DOS REORGANIZES SPACE AFTER SAVE OR ERASE FOR EFFICIENT STORAGE. • DISKMON ADDS OVER 20 COMMANDS TO BASIC INCLUDING DISK DATA FILES. • DISKMON COMMANDS SUPPORT COMMERCIAL PRINTER OFF PARALLEL PORT SUCH AS CENTRONICS LINEOF PRINTERS (AVAILABLE FROM NEECO) • FULL DISK SOFTWARE SUPPORT " FORTRAN & PLM COMPILERS ' • 90 DAY MANUFACTURER'S WARRANTY ON HARDWARE ' READY TO USE ON DELIVERY. FULL MANUAL AND UTILITY DISKETTE INCLUDED. • CALL OR WRITE FOR COMPLETE INFORMATION ON THE "DISKDRIVER". ■ THIS SYSTEM REQUIRES EXPANDAPET MEMORY (MINIMUM 16K) DKH642 — DUAL DRIVE SYSTEM, COMPLETE WITH DISKMON $1295.00 ASM789D — PET ASSEMBLER ON DISKETTE WITH MANUAL $49.95 •LNK456 — AUTOLINKLINKINGLOADERONDISKETTEWITH MANUAL $49.95 • PLM400 — COMPILER ON DISKETTE (AVAILABLE APRIL/MAY) $49.95 FOR300 -FORTRAN COMPILER ON DISKETTE (AVAILABLE APRIL/MAY)... $69.95 DKL067 — DISKMON ASSEMBLER LISTING/DOS $19.95 DATA100 — COMPLETE DATA BASE SYSTEM (PRICE APPROXIMATE) $400.00 BASCOMP — BASIC COMPILER ON DISKETTE ( AVAILABLE MAY) NGP200 — 20 GAMES ON DISKETTES $49.95 BKGAM — BACKGAMMON ON DISKETTE $24.95 MICRO — MICROCHESS ON DISKETTE $24.95 CEN779(1) — CENTRONICS 779-1, ROLL FEED DOT MATRIX COMMERCIAL PRINTER $1245.00 CEN779(2) — SAME AS 779(1) BUT WITH TRACTOR FEED — PLUG INTO PET ... . $1345.00 AX10M — ELECTROSTATIC5.5INCHPRINTERWITHALLOFPET'SGRAPHICS $495.00 PET COMPUTER WHY NOT BUY FROM THE BEST? NEECO NOW OFFERS A FULL SIX MONTH WARRANTY ON ALL PETS! — AN ADDITIONAL 3 MONTHS! 8K PET $ 795 * 24KPET ( 8 + 16K) $1220* 32KPET( 8 + 24Ki $1320* ALL PRICES INCLUDE 48 HR. PRE- * SHIPMENT TESTING & 3 FREE CASSETTE PROGRAMS * PRICES SHOWN ABOVE IN- * . CLUDE EXPANDAPET. PME * Dy MEMORIES WILL HAVE HIGHER * COMMODORE PRICING. NEECO IS A CUSTOMER ORIENTED, FULL SERVICE COMPANY. PETS RECEIVE 48 HR. 'BURNIN' BY NEECO BEFORE SHIPMENT. FULL CUSTOMER SERVICE AND FULL PRODUCT SUPPORT. 48 HR MAXIMUM 'TURNAROUND' ON PET WARRANTY SERVICE ON PETS PURCHASED FROM NEECO. FULL PRE-PURCHASE INFO AVAILABLE FROM OUR PET INFO PACKAGE — WE ANSWER CUSTOMER QUESTIONS! AUTOMATIC SOFTWARE/HARDWARE UPDATES VIA OUR PET OWNERS MAILING LIST — CALL/WRITE TO BE LISTED! COMMERCIAL QUANTITIES AVAILABLE. WE ALSO MARKET REPLACEMENT RAMS & ROMS, ETC. OFF THE SHELF DELIVERIES (NO DEPOSIT REQUIRED). SCHOOL INQUIRIES INVITED! INTERNAL MEMORY IFULLSIZED TYPEWRITER EXPANSION FOR PETll KEYBOARD FOR PET! EXPANDAPET 1 DEALER INQUIRIES INVITED INTERNAL MEMORY EXPANSION UNIT •MOUNTS EASILY INSIDE YOUR PET •EASY TO INSTALL (15 MINUTES) 'NO DEGRADATION OF PET SYSTEM •USES LOW POWER DYNAMIC RAMS •90 DAY PART&LABOR, 1 YR-RAMS. •30 DAY MONEY BACK GUARANTEE. •MOUNTING SLOTS FOR 4 BOARDS. •CALL/WRITE FOR ADDITIONAL INFO •DEALER INQUIRES INVITED. EXPANDAPET PRICES 16K(+8KPET = 24K) $425 24K( + 8KPET = 32K) $525 32K( + 8KPET = 40K) $615 OPTIONAL PLUG-IN BOARDS 32K UNIT ALLOWS' 8K OF 4K EPROM DAUGHTER BOARD ASSEMBLY LANGUAGE USING 2716 EPROMS .... $50 SUBROUTINES ACCESSED VIA THE USR COMMAND. EXPANDAPET IS A PRODUCT OF COMPUTHINK. •COMMERCIAL QUALITY KEYBOARD WITH METAL ENCLOSURE. •BASIC TYPEWRITER DESIGN FOR TOUCHTYPISTS. •SINGLE KEY FUNCTIONS FOR ALL CURSOR CONTROLS. SHIFT/RUN, INSERT, CLEAR SCREEN/HOME CURSOR, MORE. •FUNCTIONS SIMULTANEOUSLY WITH PET'S KEYBOARD. •PLUGS DIRECTLY INTO PET'S LOGIC BOARD. •DOES NOT USE USER OR IEEE-488 PORTS. •NPK-101 IS FULLY TESTED & READY TO USE. •ATTACHES DIRECTLY TO FRONT OF PET'S FRAME. •CAN BE USED AS A REMOTE TERMINAL (SPECIAL ORDER). •30 DAYS TRIAL PERIOD ■ 90 DAY WARRANTY. ■CALL OR WRITE FOR FULL SPECS-INITIAL QTY LIMITED. NOW AVAILABLE! $139. 95 NPK-101 IS A PRODUCT OF NEW ENGLAND ELECTRONICS. WECANNOTLISTALLOF OUR SOFTWARE AND HARDWARE PRODUCTS CALLOR WRITE FOR OUR*FREE*SOFTWARE/HARDWARE DIRECTORY I DOMESTIC & OVERSEAS DEALER INQUIRIES INVITED ON * MEMORY * KEYBOARD * FLOPPY NEECO NEW ENGLAND ELECTRONICS CO., INC. '679 HIGHLAND AVE., NEEDHAM, MASS. 02194 MON.-FRI. 9:30-5:30, SAT. 10-2, EST. (617)449-1760 (413)739-9626 AS OF ■ APRIL1. UNTIL APRIL1. VISA/MASTERCHARGE ACCEPTED Circle 282 on inquiry card. BYTE April 1979 143 Cryptography John P Costas, Phd Senior Consulting Engineer GE Company Court St Bldg 4, Rm 38A Syracuse NY 13221 Part 2: Using the Pocket J field index: Pj (plaintext) 1 2 3 4 5 6 M A Y U P B l\lc encipher M field index: Cm (ciphertext): I'l f decip pher 2 3 4 5 6 E B A E Y E Nc Table 8: A transposition mode operation using program Crypto. In this example the number displayed by the calculator (J.M) is 6.002. When enci- phering, this means that the character in position 6 of the plaintext is placed in position 2 of the ciphertext. If this were deciphering, the character in posi- tion 2 of the ciphertext would be placed in position 6 of the plaintext. Alphabetical Order 1) (2) A 07 B 02 C 26 D 23 E 08 F 01 G 09 H 13 I 11 J 15 K 20 L 04 M 22 N 14 16 P 19 Q 12 R 25 S 17 T 03 U 21 V 24 w 18 X 06 Y 10 z 05 Numerical Order (3) (4) 01 F 02 B 03 T 04 L 05 Z 06 X 07 A 08 E 09 G 10 Y 11 I 12 Q 13 H 14 N 15 J 16 O 17 s 18 w 19 p 20 K 21 U 22 M 23 D 24 V 25 26 R C Table 9: Mixed alphabet used in the examples. Column 2 was derived from program Crypto using values of A: 0.5, 1.625, 3. 725, 26 and R/S.0. As mentioned in part 1 of this article (March 1979 BYTE, page 56), afield cipher is a technique for encoding plaintext so that it can be easily decoded with pencil and paper (or calculator) in the field, so to speak. The calculator program of listing 1 when used with the procedures described offers the user an effective field cipher capability. Unlike most field cipher machines, which perform substitution only, the program Crypto (listing 1) offers both transposition and substitution. The transposition opera- tion is mandatory and provides the main strength of the cipher. Substitution may be added for further protection if desired. The basic principles of operation are first de- scribed, including detailed instructions for usage. Following this, a discussion of pro- gram organization is given. Since Crypto performs both transposition and (optionally) substitution, a transposition table and substitution key are involved in the processing of each character. It is con- venient to define a few terms: Na — alphabet size (no practical limit); Nc — number of characters in mes- sage (300 maximum); J — plaintext character position (1,2, ...,Nc); M — ciphertext character position (1,2, ..., Nc); P — plaintext character (A, B,C, ...); P — plaintext character value; C — ciphertext character (A,B,C, ...); C — ciphertext character value; K — key value used in substitution process. The program uses a random number gen- erator which must be initialized with a seed, R0, and two parameters, A1 and A2. These three numbers plus the character count are entered into the stack, after which A is depressed. One more number completes the entry, after which R/S is depressed. The 144 April 19790BYTE Publications Inc in the Field Calculator demonstration numerical key is: RO A I = 1.625; and A2 = 3.125. Transposition Only Mode 0.5; The character manipulations for trans- position only are illustrated in table 8. The top two rows, an index row and a plaintext character row, are concerned with plaintext. The bottom two rows are ciphertext index and ciphertext. Each time Crypto is cycled, a pair of integers is dis- played in the format: J.M and are interpreted in the enciphering opera- tion as "plaintext character from position J goes to ciphertext position M." Number J is simply indexed every cycle (1,2, . . ., Nc). Crypto produces the M values randomly in the range 1 to Nc with no repetitions (trans- position table). For the cycle illustrated in table 8, the display shows 6.002, which requires that the B from J = 6 be moved to M = 2. By this means the plaintext characters are reordered in a random fashion to form the ciphertext. The deciphering operation works in an obviously reverse fashion. The displayed J.M is read as "ciphertext character at posi- tion M goes to plaintext position J." Thus in table 8 6.002 would return the B from ciphertext position 2 to the correct plaintext position 6. Mixed Alphabet Generation If the optional substitution operation is to be added to the transposition operation, numerical equivalence for each character of the alphabet must be established. In the dis- cussion which followed the Vigenere Tableau method (March 1979 BYTE, page 57, table 3), an ordered alphabet was used in which the numerical values ran, in order, from to one less than the alphabet size (Na— 1 ). In the work which follows, two changes are made. The numerical equivalents are moved Location 01 07 13 19 25 31 37 43 49 55 61 67 73 79 85 91 97 103 109 115 121 127 133 139 Entries: Keys ( fLBLA ) ( fCLREG) ( STQ2 ) ( hRl ) ( fPSS ) ( STQ3 ) ( STQ1 ) ( hRl ) ( STQ4 ) ( hRJ ) ( STOP ) ( STOA ) ( R/S ) ( hCFO ) ( fx<0? ) ( hSFO ) ( hABS ) ( STOC ) ( hCFI ) ( fx = 0? ) ( hSF1 ) ( fFIX ) ( 2 ) ( ENTt ) ( 2 ) ( 9 ) ( hy» ) ( STOE ) ( 1 ) ( ST06 ) ( fLBLI ) ( 5 ) ( ) ( STQ5 ) ( fGSBE ) ( STQ9 ) ( 3 ) ( ) ( fLBL5 ) ( STQ8 ) ( RCL4 ) c J ( "NT ) ( STQ7 ) ( 1 ) C D c ( hSTI ) ( RCL8 ) ( RCL9 ) (_ J ( CHS ) ( X ) ( + ) ( 2 ) ( hx% ) ( hy* ) ( I ) ( 9FRAC ) ( • ) ( RCL(i) ) ( g*>y? ) ( h xSy ) ( GTQ4 ) J ( RCL8 ) ( RCL7 ) ( ST07~) m ( GTQ5 ) ( fLBL2 ) ( 1 ) ( STO-5 ) ( RCL3 ") ( fGSBE ) ( RCL5 ) ( fxi<0? ) ( STQ9 ) ( 1 ) c J ( hSTI ) ( RCL(i) ) ( STQ8 ) ( fLBL3 ) ( RCL8 ) ( RCL7 ) ( gx>y? ) ( RCLE ) ( GTQ6 ) ( STQ7 ) ( fLBL9 ) Q J ( RCL7 ) ( gx = y? ) ( GTQ7 ) ( ( STO-8 ) ( STCH7 ) ( GTQ3 ) ( fLBL7 ) ( fDSZ ) ( RCL(i) ) ( STQ8 ) ( RCLE ) ( STQ7 ) ( GTQ8 ) ( 1 ) ( GTQ3 ) ( fLBL6 ) ( STO-9 ) ( GTQ9 ) ( RCL9 ) ( fLBL4 ) ( fx = 0?) (ZTD ( STQ^7 ) ( fLBL8 ) ( RCL7 ) ( STO+(i) ) ( 2 ) Q ( hRCI ) (_ ( fLN ) J C 3 CZZZ) C 3 ( RCL7 ) C_2—) n^n c ) CT^T) c J c D CZZ) 3 CmO C 3 C J ( RCL6 ) ( + ) ( STQ5 ) ( DSP3 ) ( R/S ) ( hF?1 ) Listing 7 continued on page 152. A: A0, A1,A2, Nc R/S: Na Na=0 transposition only. HafO transposition and substitution +Na encipher — Na decipher Registers: Rj 1 A1 2 A2 3 S 4 Nc 5 utility 6 J 7 utility 8 utility 9 R S0-S9 M-field bit storage A R 2 j B not used C Na D not used E 2 29 Listing 1 : Crypto program written for the HP 67. This program performs encryption and decryption functions by transposition and substitution as described in the text. The value of Nc must be less than or equal to 300 and the value of Na must not exceed 999. Flag FO has two states: true for decipher and false for encipher mode. Flag F1 is true when only trans- position mode is wanted and false when the dual transposition and sub- stitution mode is used. Flag F2 is used in the random number generation loop. April 1979 ©BYTE Publications Inc 145 to the range of 1 to the alphabet size for user convenience only. Secondly, a mixed alphabet is recommended, such as that shown in table 9. This type of alphabet is no harder to use and offers an increase in security over the ordered alphabet. Generation of such an alphabet is trivial. Columns 1 and 3 are prepared first. Program Crypto is then run in the transposition only mode with a character count equal to the al- phabet size. The M values generated are cop- ied into column 2; the J index corresponds to column 3. The data thus formed in columns 1 and 2 permits column 4 to be filled in. Table 9 allows convenient alphabetic-to- numeric conversions (columns 1,2) and numeric-to-alphabetic (columns 3,4). Dual Mode Operation Table 10 illustrates the situation in which substitution is done in addition to trans- position. Note that a plaintext numerical value row has been added to the plaintext section and a ciphertext numerical value row has been inserted into the ciphertext section. The Pj row is filled by use of columns 1 and J field index: Pj (plaintext): Pj (plaintext value): 2 A 3 L 4 5 E P 6 R Nc 17 07 04 08 19 25 11 encipher , I ' Cm = Pj + Kj(MOD Na), encipher Pj = Cm- Kj(MOD Na), decipher i ' ll' leciphe r Nc M field index: 12 3 4 5 6 7 Cm (ciphertext value): 09 24 22 20 17 23 05 Cm (ciphertext): G V M K S D Z Table 10: An example of the dual mode operation of program Crypto, which performs transposition and substitution. To encipher the example shown, the calculator first displays a JM number. In this case it is 7.002. The user then enters the plaintext value (Pj) or 1 1. The calculator then displays 7.002024 in the form J.M Cm. This values means that the character which was in the seventh position of the plaintext is moved to the second position of the cipher text and given a value of 24. The value 24 is then given the alphabetic equivalent or V. When deciphering, the calculator again displays a value in the form J.M. Again it will be 7.002. The user then enters the value of the ciphertext (Cm), which is in position 2. This number happens to be 24, the value_pf the letter V. The calculator then displays a number in the form of J.M Pj, or 7.002011 for the example. This instructs the user to transfer the number that was in position 2 to position 7 and give it a value of 11 . This value is converted into the equivalent alphabetic or I. Either of these processes is repeated for the entire plaintext or codetext until the entire message is decoded or encoded. 2 of table 9. Each Crypto cycle now has two parts. In the first part the machine halts with J.M in the display, as before. The user then enters the plaintext (Pj) value (11 for I in this case) from the plaintext value row and depresses R/S. The machine will perform the appropriate addition (modulo Na) and halt showing: J.M Cm. For the table 10 example the display would show: 7.002024. The user then places 24 in position 2 of the ciphertext value (Cm) row and depresses R/S for the next cycle. Columns 3 and 4 of table 9 may be used later to convert the character values to equivalent characters Cm. In the deciphering operation one starts with the ciphertext and obtains the Cm values from table 9. During the J.M_halt in the Crypto cycle the user enters Cm (24 from position 2 in the 7.002 example) and depresses R/S. The subtraction operation (modulo Na) is performed and the result is shown as: J-M Pj; which would be: 7.002011. This directs that 1 1 be placed at position 7 of the Pj row which is thus filled and later converted to character equivalents to com- plete the deciphering operation. In actual usage a single index row may serve for both J and M. However, one may wish to record M of the displayed J.M pair as a record of the transposition operations. Detailed Instructions and Examples Tables 11 and 12 give detailed instruc- tions for the use of Crypto in the transposi- tion only mode. Tables 13 and 14 give instructions for operation in the dual (trans- position and substitution) mode. These tables contain 10 character exam- ples using the demonstration message and demonstration key. The complete demon- stration message processed by transposition only (table 11) using the demonstration key, becomes: (A: 0.5, 1.625,3.125,40 R/S: 0) E B AE Y I P D EO ECNTM R R Y PP 146 April 1979 t> BYTE Publications Inc Text continued on page 150. The TO ORDER CALL TOLL FREE 800-223-7318 NEW! only 5795 $54 g D , • 14K ROM Operating system • 8K RAM Memory • 9" Video Monitor • Built in Keyboard • Digitally controlled tape I Today's best value in personal computers, along with the latest | in peripherals, are always in stock at the COMPUTER FACTORY NEW! PET s?y T s E N M ESS BILLINGS MICROSYSTEM EXPANDABLE TO 2 MEGABYTES only $3645 BUSINESS SOFTWARE AVAILABLE! features: • 320 K Storage • 12" CRT • Graphics • 64K RAM • 94 Keys • Z-BO • 2 RS-232 ports • Dual mini floppy • 1 parallel port The PET is now a truly sophisticated Business System with the Floppy | Disk and Printer which makes an ideal cost efficient business | system for most professional and specialized fields: medicine, law, research, engineering, education, etc. / PET 2001 - 16KS995 / 32K$1195 -J ' 16 or 32K Bytes Dynamic RAM ► 14K ROM Operating System ► 9" CRT i Upper/Lower Case and Graphics • Full Sized Business Keyboard i Full Screen Editing » Operating system will support multiple Languages (BASIC resident) » Machine Language Monitor » 8K ROM Expansion Sockets Compueolorll COMPUCOLOR II Disk-Based Model 3 Advanced hardware and software technology gives you: • 13" Color Display • Advanced Color Graphics • 51 K Disk Built-in • 16K ROM Operating System • 8K RAM User Memory • 4K RAM Refresh • 8080A Microcomputer • RS-232 I/O \ Every unit comes with an extended DISK- BASIC that has full file management capa- bility resident in the COMPUCOLOR II in 16K of ROM. Color is fantastic, but COM- PUCOLOR II has the power to handle com- plex tasks and small business applications. An impressive software library supplements your own creativity. $1495 Complete! 16K Model add $200 32K Model add $500 8V 2 ELECTROSTATIC PRINTER 2021 • 80 column dot matrix • Full PET graphics • 8'/;» inch paper 1 PET , PRINTERS 2023 $849 2022 $995 (Includes Tractors) Bottom and Rear Tractor Feed 8'/ 2 " Paper width 6504 Microprocessor Controlled 112 cps Bi-directional 4K ROM • V;K RAM Upper/Lower Case and Graphics BUSINESS COMPUTERS IMSAI 1 Data General micro NOVA The ultimate in small business computers when matched with COMPUTER FAC- TORY'S microcomputer Software: Accounts Receivable/Payable. Inventory Control/ Order Entry. General Ledger. Payroll Sys- tems from about l$1 3,500 • 7 x 6 Dot Matri> The low cost solution for all small business problems A wide variety ot software is available for all your needs. PCS series include dual floppies, 32K RAM, I/O, DOS. BASIC • PCS-42 (400KB) $2995 • PCS-44 (780KB) S3695 VDP-42 series adds video terminal, key- board and VIO to above • VDP-42 S4795 • VDP-44 $4495 • VDP/80 $6995 PET MUSIC BOX Add music and sound effects to your programs. Compose, play, and hear music on your pet. Completely self-contained (no wiring). Free 3 programs including Star Wars theme, sound effects, etc. J39. DUAL DRIVE FLOPPY DISK 2040 $1095 • 360 K Bytes Storage • High Speed Data Transfer • Plugs into IEEE Port • 6504 Microprocessor ' • 8K ROM Operating System • 8K ROM Encoding and Decoding • 4K RAM • Uses Single or Dual sided Diskettes \C cartridge! for iom like; APL, COBOL, PIL.0T, FORTRAN, tic. Add mon- SORCERER SPECIAL 12" Video Monitor for SORCERER ($299 value) ONLY $125 with 8K unit 95 with 16K unit 65 with 32K unit The Computer of the Future is here Now! PASCAL TM MICROENGINE $2995 Western Digital's new 16-bit Pascal Computer System • 64K bytes (32K words) of RAM • 2 RS-232 ports • 2 8-bit parallel ports • Floppy disk controller • Floating point hardware • Memory Mapped I/O • Enclosed power supply PERIPHERALS FOR PET • 24K Memory Expansion . . . S<*99 • 16K Memory Expansion .... 399 ' PET to RS232 Serai 169 ' 2 Way Senal'Communication249 » Modern Board for PET 375 ' PET to SI00 (4-slot) 160 :ond Cassette Drive ! RADIO SHACK • PET • SORCERER IAPPLE • COMPUCOLOR • ETC. aBiaianEmiE APPLE II from ,$970 SINGLE DRIVE I FLOPPY UNIT 2041 $595 • Intelligent mini Iloppy I • 171.5K net user storage ■ COMPUTER FACTORY'S extensive CENTRONICS 779 . .$1045 inventory and wide selection of computer AXIOM (Parallel) 395 printers assures you of finding the printer AXIOM (Serial) 495 best suited for your needs and EXPANDOR (Tractors) 425 1 specifications. The following printers work INTEGRAL DATA 795 well with all known personal computers. QUME or DIABLO . . . 3400 Word Processing For PET. With this program In hand, you can create text and add, delete, center, recall lines and move text around on page or between pages. Use either PET or terminal keyboard. £45.00 S35 of Softwarewiih purchase 01 any computer on this page Min Credit Card Order $75 N Y. residenls add 8% sales tax • Same day shipment on prepaid and credit card orders • Add S10 shipping for computers, S3 for boards. $ 25 each cassette tape. FREE TO ORDER CALL TOLL FREE 800-223-7318 Open Mon.-Fri. 10-6 1 0-4. vW «V% T|, ft /" % /*MV/IDI ITCD CArTnDV 485 Lexington Avenue 750 Third Avenue New York, N.Y. 10017 I lie VsVJIVIr U I Cn rMV/ I \Jr\ T (212) 687-5001 (212) PET-2001 Foreign order desk - Telex 640055 BYTE April 1979 PET / TRS-80 / APPLE: Personal Software brings you the finest! NEW! THE ELECTRIC PAINTBRUSH by Ken Anderson for 4K Level I and II TRS-80s: Create the most dazzling graphics displays you have ever seen with a minimum of effort. The Electric Paintbrush is actually a simple 'language' in which you can write 'programs' directing your paintbrush around the screen — drawing lines, turning corners, changing white to black, etc. Once defined, these programs may be called by other programs or repetitively executed, each time varying the parameters of brush movement. The machine language interpreter executes your programs almost instantaneously, allowing you to create real-time, animated graphics displays. The screen photos above are actually 'snapshots' of the action of a single one-line program over about thirty seconds. Mesmerize your friends with visual effects they've never seen on a TV screen! There's no limit to the variety of exciting and artistic graphics displays you can create with The Electric Paintbrush. And it's available now for only $14.95 :*: =i:i:t:t: ¥/■;••;:'.;' . | mi*i * t X X" X *■"" 1 "L* •*• .UHt >!*' ****** ****** (SUM >JU' *""= lllm !.»«« • * *A« mm iX* *I* mm mm ■■ i««i will nuu tutu *■":'■--:: ■ * iiiik mm " mm m*t* mm unit nnnw nnnmm ft MICROCHESS is the culmination of two years of chessplaying program development by Peter Jennings, author of the famous 1 K byte chess program for the KIM-1. MICROCHESS 2.0 for 8K PETs and 16K APPLEs, in 6502 machine language, offers 8 levels of play to suit everyone from the beginner learning chess to the serious player. It examines positions as many as 6 moves ahead, and includes a chess clock for tournament play. MICROCHESS 1.5 for BRIDGE CHALLENGER by George Duisman for 8K PETs, Level II 16K TRS-80s, and 16K APPLEs: You and the dummy play 4 person Contract Bridge against the computer. The program will deal hands at random or according to your criterion for high card points. You can review tricks, swap sides or replay hands when the cards are known. No longer do you need 4 people to play! $14.95 TIME TREK by Brad Templeton with sound effects for 8K PETs is Personal Software's answer to the proliferation of Star Trek games. This is a real time action battle game which requires fast thinking as well as sharp wits. There are no 'turns' in Time Trek: your scanners and ship's status report are constantly updated on the screen, and you can enter commands as fast as you can press the keys. You use your shields, phasers and photon torpedoes against enemy Klingons in a game where you can move, steer and fire at the same time. Star Trek aficionado or not, you'll appreciate the excitement and excellence of this real time game $14.95 WHERE TO GET IT: Look for the Personal Software™ display rack at your local computer store. Over 275 dealers now carry the Personal Software 7 " line— more than any other brand. If your local dealer doesn 't already carry Personal Software" products, ask him to call us at (617) 782-5932. Or you can order direct from us by check, money order or VISA/Master Charge. If you have questions, please call us first at (617) 783-0694. If you know what you want and have your VISA/MC card ready, you can use any telephone to DIAL TOLL FREE 1-800-325-6400 24 hrs In Missouri dial 1-800-342-6600 7 days Or you can mail your order to the address below. To add your name to our mailing list for free literature and announcements of new products, use the reader service card at the back of this magazine. Personal Software™ P.O. Box 136-B4, Cambridge, MA 02138 148 BYTEAprill979 4K TRS-80s, in Z-80 machine language, offers 3 levels of play ( both Level I and Level II versions are included and can be loaded on any TRS-80 without TBUG). MICROCHESS checks every move for legality and displays the current position on a graphic chessboard. You can play White or Black, set up and play from special board positions, or even watch the computer play against itself! Available now at a special introductory price of only $19.95 Circle 302 on inquiry card. Look for Personal Software™ products at the dealer nearest you! ALABAMA BYTE SHOP Hunlsville, AL 35805 COMPUTERLAND Hunlsville. AL 35805 THE LOGIC STORE Opelika. AL 36801 ALASKA ALPHA ELECTRONICS Anchorage, AK 99503 ARIZONA PERSONAL COMPUTER PLACE Mesa. AZ 85202 COMPUTERLAND OF PHOENIX Phoenix AZ 85016 COMPUTER SHOWROOM Tucson. AZ 85710 ARKANSAS COMPUTERLAND Little Rock, AR 72212 DATACOPE Lmle Rock, AR 72204 CALIFORNIA JAY-KERN ELECTRONICS BakerslielO. CA 93305 BYTE SHOP Burbank. CA 91506 BYTE SHOP OF SACRAMENTO Cilrus Heights. CA 95610 COAST COMPUTER CENTER Costa Mesa. CA 92627 CAPITOL COMPUTER SYSTEMS Davis. CA 95616 COMPUTERLAND SAN DIEGO EAST El Caion. CA 92020 COMPUTERLAND OF EL CERRITO El Cerrito. CA 94530 BUSINESS ENHANCEMENT COMPUSERVICE Escondido. CA 92027 CHANNEL DATA SYSTEMS Goleta, CA 93017 RAINBOW COMPUTING Granada Hills. CA 91344 JADE COMPUTER PRODUCTS Hawthorne, CA 90250 BYTE SHOP OF HAYWARD Hayward, CA 94541 COMPUTERLAND OF HAYWARD Hayward. CA 94541 COMPUTERLAND OF WEST LA, Inglewood. CA 90302 COMPUTERLAND OF SOUTH BAY Lawndale, CA 90260 A-VIDD ELECTRONICS Long Beach, CA 90815 COMPUTERLAND Los Altos, CA 94022 BYTE SHOP Mountain View. CA 94040 HOBBY WORLD ELECTRONICS Northncfge. CA 91324 COMPUTERS-MADE-EASY Palmdale. CA 93550 BYTE SHOP OF PLACENTIA Placentia. CA 92670 COMPUTERLAND San Bernadino. CA 92404 COMPUTERLAND OF SAN DIEGO San Diego, CA 92111 COMPUTER MERCHANT San Diego. CA 92115 COMPUTERLAND OF SAN FRANCISCO San Francisco. CA 94105 VIDEO GAMES 4 COMPUTERS San Francisco, CA 94118 COMPUTERLAND OF SAN JOSE San Jose, CA 95129 COMPUTERLAND (Central) San Leandro. CA 94577 BYTE SHOP San Louis Obispo. CA 93401 MARIN COMPUTER CENTER San Rafael. CA 94903 ADVANCED COMPUTER PRODUCTS Santa Ana. CA 92705 BYTE SHOP Santa Clara. CA 95051 COMPUTER FORUM Sanla Fe Springs. CA 90670 THE COMPUTER STORE Santa Monica. CA 90401 SANTA ROSA COMPUTER CENTER Santa Rosa. CA 95404 BYTE SHOP Suisun, CA 94585 COMPUTERS PLUS Sunnyvale. CA 94087 BYTE SHOP OF TARZANA Tarzana, CA 91356 COMPUTERLAND OF THOUSAND OAKS Thousand Oaks, CA 91360 SMALL SYSTEM SOFTWARE Thousand Oaks. CA 91360 COMPUTER COMPONENTS Van Nuys. CA 91411 COMPUTERLAND Walnul Creek, CA 94598 BYTE SHOP Westminster CA 92683 COMPUTER COMPONENTS OF ORANGE COUNTY Westminster CA 92683 Circle 302 on inquiry card. COLORADO BYTE SHOP Boulder. CO 60301 COMPUTERLAND Colorado Springs. CO 80917 AMPTEC Denver, CO 80216 COMPUTERLAND Denver, CO 80222 BYTE SHOP Englewood. CO 80110 MICRO WORLD ELECTRONIX Lakewood, CO 80226 CONNECTICUT COMPUTERLAND OF FAIRFIELD Fairfield. CT 06430 JRV COMPUTER STORE Hamden. CT 06518 THE COMPUTER STORE Hartlord, CT 06103 THE COMPUTER STORE Windsor Locks. CT 06096 WASHINGTON D.C. COMPUTER CABLEVISION Washington, D.C. 20007 FLORIDA COMPUTERLAND Boca Raton. FL 33432 THE COMPUTER STORE Bradenton. FL 33505 THE COMPUTER STORE Clearwater, FL 33516 UCATAN Destin, FL 32541 BYTE SHOP Fort Lauderdale. FL 33334 COMPUTERLAND Fort Lauderdale, FL 33308 COMPUTERS FOR YOU Fort Lauderdale, FL 33312 DATA MOVERS Fort Meyers. FL 33901 FOCUS SCIENTIFIC ENTERPRISES Miami. FL 33132 GRICE ELECTRONICS Pensacola. FL 32589 COMPUTERAGE Pompano Beach, FL 33062 PAPERBACK BOOKSMITH Sarasota. FL 33581 AMF ELECTRONICS Tampa, FL 33612 MICRO COMPUTER SYSTEMS Tampa, FL 33609 COMPUTER CENTER OF PALM BEACHES West Palm Beach. FL 33409 GEORGIA ADVANCE COMPUTER TECH Atlanta. GA 30328 COMPUSHOP Atlanta. GA 30342 DATAMART Atlanta. GA 30305 THE LOGIC STORE Columbus, GA 31906 COMPUTERLAND OF ATLANTA Smyrna. GA 30080 HAWAII COMPUTERLAND Honolulu, HI 96813 MICROCOMPUTER SYSTEMS Honolulu. HI 96813 RADIO SHACK (Dealer) Lihue. HI 96766 IDAHO NORTHWEST COMPUTER CENTER Boise, ID 83704 ILLINOIS COMPUTERLAND OF ARLINGTON HEIGHTS Arlington Heights, IL 03904 FARNSWORTH COMPUTER CENTER Aurora. IL 60505 KAPPEL'S COMPUTER STORE Belleville. IL 62220 DOW-COM Carbondale. IL 62901 BYTE SHOP Champaign, IL 61820 THE ELEKTRIK KEYBOARD Chicago, IL 60614 EMMANUEL B GARCIA JR AND ASSOCIATES Chicago. IL 60613 PERSONAL COMPUTER Chicago. IL 61820 COMPUTERLAND Downers Grove, IL 60515 COMPUTER STATION Granite City. IL 62040 ILLINI MICROCOMPUTERS Naperville. IL 60540 COMPUTERLAND OF NILES Niles. IL 60648 COMPUTERLAND Oak Lawn. IL 60453 COMPUTERLAND OF PEORIA Peoria. IL 61614 WALLACE ELECTRONICS Peoria. IL 61614 DATA DOMAIN Schaumburg. IL 60195 INDIANA DATA DOMAIN OF FORT WAYNE Fort Wayne. IN 46805 HOME COMPUTER CENTER Indianapolis, IN 46220 PUBLIC COMPUTING Lafayette. IN 47904 IOWA SYNCHRONIZED SYSTEMS Des Moines. lA 50310 THE COMPUTER CENTER Waterloo, IA 50701 KANSAS PERSONAL COMPUTER CENTER Overland Park. KS 66206 COMPUTER SYSTEMS DESIGN Wichita. KS 67214 LOUISIANA COMPUTER SHOPPE Metaire. LA 70002 MARYLAND COMPUTERLAND Rockville. MD 20855 COMPUTERS ETC. Towson. MD 21204 COMPUTERS UNLIMITED Towson, MD 21204 MASSACHUSETTS THE COMPUTER STORE Burlington. MA 01803 THE COMPUTER STORE Cambridge. MA 02139 MAD HATTER SOFTWARE Dracul. MA 01826 NEW ENGLAND ELECTRONICS Springfield. MA 01103 MICHIGAN NEWMAN COMPUTER EXCHANGE Ann Arbor. Ml 48104 NEW DIMENSIONS IN COMPUTING East Lansing, Ml 48823 COMPUTER HOUSE DIV Jackson. Ml 49202 COMPUTERLAND OF GRAND RAPIDS Kentwood. Ml 49508 COMPUTRONIX Midland. Ml 48640 COMPUTER MART OF ROYAL OAK Royal Oak. Ml 48073 TRI CITY COMPUTER MART Saginaw. Ml 48603 COMPUTERLAND Southfield. Ml 48034 LEVEL FOUR PRODUCTIONS Westland. Ml 48185 MINNESOTA COMPUTERLAND Bloomington. MN 55431 MINN. MICRO SYSTEMS Minneapolis, MN 55454 MISSISSIPPI OXFORD SOFTWARE CO. Oxford. MS 38655 MISSOURI FORSYTHE COMPUTERS Clayton. MO 63105 COMPUTER COUNTRY Florissant. MO 63031 NEVADA HOME COMPUTERS Las Vegas. NV 89109 NEW HAMPSHIRE TRS-80 SOFTWARE EXCHANGE Milford. NH 03O55 COMPUTERLAND OF NASHUA Nashua. NH 03060 BITS. INC. Peterborough, NH 03458 NEW JERSEY COMPUTER LAB OF NJ Budd Lake, NJ 07828 COMPUTER EMPORIUM Cherry Hill. NJ 08002 COMPUTER MART OF NJ Iselin, NJ 08830 MSM ELECTRONICS Medford, NJ 08055 COMPUTERLAND Morristown, NJ 07960 COMPUTERLAND Paramus. NJ 07652 COMPUTER NOOK Pine Brook, NJ 07058 COMPUTER ENCOUNTER Princeton. NJ 08540 TYPTRONIC COMPUTER STORE Ramsey, NJ 07446 NEW YORK COMPUTERLAND Buffalo. NY 14150 COMPUTERLAND Carle Place. NY 11514 COMPUTER SHOP OF SYRACUSE De Witt. NY 13214 THE COMPUTER TREE Endwell. NY 13760 LONG ISLAND COMPUTER GENERAL STORE Lynbrook. NY 11563 COMPUTER MICROSYSTEMS Manhasset. NY 11030 THE COMPUTER FACTORY New York. NY 10017 COMPUTER MART OF NEW YORK New York. NY 10016 AUTOMATIC SYSTEMS Poughkeepsie, NY 12603 COMPUTER HOUSE Rochester, NY 14609 THE COMPUTER STORE Rochester. NY 14618 HOME COMPUTER CENTER Rochester. NY 14607 THE COMPUTER CORNER White Plains. NY 10601 READOUT COMPUTER STORE Williamsville. NY 14221 NORTH CAROLINA BYTE SHOP Charlotte. NC 28212 COMPUTERLAND Charlotte. NC 28205 FUTUREWORLD Durham, NC 27707 BYTE SHOP Greensboro, NC 27401 MICROCOMPUTER SERVICES Hickory. NC 28601 BYTE SHOP OF RALEIGH Raleigh. NC 27605 OHIO BASIC COMPUTER SHOP Akron. OH 44314 CINCINNATI COMPUTER STORE Cincinnati, OH 45246 21ST CENTURY SHOP Cincinnati. OH 45202 CYBER SHOP Columbus, OH 43227 MICRO MINI COMPUTER WORLD Columbus, OH 43213 COMPUTER SOLUTIONS Dayton, OH 45409 DAYTON COMPUTER MART Dayton, OH 45409 ASTRO VIDEO ELECTRONICS Lancaster, OH 43130 COMPUTERLAND OF CLEVELAND Mayfield Heights. OH 44121 RADIO SHACK (Dealer) St. Clairsville. OH 43950 OKLAHOMA HIGH TECHNOLOGY Oklahoma City. OK 73106 MICROLITHICS Oklahoma City, OK 73127 HIGH TECHNOLOGY Tulsa, OK 74129 OREGON THE COMPUTER STORE Corvallis. OR 97330 CAMERA AND COMPUTER EMPORIUM Portland, OR 97205 COMPUTERLAND OF PORTLAND Tigart, OR 97223 PENNSYLVANIA BYTE SHOP Bryn Mawr. PA 19010 PERSONAL COMPUTER CENTER Frazer. PA 19355 COMPUTER AID Latrobe. PA 15650 THE COMPUTER WORKSHOP Murrysville, PA 15668 RADIO SHACK (Dealer) North Wales. PA 19454 A B COMPUTERS Perkasie. PA 18944 MICROTRONIX Philadelphia, PA 19106 SOUTH CAROLINA DATA MART Greenville. SC 29607 TENNESSEE MICROCOMPUTER STORE Knoxville. TN 37919 COMPUTER LABS OF MEMPHIS Memphis, TN 38117 DOCS COMPUTER SHOP Nashville, TN 37211 TEXAS COMPUTERLAND OF AUSTIN Austin. TX 78757 COMPUSHOP Dallas. TX 75243 COMPUTERLAND Dallas. TX 75231 KA ELECTRONICS SALES Dallas. TX 75247 COMPUTER TERMINAL El Paso. TX 79901 RAM MICRO SYSTEMS Fori Worlh. TX 76116 COMPUTERCRAFT Houston, TX 77063 COMPUTERLAND OF HOUSTON BAY Houston TX 77058 NEIGHBORHOOD COMPUTER Lubbock. TX 79401 COMPUTER PATCH OF SANTA FE Odessa. TX 79762 COMPUSHOP Richardson. TX 75080 THE COMPUTER SHOP San Anlonio. TX 78216 COMPUTER SOLUTIONS San Anlonio TX 78229 WICHITA COMPUTER SYSTEMS Wichita Falls. TX 76301 UTAH ADP SYSTEMS Logan. UT 84321 THE HI-FI SHOP Salt Lake City. UT 84117 VERMONT COMPUTERMART Essex Junction. VT 05452 VIRGINIA COMPUTER HARDWARE STORE Alexandria, VA 22314 COMPUTERS PLUS Alexandria, VA 22304 COW. INC Blacksburg. VA 24060 HOME COMPUTER CENTER Newport News. VA 23606 COMPUTER TECHNIQUES Richmond. VA 23235 THE COMPUTER PLACE Roanoke. VA 24015 COMPUTER WORKSHOP Springfield. VA 22151 COMPUTERLAND Vienna. VA 22180 HOME COMPUTER CENTER Virginia Beach, VA 23452 WASHINGTON OMEGA NORTHWEST Bellevue. WA 98004 COMPUTERLAND OF SOUTH KING COUNTY Federal Way, WA 98003 YE OLDE COMPUTER SHOPPE Richland, WA 99352 THE COMPUTER SHOPPE Seattle. WA 98115 EMPIRE ELECTRONICS Seattle, WA 98166 PERSONAL COMPUTERS Spokane. WA 99202 COMPUTERLAND Tacoma, WA 98499 WISCONSIN BYTE SHOP OF MILWAUKEE Greenfield. Wl 53227 COMPUTERLAND Madison. Wl 53711 MADISON COMPUTER STORE Madison. Wl 53711 COMPUTERLAND Milwaukee. Wl 53222 FOX VALLEY COMPUTER STORE Neenha. Wl 54956 AUSTRALIA ELECTRONIC CONCEPTS PTY LTD COMPUTERLAND Sydney. N.S.W. CANADA COMPUSHOP Calgary, Alberta T2N 2A4 THE COMPUTER SHOP Calgary, Alberta T2T 4T9 TJB MICROSYSTEMS Edmonton. Alberta T5M 0H9 COMPUTER CITY Winnepeg. Manitoba R3P 0H8 COMPUTERLAND Winnepeg. Manitoba R3G 0M8 INTERACTIVE COMPUTER SYSTEMS Frederickton, New Brunswick MINICOMP SYSTEMS Halifax. Nova Scotia B3K 2G1 KOBETEK SYSTEMS Wolfville, Nova Scotia BOP 1X0 LYNTRONICS Downsview, Ontario M2J 2W6 COMPUTER CIRCUITS London, Ontario N6A 3H2 COMPUMART Ottawa. Ontario K2A 1J2 COMPUTER INNOVATIONS Ottawa, Ontario K1B 4A8 RICHVALE TELECOMMUNICATIONS Richmond Hill. Ontario THE COMPUTER CENTRE Sarnia. Ontario N7T 1B4 COMPUTER MART Toronto. Ontario M4G 3B5 THE COMPUTER PLACE Toronto. Ontario M5V 1Z1 COMPUTER SPECIALIST Toronto. Ontario M3K 1E7 HOUSE OF COMPUTERS Toronto. Ontario MARKETRON Toronto, Ontario MICRO-WARE Toronto. Ontario M4E 2L2 COMPUCENTRE Montreal. Quebec HU 1Z4 FUTUR BYTE Montreal. Quebec H3B 3C9 CUSTOM COMPUTING SERVICES Saskatoon. Saskatchewan S7K 2B5 DIGITAL SERVICE Saskatoon Saskatchewan S7J 3A9 PUERTO RICO MICROCOMPUTER STORE Rio Piedras PR 00921 PLUS 17 DEALERS IN EUROPE! BYTE April 1979 149 Text continued from page 146: 1. 2. 3. 4. 5. 6. 7. 10. Prepare table as example table 1 1b shows and enter plaintext Pj. (1 la) Switch calculator to RUN and ON. Load program. Input data R , A-] , A 2 , Nc. Follow each entry except the last with ENTt. Press A. Input data 0. Depress R/S to start program. Calculator will stop with a number in the form J.M. Copy plaintext character at position J to ciphertext position M. Depress R/S and return to step 7. Repeat the steps 7 and 8 loop. Pressing R/S after character Nc will cause the ERROR sign to flash. When flashing stops, press R/S one time. If program is to be restarted, return to step 4. Encipherment Example (lib) J.M 01 02 03 04 05 06 07 08 09 10 Pj M A Y U P B I D P R Cm A B M P D I P R U Y Table 11: Crypto instructions for enciphering in the transposition only mode. The key is A:0.5, 1.625, 3. 125, 10 R/S: 0. 1. 2. 3. 4. 5. 6. 7. 9. 10. Prepare table as example table 1 2b shows and enter ciphertext Cm. (12a) Switch calculator to RUN and ON. Load program. Input data Rq, A-] , A 2 , Nc. Follow each entry except the last with ENTt. Press A. Input data 0. Depress R/S to start program. Calculator will stop with a number in the form J.M. Copy ciphertext character at position M to plaintext position J. Depress R/S and return to step 7. Repeat the steps 7 and 8 loop. Pressing R/S after character Nc will cause the ERROR sign to flash. When flashing stops, press R/S one time. If program is to be restarted, return to step 4. Decipherment Example (12b) J,M 01 02 03 04 05 06 07 08 09 10 Cm A B M P D I P R U Y Pi M A Y U P B I D P R Table 12: Crypto instructions for deciphering in the transposition only mode. The key is A :0.5, 1.625, 3. 125, 10 R/S: 0. 9. 10. 11. 12. Prepare table as example table 13b shows. Enter plaintext Pj and, (13a) using alphabet table, enter Pj values. Switch calculator to RUN and ON. Load program. Input data Ro, A-|, A 2 , Nc. Follow each entry except the last with ENTt. Press A. Input data Na. Press R/S to start program. Calculator will stop with a number in the form J.M. At index J select and enter Pj and press R/S. _ Calculator will stop with a number in the form J.M Cm. At index M in table enter Cm from display. Press R/S and return to step 7. Repeat the steps 7, 8 and 9 loop. Pressing R/S after character Nc flashes the ER- ROR sign. When flashing stops, press R/S one time. Using alphabet table convert Cm to Cm to obtain ciphertext. If program is to be restarted, return to step 4. Encipherment Example (13b) J.M 01 02 03 04 05 06 07 08 09 10 index. Pi M A Y U P B I D P R plaintext. i Cm 22 07 10 21 19 02 11 23 19 25 entered at step 7 from alphabet table 13 01 10 22 19 11 05 06 22 09 program output from step 8. Cm H F Y M P I Z X M G from alphabet table. Table 13: Crypto instructions for enciphering in the dual transposition and substitution mode. The sample table used for enciphering is shown in table 13b. The key isA:0.5, 1.625, 3. 125, 10 R/S: 26; table 9 used. WE i N A N NTO U CONTC LTTR Y. The same message enciphered mode (table 13) becomes: the dual (A: 0.5, 1.625,3.125,40 R/S: 26) S FH I U I M PA I S AVVW SG I WM J I F Y Y XR VXZ P A R T U V F F B G. In the dual mode operation a conver- sion operation may be saved at each e_nd of the system by using the numerical Cm data directly as the cryptogram. The dis- advantage to this is that the number of characters to be transmitted is doubled. In some circumstances transmission of numerals may be preferred over alphabetic characters in spite of the expanded volume. Use of Nulls Many procedures may be followed which will aid in protecting the cipher. One of these is the use of nulls. This procedure is very simple to use and actually speeds up the enciphering and deciphering process as dis- cussed in the text box on search strategy. To use this technique, specify a message char- acter length (Nc) to program Crypto which is larger than the actual message length. For example, consider a message of length 100 and an Nc value specification of, say, 125. Crypto is used in the normal way until all 100 message characters are processed into the ciphertext. At this point the 125 char- acter ciphertext contains 25 (scattered) blank spaces. Fill these blank spaces with characters chosen by you at random. When finished, the cryptogram will contain 25 totally irrelevant characters randomly located in the ciphertext. The nulls present no problem to the deci- pherer since Crypto will point that person to genuine data for the first 100 processing cycles; after that the nulls are indicated. It might be wise to clearly delineate the end of a message by appending some prearranged terminal symbol to the plaintext. The speed of operation may be greatly increased by use of nulls since this keeps the mean processor time low, as discussed in the text box on search strategy. The longer messages should definitely use nulls to speed up the process. The use of nulls is clearly advantageous, since this presents the cryptanalyst with some additional possibilities that must be sorted out. Make sure that the nulls you supply blend well with the genuine cipher- text. Do not attempt, for example, to bal- 1 50 April 1979 © BYTE Publications Inc oWWIaB FOR YOUR TRS-80 - PET - APPLE GALACTIC BLOCKADE RUNNER— an exciting, different and sophisticated space war game with inieresting graphic displays. Plays betterthan many of the Star Treks out there. Tl/4 T2/16 P A$9.95 SCI-FI GAME SAMPLER— includes 3 games— Space Monster, Lunar Lander and Space Battle, all withgraphics. Tl/4 T2/I6 P $5.95 SOLARIA — a sophisticated fantasy economic simulation — you won't believe the complexity of this one's output. T2/16 P $9.95 PILOT — The educational language— Ready for your TRS-80! This version comes complete with a built in editor and 3 sample programs. Tape Version $14.95 Disk Version $24.95 Please Sir — Could you tell me where I can Find Software for my Microcomputer? BUSINESS AND APPLICATION SOFTWARE AVAILABLE CALL OR WRITE FOR DETAILS < DIET PLANNING PACKAGE— use your computer 10 help plan a safe, reliable diet — calculates what your weight should be, your daily calorie allowance — helps plan your menu. TI/4 T2/16 $14.95 OTHELLO III — A strategy board game — play with the computer, a friend or have the computer play against itself. Tl/4 T2/4 P A $7.95 DAILY BIORHYTHM PROGRAM— has interesting moving line display, gives 30 day graph and more! Tl/4 T2/4 $5.95 MICRO-TEXT EDITOR — non destruclable cursor, graphics capability, versital editing options, save & load screen, output to printer. T2/4 $9.95 GIVE A VOICE AND EARS TO YOUR APPLE COMPUTER! APPLETALKER— speach synthesis for your APPLE computer! $15.95 APPLEL1STENER — speech recognition for your APPLE computer. A nice companion program to the one above. Just think of the possibilities! . $19.95 M1CROCHESS— play chess with your computer. Uses graphic display and provides various levels of difficulty. Tl/4 T2/4 P A $19.95 BRIDGE CHALLENGER— why wail to get 3 other people together to play? Your computer's ready anytime. T2/16 P A $14.95 AIR RAID— a machine language, real- time, arcade type game. Shoot down planes as they fly by. Tl/4 T2/4 $14.95 RSM-2— a machine language monitor for the TRS-80. Many, many features including a built in disas- sembler. $26.95 Disk Version $29.95 A NEW AND EXCITING VERSION OF STAR TREK IS ON THE WAY! WATCH OUR ADS FOR DETAILS OR SEND FOR FREE CATALOG. APPLE 21 — black jack for your APPLE! $9.95 STAR WARS/SPACE MAZE— sci-fi games for your APPLE. $12.95 MICRO-TAX 78 — just in time to help you prepare your returns. Does form 1040 and schedules A, B, C, SE, D&4797. T2/I6 $12.95 RENUMBER— a machine language program for renumbering your BASIC programs, one of your most useful programming tools. T2/4 $14.95 100'S MORE — SEND FOR FREE CATALOG — GIVE TYPE OF COMPUTER T TRS-80 Level/Mem P Commodore PET A Apple II 10% OFF IF YOU BUY 3 OR MORE! UjUjU CJUjVVUUj eePtfCOQQB ■ 900 SALEM ROAD, DRACUT, MA 01826 (617) 682-8131 IF YOU WOULD LIKE TO HAVE YOUR COMPANY NAME HERE AS ONE OF OUR RETAIL DISTRIBUTORS CALL 682-8131 FOR WHOLESALE PRICE INFORMATION (617) Circle 202 on inquiry card. BYTE April 1979 151 Listing J, continued from page 145: 145 151 157 163 169 175 181 187 193 199 205 211 ( GTOfa ) ( ENTt ) ( 1 ) Q c 3 ( gLBLfc ) ( fINT ) ( CHS ) J ( RCLO ) ( RCLC ) ( hF?Q ) ( GTOfc ) ( + ) ( GTOfd ) ( RCLC ) ( + ) ( + ) ( gLBLfd ) ( RCLC ) ( gx>y? ) ( CLX ) £ c^o c J c 3 CZZ C 3 3 ( RCL5 ) ( + ) ( DSP6 ) C R/S ) C g LBLfa ) C 3 ( STO-3 ) ( RCL3 ) ( h 1/x ) ( 1 ) ( STO+6 ) C ( GTQ2 ) c 3 ( RCL3 ) ( gx>y? ) ( GTOI ) ( fLBLE ) ( hSF2 ) ( RCLA ) ( gLBLfe ) ( RCL1 ) ) ( RCL2 ) ( hy* ) ( gFRAC ) ( STOA ) ( hF?2 ) ( GTOfe ) Q 3 ( fINT ) ( RCLO ) ( RCL1 ) Q 3 ( RCL2 ) ( hy" ) ( hl/x ) ( hRi ) ( gFRAC ) ( hRTN ) ( STOP ) ( RCLA ) Q ance out the letter frequency count in a transposition only cipher by manipulation of the nulls. As an example of the use of nulls the following 40 character demonstration message is used with RRXYY appended as end of message indicator. An alphabet length of 60 is chosen, which yields 15 nulls. The cryptogram follows with the nulls underlined: A: 0.5,1.625,3.125,60 R/S: (transposition only) NB^AR AOTEM X RT P N WR R RT Y Y£Y I GM U I R TLCN L S.P EM POEYD ONEC R UOENT TSCN Y Listing 2: Keygen program written for the HP 67. This program generates numerical keys from alphabetic phrases for program Crypto. When using this program, the user needs to know both the key base and the number of the key within the key sequence produced. A detailed description of how to operate program Keygen is given in table 15. Location 1 7 13 19 25 31 37 43 49 55 61 67 73 79 85 91 97 103 109 115 121 Keys ( fLBLD ) ( fF'X ) ( ST09 ) Q ( ENTt ) ( EEX ) ( DSP4 ) 3 ( ST06 ) cz C~i ) ( STQ7 ) c ) c 3 C ( STOP ) Z3 3 C 3 ( CLx ) ( STOA ) ( RCL6 ) ( EEX ) ( 3 ) c 3 C CUED C C ( hRTN ) ( gx>y?) 3 C 3 C 3 C 3 C CZ cz 3 ( gFRAC) Q 3 ~) ( STOB ) ( RCL6 ) c 3 C ) 3 ( fLBLE ) ( STQ8 ) ( GTQ8 ) ( RCL6 ) ( ST09 ) ( fLBL8 ) ( RCL8 ) ( - ) ( fx=0? ) ( GTQ7 ) ( fDSZ ) ( RCL7 ) ( GT06 ) ( fLBL7 ) C RCL9 ) ( + ) C 3 C 3 C 3 ( gFRAC ) ( RCLA ) ( + ) ( STOC ) ( fLBL9 ) ( RCL9 ) ( RCL8 ) ( STQ7 ) ( STOP ) ( CLX ) QcuT) CZZ) CjZ) ( hSTI ) ( fLBL6 ) ( gGSBfd ) ( RCL8 ) ( STQ9 ) ( gGSBfd ) ( R/S ) ( RCLE ) ( ( RCLA ) ( + ) ( R/S ) ) ( RCLP ) ( 3 ) Q 3 C D C 3 C 3 ( RCLA ) ( + ) ( R/S ) ( 1 ) ( STO+8 ) ( GTQ9 ) ( gLBLfd) ( RCL7 ) ( RCLB ) ( + ) ( RCLC ) ( hy" ) ( gFRAC) ( STQ7 ) ( RCLP ) ( RCLB ) ( STOE ) ( RCLB ) ( hy" ) ( gFRAC) ( STOP ) ( RCL7 ) ( hRTN ) c ~) ( RCLC ) ( hy" ) ( gFRAC ) c ^) ( RCLC ) c } ( h1/x ) The 15 nulls are distributed randomly throughout the ciphertext. The reader may verify the operation by deciphering this cryptogram. Note that the first null pointed to will be on plaintext character 46, which is the start of the junk region. In addition to the use of nulls, some other precautions may be taken to protect the cipher. The beginning and end of a mes- sage can represent sources of vulnerability. Standard or easily guessed salutations and signatures can be of great help to the crypt- analyst. One counter to this is to insert a few nonsense words at the beginning and end of each message using prearranged delineation flags. There is also the bisection method, which involves starting the message from some point near the middle, going to the end and then picking up the start. This buries the head and tail of the message somewhere in the middle of the cryp- tographic process. The key of program Crypto is the 3 num- ber group (R , Ai, A2). Program Keygen (listing 2) provides for convenient gener- ation of thousands of keys from an easily remembered keyphrase. There is abso- lutely no excuse for using a given key more than once. In dual mode operation use one key for the mixed alphabet transposition table (table 9) and a different key for the Crypto enciphering operation. (By the way, do not be overly impressed by the added complexity of the dual mode cipher. In this business, complexity and security are not necessarily correlated. The transposi- tion only mode represents a very effective cipher in spite of its simplicity of operation. Don't be afraid to use it.) The limited speed, storage and I/O (input/output) facilities of today's pocket 152 April 1979 ©BYTE Publications Inc First Time Offer for the Micro Market Go First Class MODEL 501 DATA-SCREEN® TERMINAL A NEW LOW COST, MICROPROCESSOR CONTROLLED CRT TERMINAL QUALITY — APPEARANCE ECONOMY ONLY $995. 00 (qtyd DELIVERED COIMT. USA 90 DAY WARRANTY GUARANTEES YOU YOUR EQUIPMENT WORKS PROPERLY 1 YEAR EXTENDED WARRANTY AT SPECIAL RATES ^ Our Specifications Before You Buy DISPLAY SCREEN CAPACITY, CHARACTERS . . 2000 CHARACTERS PER LINE 80 NUMBER OF LINES 25 SCREEN P4 phosphor (white! TUBE SIZEIDIAGONAL) 12 inches 130.4 cml VIEWING AREA 54 square inches (137.1 cml CHARACTER SIZE 0.20" high x .08" wide (5.08 mm high x 2.03 mm wide! REFRESH RATE 60 Hz (50 Hz available] SCAN METHOD Raster CHARACTER GENERATION 5 x 7 character in an 8 x 10 dot matrix CURSOR Blinking block MEMORY TYPE Random Access Memory CAPACITY 2000 characters OPERATOR CONTROLS POWER ON/OFF SWITCH On rear of unit BRIGHTNESS CONTROL On rear of unit POWER REQUIREMENTS SPECIFICATIONS INTERFACE DATA FORMAT DATA BITS 7 serial, asynchronous DATA BIT 8 1,0 or deleted PARITY Odd, even or deleted with error displayed as DLE STOP BITS 1 or 2 DATA TRANSFER RATE 50,75,110,134.5,150, 300, 600, 1200, 1800, 2000, 2400, 3600, 4800, 7200, 9600 BAUD STANDARD FEATURES INVERSE VIDEO Operator or software selectable TRANSMIT MODES Half or full duplex (switch selectable) DATA ENTRY Top or bottom line END OF LINE BELL Switch selectable CURSOR POSITIONING X-Y CURSOR ADDRESS Load and read DISPLAY ABLE CHARACTERS 126 (including space) CURSOR CONTROLS Up, down, left, right. Model 501 - Model 502 - 1 15 volts, 60 Hz, 100 watts nominal 230 volts, 50 Hz, 100 watts nominal AUTOMATIC ROLL-UP . . AUTO CARRIAGE RETURN AND LINE FEED ...... home, return Switch selectable Switch selectable MONITOR MODE Special "Monitor" Mode NATIONAL DISTRIBUTOR FOR allows display of control codes (first two columns} of ASCI I Code Chart). S\VS DEALER NETWORK IS NOW BEING SET UP - YOUR INQUIRY IS INVITED VISA' OLDEST INDEPENDENT COMMERCIAL CRT TERMINAL MANUFACTURER 3S SALES, INC. P.O. Box 45944 Tulsa, OK 74145 918 - 622-1058 Circle 364 on inquiry card. BYTE April 1979 153 calculators are compensated for in Crypto by putting the user to work. Because of the manual cooperation required, one quickly learns to keep messages brief. Thus the tendency to keep traffic volume down is, in a lefthanded sort of way, an aid in pro- tecting the cipher. Program Organization Extensive use is made of a pseudorandom number generator for producing a sequence Rn where: 0 ASSOCIATES BASIC for ZILOG MCZ. ZDS A.C.E. COMPUTER SYSTEMS Dan Kindred P.O. Box 6073 Timothy Fossum 2449 North Westshore GNAT COMPUTERS. INC. San Rafael, CA 94903 CUSTOM COMPUTER SYSTEMS Tampa. FL 33607 7895 Convoy Court (415) 472-1415 4328 Pennington Lane 1813)872-8301 San Diego, CA 92111 Racine. Wl 53403 (714)560-0433 (414) 554-0320 cf» OSBORNE & ASSOCIATES, INC. P.O. Box 2036, Berkeley, CA 94702 630 Bancroft Way, Berkeley, CA 94710 (415) 548-2805 TWX 910-366-7277 Attention: Dept. 119 ZIP PHONE D I am an end user interested in run- ning CBASIC programs. Please notify me of the closest dealer for: D I am a dealer interested in purchas- ing CBASIC programs for resale. Please send description and order information for: D CBASIC Payroll with Cost Accounting □ CBASIC Accounts Payable/Receivable □ CBASIC General Ledger BOOK PRICE QUANTITY AMOUNT 09-8 Payroll with Cost Accounting $15.00 13-6 Accounts Payable/Receivable $15.00 20-9 General Ledger $15.00 SHIPPING (Shipping for large orders to be arranged) California residents tax D All loreign orders $4.00 per book for airmail □ $0,45 per book 4th class (allow 3-4 weeks in the U.S.) S IPP ' ng □ $0.75 per book UPS in the U.S. (allow 10 days) TOTAL AMOUNT □ $1.50 per book special rush shipment by air in the U.S. ENCLOSED Please send the following information: D Becoming an O&A dealer □ School discounts □ List of foreign distributors D Other O&A publications Payment in advance must be enclosed for purchases of up to $70.00. Invoicing U.S. purchases over $70.00 available upon approval of your account. All foreign orders musi be prepaid m U.S. dollars drawn on a U.S. bank. Calif, residents add 6% sales tax. S.F BART residents add 6-1/2 % sales tax S1001 Circle 292 on inquiry card. BYTE April 1979 161 Table 15 gives detailed user instructions for program Keygen. An error halt at program location 120 (very unlikely) indicates that a looping condition has been detected in the Keygen random number generator. The largest permissible key number value for this key base is one less than the difference between the contents of register 8 and register I. Either stay within this limitation or change the key base. As a precaution, one could generate the highest numbered key to be used when a new key base is invoked to insure that there are no looping problems within Keygen. As mentioned before, it is very unlikely that this condition will ever be encountered. The 3 sequence generator cycles required by the Floyd algorithm serve double duty in Keygen. For each key triplet generated, the R n register of Keygen supplies the seed; one less than R2 n is used to compute Ai ; and R2 n is employed in the A2 calculation. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Prepare table as example table 14b shows. Enter ciphertext Cm and, (14a) using alphabet table, enter Cm values. Switch calculator to RUN and ON. Load program. Input data Rq, Ai , A 2 , Nc. Follow each entry except the last with ENTt. Press A. Input data Na; follow Na with CHS (that is enter — Na). Press R/S to start program. _ Calculator will stop with J.M in display. At index M, select Cm and enter. Press R/S. Calculator will stop with a number in the form J.M Pj. At index J in table enter Pj from display. Press R/S and return to step 7. Repeat the steps 7, 8 and 9 loop. Pressing R/S after character Nc flashes the ERROR sign. When flashing stops press R/S one time. Using alphabet table convert Pj to Pj to obtain plaintext. If program is to be restarted, return to step 4. Decipherment Example (14b) J,M 01 02 03 04 05 06 07 08 09 10 CmHFYMPIZXMG Cm 13 01 10 22 19 11 05 06 22 09 Pj 22 07 10 21 19 02 11 23 19 25 Pj MAYUPBIDPR index ciphertext from alphabet table. Enter at step 7. from program at step 8. from alphabet table. Table 14: Crypto instructions for deciphering in the dual transposition and substitution mode. The sample table used in deciphering is shown in table 14a. The key is A :0.5, 1.625, 3. 125, 10 R/S: -26; table 9 used. 1 . Set calculator switches to RUN and ON. 2. Load program. 3. Enter the 10 digit integer key base number and press D. 4. Enter key number N desired and press E. 5. Display will show a number in the form N.Rq with four digits assigned to Rg. Key number N is shown for identification only. 6. Press R/S to obtain A 1 . 7. Press R/S to obtain A2- This completes key number N data (Rq, A-j , A2). 8. If R/S is pressed at this point, the program cycles back to step 5 with N+1 replacing N. Thus, the 5,6,7,8 loop may be used to obtain a sequence of keys. 9. After step 7, the user may start a new sequence by returning to step 4. To save time, plan use so that N values are called for in ascending order. 10. Step 3 may be entered after step 7 to change the key base. Table 15: Detailed instructions for using program Keygen to generate keys which are used with program Crypto. the analyst chooses the plaintext source material and the corresponding ciphertext is also made available for analysis. With the above in mind, the trapdoor systems described earlier display yet another fascinating difference from the classical cryptographic techniques. Normally the material for plaintext attacks must be ob- tained through devious means. In the trap- door case the public encryption key invites chosen plaintext attack at the leisure of the analyst. If the system is strong enough to survive this test, it is strong indeed by classical standards. The revival of the large number of possibilities argument which has been discredited so many times in the past is also most curious. Can it be that the trapdoor approach results in a situation in which large numbers are both necessary and sufficient 7 . Consider this remarkable statement by Martin Gardner: Computers and complexity theory are pushing cryptography into an exciting phase, and one that may be tinged with sadness. All over the world there are clever men and women, some of them geniuses, who have devoted their lives to the mastery of modern cryptanalysis. Since World War II even those government and military ciphers that are not one- time pads have become so difficult to break that the talents of these experts have gradually become less useful. Now these people are standing on trapdoors that are about to spring open and drop them completely from sight. This statement, cited in the bibliography, is made all the more remarkable when one considers the stature of the man who made it. Aside from the trapdoor hypothesis, there is the indication here that emerging technology has been favoring the cryp- tographer and that the cryptanalyst is being outdistanced in this phase of the race. Advances in computer technology may have given governments the privacy they seek for their communications. Will further advances extend this same privilege to the common citizen? Progress in communication techniques, data processing and data storage has made it increasingly convenient for governments to invade the privacy of their citizens. Further developments in cryptographic theory and related digital processing devices are bound to lower costs considerably. The step from insuring the privacy of computer based business transactions to insuring the privacy of personal communications and records is not too hard to imagine. Science knows no politics or philosophy. Tech- nology, which in the past has permitted established groups to invade the privacy of the individual, may be about to make restitution. Evaluation of Crypto In the qualitative discussion which fol- lows, a known plaintext attack will be 162 April 1979 ©BYTE Publications Inc Drive a Winner. Km H«&. t A FILL SIZE. DUAL DENSITY. AFFOKDARLE PRICE We are offering, for a limited time, the industry proven Remex RFD1000B Disc Drive at an introductory price of $395. This is the lowest price ever advertised for a full size disc drive. This drive can operate in either single or double density mode and can store up to 800k bytes unformatted. It has been on the market for three years and has been proven in the field. We are also a service center and ready to service what we sell at rates that keep hobbyist and small OEM budgets in mind. f 395.QO 'Decals and Wheels not included in purchase price. BONUS OFFER: We will include two important options-Optical Write Protect and a Door Lock Mechanism-list price value $50. for only $25. for ordering promptly. If you include check or money order with your order, we will include these two options absolutely FREE. The Computer Factory P.O. Box 155 Arlington Ma. 02174 Name Address City State Zip Disc Drives @ $395. Options Packages @ $25. Shipping ($6. 00/drlve) Tax (Mass. Residents) TOTAL O Check or M.O. with order (Get tree options package) D C.O.D. (Include 25% with order) DM.C.D D Vlsa# Signature Circle 68 on inquiry card. BYTE Aprill 979 163 MEAN COST (Co) PHASE B COST (Cb) Figure 2: Graph showing the variation in the mean cost with respect to the number of trials allowed to take place to find an empty cell. T Co Ps _i_ NUMBER OF TRIALS (T) assumed as the testing vehicle. The reason for making transposition mandatory in Crypto may be demonstrated by consider- ing a known plaintext attack on a sub- stitution cipher. In such a cipher, charac- ter positions remain unaltered in the cryp- togram. The ciphertext character values are the modulo sums of key and plaintext values. The known plaintext attack removes the plaintext value cover to reveal the key generator values. The analyst then attempts to determine the generator parameter settings by use of the known sequence of SURPLUS PRINTER FOR TRS80* 0KIDATACP110 LINE PRINTER WITH INTERFACE BOARD. T.M. • RADIO SHACK NO SOFTWARE OR HARDWARE CHANGES REQUIRED. JUST PLUG IN AND RUN! • 5x7 Impact Dot Matrix •80 Char/Line •64 Char ASCII (Uppercase) • 110 Char/Sec. • 66 Lines/Min. •Accepts 8-1/2" TTY Roll paper PRINTER $650.00 INTERFACE: BUILT $100.00 KIT $ 60.00 INF0R & SCHEMATIC S 5.00 Shipped Freight collect. Send check, M.O.: i^^^h INCLUDES - Power Supply, Built in Selftest, Parallel Interface, Line Buf- fer and Cables. Housed in a three piece plastic cabinet with all control electronics. Retail lor over $1,100. PRINTER BRAND NEW NEVER USED IN FACTORY SEALED CARTON. Operating Manual Included, supplies Limited Guaranteed to be in good working order at time ot delivery. Write for Interface Info on Heath, Apple, Imsai, Sol, Northstar INTERNATIONAL ELECTRONICS EQUIPMENT CORP. P.O. Box 522542, Miami, Florida 331 52 generator key numbers. In a straight sub- stitution cipher the security load is carried entirely by the keystream generator. Gait indicates that shift register generators produce very poor ciphers, especially the linear congruential generators which are in common use (see bibliography). No claim for greatness is made for the generator used in Crypto as defined in equation (5). We have ignored Knuth's admonition not to select a random generator at random. While this algorithm appears to be satisfactory, there would be no hesita- tion in replacement by a better algorithm that fits into the available coding space. The sequence generator and the organiza- tional logic of Crypto (figure 1) work together against the cryptanalyst. Consider a transposition only cipher and a known plaintext attack. The characters of the plain- text are scattered throughout the cipher- text with replications. There are 1 3 Ts in the sample of known plaintext, for example, and 48 Ts in the cryptogram. There are too many ways to relate these two groups (plain- text-ciphertext) in order to get sequence generator output strings for analysis. It should also be noted in figure 1 that that the phase A/phase B logic plays an important role in frustrating analysis. Even if consecutive plaintext transpositions could be identified, this does not mean that sequential outputs of the random number generator were involved. There may have been several loop A cycles in search of an open M field position between placements. The future behavior of the system of fig- ure 1 from any point on is a function of the entire past history of the system. This seems to demand a chosen plaintext attack based on the beginning of the message. The analyst cannot jump into the middle of the process, so to speak. In fact, even if the entire transposition sequence (Mi, M 2 , . . . , M|m c ) were known, there does not appear to be a sure way of working back to the (Rrj, Ai, A 2 ) generating key. The quan- tizing operation INT [Nc X R2rJ defines only a range for R2 n when the result is given, and represents a complicating factor. The lost odd cycle of the sequence generator in the transposition operation should also prove quite annoying to the analyst. The Floyd algorithm is thus used to protect the cipher in two ways. Further protection may be obtained from the substitution operation. If the alphabet is expanded to include numerals, the scrambled order of numerals in the transposition only cryptogram may still be too revealing. In such cases the dual mode of operation is highly recommended. I believe that a very effective cryptographic 164 April 1979 © BYTE Publications Inc Circle 177 on inquiry card. capability results if Crypto is used according to the instructions given. The author wishes to express his thanks to Dr J C Buchta and Dr S B Akers, Jr, both of the General Electric Company, for many interesting comments and criticisms. I O E O L A O M N A F I I E R M U S E X H S L N T A D O T Y A F T E H O O E A O R W X W I F W R G O T I Y R T S E G O R F G P T H T O O O E H H X A R S R R D H R S R F N T K E B A G S H U T F I K M R P D N U D B O Y U L BIBLIOGRAPHY 1. Kahn, David, The Codebreakers, the Story of Secret Writing, Macmillan, New York, 1967. 2. Vernam, G S, "Cipher Printing Telegraph Systems for Secret Wire and Radio Telegraphic Communications," Journal of the American Institute of Electrical Engineers, volume 45, pages 109 thru 115, 1926. 3. Shannon, C E, "Communication Theory of Secrecy Systems," Bell System Technical Journal, volume 28, October 1949, pages 656 thru 715. 4. Diffie, W and Hellman, M E, "New Directions in Cryptography," IEEE Transactions on Information Theory, volume IT-22, number 6, November 1976, pages 644 thru 654. 5. Knuth, D E, The Art of Computer Program- ming, volume 2, Seminumerical Algorithms, Addison-Wesley, Reading MA, 1969. 6. Rivest, R L, Shamir, A and Adleman, L, "A Method for Obtaining Digital Signatures and Public Key Cry ptosy stems," Communications of the ACM, volume 21, number 2, February 1 978, pages 1 20 thru 1 26 and 1 79. 7. Gait, J, "A New Nonlinear Pseudorandom Number Generator," IEEE Transactions on Software Engineering, volume SE-3, number 5, September 1977, pages 359 thru 363. 8. Gardner, Martin, "Mathematical Games/A New Kind of Cipher That Would Take Millions of Years to Break," Scientific American, August 1977, pages 120 thru 124. 9. Gaines, Helen F, Cryptanalysis, A Study of Ciphers and Their Solutions, Dover, New York, 1956. (Formerly published under the title. Elementary Cryptanalysis.)* Up Your Output. TEMPOS MULTI-TASKING! The TEMPOS Operating System is quickly becoming the standard in Multi- User, Multi-Tasking operating systems for 8080 and Z80 microcomputers. Multi-Tasking means that, even with only one user at one terminal, more than one job can be running on the system simu/faneous/y.' If you have ever had to go get a cup of coffee while you wait for your computer to print list- ings, you know the advantages of a system that will handle one job while you are working on another. TEMPOS is a true time sharing system, and the maximum number of jobs is limited only by your memory. MULTI-USER! Want to share your computer with another user? With TEMPOS all it takes is another terminal ... up to seven interactive terminals are allowed! And with Re-Entrant programs, each user does not need a complete copy in memory. We include three Re-Entrant programs (the OPUS/THREE High- Level Language, the TEXTED Text Editor, and FILES, a disc file directory/manipulator) or write your own! In addition, we include an assembler, a linking loader, over a half-dozen other utility programs and over 60 system subroutines, callable by the programmer! PROVEN! With TEMPOS, you get a package that has been tested in our facilities for over two years, and in the field at over 50 different installations. We have used this system ourselves for everything from writing high-level languages to developing applications to text editing to games. TEMPOS is undoubted- ly the most flexible software tool on the market . . . and you can have it for much less than you think! COMPATIBLE! TEMPOS is available for many different systems; pre-written drivers may include yours. Or, using our interactive System Generation Routine, you can add your own. Call or write nouj for our free catalog and the name of a dealer near you. The TEMPOS Operating System is available for $787.00, the manual set (price may be credited toward the purchase of the TEMPOS package) for $21.50 (prices include shipping within the U.S.). ADMINISTRATIVE □□SYSTEMS □□□INC. □□ 1642 S. Parker Road, Suite 300, Denver, Colorado 80231 (303) 755-9694 Circle 2 on inquiry card. April 1979 ©BYTE Publications Inc 165 Life Can Be Easy Randy Soderstrom 4601 Goldfinch Dr Madison Wl 53714 I've written a fairly short and simple pro- gram (about 220 bytes) to play Life on an 8080 based system. You need only two pages of memory for the program and the playing board. When this was originally written, I had only 1 K bytes of memory in my Altair, so this version is a simple one. A few extensions are suggested, but they are not necessary to enjoy Life. The playing board is a 16 by 16 grid taking one page (256 bytes) of memory. Only the two least significant bits of each byte are used, and the leftmost column and top row are used as a border. If you don't use the border, the top of the board is next to the bottom, and the right edge is next to the left edge. The board is arranged as shown in fig- ure 1. The number in each box is its ad- dress in memory. It is initialized by first setting all locations to 00. Next, hexa- decimal locations 00 through OF (the top row) and 10, 20, 30 . . . E0, F0 (left 00 01 02 03 04 05 06 07 08 09 OA OB oc 0D 0E OF 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 2F 30 3F 40 4F 50 55 56 57 58 59 5A 5B 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F 80 85 86 87 88 89 8A 8B 8F 90 9F AO AF BO BF CO CF DO D1 D2 DF E0 E1 E2 E3 E4 EF FO F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF Figure I : Layout of the Life board in memory. The number of each box is its address. The shaded boxes are border cells. column) are set to hexadecimal FF. Each cell with FF is a border cell and is ignored by the rest of the program. The function of the border will become clear later. The initial pattern must be loaded by some other loader program or through your front panel. You simply draw the first generation on a sheet of graph paper num- bered as in figure 1, then set the address of each line cell to hexadecimal 01. Each byte looks like figure 2. Note that only the two least significant bits of each byte are used. Bit zero is a 1 if that cell is alive this generation. If it will be alive next generation, bit one is also a 1 . To make the next generation into this generation, we need only shift each memory location to the right. The program is written to be simple — not efficient or fast — and consists of six main routines that are called repeatedly for each cell (see listing 1). Subroutine NCOUNT, for example, is called about 1,900 times each generation. The first routine, BDINIT, initializes the board (clears it and sets up border) and then jumps to your loader to get the initial pattern. After you have loaded an initial pattern, you will want to write it out on your terminal before the next generation is computed. This is done by routine WRITE. The border characters are written as a slash and the live cells as a star. Before a line is written, it is scanned for live characters. If none are alive, a slash and a carriage return are output, and the next line is checked. This saves the com- puter the task of writing a line of blanks and can save considerable time in writing out small patterns. Now we have the board set up and the initial pattern loaded and checked. The computer is ready to calculate the next generation. Since the status of a cell (alive or dead next generation) depends only on the number of live neighbors, the program simply goes from one cell to the next counting the number of live neigh- 1 66 April 1979 © BYTE Publications Inc 7 6 5 4 3 2 1 1 I ■" State this generation State next generation Figure 2: Bit zero is the present generation bit. Bit one is the next generation bit. The rest of the word is not used. bors. For example, if we are looking at the cell at location hexadecimal 68, we would check cells 57 thru 59, 67, 69 and 77 thru 79. This is done by subroutine VALCK. When the routine is exited, register E holds the number of live neighboring cells. Next subroutine ESET is called. This routine sets the next generation bit if register E equals 3, clears it if register E equals 0, 1,4, 5, 6, 7, or 8 and sets it equal to the present generation if register E equals 2. The only variation from this procedure concerns the border cells. They are treated as dead cells when counting neighbors. If we are pointing to a border cell when VALCK is called, the routine is exited before any tests are performed. To initialize the board, begin at BDINIT. After you have loaded the first generation, enter at WRITE, and your work is done. Listing 1 : The board initialization routine (BDINIT) sets the entire board (figure 1) to 00. Next the border cells are set to FF. A jump is then made to the loader program to get the initial pattern. Subroutine WRITE displays the board on the video display. Border characters are written as a slash, live cells as a star. If your display doesn t scroll on a carriage return, you will have to change this routine. The next generation is calculated by subroutine MOVE by calling VALCK and ESET for each cell. After MOVE is done, routine UPDA TE is entered and the board is output. Update rotates each nonborder cell to the right. The next generation bit moves into the present generation bit. VALCK is called by the main MOVE routine. MOVE sets register pair BC to the address of the current cell. The HL registers look at its neighbors. NCOUNT checks the cell addressed by register pair HL. If that cell is alive, register E is incre- mented. This routine is called repeatedly by VALCK which sets up the HL register pair before calling. ESET sets the next generation bit based on the contents of register E. ESET is called after VA LCK and determines the number of live neighbors. lexadecima Hexadecimal Label Op Code Operand Comment Address Code 0A00 06 00 BDINIT MVI B,00 This part sets 0A02 68 MOV L,B every byte of page 0A03 26 09 MVI H,09 08 to 00. 0A05 70 CLEAR MOV M,B 0A06 2C INR L 0A07 C2 05 0A JNZ CLEAR 0A0A 3E 11 MVI A,11 This section 0A0C 06 FF MVI B,FF sets the top 0A0E 2E 00 MVI L,00 row (address 00 0A10 70 TOPROW MOV M,B thru hexadecimal 10) 0A11 2C INR L to hexadecimal FF. 0A12 BD CPR L 0A13 C2 10 0A JNZ TOPROW 0A16 2D DCR L L= 10. 0A17 AF XRA A 0A18 57 MOV D,A 0A19 1E 10 MVI E,10 Number of cells per row. 0A1B 70 EDGE MOV M,B Add 10, move pointer down one 0A1C 19 DAD D 0A1D BD CPR L 0A1E C2 1B 0A JNZ EDGE Done when L = 00. 0A21 C7 RST Jump to loader. 0A22 21 00 09 WRITE LXI H,00 09 Start of board. 0A25 0E OF BWRITE MVI C,0F Number of characters per line. 0A27 5D MOV E,L Save starting address of this line 0A28 AF XRA A Write a carriage return. Listing I continued on next page. April 1979 ©BYTE Publications Inc 167 Listing 1, continued: S0A29 0A2A 0A2B 0A2C 0A2D 0A2F 0A30 0A31 0A32 0A33 0A34 0A37 0A38 0A3B 0A3C 0A3F 0A42 0A43 0A45 0A46 0A47 0A49 0A4C 0A4E 0A51 0A53 0A54 0A57 0A59 0A5A 0A5D 0A5F 0A60 0A61 0A64 0A65 0A67 0A69 0A6A 0A6D 0A70 0A71 0A74 0A77 0A79 0A7A 0A7C 0A7F 0A80 0A82 0A83 0A84 0A87 0A8A 0A8C 0A8D 0A8F 0A90 0A91 0A93 0A94 0A97 0A98 0A9B 0A9C 0A9F OAAO OAA1 0AA4 OAA5 0AA6 0AA9 OAAA OAAC OAAD OABD OAB1 0AB4 OAB5 0AB6 0AB8 OAB9 OABA OABB OABC FF 00 00 00 3E FF AF 2C B6 OD C2 B7 C4 2C CA C3 6B OE 2C 7E FE CA FE CA 3E FF C3 3E FF C3 3E FF OD C2 C9 OE 26 44 CD CD OC CA C3 2E 7E FE CA 1F E6 77 2C C2 C3 1E OA FE C8 79 D6 6F CD 2C CD 2C CD 69 2D CD 2C 2C CD 79 C6 6F CD 2C CD 2C 7E FE C8 1F DO 1C C9 2F 31 OA 42 OA 65 OA 25 OA OF 01 57 OA FF 5D OA 20 60 OA 2A 60 OA 2F 45 OA 11 09 8A OA BD OA 77 OA 6A OA OA FF 83 OA 01 79 OA 22 OA 00 FF 11 B5 OA B5 OA B5 OA B5 OA B5 OA OF B5 OA B5 OA FF TEST WRTLIN NEXT ALIVE SLASH OVER MOVE NXCELL UPDATE LOOP BRDR VALCK NCOUNT RST NOP NOP NOP MVI RST XRA INR ORA DCR JNZ ORA CNZ INR JZ JMP MOV MVI INR MOV CPI JZ CPI JZ MVI RST JMP MVI RST JMP MVI RST DCR JNZ RET MVI MVI MOV CAL CAL INR JZ JMP MVI MOV CPI JZ RAR ANI MOV INR JNZ JMP MVI LDAX CPI RZ MOV SUI MOV CAL INR CAL INR CAL MOV DCR CAL INR INR CAL MOV ADI MOV CAL INR CAL INR MOV CPI RZ RAR RNC INR RET A,2F 7 A L M C TEST A WRTLIN L MOVE BWRITE L,E C,OF L A,M 01 ALIVE FF SLASH A,"" 7 OVER A,"*" 7 OVER A/7" 7 C NEXT C,11 H,09 B,H VALCK ESET C UPDATE NXCELL L,0A A,M FF BRDR 01 M,A L LOOP WRITE E,00 B FF A,C 11 L,A NCOUNT L NCOUNT L NCOUNT L,C L NCOUNT L L NCOUNT A,C OF L,A NCOUNT L NCOUNT L A,M FF Output routine. Write a slash (/). Clear accumulator. Point to next cell. If alive value is nonzero. Decrement character counter. If not done with live go to test. Set flags. If register A nonzero, there are live cells. Compute next move if done writing board. Address of start of line. Restore character counter. Point to first nonborder cell. Jump if cell is alive. Jump if border cell. Must be dead cell. Write dead cell. Living cell. Dead cell or border. Decrement character counter. Jump if not done with line. Address of first nonborder cell. Page of board. Page of board. E returns number of living neighbors. Set next generation bit of current cell. Point to next cell. Go to update routine if done with board. If not done go to next cell. First nonborder cell. Get cell from memory. Border cell? Then don't rotate. Rotate next generation into this generation. Clear unused bits. Put it back. Point to next cell. Do next cell. E counts number of living around cell. Get current cell. Is this a border? Skip all tests. Put address of cell in accumulator. Address of cell above and left of current cell. Put new address in register L. Test it. Point to neighbor above current cell. Test it. Neighbor above and right of current cell. Test it. Cell to the left of current cell. Test it. Cell to right of current cell. Test it. Cell below and left of current cell. Test it. Cell below current cell . Test it. Cell below and right of current cell. Get cell from memory. Border cell? Return if so. Rotate low bit into carry. Return if dead cell. Count if alive. 1 68 April 1979 © BYTE Publications Inc OABD OA ESET LDAX B Get current cell addressed by BC. OABE FE FF CPI FF Border cell? OACO C8 RZ Return if border. OAC1 E6 01 ANI 01 Clear next generation bit. 0AC3 1D DCR E 0AC4 1D DCR E 0AC5 CA D2 OA JZ SRVIVE If register E is 2 cell will survive. 0AC8 1D DCR E 0AC9 CA CE OA JZ ALIVE If register E is 3 cell is alive next generation. OACC 02 STAX B Cell is dead next generation. OACD C9 RET OACE F6 02 ALIVE ORI 02 Set next generation bit. OADO 02 STAX B Put back in memory. OAD1 C9 RET 0AD2 FE 00 SRVIVE CPI 00 Cell dead now? 0AD4 02 STAX B 0AD5 C8 RZ If dead, return. 0AD6 F6 02 ORI 02 If alive now, set next generation bit and put 0AD8 02 STAX B 0AD9 C9 RET Possible Improvements In this program the time needed to compute the next generation is insignificant compared to the time needed to write out and observe the pattern. I feel that any effort to speed up execution just isn't worth the trouble. The first routine you should add would be a better way to load the initial pattern. If you have cursor control (up-down, right- left), it should be easy to add a fast, easy loader. A 16 by 16 grid is small for doing any serious experimenting on. Many interest- ing patterns run into the border; or if you don't use the border, the left edge interferes with the right and top inter- feres with bottom. You will have to use the dual addition instructions and com- plement arithmetic in VALCK, because adjacent cells won't always be on the same page. I am interested in hearing about any improvements to this program or about any interesting patterns you may discover. Have fun!" SPECIALIZING IN QUALITY MICROCOMPUTER HARDWARE INDUSTRIAL • EDUCATIONAL • SMALL BUSINESS • PERSONAL BUILDING BLOCKS FOR MICROCOMPUTER SYSTEMS, CONTROL & TEST EQUIPMENT I/O 2K ROM 2K RAM 3 Serial Ports 1 Parallel Port 16 K RAM FULLY STATIC MEMORY ECT-100-F RACKMOUNT CARD CAGES ECT- 'Atonic ""M G„„e POWER SUPPLIES, CPU'S, MEMORY, OEM VARIATIONS TT-10 TABLE TOP MAINFRAMES 763 RAMSEY AVE. HILLSIDE, N.J. 07205 ELECTRONIC CONTROL TECHNOLOGY am bbg-soso Circle 120 on inquiry card. April 1979 ©BYTE Publications Inc 169 An Easy Way to Calculate Sines and Cosines Location Op Code Robert Grappel 148 Wood St Lexington MA 02173 The instruction set of a typical 8 bit pro- cessor can be quite confining at times. Any task requiring more than simple integer addi- tion and subtraction can become a nuisance. There are reference books from which multi- plication and division routines can be ob- tained, and square root and other functions can be built by using expansion, iteration, or other well-known methods. Implementing these algorithms on a microprocessor uses much space and programming time. Trigono- metric functions are among this class of Operand Label Assembly Code SUBROUTINE TO COMPUTE SINE AND COSINE AS SINGLE-BYTE INTEGERS (SIGNED) STEP SIZE OF 1/16 RADIAN, OR 3.58 DEGREES ACCURACY OF ABOUT 1% FOR RANGE THROUGH 90 DEGREES 0000 THETA RMB 1 'ARGUMENT TO FUNCTION 0001 SINE RMB 1 *SINE OF THETA 0002 COSINE RMB 1 'COSINE OF THETA 0003 86 7E START LDA A #126 'BEGIN INITIALIZATION 0005 B7 0002 STA A COSINE 0008 7F 0001 CLR SINE 000B B6 0000 LDA A THETA OOOE F6 0002 LDA B COSINE 'COMPUTE NEW SINE 0011 57 CYCLE ASR B 0012 57 ASR B 0013 57 ASR B 0014 57 ASR B 0015 FB 0001 ADD B SINE 0018 F7 0001 STA B SINE 001 B 57 ASR B 'COMPUTE NEW COSINE 001 C 57 ASR B 001 D 57 ASR B 001 E 57 ASR B 001 F F0 0002 SUB B COSINE 0022 50 NEG B 0023 F7 0002 STA B COSINE 0026 4A DEC A 0027 2C E8 BGE CYCLE 'LOOP UNTIL DONE 0029 39 RTS Listing 7 : 6800 routine for computing sines and cosines over the range to ■n j2 radians (0 to 90 degrees). difficult functions. However, if one can tolerate accuracy of one part in 100, and allow about 1 ms per computation, the routine described in this article will provide sine and cosine values in a very simple 40 byte routine. I have coded it for a Motorola M6800 processor but it could easily be con- verted to any other processor. Theory The algorithm is based on two trigono- metric identities: sine(0+s) = sin(0)cos(s) + cos(0)sin(s) cos(0+s) = cos(9)cos(s) - sin(0)sin(s) where 8 is the angle we are interested in and s is a small step in angle added to 6 . If we make the step small enough, we can approxi- mate sin(s) and cos(s) as follows: sin(s) = s cos(s) = 1 Combining these four equations we get: sin(0+s) =sin(0) + scos(0) cos(0+s) = cos(0) - ssin(0) Solving for sine and substituting into the cosine formula: cos((9+s) = (1 +s 2 )cos(0) - s sin(0+s) Since s is very small, we can neglect s 2 and write: cos(0+s) = cos(0) - s sin(0+s) Given that we have values for sin(0) and cos(S) at some point, we can get to any other angle by stepping through the two approximations, first computing sin (0+s) and then using that to compute cos(0+s). We choose to start at 9 equal to zero, and set cos(#) to the largest positive value that can 1 70 April 1979 © BYTE Publications Inc be stored as a signed byte without causing overflow when negated and decremented. Hence cos(O) = 126. Similarly the sin(O) = 0. The step size is chosen to be 0.0625 radian or about 3.58°. The step si-ze must be a binary fraction so that all the multiplication involved in the equations can be performed by arithmetic shifts. If more accuracy is needed, the step size is easily reduced by introducing more shifts into the algorithm. Program The assembly code program for the Moto- rola 6800 version of the routine is shown in listing 1. When called with the angle stored in variable THETA, it returns the sine and cosine of that angle. The accuracy is quite good for angles less than 7t/2 radians (90 degrees). For angles larger than 7r/2 radians, other trigonometric identities can be used: sin((9) = cos(7r/2-0) = sin(7r-0) cos(0) = sin(7r/2-0) = (-cos(tt-0)) Thus, the sine and cosine of any angle can be computed from the values over the range to w/2 radians. These identities can be coded quite easily. All the other trigonometric functions can be computed from the values of sine and cosine. All that is needed is an integer divi- sion routine such as the following: cosec(0) = 126/sin(0) sec(0)= 126/cos(0) tan(0) = sin(0)/cos(0) cot(0) = cos(0)/sin(0) Be careful of overflows and division by zero problems. This algorithm can perform other tricks. It can generate continuous sine waves of any desired amplitude, period, or phase. Coupled with a digital to analog converter, it could form part of a modem or synthesizer. It could simulate mixers, AM or FM modula- tors, keyers, etc. The maximum frequency it can generate depends on the processor cycle time. A 6800 processor running with a 1 MHz clock could generate a 200 Hz sine wave since there are about 50 machine cycles per step, and about 100 steps per wave. Increasing the step size to 0.125 radians would increase the maxi- mum frequency to about 500 Hz. A step size of 0.25 radians would yield a maximum fre- quency of nearly 1050 Hz. I hope that this algorithm will help pro- grammers solve problems involving trigono- metric functions, and that applications for microcomputers will expand into new areas where these functions are useful." There is a reason so many Datec customers are communication line technicians, computer engineers and data processing experts. They recommend Datec for the simple, solid state, rugged design that has proven to be more reliable than bigger name couplers. Acoustic couplers are the work horses of a data communications system. They should work every time, every day, so that you can install them and then forget them. No wonder communication line technicians have nicknamed the Datec 32 the "heavy duty" acoustic coupler. CRYSTAL CONTROL Crystal controlled trans- mitter and receiver Insures long-term stability and reliability, even In the most unfriendly operating environment BIG EARS Rugged, tight-fitting rubber cups effectively seal out vibration and room noise. They aren't beautiful, but they work. BC1RNED-IN Datec may be the only company that torture- tests every PC board by burnlng-ln each one for 168 hours at elevated temperatures. Circle 90 on inquiry card. This process reduces the probability of field failure below 2% for the first 1000 hours of operation. We find the faulty one before we ship ft. Jt TALKS WHEN IT RAINS Datec couplers are highly sensitive, ^ ,^^^^^. operating at received levels of -55dBm or lower. Our sen- sitive receiver can pull weak signals out of the "mud" of leaky, rain-soaked telephone cables. GUARANTEED Remove a few screws and the PC board pops out It couldn't be simpler. Any problems incurred through normal use, and It's replaced or repaired free with no questions asked during the first year. READILY AVAILABLE Datec 300 bps acoustic couplers are readDy available In both originate and originate/answer models. All Datec equipment including the new Datec 212 Is Bell compatible. OEM Inquiries are welcome. Call Mem* Beth Tice for assistance. \ < DAT6C 0ID IT. Quality — designed in, burned-in and guaranteed DATEC INCORPORATED PO BOX 839. CHAPEL HILL. NC 27611. 1919)967-5605 April 19790BYTE Publications Inc 171 DeskTop Wonders Digital Circuit Simulation S Leon Felkins Engineering Technology Memphis State University Memphis TN 38152 Listing 7 : TI-59 calculator program for the digital circuit simulator. 76 LBL 001 38 S I H 002 86 STF 003 00 00 004 61 GTO 005 33 X E 006 00 ii 007 76 LBL 8 35 \/V, 009 71 SBR 010 40 I Nil 011 09 09 012 43 RCL 013 30 30 014 55 -^ 015 01 1 016 mi 017 95 = 1 8 92 RTN 1 9 68 HOP 020 43 RCL 021 29 29 022 49 PRE 023 30 30 024 92 RTN 025 68 HDP 026 68 NOP 027 68 NOP 028 68 HDP 029 68 NOP 030 43 RCL 031 29 ZS 032 67 EG 033 00 00 034 37 37 035 42 STD 036 : i U 30 037 92 RTN 038 68 HOP 039 68 NOP 040 71 SBR 041 U 00 042 20 20 043 71 SBR 044 mi 00 045 60 60 046 92 RTN 047 68 HOP 048 68 HDP 049 68 HDP 050 71 SBR 051 00 o o 05;; 30 30 053 71 SBR ri54 i in rin 055 6d 60 056 92 RTN 057 68 HDP 058 68 HDP 5 9 68 HDP 060 01 1 061 94 + / - 062 49 PRH 063 3 30 064 01 1 065 44 SUN 066 3 30 067 92 RTN 068 68 HDP 069 t-y HDP 070 43 RCL 071 29 29 073 43 RCL 074 30 30 075 95 = 076 33 X 2 077 42 STO 7 8 3 30 fi 7 9 92 RTN 8 031 084 8 5 8 6 087 8 8 089 090 091 092 093 094 095 096 097 098 099 inn 101 102 103 104 105 1 06 107 1 08 109 110 111 112 1 13 114 115 1 16 1 17 1 13 73 RC* 1 1 22 INV 59 INT a 5 + 43 RCL 30 30 85 + 43 RCL 1 INV EO 01 01 1 STD 30 92 RTN 63 HDP 63 HDP 76 LBL 15 E 1 !2 HIT 10 52 XJT 42 STD 1 1 01 1 63 EX* 1 1 LBL LOG EX* 01 01 01 42 30 Listing 7 continued on opposite page. The program in listing 1 was developed for a TI-59 calculator to allow simulation or testing of combinational logic circuits. The circuit elements allowed and their identifi- cation numbers are: Number 20 30 40 50 60 70 80 Type AND OR NAND NOR NOT XOR SR latch Registers 11 through 25 are used to store the input values to the circuit. The circuit elements themselves are stored in registers 31 through 99. A code word is stored in each register that defines its inputs and its function. The format used is: XXYYZZ.V, where: XX = Input Device 1 YY = Input Device 2 ZZ = Device Identification Number V = Output of this device (0 or 1 ). TELETYPES ® IMMEDIATE DELIVERY MODEL 40 300 LPM PRINTERS v"ST\ • Mechanism or complete assembly • 80-column friction feed • 80-column tractor feed • 132-column tractor feed INTERFACES • EIA-RS232 • Simplified EIA-Iike interface • Standard serial interface • Parallel device interface CCnCDAI Communications rCULnHL Corporation 11126 Shady Trail, Dallas, Texas 75229, (214) 620-0644, TELEX 732211 TWX 910-860-5529 MODEL 43 TERMINALS • 4310 RO (Receive Only) • 4320 KSR (Keyboard Send-Receive) • 4340 BSR (Buffered Send-Receive) INTERFACES • TTL Serial • EIA RS232 or DC20 to 60ma • 103-type built-in modem 172 April 1979 ©BYTE Publications Inc Circle 134 on inquiry card. Note that the complete code must be entered for each device. Therefore, for the NOT device the same input number is entered for both XX and YY. The minus sign is used as a code to indi- cate that a device has been asserted. At the start of each run the machine automatically sets all registers to a positive value. After the run is completed, each register should have a minus sign. The output value is given by the first digit to the right of the decimal point. The circuit itself is set up on the machine by storing the appropriate values in registers 31 and greater. Devices are assigned registers consecutively starting with 31, in any order desired. However, the program runs faster with consecutive assignments. A stored in a register tells the calculator that all devices have been processed. Therefore, you must be certain that no register numbers are skipped and that the last valid register is followed with a register containing 0. The input values are stored into registers 1 1 through 25 by the following coding: Listing 7, continued: logical logical 1 store - 1 .0 store —1.1 An alternate, and more convenient, method is available for registers 11 through 18. Just enter the logical value, or 1, and press one of the keys A to D or A' to D' in accordance with the following assignment table: A —^11 A'-*~15 B — —12 B' — 16 C —13 C'-*- 17 D —14 D'-*- 18 1 19 10 10 173 77 GE 227 01 1 281 3 c. xit 1 2 44 SUM 174 3 8 S I H 223 94 +,"- 282 01 i 121 10 10 175 22 INV 229 64 PH* 283 05 tr 63 EX* 176 59 INT 230 10 10 284 42 STD 123 10 10 177 65 231 61 GTD £85 10 10 124 50 I X I 178 01 1 23^: 33 X 2 £86 61 GTD 22 INV 179 o u 2 3 3 76- LBL 287 42 STD 126 t> 7 EQ 180 94 + . ■■' - 234 23 LNX £88 76 LBL 127 28 LDG 1S1 95 = 235 87 IFF 289 17 B" 128 76 LBL 182 42 STD 236 00 00 £90 32 XIT 129 39 CDS 1S3 30 30 237 39 CDS £91 01 1 130 22 INV 184 01 1 2 3 8 43 RCL 292 06 6 131 86 STF 185 00 U 2 3 9 3 3 293 42 STD 1 3 2 00 186 00 240 91 R/S 294 10 10 1 :": :": 63 EX* 187 49 PR II 241 81 RST 295 61 GTD 134 io 10 188 27 27 242 76 LBL 296 42 STD 3 189 43 RCL 2 43 11 fl 297 76 LBL 1 3 £■ 00 190 27 £7 244 32 XIT 298 18 C 137 42 STD 191 59 INT £45 01 1 299 32 XIT 1 ~7-\ :=: 10 10 192 22 INV 246 01 1 300 01 1 1 ''• '3 76 LBL 193 44 SUM 247 42 STD 30 1 07 J 140 33 194 27 !^l7 24B 10 10 302 42 STD 141 43 RCL 195 42 STD 249 61 GTD 303 10 10 142 10 10 196 26 2 b 250 4£ STD 304 61 GTD 143 + 197 73 RC* £51 91 R/S 305 42 STD 144 oi 1 198 26 26 252: 76 LBL 306 76> LBL 145 95 199 "7 "7 GE 253 12 B 307 19 D' 146 66 PflU 200 '3 8 S I H 254 32 XIT 308 32 XIT 147 42 STD 201 22 I NV 255 01 1 309 01 1 14S 10 10 202 59 INT 256 02 2 3 1 08 3 149 73 RC* 203 65 £57 42 STD 311 42 STD 150 10 10 204 01 1 £58 10 10 312 10 10 151 67 EQ 205 U £59 61 GTD 3 1 3 61 GTD 152 23 LHX 206 94 +,•■•- £60 42 STD 314 42 STD 153 22 INV 207 95 = £61 76 LBL 315 91 R/S 154 77 GE 208 42 STD 262 13 C 3 1 6 76 LBL 155 3 3 209 29 29 £63 32 XIT 317 42 STD 1 56 55 ^ 210 43 RCL £64 01 1 318 01 1 157 01 1 211 27 27 265 03 :_•: 319 94 +/- 158 u u 212 65 £66' 42 STD 320 72 ST* 159 213 01 1 £67 10 10 321 10 10 160 00 214 00 £68 61 GTD- ■Idd 32 XIT 161 00 215 00 £69 42 STD 3 £ 3 6< 5 1 6 2 95 s 216 95 = £70 76 LBL 324 93 1 fc 3 42 STD 217 59 INT £71 14 H 325 oi 1 164 27 218 42 STD £72 32 XIT 326 95 = 165 59 INT 219 09 09 273 01 1 327 22 INV 166 22 INV 220 71 SBR 274 04 4 3 2 8 74 SM* 167 44 SUM 221 35 1/X 275 42 STD 329 10 10 168 27 27 222 63 EX* £76- 10 10 330 65 169 42 STD 2 2 3 10 10 £77 61 GTD 331 01 1 170 26 £6 224 59 INT £78 42 STD 3 3 £ 00 171 73 RC* 225 74 SM* £79 76' LBL 3 3 3 95 = 172 26. 26 226 10 10 £80 16 fl" 334 91 R/S THE mO©D^§) THE INDUSTRY LEADER IN AFFORDABLE HI-RES VIDEO ANALYSIS FOR ALL S-IOO AND S-50 COMPUTERS The DS-80 features full compatibility with the proposed IEEE S-100 standard and all current S-100 CPUs. New improved circuit design enhances performance. The DS-80 offers random access video digitization of up to 256 X 256 spatial resolution and 64 levels of grey scale, plus controls for brightness, contrast and width. It is versatile enough to handle any video processing task— from U.P.C. codes (above) and blood cell counting to computer portraiture and character recognition. The DS-80 comes fully assembled, tested and burned in. Included is portrait software compatible with the Vector Graphic High Resolution Graphics Display Board. DS-65 FOR THE APPLE- COMING SOON! Please allow two weeks for delivery. Master Charge and BankAmerioard DS-80 for the S-100 bus DS-68 for the S-50 bus $349.95 169.95 P.O. BOX 1110 DEL MAR, CA. 98014 714-756-5687 Circle 231 on inquiry card. April 1979 ©BYTE Publications Inc 173 Set Up Register 31 32 33 34 35 36 Contents 111270 311370 323450 121260 323330 JE> — )E>r^^ 3^>0- -o Truth Table 11 12 13 OUTPUT 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Figure I : Example of a digital circuit simula- tion. All of the logic gates are numbered sequentially. In this circuit there are three inputs (II, 12, 13) and one output. The set up of the registers is shown, along with a truth table which is a result of running the program and giving different inputs to II, 12 and 13. The circuit in figure 1 demonstrates the principles involved. Note that the code number for each de- vice type is the actual line number for the subroutine that simulates that device. Since memory is at a premium, each device was programmed in as short as possible sequence that obtained the desired result. No attempt was made to follow any structured program- ming techniques! Also, the calculator is programmed to assert only those devices whose inputs are connected to devices that are asserted. Therefore, circuits with feedback (like the crossed-NOR flip flop) cannot be directly simulated. Note that program runs faster in natural order of circuit evaluation. This program uses some of the more advanced programming features of the TI-59 calculator, such as indirect address- ing and flag operations. However, the program is straightforward and should be fairly easy to understand for most novice programmers. The advantage of the simulator, of course, is the ease of setting up and quickly changing any reasonable circuit. No power supply is required and no pur- chasing of components is required until the circuit is thoroughly acceptable on the simulator. The program is stored on both edges of one card. The data on a particular circuit can be stored on a card by pressing "3 2nd Write."" Megabytes for the Now users of the most popular microcom- puters can add truly massive disk storage to their systems with Micromation'sMegabox. Itfeatures dual 8" drives with double density recording to provide over one Megabyte of disk storage. Or you can choose optional double-headed drives to provide over two megabytes. Micromation is a leading supplier of floppy disk systems for micros. A TRS-80* compatible Megabox plugs directly into the TRS-80. This version of Megabox includes provision to add up to 32K of RAM to your TRS-80* system, so you can have up to 4 Megabytes of disk storage and 48K of RAM without an expansion interface. This Megabox brings big system performance to your system at one-third the cost per byte of mini-floppy systems. Our SOL*-version of the Megabox installs with- out modification, and the software is all ready to go. Micromation's double density recording gives you nearly twice the storage of the Helios* at a sub- stantially lower price-and most importantly, you can run CP/ M* so you have access to the broadest range of software available in microcomputing. Combine an ExidySorcerer" witha Megabox by plugging the controller into the Sorcer's* S-100 expansion bus. Boot from our Sorcerer* system diskette and you're up and running without any modifications to your hardware or software. 1 74 April 1979 © BYTE Publications Inc Our DOUBLER double density floppy disk controller features true double density recording with a capacity of 512K bytes on each side of the diskette. Doubler systems are easy to install and use. A hardware UART is included on the controller to provide instant system communications. The controller can do a power-on-jump to theon-board PROM bootstrap. And its fast and reliable because the board's hardware includes a phase-lock oscillator and CRC error detection circuitry. Micromation disk systems are designed to run CP/M* the industry standard operating system. You can choose higher level languages such as MBASIC, CBASIC, FORTRAN, COBOL, or PASCAL. And there's a wide selection of business application packages to choose from. Megabox systems open new opportunities for owners of todays most popular microcomputers. They feature the highest available capacity, performance, and reliablity And they are com- patible with your system. But best of all, at $2295 a Megabox is priced for value. Ask for details at your local computer store or contact Micromation, 1620 Montgomery St., San Francisco, CA 94111 or phone (415) 398-0289. The Megabox with 1,000,000 existing software to easily keep a BYTE's Bits Another Life I've discovered a fourth glider and two new oscillators for Jonathan Millen's "One-Dimensional Life" (December 1978 BYTE, page 68). The new glider has period 5; it evolves from hexa- decimal location 65 F. My first new oscillator can be made by starting with either 394F or 22 cells in a row — it has period 13. The other oscillator, with period 21, has the ancestor 12157. Paul Heckbert 4 Ames St, H303 Cambridge MA 02139* Call For Papers: Sixth Data Communi- cations Symposium The Sixth Data Communications Symposium, scheduled for November 27 thru 29 in Pacific Grove CA, will concen- trate on the design of systems for net- work user services. Original research and development papers are being solicited for topics related either to the applica- tion of specific technical issues that arise from the application nature of a data communication system, or to the application of general technical problems that are directly applicable to the plan- ning, analysis, and design of the systems across the boundary between applica- tions. Four copies of a completed paper and a 500 word summary should be sent no later than April 1 to Dr Wushow Chou, North Carolina State University, Computer Studies Program, POB 5490, Raleigh NC 27650. Include name, address, phone number, and affiliation. All papers will be refereed and authors of selected papers will be notified by June 1, 1979. All papers accepted for presentation will be published in the conference proceedings." Data Transfer It is practical to transfer programs directly from one microcomputer to another computer over the telephone without intermediate storage by using readily available equipment. Specifically, I have read TRS-80 BASIC programs into the CSU-Long Beach PDP 11/45 operating under RSTS. The terminal used was a 33 ASR Teletype with an AJ 260 acoustic coupler. The Small Systems Hardware RS-232 interface unit was used to output from the TRS-80. Many terminals have an auxiliary or similar connector for attaching other RS-232 devices to the terminal. The trick is to connect pin 3 of the TRS-80 RS-232 output to pin 2 of this plug. (Normally, pin 3 would be connected to pin 3 of the auxiliary connector if the terminal is to be used as a printer. The other pins connections remain the same but probably only pin 7 is needed.) After establishing contact with the PDP 11/45 an LLIST command to the TRS- 80 causes it to output directly to the PDP 11/45. In my case, the PDP 11/45 checked each statement as it was entered and could send back error messages to the Teletype. Since the operation was full duplex without echo this did not interfere with the data transmission from the TRS-80. If a half duplex sys- tem is used it is essential that there be no turn-around on the line during trans- mission since the TRS-80 does not stop until the end of the LLIST. The program is immediately executable on the PDP 11/45. A 10,000 byte program was trans- mitted in 17 minutes at 110 baud. Obviously a higher rate could be used to speed up the process. Dr Edward IV? McCormick 13100 Chapman, Apt 3-113 Garden Grove CA 92640* TRS-80, Sol, Sorcerer. byte storage capacity can be operated with general ledger, accounts receivable, and payable. Circle 223 on inquiry card. •TRS-80 is a TM of Tandy Corp. SOL and Helios are T Ms of Processor Technology Corp Sorcerer is a TM of Exidy Inc. CP/M is a TM of Digital Research. April 1979 © BYTE Publications Inc 175 The Power of the HP-67 Programmable Calculator, Part 2 Listing 7: A simultaneous equations program which can solve systems of up to nine equations in nine unknowns. Listing 2 explains how to run this program. PROGRAM TITLE: Simultaneous Equations APPLICATION: Solves systems of up to 9 simultaneous equations. PROGRAMMER: Bob Arp DATE: 12-16-76 REGISTERS Yn 1 A9 2 A8 3 A7 h A6 5A5 6 Ak ^ A3 8 A2 Al S0 Yn S1 A9 32 A8 S 3 A7 ^ A6 S 5 A5 S6 All S ? A3 38 A2 3 ? Al A #Eqs in System B Pri reg Pointer C Sec reg Pointer D Pivotal Eq Counter S Equation Counter I Misc Storage LABELS FLG SET STATUS A Part 1 Start 3 Divide C Mult/ Subtract D Part 2 Start E Mult/ Subtract 6 FLAGS TRIG DISP ON OFF a B/C initial 3 Clear R0-R9 c Recall term d Mult/ Sub Loop e 1 FIX DEG SCI Divide Loon Test D 2 Mult Loop 3 Call Sub a k Sub Loop 2 r,RA ENG 5 1st term loop 5 Inc E/ Dec D 7 Disp X # 8 Call next piv 9 Disp Xn 3 RAD a 5 Willi ADD PROGRAM CODES DEFINITIONS AND REMARKS NUMERIC SYMBOLIC 001. 2L 2 5 1 1 f LBL A With the number of system equations keyed into the calculator, pressing A initializes part 1 of the program by clearing all re- gisters, storing n, programming the display and calling for the first pivotal equation. 002 1! >n f CLR REG 003 31 1:5 f Pis oou 3: If3 f CLR REG OO'j l'> 23 h ENG 006 33 1 ! STO A 00? 01 1 00- V 111 STO D 009 ■■- I 0; DSP 5 010 3 5 22 h RTN on V- -': 12 f LBL B W: th a pivotal equation stored in the pri- 012 '•>-■- :; 11 K GSB f a mary registers, pressing B causes each co- efficient of the equation to be divided .by its pivotal term. The results are stored in the secondary registers, and they must be stored on a data card labeled 1A(Z), where 2 is the number of the current system of equations. 013 3': .-'- RCL (i) Ol-'l 33 t; STO E 015 M 2 5 00 f LBL 1 .' 1" 12 RCL B 0! ■■ 32 : 1 3 E GSB f c oie 3" 1 ■: RCL E 01 9 1:1 ~ 020 3* ! 1 RCL C 021 v 3 3 h ST I 02 3 35 53 h Rv 023 33 ;;l: STO (i) 02't y> 12 RCL B 025 3! ■:i r X=0 0?.' 22 01 GTO 1 0:7 01 1 Dc crement register pointers and return to 02a '■i - beginning of loop. 029 3 3 1: STO B 030 3- 13 RCL C 031 01 1 032 51 - 033 33 13 STO C 034 22 00 GTO 035 _2 2 = 01 f LBL 1 Wh en all pivotal equations have been di- 036 ■}4 11 RCL A vided by their pivotal term, jump to dis- play n loop. 037 Vt V* RCL D 038 32 51 K X=Y 039 2', 09 GTO 9 040 3' \h RCL D In itialize equation counter and clear pri- Oltl 01 1 mary registers R0-R9. 0^2 61 + Listing 7 continued on opposite page. Example Program Last month I described the features and performance of the Hewlett-Packard HP-67 and HP-97 programmable calculators. This month I conclude with a practical applica- tion program. I have chosen for an example a program which uses the more powerful HP-67 operations. Likewise, I have chosen to write a program which will provide the solution to a general set of simultaneous equations, traditionally one of the most laborious mathematical solutions to ob- tain, yet one of the most useful solutions in electrical engineering. The HP Math Pac contains a program to solve four simultaneous equations in four unknowns by Gaussian elimination, and the Standard Pac contains a program to solve three simultaneous equations in three unknowns by matrix operations. The program shown in listing 1 solves any system of up to nine simultaneous equa- tions in nine unknowns by the method of "Gaussian elimination using the largest pivots." [Because of its efficiency, the Guassian elimination pivot method is a popular method for solving simultaneous equations. The term "pivot" refers to the (r, r), a diagonal element of the coefficient matrix during the rth step of the process. This method is discussed in a number of numerical methods books. See also the reference at the end of this article. . . CM J The primary utility of this program would be in calculator aided design. When the analysis of an electronic system is based upon a linear model, the unknown quantities will usually appear only to the first power, and the coefficients in the equations will usually be constants. Such a set of n equations relating n unknowns can be expressed in the form: Equation 1 : AiX 1 +A 2 X 2 +...+A n X n = Y-, Equation 2: B l X 1 +B 2 X 2 +...+ B n X n = Y 2 Equation 3: ... Equation n: m iX^+m 2 X 2 +...+m n X n = Y 1 76 April 1979 © BYTE Publications Inc Listing 7 ', continued: Robert C Arp Jr 3961 Acapulco Dr Campbell CA 95008 in which each X is an unknown quantity, the m terms are the coefficients of the un- knowns and the Y terms are the right-hand sides of the equations. The Gaussian Elimination Pivot Method To solve a general system of simultaneous equations by Gaussian elimination using the largest pivots, perform the following steps: 1. Inspect the coefficient (Al, Bl,...ml) of the first term (Xi) in each of the system equations. The equation having the largest coefficient (in absolute value) of the first term is taken as the first pivotal equation. 2. Divide the first pivotal equation, equation 1(1), by the coefficient A] of its first term Xt,. The result will be a new equation, equation 1A (1), in which the coefficient of the first term is 1. (The digit enclosed by parentheses in each equation label indicates the number of the system to which the equation belongs.) 3. Multiply equation 1A(1) by the coefficient B-j of the first term X-| of the second equation, equation 2(1) to obtain the new equation, equation 1B(1). 4. Subtract equation 1B(1) from the second equation, equation 2(1), to eliminate the first term of equation 2(1 ). The resulting equation will be one of the equations in a new system with n— 1 equations in n— 1 unknowns. 5. Repeat steps 3 and 4 with each of the remaining equations in the original system. The set of equations, for which the first term has been eliminated, forms a new system having n— 1 equations with Xo, Xg,...X n as unknowns. 6. Inspect the coefficient of the first term in each of the new system's equations. The equation having the largest coefficient (in absolute value) of the first term is taken as the next pivotal equation. 7. Divide the new pivotal equation by the coefficient of its first term. The result will be a new A equation in which the coefficient of the first term is 1 . 8. Multiply the new A equation by the NUM ADD PROGRAM CODES DEFINITIONS AND REMARKS NUMERIC SYMBOLIC 041 33 15 STO E o44 Y' 22 12 B GSE f b 045 31 41 f W/ DATA o46 35 22 h RTN 047 _2l 2-j 13 f LBL C With the coefficients of equation 1A(Z) stored in the secondary registers and the coefficients of each remaining equation in the current system stored, in turn, in the premary registers, pressing C causes each coefficient of equation 1A(Z) to be multi- plied by the first coefficient of each re- maining equation, in turn, to yield a new equation, 1B(Z), where Z is the number of the current system of equations. Equation 1B(Z) is then subtracted from the current remaining equation, eliminating the first coefficient of the current remaining equa- tion. The result of processing a system in this manner is a new set of equations which has a number of unknowns that is one less than the number of unknowns in the system that is presently being processed. 048 _3J 22 11 g GSB f a o!+9 34 24 RCL (1) 050 T 25 02 f LBL 2 051 34 13 RCL C 052 32 22 13 '' GSB f c 053 15 52 h XiY 054 71 X 055 }) 24 STO (1) 056 01 1 5? 00 58 V 13 RCL C 59 32 31 K X=Y 060 22 03 GTO 3 061 3S 82 h LST X 062 34 13 RCL C 063 01 1 oik 31 - 065 13 13 STO C 066 1 35 53 h Rv 06? 22 02 GTO 2 068 _2i ' 03 f LBL 3 0^9 32 22 11 E GSB f a 070 31 25 04 r LBL 4 071 34 12 RCL B 072 32 22 13 S GSB f c 07-) 34 13 RCL C 07 1 * _2i 22 13 E GSB f c 075 51 - 0-J& 33 24 STO (i) 077 01 1 078 00 079 34 13 RCL c 080 32 31 K X=Y If all terms of the current equation have 081 22 5 GTO 5 been processed, jump to fLBL 5. 082 01 1 Decrement register pointers and return to beginning of loop. 083 31 - 084 33 13 STO c 08 5 14 12 RCL B 086' 01 1 087 31 - 088 33 12 STO B 089 22 04 GTO 4 090 _21 25 05 t LBL 5 Stores the address of the first coefficient of each equation of the new system in re- gister I. 091 34 14 RCL D 092 01 1 093 61 + 094 33 14 STO D 09 5 jj, 11 RCL A 096 J* 14 RCL D 097 31 - 098 01 1 099 01 1 100 61 + 101 '? 33 h ST I 102 14 14 STO D 103 01 1 104 51 - 105 33 14 STO D 106 14 24 RCL (i) Recalls the first coefficient of each equa- tion of the new system, stores the absolute value of the coefficient in I and displays the absolute value for 5 seconds with a flashing decimal point. If all equations of the current system have been processed, jump to "call for next piv- otal equation." 107 15 64 h ABS 108 35 33 h ST I 109 11 84 f -x- 110 34 11 RCL A 111 34 15 RCL E 112 32 51 (5 X=Y 113 22 08 GTO 8 114 01 1 115 61 + Update E register and clear primary regist- ers R0-R9. 116 33 15 STO E 117 3? 2 2 12 s GSB f b 118 31 41 r */ DATA 119 ?1 22 h RTN 120 31 2") OP r LBL 8 121 3? 22 12 1: GSB f b Calls for the next pivotal equation. 122 34 14 RCL D 123 01 1 124 61 -f 125 131 14 RCL D 126 31 41 f w/ DATA 127 Y, 22 h RTN 128 31 2 = 09 r LBL 9 Displays n with flashing decimal point in a 129 34 11 RCL A continuous loop when Xn has been computed. 130 31 8 4 f -x- Listing 7 continued on next page, April 1979 ©BYTE Publications Inc 177 Listing 1 ' , continued: NUM ADD PROGRAM CODES DEFINITIONS AND REMARKS NUMERIC SYMBOLIC 131 2 2 09 GTO 9 132 H4 R/S 133 31 25 14 f LBL D Stores Xn in Rl and initiates second part of program. t?* 31 42 f PiS 135 34 00 RCL 136 33 01 STO 1 137 00 138 33 00 STO 139 01 1 140 33 15 STO E I Itl 3 5 22 h RTN 142 31 25 15 f LBL E As each 1A equation is stored in the sec- ondary registers, a new unknown is computed and stored in a primary register until all unknowns are stored. See the calculator RUN worksheet for the method of storage. 143 01 1 144 00 145 V 33 h ST I 146 34 24 RCI (i) 147 3 3 00 STO 148 01 1 149 33 12 STO B 150 01 1 151 01 1 152 33 13 STO C 153 32 25 14 g LBI f d 154 3'. 00 RCL 155 34 12 RCL B 156 32 ?.? 13 g GSB f c 157 34 13 RCL C 158 32 22 13 S GSE f c 159 71 X 160 51 - l6l 33 00 STO 162 34 15 RCL E 163 3'' 12 RCL B 164 ?■■ 51 ? X=Y 165 22 06 GTO 6 166 34 12 RCL B 167 01 1 168 61 + 169 33 12 STO B 170 34 13 RCI, C 171 01 1 172 6l + 173 33 13 STO C 174 22 31 1 4 GTO f d 175 31 25 06 f LBL 4 Updates registers D and E. 176 34 15 RCL E 177 01 1 178 61 + 1?9 33 15 STO E 180 3 5 33 h ST I 1B1 3 4 00 RCL 182 V 24 STO (i) 183 3'. 14 RCL D 184 01 1 185 51 - 186 33 Ik STO D 187 31 2 5 07 £ LBL 7 Displays the number of the unknown X which has been computed in a continuous loop. 188 34 14 RCL D 189 31 84 f -x- 190 22 07 GTO 7 191 34 R/S 192 32 25 11 K LBL f a SUBROUTINE a: Initializes B and C regist- ers every time a new pivotal equation is stored in the primary registers and B is pressed. Initializes B and C registers every time a new equation of the current system is stored in the primary registers and C is pressed, or program control jumps to subtract loop. 193 34 n RCL A 194 3'' 14 RCL D 195 51 - 196 01 1 197 □l + 198 3 5 33 h ST I 199 33 12 STO B 200 01 1 201 00 202 61 + 203 33 13 S TO C 204 35 h RTN 205 32 25 12 g LBL f b SUBROUTINE b; Resets primary registers R0-R9. 206 00 207 33 00 STO 2 08 33 01 STO 1 209 33 02 STO 2 210 33 03 STO 3 211 33 o4 STO 4 212 33 05 STO 5 213 33 1 STO 6 214 33 07 STO 7 215 33 OR STO 8 216 33 on STO 9 217 3 5 ',•::. h RTN 218 32 25 13 g LBL f c Calls each term of equation being processed in proper order. 219 3 5 33 h ST I 220 44 CLX 221 3 + 14(16 - '?> = IKI7- l 5 ) + 14(l 7 - l 6 ) + 15(l 7 -lg) =0 Mesh 6: Mesh 7 : Mesh 8: 13(lg Mesh 9: 15(lg 1 6 ) + 16l 8 + 17l 8 + 18(l 8 - l< 1 7 ) + 18dg - l 8 ) + 19lg = )=0 Table J: The nine equations for the circuit shown in figure Figure 1 : An example of the type of circuit for which nine mesh equations may be written. The resulting system of equations contains nine unknown currents. Equation 1 : 61 -2I 2 -3l3 +OI4 +OI5 +0I R +OI7 +0I 8 +0lg = 40 Equation 2: -2 1 +17l 2 -6I3 -5I4 +OI5 +0I 6 +OI7 +0I 8 +0lg = Equation 3: -3 1 -6I 2 +I6I3 +OI4 -71s +0I 6 +OI7 +0I 8 +0lg = Equation 4: 01 -5I 2 +OI3 +32 14 -IOI5 -9"6 +OI7 +0I 8 +0lg = Equation 5: 01 +0I 2 -7li -IOI4 +28 1 5 +0I 6 -HI7 +0I 8 +0lg = Equation 6: 01 +0I 2 +OI3 -9l4 +OI5 +48 1 6 -14l 7 -1318 +0lg = Equation 7: 01 +0I 2 +OI3 +OI4 -11 1 5 -14l 6 +40 1 7 +0I 8 -IBI9 ■ Equation 8: 01 +0I 2 +OI3 +OI4 +OI5 -13l 6 +OI7 +64 lg- -18Ig = Equation 9: 01 +0I 2 +OI3 +OI4 +OI5 +oi 6 -1517 -18l 8 +52l g = Table 2: The nine simultaneous equations for the circuit in figure I, shown here in standard form (ie: with the variables arranged in order for each equation). sheets have labeled columns for listing the symbolic key codes, the numeric codes which appear in the display for each step of the program, and a column for comments. The first page of the set of program work- sheets contains prelabeled blocks which allow other useful information about the program to be stored. For example, the first section of listing 1 contains the following information about the simultaneous equations program in abbreviated form: A. Registers 1. Registers R0 thru R9 and RS0 thru RS9 are used to store constants in a sequence that is reversed from the order in which they appear in the equations of each system. Note: Processing the first system (n equations) yields a system of n-1 equations; processing the second system (n-1 equations) yields a sys- tem of n-2 equations; . . . proc- essing the nth system (1 equation) yields X n . 2. Register A is used to store the number of equations in the orig- inal system of simultaneous equations. 3. Register B is used as a pointer for the registers RO thru R9; register C is used as a pointer for the reg- isters RSO thru RS9. Registers B and C are decremented in a man- ner which allows constants to be indirectly recalled from the primary and secondary storage registers so that, using these constants, math- ematical operations may be per- formed upon each equation of each system. 4. Register D starts at 1 and counts the number of pivotal equations that have been divided by their first term. When D=A, all pivotal equations have been processed, and X n has been computed. 5. Register E starts at D+1 and counts the number of equations in each system that have been processed. When all equations of a system fiave been processed, E=A and the dis- play calls for the next pivotal equation. 6. Register I takes care of miscel- laneous temporary storage. B. Labels The main program has two parts which are actually subdivided into several smaller programs. Furthermore, most of the subprograms contain one or more subroutines which are used to conserve program steps. 180 April 1979 © BYTE Publications Inc Personal Computing... It All Comes Together at NCC 79. Only during the National Computer Conference wi you have an opportunity to experience persona' computing to the fullest. And that's why the 1979 Personal Computing Festiva' June 4-7 in New York's Sheraton Center Hotel, formerly the Ameri- cana, is different. As a conference within a conference, it will give you the chance to explore the complete spectrum of information processing while concentrating on those aspects of personal computing you won't want to miss. ..including equipment, applications, ideas, and new developments that have created excitement throughout the entire com- puting community. Only at NCC '79 will you find such a panorama of computer products on display. ..ranging from micros to maxis, from , processors to peripherals. Included will be the latest innovations in low-cost computing for business, professional, and home use. Against the backdrop of the prestigious NCC, the Personal Computing Festival has attracted many well-known experts and personalities who will participate in an information-packed technica program and compete for prizes for the best presentations. Join them in exploring applications ranging from use of small business systems and financial analysis to personal networking, new information utilities, and aid to the handicapped. You will also have ample opportunity to discuss new ideas and novel approaches to shared prob- lems, to find out what to expect in the year ahead, and observe interesting and clever applications dem- onstrated by the individuals who developed them. Plan now to take part in a unique personal comput- ing experience at NCC '79. You can register for the Festival at the Sheraton Center Hotel, 52nd Street between 7th Avenue and Avenue of the Americas, for only $15 which includes your copy of the NCC '79 Personal Computing Proceedings. Reg- istrations, excluding the Proceedings, also are available at $5 for one day and $9 for all four days. The Proceedings will be available separate- ly at $8. For additional information on NCC '79, including housing and registration procedures, contact AFIPS, 210 Summit Avenue, Montvale, N.J. 07645; telephone 201/391-9810. To obtain information on the special NCC Travel Service call toll-free 800/556-6882. NCC '79 PERSONAL COMPUTING FESTIVAL c/o AFIPS, 210 Summit Avenue, Montvale, N.J. 07645 BYTE April 1979 181 Listing 2: Detailed instructions for running the simultaneous equations program in listing I. PROGRAM TITLE: Simultaneous Equations APPLICATION! Solves Systems of up to 9 equations PROGRAMMER! Bob Arp DATEi 12 -16-76 STEP NO. INSTRUCTIONS AND REMARKS INPUTS OUTPUTS LABEL KEY DISPLAY CARD 1. Turn calculator on. 2. Place W/PRGM-RUN switch in RUN position . 0.00 3. Insert side 1 of program card labeled "Simultaneous Equa- tions" . crd h. When crd appears in the dis- play, insert side 2. 0.00000 00 5. Key in number of equations in the system. n n . 6. Press A. START PART I A 1 .00000 00 7- The "1.00000 00" which ap- pears in the display calls for the coefficients of the first pivotal equation to be stored in the primary registers. Store Al(l) in Rn, A2(l) in Rn-1 . . . . ,An(l) in Rl , and Yl(l) in RO. Coefficients which are zero need not be stored. The "(1)" refers to the first system. Al(l) STO n A2(l) STO n-1 An(i) STO 11(1) STO 8. Press B. DIVIDE B crd 9. When crd appears in the dis- play insert side 1 of card 1A(1), where "(1)" is the number of the current pivotal equation (and system) being processed. crd 10. When crd appears again, insert side 2 of card 1A(1). 0.00000 1A(1) 11, Store the coefficients of the second equation of the first system in the primary regis- ters. Store Bid) in Rn, and 12(1) in RO. Bl(l) STO n B2(l) STO n-1 Ml) STO 1 Y2(l) STO 12. Press C. MULT/SUB. C nl(w)(2) Displayed for 5 sec- onds with flashing decimal point. 13. When flashing decimal point appears, record the absolute value of the coefficient for the first terra of each equa- tion, w, of the new system, 2, as it appears in the display. If the coefficient is missed while the decimal point is flashing, it may be recalled by pressing h RCI after step 15, before proceeding with step 16. crd 1^. When crd appears in the dis- play, insert side 1 of card w{2). crd 15. When crd appears in the dis- play aeain, insert side 2 of card w(2). 0.00000 00 w(2) 16. Insert side 2 of card 1A(1). 1A(D crd 17. When crd appears in the dis- play press CLX. CLX. 0.00000 00 18. Store the next equation of the In ral(x) current system, 1, in the General , STO primary registers. Store Rn ml(x) in Rn, m2(x) in Rn-1, m2(x) ...,ran(x) in Rl and Yx in RO, STO where, x is the number of the Rn-1 equation in system 1 cur- rently being processed. mn(x) STO Rl Y(x) STO Listing 2 continued on next page. 1. Subprogram A: initiates the first part of the main program. 2. Subprogram B: divides pivotal equations by their first term and outputs an A equation. 3. Subprogram C: multiplies A equations by the coefficient of the first term of each succeeding system equation, subtracts the results of the multiplication from that equation and outputs the equations of a new system. 4. Subprogram D: initiates the second part of the main program. 5. Subprogram E: operating upon the A equations, computes X^ thru *(n-1) by multiplying the previously computed X values by their con- stants and subtracting the results from the right side of the A equation. 6. Subroutine a: initializes B and C registers every time B is pressed after a new pivotal equation is stored in the primary registers and every time C is pressed after a new equation is stored in the primary registers. 7. Subroutine b: clears registers R0 thru R9 to 0. 8. Subroutine c: recalls each term of the equation being processed in the proper order. 9. Loops d, 0, 2, 4: these loops allow the same mathematical operation to be performed many times within the same subprogram. 10. Routine 1: compares the contents of D to the contents of A and transfers execution to routine 9 when D=A. 11. Routine 3: a short routine which calls subroutine a. 12. Routine 5: stores the address of the first coefficient of each equa- tion of the new system being generated in register i, then recalls the coefficient, stores its absolute value in I, and finally displays the absolute value of the coefficient for 5 seconds. 13. Routine 6: increments E register and decrements D register in the second part of the main program. 14. Routine 7: displays the number of the unknown X which has been computed in a continuous loop until R/S is pressed. 15. Routine 8: calls for the next pivotal equation by displaying its number. 182 April 1979 ©BYTE Publications Inc CompuCruise The Computerized Copilot At the push of a button your onboard navigational computer will perform 44 important functions in your car, van or truck: • Computerized Cruise Control - More than a simple speed maintaining device available as an option by automobile manufacturers. It establishes and main- tains a preselected road speed. You tell the computer how fast you want to tra- vel and CompuCruise takes over. It also features resume and traffic flow adjust. • Efficient Fuel Management - Compu- Cruise is programmed to answer any question regarding fuel usage. It will tell you your most fuel efficient driving speed; which brand and grade of fuel is most economical in your vehicle (tests show in excess of 11% difference in major unleaded brands alone); effects of tire brands, types & pressures; when tune-up and repair is needed; whether tune-ups have been properly perform- ed; plus other useful fuel saving data. • Trip Computer- By inputting expected trip distance, CompuCruise will contin- ually display time, distance or fuel to ar- rival... all computed and updated once a second and based on current vehicle speed and fuel consumption. • To Empty Function - Automatic data sensors allow CompuCruise to display time, distance, or fuel to empty... based on current vehicle speed and fuel consumption. • Highly Accurate Quartz Crystal Time Function- Displays time of day; elapsed trip time (hours and minutes); elapsed time (minutes and seconds until 59 min. 59 sec. then hours and minutes); easily set wakeup or reminder alarm. • Temperature - Inside temperature, outside temperature (if desidered, out- side temperature sensor can be located to provide engine coolant temperature). Displayed in fahrenheit orcelsius.' • Battery - Generator Voltage - Compu- Cruise will warn you of impending elec- trical failure by displaying battery and charging voltage. • Sophisticated Yet Simple - Because of its automatic data sensors, CompuCru- ise can perform all of its functions with the touch of a button. Yet with all its so- phistication, its operation can easily be learned in a few minutes. It can be used with any foreign or domestic vehicle, (except diesel or fuel injected engines) and can be installed by a trained mechanic in less than two hours. EACH COMPUCRUISE CONTAINS: 1. Command Module 3"x 6"x 1 3/16" 2. Throttle Servo 3. Speed Sensor 4. Flow Sensor 5. 2 Temperature Sensors 6. Brake-Clutch Disengagment Switch 7. Mounting Hardware for flush or bracket mounting. 8. Installation Manual 9. Use Manual CompuCruise provides other advant- ages. The cruise control helps to elimin- ate speeding tickets. The computer serves as a diagnostic instrument to detect minor engine problems before they become major and costly ones. The precision clock and trip computer prov- ide valuable enroute information whether cross country or local shop- ping. The battery voltage readout is especially helpful. Present vehicle instrumentation tells you nothing about battery condition. With CompuCruise, you are warned before failure that service is necessary. Available for $199.95, (Add $5.50 for front wheel drive) plus $2.50 for insured UPS shipping and handling from: MM I r^k:- -P-O. Box 428. ' . 'IDC Peterborough, N.H. 03458 Call your charge card orders toll-free: ' 1-800-258-5477 In N.H. : 924-3355 anna VISA Circle 35 on inquiry card. BYTE April 1979 183 Listing 2 } continued: STEP NO. 32. 33. 3*. 35. 36. 37. 38. INSTRUCTIONS AND REMARKS GO TO step 12 until the digit "2.00000 00" appears in the display, calling for the sec- ond pivotal equation. A new pivotal equation must be stored in the primary regis- ters each time the program halts automatically and dis- plays a digit, 2, indicating the desired pivotal equation. When the pivotal equation digit is displayed, the deci- mal point will not be flashing, nor will the digit be displayed in a continuous loop. The digit, 2, is also the number of the system being processed. The first pivotal equation must be stored by using the keyboard. Sub- sequent pivotal equations are stored by inserting a data card. The new pivotal equation is that equation of the new sys- tem, 2, for which the largest (in absolute value) first term has been observed. This equa- tion, as are the other equa- tions of the new system, Z, it stored on a magnetic card. Insert side 2 of the card which contains the new pivotal equation. When crd appears in the dis- play, press GLX, Press f P?S. Press B. When crd appears in the dis- ilay, insert side 1 of card U ( Z ) . When crd appears again, insert side 2 of card 1A(Z) . Press f P%S. Insert side 2 of card w(ZJ LCard w(Z) no longer needed], where w is the equation of the system, 1, currently being processed. When crd appears in the dis- play, press GLX, Press f P?S. Press C. When flashing decimal point appears, record the absolute value of the coefficient for the first term of each equa- tion, w, of the system being created. If the coefficient is missed while the decimal point is flashing, it may be recalled by pressing h RGI after step y\, before pro- ceeding with step 35. When crd appears in the dis- play, insert side 1 of w(Z+l). When crd appears in the dis- play again, insert side 2 of card wfz+1). Insert side 2 of card 1A(Z). When crd appears in the dis- play press GLX. GO TO step 27 until a new digit "Z. 00000 00" appears in the display, calling for the next pivotal equation. When the new digit "Z. 00000 00" appears in the display, GO TO step 21. Eventually, the digit **n, 00000 00" will appear in the display. The nth pivotal equation is the only equation 1(2) v(Z) 1A(Z) f P§S B f P?S f P?3 2.00000 00 crd 2.00000 00 2.00000 00 crd crd 0.00000 00 0.00000 00 0.00000 00 0.00000 00 l(w)(Z+l) Displayed for 5 sec- onds with flashing deoimal point. 0.00000 00 crd 0.00000 00 U(Z) w(Z+l) Listing 2 continued on opposite page. 16. Routine 9: displays the value of X n with flashing decimal in a con- tinous loop until R/S is pressed. C. Display The information under DISP indicates that engineering notation has been selected and that numbers appearing in the display will be rounded off to five significant digits after the first one. When engineering notation is selected, numbers are shown in the display with exponents of 10 that are multiples of 3. As with all HP-67 display formats (unless f RND is pressed), calculations are performed using full 10 digit numbers (10 digit mantissa and 2 digit exponent of 10). The instructions to be used while running the simultaneous equations program, shown in listing 2, are listed on calculator run work- sheets. These worksheets list the manual steps which must be followed to obtain the solution to the system of equations, inputs you must supply to the calculator by pressing keys or inserting cards, and outputs from the calculator in the display or on cards. Although it might appear that many magnetic cards are needed to run the pro- gram, note that cards containing the equations of a system are no longer needed after the equations have been processed with the pivotal equation of the system. There- fore, these cards may then be used to record the equations of another system. These instructions are self-explanatory (I hope), therefore, I will allow them to speak for themselves. Please note, however, that the instructions contain loops that refer you to steps previously accomplished. Remember that n pivotal equations must be processed and each equation contained in a pivotal's system must be processed with the pivotal equation. As a further aid in understanding both the program and the HP-67, listing 3 shows what is stored in each register after selected program steps. The calculator register work- sheets illustrated in these figures are a val- uable debugging tool and serve as explicit program documentation. All of the forms shown in this article, except the one shown in listing 4, may be used with any HP-67 (and with other cal- culators as well) program. The form shown in listing 4 has been prepared specifically for simultaneous equations. This worksheet can be used to list the constants of the original system of equations, to record the first terms of each of the other systems as they appear in the display so that the pivotal equations may be easily spotted, and finally, to record the value of each unknown. 1 84 April 1979 © BYTE Publications Inc Conclusion With the help of special forms designed for the occasion, the powerful repertoire of the HP-67 (and the HP-97) has been examined, yet I have taken from you none of the pleasures in store as you begin your adventures with this versatile calculator. The example program presented will be an added attraction to those anticipating the purchase of an HP-67, as well as to those fortunates who already possess one. When you look at the price tag on the HP-67, compare its cost to the cost of computer time and memory which would be necessary to run similar programs. In addition, think of the programs you could run on the HP-67 which might never be run otherwise. Listing 2, continued: REFERENCES Kuo, Benjamin C, Linear Networks and Systems, McGraw-Hill, New York, 1967, pages 63 to 104. A good discussion of introductory network theory. Pearson, Carl (ed), Handbook of Applied Mathe- matics, Van Nostrand, New York, 1974, pages 906 to 908. Gives a treatment of the Gaussian elimi- nation method. Listings 3, 4, 5 and 6 are continued on pages 186 and 188. STEP NO. INSTRUCTIONS AND REMARKS INPUTS OUTPUTS LABEL KEY DISPLAY CARD in system n, therefore, no first term comparisons need be made. Furthermore, the nth pivotal equation need not be stored on a card. Since the nth pivotal equation is now stored in the secondary regis- ters, simply press f P£S. f PjS n. 00000 00 39. Press B. DIVIDE B n. 00000 00 Displayed with f lashing^ decimal in a continu- ous loop. <*0. The "n. 00000 00" displayed with flashing decimal in a continuous loop indicates that Xn has been computed and is stored in RS0, M.. Press R/S. R/S O. 00000 00 »2. Press D. START PARI II D 1.00000 00 ,xx> X9 .220939 SIMULTANEOUS EQUATIONS WORKSHEET TREBOR ENGINEERING 1 86 April 1979 © BYTE Publications Inc Circle 73 on inquiry card. COMPUTERWARE for6800's THE BASICS FOR WORK AND PLAY (that we're famous for...) • CHECK FILE 49.95 • LEARN BASIC 39.95 • Random SSB Basic 89.95 • HOME MAILING (VI) 49.95 • LEARN ASSEMBLER 19.95 • Flex Disk Basic 49.95 • Cassette Basic 29.95 • Prom Basic cassette 100.00 2716 250.00 • HOME INVENTORY 49.95 • BUSINESS MAILING (V2) 89.95 ****************************** write for information about our • PILOT DISK 24.95 W/ SOURCE LIST 37.95 W/ SOURCE DISK 49.95 • MUSIC for the Newtech Model 68 • Renbas wv SOURCE list 24.95 W/ SOURCE DISK 34.95 We register our BASIC owners and offer future enhancements at reason- able prices. COMMERCIAL BUSINESS SOFTWARE including: INVENTORY CONTROL ORDER ENTRY ACCOUNTS RECEIVABLE MAILING SYSTEM and MORE all using RANDOM ACCESS capabilities 4-Part Music #1 24.95 4-Part Music#2 24.95 Interpreter -coming soon - compose on your keyboard! for more information circle inquiry no. for quick information write to us ORDERING INFORMATION wWvvvOOvVMvvVvDvVVVv¥VvVvvOy • always specify cassette, Flex disk, or SSB disk COMPUTERWARE $ Send us this coupon before $ $ April 30, 1979 and get $ • on Pre-paid orders Computerware will pay shipping charges • for C.O.D. orders shipping charges are extra 6800 specialists 830 FIRST STREET ENCINITAS, CALIF. 92024 (714)436-3512 $ D Both Learn Basic $ $ and Learn Assembler 49.95 $ $□ 10% off any software order $ $ of more than $50.00 $ • Calif, residents add 6% sales tax WwwwwiJwi)OOwwwODvOvOv'rVvVOvwO Albert Qnstein March 14, 1879 -March 14, 1979 World renowned photographer Lotte Jacobi announces the release of an outstanding series of photographs of the man who by his powers of reason and moments of wild speculation became instrumental in shaping the modern world. This unique portfolio of 25 five by seven portraits, selected from photographs taken over a span of two decades, have been assembled to mark the centennial of Albert Einstein's birth. The price of this remarkable set is $22.95, first class postage and handling included. Available from: BITS POB 428, 25 Rout© 101 West, inC Peterborough, N.H. 03458 Books to erase the impossible Charge Card Orders May Be Placed On OurToll-Free Number: E22ffl 800-258-5477 (In New Hampshire Call 924-3355) Circle 35 on inquiry card. BYTE April 1979 187 Listing 5: Instructions for running the program in listing 6 which checks the solutions obtained by the program in listing I. Blank coding forms like the ones used in this article may be purchased from Robert C Arp Jr, 3961 Acapulco Dr, Campbell CA 95008. Listing 6: A program which accepts the coeffi- cients calculated by listing I and checks them for accuracy. PROGRAM TITLE: Simultaneous Equations Check Program PAGE 1 OP 2 APPLICATION: Checks solutions to systems of up to 9 equations PROGRAMMER: Bob Arp DATE: 12-27-76 STEP MO. INSTRUCTIONS AND REMARKS INPUTS OUTPUTS LABEL KEY DISPLAY CARD 1 . Before the check program can be initiated, all values of X must be stored in the primary registers as follows: XI in Rn, X2 in R(n-1 ) , . . . ,Xn In HI. Th« values of X are stored in this manner at the end of the "SIMULTANEOUS EQUATIONS" program . 2. Key in the number of system equations. n n . 3. Press A. START A n. 00000 00 It. Store the coefficients of equa- tion 1 into the primary regis- ters as follows: Al in Rn, A2 in R(n-l) An in HI. Con- stants which are zero need not be entered. EQ 1 Al STO Rn A2 STO Rn-1 An' STO Rl 5- Press B. MULT/ADD B eYl Displayed with flashing decimal in a continu- 6. Press R/S. HALT R/S ous loop. ~Y1 7. The number which appears in the display should be approximately equal to Yl . 8. Store the coefficients of equation 2 in the primary registers as follows: Bl in Rn, B2 in R(n-l), . . . ,Bn in Rl. Constants which are zero need lot be entered. E8 2 Bl STO Rn B2 STO Rn-1 Bn STO Rl 9. Press B. MULT/ADD B »Y2 Displayed with flashing decimal in a continu- ous loop. 10. Press R/S. HALT R/S *sY2 11. The number which appears in the display should be approximately equal to Y2. 12. Store the coefficients of equa- tion n in the primary regis- ters as follows i ml in Rn, m2 in R{n-1) .... ,mn in Rl. EQ n ml STO Rn m2 STO Rn-1 mn STO Rl 13. Press B. MULT/ADD B «Yn Displayed with flashing decimal in a continu- ous loop. 14. Press R/S. END R/S KYn 15. The number which appears in the display should be approximate^ equal to Yn. PROCRAM TITLE: SIMULTANEOUS EQUATIONS CHECK PROGRAM PAGE 1 OF 2 APPLICATION: Checks solutions to systems of up to 9 equations. PROGRAMMER: Bob Arp DATE: REGISTERS 1 m9 2 m8 3 ni7 » m6 S m5 6 m4 7 m3 8 m2 ml SO si X9 S2 X8 S3 X7 S4 X 6 S5 X5 S6 xll S? X3 SS X2 S?X1 A # Eqs ir System B Pri reg pointer C Sec reg pointer D Term counter E V 4 Y storage I Misc storage LABELS FLG SET STATUS A Start B Mult/ Add C D E FLAGS TRIG DISP ON OFF a b c d e 1 DEG FIX SCI Mult/ 1 Clear add loop registers 2 Disp loop 3 4 2 ENG X RAD n 5 NUM ADD PROGRAM CODES DEFINITIONS AND REMARKS NUMERIC SYMBOLIC 001 31 ;>.■; 11 f L3L A With all values of X stored in primary re- gisters and with the number of system equa- tions keyed into the calculator, pressing A initializes the check program by storing the values of X in the secondary registers and clearing the primary registers . 002 ■ < .-", DSP 5 003 V 51 h ENG oo4 31 42 f PiS 005 11 4 1 1' CL REG 00: 3 3 ! ! STO A 007 35 .' h rt:; oos 1: :--5 1 ;.' f LSI b Wr en the program halts and displays the 009 15 '. 1 RCL A number.of system equations, the coefficients of the first system equation must be stored in the primary registers; coefficients which are zero need not be stored. The coeffi- cients must be stored in the registers as indicated above under the "REGISTERS" head- ing (see CALCULATOR RUN WORKSHEET). During subsequent halts, the coefficients of the other system equations are stored, in turn, in the primary registers. After the coefficients of an equation have been stored, pressing B causes each value of X to be multiplied by the appropriate con- stant, and the sum of the multiplications to be stored in register E. The Multiply/ Add loop continues until the term counter, D, indicates that n terms have been pro- cessed . 1 13 : 2 STO B Oil V '4 STO D 012 1 1 1 on ,lh 01 't 61 + 015 3 3 n STO C 016 no 017 4i ♦ OIK 3 J 1 5 STO E 019 31 00 f LBL 020 34 12 RCT, B 021 J J 33 h ST I 022 44 CLX 023 35 24 RCL (1) 024 }l> n RCL C 02 5 3 5 33 h ST I 02'' .:. CLX 027 34 24 RCT, (0 028 '1 029 34 1' RCL E 030 •1 + 03! 21 1 STO E 032 01 1 033 14 14 RCL D 3'i •- 51 K X=Y 035 : 2 01 GTO 1 03- 01 1 037 51 - 03R 33 14 STO D 030 34 1 2 RCL B n.'in ! 1 o4i ■ 1 - olir 33 1 2.75 E 04) 34 1 1 RCI C M :\ 1 0.5 5 : - ill.- 13 25 I c 04y 22 3TC 658 31 : : • f LB1 1 Clears primary registers; allows the next 04n system equation to be stored with no at- tention paid to the coefficients which are zero . O'.O 33 STO 051 " ! STO 1 052 33 02 STO 2 53 33 03 STO 3 .: CI-1103 32Kx 16 •iM'umnrnimmi CI-6800 64K x 8 fSKfs ■ mini vmnii mrmm Sal » i i _. QjfMi i* j ~ •""-*. ~M CI-8080 64K x 8 € Tested and burned-in. Full year warranty. Chrislin Industries, Inc. Computer Products Division 31352 Via Colinas • Westlake Village, CA 91361 • 213-991-2254 Circle 47 on inquiry card. Nybbles BASIC Cross-Reference Table Generator William and Alice Englander 1966 Titus St San Diego CA 92110 A standard compiler feature for high level languages like COBOL and PL/I is a cross-reference of the source program. In the simplest case, each named element in the program is listed in a report with the line numbers of all statements containing that element. Words which have special meanings in the language being cross-referenced, such as READ or IF, are ignored. Features of more sophisticated cross- reference facilities include placing the elements in alphabetical order, showing the statement number in which an element is defined separate from its references, defining the use of the element as a sending or re- ceiving field and cross-referencing both data elements and procedural elements (state- ment labels). As we began program development in BASIC on our microprocessor, we dis- covered the pleasures of using BASIC, but were surprised to find that cross-references of our BASIC programs could not be pro- duced with any of our regular system soft- ware. In addition, our survey of the litera- ture did not turn up any BASIC cross- reference programs. . A cross-reference can be an extremely useful programming aid. When you are debugging a program, it allows you to quick- ly find each statement which deals with a particular variable. For example, if the pro- gram is looping you can look at each refer- ence of the loop control variable to ensure that it has been initialized, that it is being incremented, and that a check for the upper limit is being made. A cross-reference is Text continued on page 192. 190 April 1979 ©BYTE Publications Inc CBAS CBAS 1 2 3 4 1 !C BSGAME IC COMPILER VER 1.0! ! PRINT "BINARY SEARCH GAME" PRINT ! INPUT "HIT RETURN WHEN READY TO PLAY" i LINE ANS* : RANDOMIZE L0U = 1 HIGH=1000 NO-INT + I LOR 1=1 TO 24 PRINT NEXT I PRINT PRINT "ENTER NUMBER IN THE RANGE "> LOU } " THROUGH ' i HIGH INPUT GUESS IE (GUESSHIGH> OR < GUESSOINT ( GUESS ) ) THEN\ PRINT "TRY AGAIN" 5\ GO TO 20 IE GUESSN0 THEN\ H IGH=INT( GUESS- 1 ) 5\ PRINT "YOU'RE HIGH" !\ GO TO 20 PRINT "YOU WIN! ! ! " PRINT PRINT "PLAY AGAIN?" INPUT ANS* IF LEFT* ( ANS* » 1 )~" Y n THEN\ 00 TO 10 PRINT "END OF BINARY SEARCH GAME" STOP END 8 5 95 io : 1 1 : 20 13 5 14 5 15: 16: 17: 18 5 195 20 5 2 1 : 23: 24: 25: 26! 27 5 28: 29 : 30! 31! 32: 33 5 NO ERRORS CRUN XREF CRUN VER 1.03 ENTER NAME OF PROGRAM TO BE CROSS-REFERENCED BSGAME CROSS-REFERENCE LISTING OF PROGRAM BIBSGAME.BAS VARIABLE REFERENCES I 8 1 N£3 7 17 21 LOW 5 12 14 18 ANS* 3 28 29 HIGH 6 7 12 14 22 guess:; 13 14 14 14 14 1.7 1.8 Listing 1: An example program with a cross- reference table generated by the BASIC cross-refer- ence generator program. 21 About the Authors William and Alice Englander have a pro- gramming and consult- ing firm in the San Diego area. While most of their program devel- opment is done on cus- tomers ' large scale com- puters, they also do work for customers on their IMSAI 8080 disk based system. They are both computer systems Instructors at National University. Please sencL ::opies of BYTE Nybble #_ .at $_ .postpaid Check Enclosed Bill my BAC - _ Bill my MC — Name Exp Date . Exp Date _ Street . City State . . Zip Code . BYTE Nybbles Library, 70 Mam St, Peterborough NH 03458 You may photocopy this page if you wish to keep your BYTE intact. April 1979 © BYTE Publications Inc 191 Text continued from page 190: handy when you need to make a program change, too. You can quickly see what names have already been used if you need to define a new variable. And you can double check your planned changes against uses of the existing variables, which may enable you to use existing ones instead of having to define new ones. In BASIC, a cross-reference listing can be especially useful in helping you to verify that you have used correct names in your code. Since BASIC sets up variables for you without requiring explicit definitions, you can accidentally miscode a variable name and cause some elusive program problems. A quick look at the cross-reference would alert you right away since you would see both the correct name and the improperly coded name. Our BASIC cross-reference program was written using C-BASIC on an IMSAI 8080 disk based system running under CP/M. Depending on your configuration, enhance- ments could probably be made which would speed up the processing time. A typical program and cross-reference table is shown in listing 1 on the preceding page." The Nybbles Library is an inexpensive means for BYTE readers to share some interesting but specialized forms of software. These pro- grams are written by readers with small computers and printer facilities, and are therefore designed for particular systems. The algorithms and programming techniques can be used by readers with similar equipment, or can serve as an inspiration for improvisation on computers of differ- ent characteristics. Potential authors of such programs should send us a self-addressed stamped envelope, with a request for a copy of our Guidelines for Nyb- bles Authors. Payment for Nybbles items is based on sales and length of the item. Rates are set at the time of acceptance. Nybbles Library programs are sent in listing form, printed on 8.5 by II inch paper on both sides. The Nybbles Library programs are punched with three holes for collection in loose leaf binders, and come in an attractive folder which serves as a cover. This month the BASIC Cross- Reference Table Generator has been added to the Nybbles Library. You can order a personal copy of this program (BYTE Nybbles Library Document # 105) for $. 75 postpaid ($1.05 overseas postpaid) by filling out the coupon on the preceding page. BYTEs Bugs Get your PC masters in as little as 2 weeks At Echo Design your circuit drawings can be con- verted into finished artwork masters in only 2 to 6 weeks, depending on complexity. We do board layouts for many of the biggest names in the business. And we have broad capability. Such as computer boards having 450 ICs. Choose any or all these services: • Layout (to digitizing • Assembly drawing standards if desired) • Schematic drawing • Tape-up (artwork) • Bill of material • Fab drawing • Printed board Place a call now to John Offenbacker or Al Chew and get your new board moving at competitive prices. echo DESIGN AND DEVELOPMENT CORPORATION FREE Ask for a copy Basic Guidelines for Printed Circuit Partitioning 195 EAST GISH ROAD • SAN JOSE. CA 95112 408-292-0918 We also provide contract technical personnel world wide Motor Source Error A list of stepping motor sources in "A Stepping Motor Primer, Part 1: The- ory of Operation," by Paul Giacomo (February 1979 BYTE, page 90) was in- complete. We omitted Superior Electric Co, 383G Middle St, Bristol CT 06010, a major manufacturer of stepping motors.* Polyphony Made Accurate Perusal of my copy of the January 1979 BYTE, containing my article "Polyphony Made Easy," reveals two errors in the schematic on page 106. First the trivial one: the counters are incorrectly labeled as 7473 (in fact, both are called IC10a). They are, in reality, 7493s. Second, the multiplexers — all nine of them — have a pinout error. Instead of "B A C" along the bottom of each one (input address), they should read "A B C," with the pin numbers changed accordingly to "1 1 to 9." These are not crippling errors — anyone who's reasonably familiar with TTL (transistor-transistor logic) would spot the first one immediately, and the second would cause scrambled key codes but would sooner or later be figured out. Steven K Roberts 129 N Gait Av Louisville KY 40206" Finishing the Job The Programming Quickie "Single Stepping the 8080 Processor" (January 1979 BYTE, page 179) has one small bug in it. A line of code was left out of the program listing on page 180. The last line of the program should read: 118A JMP FINI C37D10." 192 April 1979 © BYTE Publications Inc Circle 105 on inquiry card. iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiriiiiiiiiiiiiiiiiitiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiifiiiiiiiini BYTE News .... ■■■IIIIIIIIIIIIIIIIIIIIllllllllllllIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIlllllllIltlllllllllllllllllllllllllllllllllllllllllllllllBIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIill 32 Bit Microprocessors Are Rumored . While Zilog and Motorola are struggling to get their 16 bit microprocessor- ICs into production, Texas Instruments and Intel have been delivering theirs for some time. Now rumors abound that both TI and Intel will show prototype 32 bit processors by the end of the year and may be in production by the end of 1980 or the beginning of 1981. Tremendous Growth of Personal Computer Systems Predicted for 1979. Mike Shea, marketing director for Atari, who recently brought two personal computer systems to the market, predicts a four to sixfold increase in personal computer sales for this year. He feels that between 200,000 and 300,000 personal computer systems will be sold this year, compared to 50,000 last year, and said that in the future Atari will pay less attention to developing new game consoles and instead concentrate on bringing out new software for existing units. Fairchild Camera & Instruments predicts that 4.6 million programmable video games will be sold this year, worldwide, compared to 2.1 million in 1978. Further, they predict that 18 million cartridges, worth $110 million, will be sold, compared to 5.7 million, worth $18 million, last year. Nonvideo games growth should prove even more dynamic, according to industry pundits. Sales should reach $290 million in 1979, and possibly $500 million in 1980. Lear Seigler Shipped 40,000 Video Terminals in 1978. The Data Products division of Lear Seigler announced that in 1978 they shipped 40,000 video display terminals. This was more than they shipped in their six previous years of doing business. LS is predicting an increase in video display sales in 1979 of 25 to 30 percent. Centronix Reports 20 Percent of Its Printers Go to Personal Computer Makers. Centronix, the leading maker of dot matrix printers, predicts that about 20 percent of its 1979 business will be from Tandy (Radio Shack TRS-80) and from Apple Inc. At the beginning of the year they were shipping 1700 printers per month to Tandy (in other words, 20,400 per year). Centronix is getting set to introduce a high density dot matrix printer and a word process- ing impact printer to compete with Diablo and Queme. Computer Stores Becoming Big Business. Computer stores are becoming mass merchandisers, judging by an order recently placed with Perkin-Elmer Corp. Their terminal division announced that Micro-Age, a chain of five com- puter stores in Arizona and Texas, placed an order with them for 2000 of their new Bantam video display terminals. That's a far cry from the garage-type computer store operations of just a year or two ago. Battle Shaping Up in 32K EROM. In February 1978 Texas Instruments introduced its TMS 2532 4K by 8 EROM (erasable read only memory), with full production promised for April or May. This meant that they were well ahead of all the other integrated circuit manufacturers. They accepted orders for the device at $54 in 100 price lots. Intel introduced their 2732 erasable read only memory in November. Needless to say, the pinouts were different and a heated debate developed in the JEDEC committee over which would be the standard. TI hoped their 10 month lead would favor them. However, they encountered production problems and only started to deliver samples by year-end. Intel, in the meantime, is in production and has already lined up at least one second source. Tl is promising production quantities by April. The unit price on the Intel part is currently $140. The 2732 also uses the same pinout as the 2716 and 2708 EROMs. HP May Be Developing Personal Computer System. Hewlett-Packard is rumored to be developing a new personal computer system at its Corvallis Oregon Consumer Products division. HP has been selling a desktop computer with BASIC in read only memory and an IEEE488 interface for a few years now. It is expected that the system will be a scaled down version of this system, that it will have a base price of $1000, and that it will be on the market this fall. Tandy Developing New Computer. Tandy is rumored to be in development of a second generation Radio Shack TRS-80, possibly with color capability. Tandy, which has a 200,000 square foot plant and staff of 700 making the TRS-80, is supposedly looking for an outside manufacturer of the new system. Tandy also plans to develop many new software packages for introduction this year. Magnavox Files Suit on Microprocessor Video Game Patents. Magnavox, the originator of video games played on home TV receivers, has filed suit against several manufacturers of programmable TV video games; among them April 1979 © BYTE Publications Inc 193 are Fairchild, Bally, Sears Roebuck and Montgomery Ward. Magnavox has won previous suits on dedicated, non- programmable video games. Some industry experts feel that if Magnavox is successful in this suit, the next step might be to try to license makers of personal computers that connect to home TV receivers. DEC Forms Retail Products Group. Digital Equipment Corporation, the largest manufacturer of minicomputers, has formed a retail products group. Its initial objective is planning for expansion based on its successful experience with a retail store, which opened last August in Manchester NH. Located in a shopping mall, the store sells small computer systems starting at less than $10,000. Flat Panel Displays Getting Closer to Production. Last month I reported on a flat panel terminal display being readied for production by General Telephone and Electronics. Several other companies have also announced that they have display panels in development. However, none appear near to replacing the present video displays, such as that of GT&E. Nonetheless, they are worth reviewing. Datascreen Corp, of Mountain View CA, will soon start sampling a 40 character LCD (liquid crystal display) panel (5 by 10 dots) which works off 5 V and consumes 250 mW. Westinghouse has already demonstrated a 180 by 180 line LCD panel for TV use. Hitachi has shown a 120 line panel. Neither, however, is near production. Electroluminescent type panel samples are already available from Sharp. A 480 character display using a 7 by 9 dot matrix, with complete drive electronics, is currently available for $2500. A 240 by 320 dot graphics panel will be available next year. ISSCC Gives Preview of New Technology Coming. The annual International Solid State Circuits Conference, held in Philadelphia, February 14 to 16, saw the presentation of new hardware technology still in the research and develop- ment stage. These devices will not be on the market for at least a year yet, and most are still 2 to 3 years off. But all are real and coming. Here's a partial list of some of those presented at the ISSCC: From Intel: a self -refreshing dynamic 4 K programmable memory with 200 ns access, an NMOS 4 K static programmable memory with 25 ns access, a 16 K HMOS static programmable memory with 45 ns access, a 5 V only 16 K dynamic programmable memory with 100 ns access and an analog I/O (input/output) microprocessor with on board erasable read only memory. From Texas Instruments: a simple 1 transistor cell. From Nippon Telephone and Telegraph: a 128 K bit read only memory and a megabit full wafer MOS programmable memory with 350 ns access. From Hitachi: a 1 K programmable memory with 5 ns access. The Robots Are Taking Over. There are already about 20,000 robots at work in US factories. But this is just the beginning. Japan and several European countries are already ahead of the US in introducing manufacturing robots and automation under computer control. Automation experts claim that in most manufacturing situations a product spends 95 percent of its time moving and waiting. Time is money. Hence, automation can cut this wasted time tremendously, effecting considerable savings. Zilog Reports $18 million in Sales. Zilog, the creator and maker of the Z-80 processor, has reported sales for 1978 of $18 million. The company, which started in late 1975, and brought the Z-80 to the market in 1976, operated in the red in 1976 and 1977. A company spokesman said that in 1978 they were "at breakeven." The Altair May Live Again. When Pertec bought MITS and its Altair line of PC system in 1977, they deserted the hobbyists who made the Altair a success. Pertec tried to change the Altair into a small business computer system. Things did not go too well. Pertec moved MITS from Albuquerque to California and then Pertec stopped making Altairs in June 1978. Pertec now is going to resurrect the Altair and start producing it again, in a new plant it is building in Albuquerque (of all places). Pertec plans to market it to small business users and not to personal com- puter users. Computers Produce $350 Million Trade Surplus. It seems that all we read about in the newspapers are trade deficits. Well, last year the US exported $350 million in computer gear. Canada was the biggest purchaser ($12 million), and Japan was second ($10 million). Actually the US exported $406 million but imported $56 million in computer gear. IBM Keeps Growing and Growing. When microcomputers came out and skyrocketed in popularity, many pundits predicted that IBM's domination of the computer business was coming to an end. However, that is not what has 1 94 April 1 979 © BYTE Publications Inc happened. Today IBM has a larger backlog of orders than ever before. Their current backlog is more than four times the computing power it has ever shipped. Delivery time on its new 303X large computers is now over two years, and IBM has orders for about 13,000 of these machines, which replace large 370s. Paper Newspapers and Mail May Soon Be a Thing of the Past. The ground work for a digital electronic mail system is now in the works. Imagine having your newspapers, magazines, bills, etc, delivered to you directly via your personal computer system, and likewise being able to write letters (with on line text editing, naturally) and then transmit them at the press of a button. It is already here in some large corporations and government agencies. But during the 1980s, this technology will explode into business offices and homes. It is rumored that TI, HP and IBM are developing personal computer systems specifically for these emerging applications. Further, last December Xerox filed a petition with the FCC to develop a digital mail/communication system using microwave. It would provide for document distribution, data communication, etc, at rates up to 256 K bytes, which is far greater than current telephone systems and even than Bell's new T-carrier system now being installed. Xerox claims they will be able to deliver documents at less cost than the US mail. Each office desk would be equipped with a keyboard, video display, disk and processor; and would be able to do word processing, sorting, etc, in addition to mail handling. The mail handling naturally would be controlled by computer and hence include automatic addressing, priority routing, multipoint delivery, automatic transmission of previously stored messages, scan messages, etc. GT&E is setting up a group to test market (in early 1980) a system to transmit data via telephone lines onto modified TV receivers in homes and offices. The system will be similar to the Viewdata systems currently under test by the British Postal System. GT&E is also negotiating for Viewdata licenses. ITT, TI and RCA reportedly are doing the same. TI, however, is currently testing a home information system in Salt Lake City that sends data over regular broadcast channels. Also getting into the business is the US Postal Service, which last fall asked the US Postal Rate Commission for authority to offer an on line service called Electronic Computer Originated Mail (ECOM). ECOM is expected to start this year. The sender writes a "letter" on a terminal and sends it via telephone to the post office, who routes it to the destination post office where it is printed and delivered in the conventional way. This will be used mostly for mailing bills, overdue notices, etc. This communications revolution will be boosted by the new Advanced Communications Service (ACS) for which AT&T recently received approval. ACS will lower data transmission costs and increase service. It will lower costs via shared communications facilities and make possible interfacing of incompatible terminals and computers and provide user selectable communications capabilities. A few personal computer groups have already started a simple system called PCNET. The leading PCNET activity is run by the CACHE group (Chicago Area Computer Hobbyist Exchange). Other PCNET groups are functioning in the San Francisco, LA and Atlanta areas. The PCNET uses modems and telephone lines for communication. A writeup on PCNET appeared in the November 1978 BYTE. Another personal computer approach has been taken by AMRAD (Amateur Radio Research and Development Corp) in McLean VA. They have established a bulletin board type system using telephone and 2 meter radio telephone." Sol Libes UCTI 1776RctritanRd Scotch Plains NJ 07076 PET PRINTER ADAPTER GET HARD COPY FROM YOUR COMMODORE PET USING A STANDARD RS-232 PRINTER 1200B 1200C The CmC ADA 1200 drives an RS-232 printer from the PET IEEE-488 bus. Now, the PET owner can obtain hard copy listings and can type letters, manuscripts, mailing labels, tables of data, pictures, in- voices, graphs, checks, needle- point patterns, etc., using a standard RS-232 printer or terminal. $98.50 ADA1200B Assembled and tested $169.00 ADA1200C With case, power supply and RS-232 connector Order direct or contact your local computer store. Add $3.00 for postage and handling per order. O CONNECTICUT microCOMPUTER rjfJTJ rp^i ' 50 POCONO RD. BROOKFIELD, CT 06804 La 12031 775-9659 Circle 78 on inquiry card. April 1979SBYTE Publications Inc 195 Circle 12 on inquiry card. TRS-80 SOFTWARE ON COMPATIBLE CASSETTES OR DISKETTES SUPERZAP Hex dump utility for examining & changing disk sectors or main memorv . . Needs DOS 2.1 and 32K $25. DISASSEMBLER IN MACHINE CODE Works with disk object load modules Si provides location reference table, also disassembles any ram locations $25. ASSEMBLER MODS FOR DISK OPERATION Changes your TRS-80 non disk assembler to provide lull disk I/O utilities $25. LOAD MODULE Accepts EDTASM created load modules from tape & converts & stores them in DOS executable format on disk $25 LEVEL I RELOCATED IN LEVEL II RAM 1 16K) Run your non-convertible Level I programs or make Level I compatible tapes in your Level II machine $15. ACCOUNTS RECEIVABLE AND INVENTORY CONTROL Disk based systems requiring DOS 2.1 (utilizes random files) By Mike Kelleher S30. ea. BASIC DIRECTORY Allows review & execution of disk (directory! programs while under BASIC, with automatic Index Feature $15. ANYSORT Utility program allows definition & manipulation of any form of data file. Useful for record keeping & inventory control $15. TRIBBLE TRAP One of the best Level II graphics games we've seen $ 7. Above 3 programs by Ralph Burris require Level II. 3-D REAL TIME LUNAR LANDER, $10; PLAY CHESS, $5,, TWINS PARADOX. S2„ By Michael Dreiger I16K Level III MICRO TEST EDITOR (Word Processor! 4K. $8.; BIG PRINT. $2.; & CONCEN TRATION 16K. $4.; By Don Coon ILevel II only! MAIL LIST Disk based program which SORTS & prints LABELS By James Beauchamp $35. FINANCEER 20 Financial type programs on disk by James Beauchamp . . S35. JOB ENTRY & STATUS REPORT - By Al Hargis requires 32K & DOS 2.1. handles 340 jobs in 48K $75. DATA SET CONTROL PACKAGE - Provides cassette file OPEN. READ, WRITE & CLOSE functions plus 2 utility programs & full documentation $ 8. PERSONAL FINANCE PACKAGE 13 Programs! $15 MORTGAGE CALCULATIONS & MATH TEST $ 5. ea. The above 3 programs by John DeMita HOROSCOPE CASTING BY COMPUTER - by D. L. Pitman $10. Level 1 1 has output formatted for printer QUBIC - By Alvin Files (3D tic tac toe with graphics! Level II (16 Kl ... . $ 4. HERO'S QUEST - A version of swords & sorcery-16 K ILevel III $ 5. SEND FOR FREE CATALOG FOR COMPLETE PROGRAM LISTING. A FEW SAMPLE GAMES FOLLOW: STAR TREK (8K), FLIGHT SIMULATOR (4K), FOOTBALL (8KI $ 5. ea. ADD S2 FOR PROGRAMS ON CASSETTE. $5 FOR DISKETTE /INCLUDES SHIPPING AND HANDLING) Colorado residents add 6% sales tax. ARE ROYALTY PLANS. PET PROGRAMS, /M\ AND TRS 80 COMPATIBLE PERIPHERALS ALSO AVAILABLE 'ipparat. Incorporotea NewDos now available. 6000 E. Evans Av. Bldg. 2 Ca n or write Denver, Co. 80222 (303)758-7275 for details. theULTIMATE in CHEAP VIDEO BOOK & KIT ONLY $42.95 Don Lancaster's "Cheap Videb"concept allows almost unlimited options, including: * Scrolling- Full performance cursor. * Line/Character formats of 16/32, 24/80, 32/64 .... or almost anything. * Graphics-up to 256X 256 B&W; 96 X 128 COLOR (requires low-cost option modules) * Works with 6502 , 6800 and other micros. SPECIAL OFFER: Buy the Kit Cupper case alpha- numeric option included) &get the Book at 1/2 price. .ELECTRONICS, DEPT.4-B, 1020W. WILSHIRE BLVD.. OKLAHOMA CITY. OK 73116 I'm Sold, PLEASE RUSH C 3 SEND FREE CATALOG C 3 TVT-6 EVs Kit & Cheap Video Cookbook $42.95 (enclosed) C ) TVT 65/ 8 Kit only Cbook required for assembly)-$39.95 name: address: city: . state: zip: ELECTRONICS DEPT. 4-B, 1D20W. WILSHIRE BLVD., OKLAHOMA CITY. OK 73116 Continued from page 6: Another cause for possibility of losing files is just plain lack of experience with the system involved. A friend of mine who works at Digital Equipment Corporation tells the tale of how he once forgot which of several operating systems he was working on - and deleted a whole slew of files thanks to a "feature" known as wild card operations. Such operations are shortcuts to allow more than one file name to match the file name specified to the operating system. This friend's problem came from the fact that one PDP-11 operating system had a wild card specification that in another operating system was a unique specification. There are more than just wild card opportunities for not understanding or forgetting how the operating system soft- ware works. There are many ways in which the user of any small computer can interfere in disk filing operations so that the file will be lost, or a whole disk file directory will be lost. For example, all it takes is the simple removal of the disk from the drive or reset- ting of the computer while an operation is being performed. Thus the fundamental rule of small computer and big computer use is "don't touch the computer during a disk (or tape or any other filing) operation." Bui when you introduce the possibility of physical errors due to imperfect media, the whole problem gets complicated, and sometimes such a simplistic rule has to be violated. My problem may have resulted from the facts that I have been using one floppy disk for three months solidly and that I was updating a file one stormy winter day. Because floppy disk media are contact media, they are indeed subject to wear. Whether it was wear or the wiles of Peter- borough Flicker And Flash division of New Hampshire Public Service, on the day of the disaster I got a little message from the physical I/O disk drivers which support the operating system. It was an ominous message, for several reasons. First, it occurred during a "krunch" operation which is the UCSD Pascal system's disk file compression program. Second, it occurred after the last file had been moved, so it was most likely during a directory write operation. Third, it was one of these frus- trating situations where an apparently infinite retry loop was involved, with one error message coming every 15 or 20 sec- onds. So, I violated the rule stated above and reset the computer. That was the end. The directory was no longer valid, I had no alternate directory, and I had not the foggiest idea ahead of time about what to do to fix this situation. The 196 April 1979 ©BYTE Publications Inc Circle 297 on inquiry card. directory included maybe 20 or 30 Pascal programs which I had written during the preceding month or so, including a really useful one called "littleblackbook." Well, in my experience using computers, the best course of action following such a disaster has always been to sit back and contemplate what has happened, to avoid compounding the problem with hastily conceived actions. One thing was obvious. Only the direc- tory had gotten zapped. This was confirmed by the use of some of the utility functions built into the UCSD Pascal system software: in the Filer portion of the system, one can scan for bad blocks on a disk, then enter a fixup routine to try and recover most of the data. The bad block was obviously in the directory, due to its physical location on the disk and that in using another copy of the system no directory could be found among the remaining data on the damaged disk. Knowing this, plus the fact that the files in the UCSD are stored contiguously on the disk, I knew that all the actual data was out there and that I just could not get at it through the normal directory methods. But, if I could read the disk without the benefit of paying attention to such niceties as file structures, I would be able in principle to recover from this problem by writing a relatively simple program. Well, I proceeded to do exactly that. Since most of my data was in the form of programs, my first step was to write a program which would search arbitrary disk blocks in sequence from a starting block to the end of the disk. As each block was read by the program, I printed a confirmation message giving the current block number. In this search, the program would look for the key word PROGRAM which begins every program's text file. When found, I would print out the first 20 characters of the file starting at the word PROGRAM. This would give me a physical block address directory of all the Pascal programs on the damaged disk. The program entitled Recover found in listing 1 accomplished this end for me, using the low level I/O procedures of UCSD Pascal called UNITREAD, UNIT- BUSY and UNITCLEAR. Output was directed to the screen and to the printer using the usual techniques of the 85/P implementation of UCSD Pascal: a control P character is intercepted from the keyboard to toggle on and off the output to the Diablo Hytype II printer I have on the system. Once I had this printed directory of physical blocks which had the word "PRO- X A price that's hard to beat. Because of new technology and high-volume company sales Central Data Corporation has reduced the price of its 16K RAM board by $40 and its 32K RAM board by S50. Plus, we now offer full 48K and 64K RAM boards. Our 16K. 32K. and 48K boards are expandable to 64K in 16K increments. • 16K RAM-S249 • 48K RAM-S599 • 32K RAM-S425 • 64K RAM-S775 • Memory Expansion Package (16K)-$185 Our boards come complete— fully assembled, tested, burned-in. and ready to use A product that's better than ever. We've also made improvements to our board's design at no extra cost to you. • Deselectable in 2K increments. Our deselect feature enables you to switch off any 2K to avoid overlap with your existing memory. • Fully socketed memory. This feature enables you to expand the memory board yourself. • Plug selectable addressing. Now you can re-address without soldering. iiirmrni Central Data Corporation's RAM Board Standard Features • S-100 and Z-80 compatible • Power-saving dynamic board with on-board invisible refresh • One-year guarantee on parts and labor Contact Your Local Dealer To order our RAM board and for more information, contact your local computer dealer If unavailable locally, the board and other Central Data products can be ordered directly from us And. as always, we welcome any questions that you have about our products Central Data Corporation P.O. Box 2530, Station A 1207 N. Hagan Champaign, Illinois 61820 (217) 359-8010 Circle 45 on inquiry card. April 1979 ©BYTE Publications Inc 197 SYBEX LEADER IN miCROCOmPUTER EDUCATION MICBOfHOC' 550 " | INTOFACING ItCHNBUSS ^ ON INTRODUQION TO PERSON- AL AND BUSINESS COfriPUTING by Rodnay Zaks 250pp,refC200 36.95 The basic introductory text on microcomputers, with a detailed evaluation of the fea- tures and peripherals required for specific applications. No prior computer knowledge required. miCROPROCESSORS: from Chips to Systems by Rodnay Zaks 420pp,refC201 S9.95 An educational text, used worldwide at universities and in industry designed to teach all the fundamentals of mi- croprocessors, the assembly of a system, and its use. PROCRnmmiNC the 6502 by Rodnay Zaks 320pp,refC202 SI 0.95 An introductory program- ming text for the 6502. Does not require any prior pro- gramming knowledge. From arithmetic to interrupt-driven input-output techniques. 6502 APPLICATIONS BOOK by Rodnay Zaks refD302 SI 2.95 Actual application programs to interface the 6502 to the real world, from LED to motor, and analog-digital conversion. Available Shortly miCROPROCESSOR INTERFACING TECHNIQUES Austin Lesea and Rodnay Zaks 416pp,refC207 SI 1.95 All the basic interfacing techniques, from keyboard to floppy disk, including the standard buses (S100 to 1EEE488). miCROPROCESSOR LEXICON 120pp,refXl S2.95 Dictionary and tables. All the definitions of the micropro- cessor world in a pocket book format. micROPROGRnmmED rpl imPLEfTIENTPJION 330pp,refZ10 S25.00 How to design an APL interpreter. W^ Ik ^ l=i'/< liVV't 1 "— ''■ / ': Rxv* "*" ' ! X'- — y /' / SELF STUDY COURSES ON CASSETTES Ten courses to study at home or in the car. The most time- efficient way to learn. Includes workbook and cassettes. INTRODUCTORY $29.95 ea S1 -INTRODUCTION TO MI- CROPROCESSORS (2.5 hrs) S2-PROGRAMMING MICRO- PROCESSORS (2.5 hrs) COMPREHENSIVE $59.95ea SB1 - MICROPROCESSORS (12 hrs) SB2- MICROPROCESSOR PROGRAMMING (10 hrs) SPECIALIZED $49.95 SB7- MICROPROCESSOR INTERFACING (6 hrs) TO ORDER By phone: 415 848-8233, Visa, MC, Amer Express By mail: circle books on ad. Include payment. Shipping: add 65 1100; END. ( recovery) Write faster in BASIC, FORTRAN, or COBOL Document & modify more easily, too Human-engineered to do the job better. Yes, you really can get flawless code faster, using the Stirl ing/Bekdorf ™ system of software development tools with structured programming concepts. The 78F2, 78P4, and 78C1 are human-engineered to reduce initial errors, improve de-bugging speed, and aid concept communication. First, use the 78F2 Flowchartrix™to lay out your original concept blocks. Then use it to write a finely detailed flowchart. 54% more logic cells than other flowchart forms, put far more of your program on each page. Each Flowchartrix has a full 77 logic cells, not just 50. This saves paper, and makes your finished flowcharts easier to understand. By seeing up to 27 extra steps of a program on each page, you comprehend program flow more clearly. You save money and storage space, too. Every matrix cell in the 7x11 matrix has a specific label to help you track branch points. When you write program documentation, having a separate reference point for each cell makes your program much easier to describe clearly. With Flowchartrix, you don't need a shape template to draw remarkably regular logic symbols. Guides for the most-used logic symbols are right in each matrix cell, to help you draw most standard flowchart symbols entirely free-hand. 78P4 Print-Out Designers are next. When you finish flowcharting, lay out the printed reports your program will generate. Then when you write code you blaze through the report generation segments right along with the rest of your program. Unique 70 x 160 matrix accommodates even proportional-spacing word processor formats. The 160-column width can handle practically any printer format. The 78P4 is big, 14'' 2 x 22 inches, because we've scaled the cell size to human writing comfort, not machine print, giving nearly twice the character-writing area of other printout design sheets. Special 5-column area records the program line number of the code which creates each printed line. It shows, at a glance, exactly which line of code creates each line of your report, saving hours of needless search time when you must change the report format (and don't you always have to, sooner or later') Every sheet of 78C1 gives you 2 form uses for the price of one. Use 78Cl's full 28 line x 80 column grid area to code regular program steps. Then for inter- active or instructional sections, simply keep your characters within the appropriate CRT indicator lines, and you'll automatically know where every character will show on your CRT screen. 28 line x 80 column coding capacity saves you 14 sheets out of every 100, compared to 24-line forms. 86 sheets hold more program steps than 100 sheets of any 24-line form, yet we offer full-size 6mm x 3mm grid blocks to give you comfortable writing room and visual space between lines. Works with your CRT display, no matter what brand you own. Equipped for both 16 line x 64 column and 24 line x 80 column display formats. Available in three versions (one for BASIC languages, one for FORTRAN, another for COBOL), the 78C1 is so powerful we include a 7-page instruction manual with every order. Every tool in the Stirling/Bekdorf system is surface-engineered to take both pen & pencil without blotching. Our tough, extra-heavy, 22; paper is pure enough to use with critical magnetic ink character readers, and gives you crisp, sharp char acters with pencil or plastic-tip pen. Every part of our system uses eye-comfortable soft blue grids. All grid rulings, tints, and division rules are reproduced in a special shade of blue, easy on your eyes even after hours of continuous programming. If you're a professional pro- grammer, you'll particularly appreciate our improvement over the green lines you've been writing on. A 3-ring binder is one more of our secrets for your success. All your notes, logic concepts, flowcharts, code, CRT layouts, print-out designs, and documentation can be kept together, in order, in one place. When everything you create stays together, debugging and modification is much simpler. Order your supply of the world's most advanced software development tools, ight now, before you hatch even one more bug. 78F2 Flowchart!!. D 2 padsol 50 - $7 90 , S2 85 pkng S shpg D 10 pads ol 50 - S34.35 » S6 45 pkn B S shpg 78P4 Print Out Design Sheets D 1 pad ol 50 = $7 45 * S3 15 pkng & shpg D 5 pads ol 50 « S3? 10 * 16 75 pkng & shpg 3 hole punched vinyl pockets lor 78P4 Design Sheets D set ol 5 lot S2 65 + SI 35 pkng 4 shpg D set ot 12 loi $6 00 + $185 pkng & shpg 78C1 Combination Coding/CRT Layouts All aie the same puce, but please check which language formal you want D lor BASIC D lor FORTRAN □ lor C0B01 Q 2 pads oi 50 - S6 35* SI 95 pkng S shpg D 10 pads ol 50 - 526.85 * S3 35 pkng S shpg Texas residents please add S y. sales lai to east puce We ship UPS so TO Qui Address must give phone number Trices shewn for picking S shipping are U S A only International shippih( rates are tinker, write lai details D Sample ol one sheet of each foim + associated labels & literature $2.50 Enclosed is my check for $ Name Charge to: D Master Charge □ Visa exp. date. Card * Signature Address - City . Phone. . State- . Zip- Stirling/Bekdorf 4407 Parkwood a San Antonio, TX 78218 a (512) 824-5643 1978 Slnlin(/B}; indentcode = 16 {decimal integer equivalent of ASCII }; disk = 5 {physical unit address of righthand floppy drive}; VAR blockcount,blocknr,i ,j ,k : INTEGER; onecharacter,anychar : CHAR; buffer : PACKED ARRAY [0.. 511] OF CHAR; filename : STRING [32]; ifoundareturn : (no,yes,spacecount) ; theoutput : FILE OF CHAR; PROCEDURE initial ize; BEGIN blockcount := -1; ifoundareturn := no; WRITELN ('Enter starting block number to grab from right drive'); READLN (blocknr); filename := 'A. TEXT'; WRITEDN (' Output will be to the file "A. TEXT"'); WRITELN ('Do you approve?'); READ ( KEYBOARD , an ycha r ) ; WRITEIfl (anychar) ; IF anycharO'y' THEN BEGIN WRITELN (' When you have figured out what you want to do,' , ' try me again'); blocknr := 9999 {to force premature end of program} END; REWRITE ( theoutput , filename) END {initialize}; PROCEDURE makenormalj BEGIN {simply transfer if printing character} IF ( (k >= 0RDC ')) AND (k <= 0RD('}')) ) THEN WRITE (theoutput, onecharacter) ; ifoundareturn := no { — > first state} END {makenormal}; PROCEDURE transferblock; BEGIN {first grab the block from the bad disk} WRITELN ('Transferring Block #', blocknr) ; UNITC LEAR (disk) ; UNITREAD(d isk , buf fer, 51 2, blocknr ,0 ) ; UNITWAIT(disk); {then transfer the block to output file} FOR j := TO 511 DO BEGIN onecharacter := buffer[j]; {test for end of file} IF j>3 THEN BEGIN IF ( (buffer[j-3]='E') AND (buffer[j-2]='N') AND (buffer[j-l]='D') AND (onecharacter = ' . ' ) ) THEN BEGIN WRITELNf'I found END. in block #', blocknr); blocknr := 2000 END Listing 2a continued on opposite page. 200 April 1979 © BYTE Publications Inc Listing 2a, continued: { legal possibilities are as follows ... . . . ... ... ... ... . . .. } k := ORD(onecharacter) ; CASE ifoundareturn OF IF k <> acarriagereturn THEN raakenorraal ELSE BEGIN WRITE (theoutput ,onecharacter) ; ifoundareturn := yes { — > next state} END (IF. ..ELSE... }; yes: BEGIN IF k=indentcode THEN BEGIN WRITE (theoutput ,onecharacter) ; ifoundareturn := spacecount { — >next state} END ELSE BEGIN IF k = acarriagereturn THEN ( — >same state} WRITE (theoutput ,onecharacter) ELSE {— >first state} raakenormal END END; spacecount: BEGIN WRITE ( theoutput ,onecharacter) ; ifoundareturn := yes { — > previous state} END END {CASE}; END {FOR}; blocknr := blocknr + 1 END {transferblock}; BEGIN {grabber} initial ize; IF blocknr < 1103 THEN REPEAT {put an upper limit on number of blocks to transfer} blockcount : = blockcount - 1; IF blockcount < 1 THEN BEGIN WRITELN (' Enter number of blocks to do'); READLN(blockcount) ; IF blockcount = THEN blocknr := 9999; IF blockcount > 20 THEN blockcount := 20 END; IF blocknr < 1103 THEN transferblock UNTIL blocknr > 1102; CLOSE (theoutput, LOCK) END. Enter starting block number to grab from right drive 259 Output will be to the file "A. TEXT" Do you approve? V Enter number of blocks to do 5 Transferring Block #259 Transferring Block #260 Transferring Block #261 Transferring Block #262 I found END. in block #262 ■ (2b) BYTEs Bugs Historical Correction Regarding Keith S Reid-Green's arti- cle "The History of Computers: The IBM 704" (January 1979 BYTE, page 190), the magnetic core storage unit, shown in photo 1, is the IBM 737. It had a capacity of 4096 36 bit words. The 32 K core storage, referred to in the article, is the IBM 738 and did contain a minor amount of solid state logic. The IBM 711 (photo 3) could read any of 80 card columns, selectable by a plugboard whose access is shown under the identification tag. Only 72 of those 80 columns could be read at any one time, however. Also the Q bit of the multiplier-quotient register was used in multiply to contain bits of partial pro- duct during shifts. I am sure that all of us "old-timers" who worked on the 704 appreciate your nostaglic look backward to the early days of this industry. Warren G Tisdale Rt 6 Box 348N Raleigh NC 27612" Commander in Chief Generalized Regarding the program Commander in Chief, presented in December 1978 BYTE, page 192, there are several minor errors: location 093 should read © instead of ; and (PGM) should be inserted at location 041. To get dif- ferent games each time, one need only enter any number before pressing (e) . The program can be modified in the fol- lowing manner to remove the necessity of entering a new seed number for each game: 128 © 129 © 130 © 131 © 132 (*CM'S) 133 © 134 © 135 © 136 © 137 © Dennis Grundler 818 E 22nd St MarysvilleCA 95901" April 1979 © BYTE Publications Inc 201 Event Cueue April 3-5, Specifications of Reliable Software, Hyatt Regency Hotel, Cam- bridge MA. This conference is sponsored by the IEEE Computer Society. Contact Douglas T Ross, Softech Inc, 460 Totten Pond Rd, Waltham MA 02154, (617) 890-6900. April 5-6, Computers in Ophthalmology, St Louis MO. This is a course in appli- cation of computers to ophthalmic patient care and clinical reseach. Sessions dealing with data bases, automated patient testing, artificial intelligence, and image processing are being planned. Contact Robert Greenfield, DSc, Bio- medical Computer Laboratory, Washing- ton University School of Medicine, 700 S Euclid Av, St Louis MO 631 10. April 9-11, Computer Contract Negotia- tion, Atlanta GA. This 3 day course is designed to give participants sound an- swers to the complex ramifications of preparing and negotiating computer con- tracts. Contract Brandon Consulting Group Inc, 505 Park Av, NY NY 10022. April 9-11, Data Processing Operations Management, Miami FL. This seminar will emphasize the management skill and techniques applicable to the data pro- cessing operations function. The curri- culum is designed toward practical, applied management techniques to pro- vide a sounder understanding of the ways of managing data processing operations more effectively. Contact The University of Chicago, Center for Continuing Education, 1307 E 60th St, Chicago I L 6063 7. April 9-12, Interface '79, McCormick PI, Chicago IL. This is the seventh annual conference and exposition on data communications and computers. Contact The Interface Group, 160 Speen St, Framingham MA 01701. April 16-20, Data Communication Sys- tems and Networks, George Washington University, Washington DC. This course is designed for systems analysts, engi- neers, managers, and others who need a better working knowledge of data com- munication systems. The course will be of particular value to those who are cur- rently planning, designing or imple- menting a computer that involves data communications. The objective of the course is to provide participants with an understanding of the basic principles and current techniques involved in com- puter to computer and terminal to com- puter communications and networking. Contact Continuing Engineering Edu- cation, George Washington University, Washington DC 20052. April 18-20, Understanding and Using Computer Graphics, Dallas TX. This course is for people who are now using or making decisions about using com- puter graphics and its role in their organ- ization. It will describe computer graph- ics; show how installing computer graphics can be justified; explain what hardware and software systems are available and give costs and performance comparisons. Contact Frost and Sullivan, 106 Fulton St, NY NY 10038. April 23-26, Middle Eastern Electronic Communications Show and Conference, Bahrain Exhibition Ctr, Bahrain. The exhibition will consist of companies marketing communication systems, pro- ducts, and services. Contact Gerry Dobson, MECOM '79, Arabian Exhi- bition Management, 11 Manchester Sq, London W1M 5AB. April 23-27, PASCAL Programming for Mini and Microcomputers, Ramada Inn, Woburn MA. This course covers a general approach to the use of high level lan- guages in small computers, including an intensive course in PASCAL program- ming, and an introduction to structured programming techniques. Contact Insti- tute for Advanced Professional Studies, One Gateway Center, Newton MA 02158. April 23-27, High Speed Computer Organization: Super Machines and Low Cost Systems, Holiday Inn, Westwood CA. For computer designers, system architects, project leaders and managers involved in the implementation, applica- tion and evaluation of high speed com- puting systems. The course provides a thorough understanding of the principles of high speed computer organization and their use in cost effective systems. Several commercial and paper high speed com- puters are presented and compared. Contact UCLA Extension, 10995 Le Conte Av, Los Angeles CA 90024. April 24-26, Electro/79 Show and Con- vention, New York Coliseum and Ameri- cana Hotel. Contact William C Weber Jr, general manager, Electronic Conventions Inc, 999 N Sepulveda Blvd, El Segundo CA 90245. April 30-May 2, First Annual Interna- tional Conference on Computer Capacity Management (ICCCM), Washington DC. Individuals involved in computer capacity management will present papers on re- search, experiments and other activities concerned with the importance, require- ments and benefits of capacity manage- ment in today's data processing environ- ment. Contact Marken Communications, 2275 E Bayshore Rd, Palo Alto CA 94303. May 11-13, The West Coast Computer Faire, San Francisco Civic Auditorium. This is a conference and exposition on personal computers for home, business, and industry. Contact Computer Faire, POB 1579, Palo Alto CA 94302, (415) 851-7075. May 21-25, Systems Analysis Workshop, Chicago IL. This workshop will teach systems analysts and others needing sys- tems analysis skills to use a practical set of tools and techniques to evaluate user requests and document requirements for new data processing systems. Contact Brandon Systems Institute, 4720 Mont- gomery Ln, Bethesda MD 20014. June 6-8, Eighth Annual Conference of the MUMPS Users Group, Marriott Hotel, Atlanta GA. Papers will be presented on all aspects of MUMPS development, implementation, and use. Contact Judith Faulkner, Program Committee, Depart- ment of Psychiatry, Clinical Sciences Center, 600 Highland Av, Madison Wl 53792. June 6-8, Twelfth Annual Association of Small College Computer Users in Educa- tion Conference, Denison University, Granville OH. Sessions will include the presentation of papers and demonstra- tions of the educational use of micro- computers, computer textbook surveys, discussions with authors of computer texts, administrative uses of computers in small colleges, and a tutorial on micro- processors. Contact Douglas Hughes, Computer Center, Denison University, Granville OH 43055, (614) 587-0810. June 6-8, Computer Contract Negotia- tion, NY NY. This 3 day course is de- signed to give participants sound answers to the complex ramifications of pre- paring and negotiating computer con- tracts. Contact Brandon Consulting Group Inc, 505 Park Av, NY NY 10022. June 19-21, International Microcom- puters / Minicomputers / Microprocessors '79, Palais des Expositions, Geneva Switzerland. The 1979 conference pro- gram will probe advances in systems and equipment with emphasis on practical applications and uses of minicomputers and microcomputers as well as the tech- niques important to their development. Contact Industrial & Scientific Confer- ence Management Inc, 222 W Adams St, Chicago IL 60606. June 20-22, The 1979 Symposium of the Wilmington Section of the Instrument Society of America, University of Dela- ware, Newark DE. The symposium theme: Measurement Technology for the '80s is being programmed by three of ISA's divisions: Process Measurement and Control, Analysis Instrumentation, and Water and Waste Water Industries. Contact A H Straightiff, E I Du Pont de Nemours and Co Inc, (302) 366-3810. June 27-29, Machine Processing of Re- motely Sensed Data, Purdue University, W Lafayette IN. The symposium will focus upon the theory, implementation and novel applications of machine pro- cessing of remotely sensed data. Con- tact Purdue University, Laboratory for Applications of Remote Sensing, 1220 Potter Dr, W Lafayette IN 47906." 202 April 1979 © BYTE Publications Inc Circle 384 on inquiry card. [Jill QTRS-80 Complete System Includes: CPU/ Keyboard, Power Supply, Video Monitor, Cassette Recorder, Manual, and Game Cassette. fc^Line Printer ©Mini Disk System OC-10 Cassettes WVerbatum Diskettes CORP. MORE DATA PER DOLLAR i Description Each TRS-80 Complete System Level II-4K RAM $ 628.20 TRS-80 Complete System Level II-16KRAM $ 889.20 Expansion Interface $ 269.10 Pertec FD200 Disk Drive $ 385.00 BASF 61 06 $ 495.00 Centronics 779 Printer $1299.00 Centronics 101 Printer $1400.00 Anadex DP-8000 Printer $ 995.00 Centronics P1 Printer $ 445.00 560 (selectric) Printer $ 975.00 Memory Unit (installed) $ 138.00 (kit) $ 98.00 Verbatum Diskettes ea. $ 4.95 3 $ 12.00 10 $ 37.00 Maxell Diskettes ea. $ 7.50 3 $ 21.00 10 $ 60.00 C-10 Cassettes 5 $ 4.50 25 $ 18.75 C-30 Cassettes 12 $ 23.95 Paper (9 1 /2"x 11" fanfold, 3500 sheets) $ 29.95 1 MEG OF DISK MEMORY on line for TRS-80 $2670 Includes: 2 Double Density 8" Disk Drives with Controller 1 HUH Electronics 8100— S-100 Interface to TRS-80 FREE with package 1 CP/M Software for TRS-80 $145.00 value Write or call for new innovations — Printers, Disks, Etc. . CORP. 777 Henderson Boulevard N-6 Folcroft Industrial Park Folcroft PA 19032 (215) 461-5300 In Washington, DC area: (703) 938-1099 TTTTTTIII TTTTTTITI IMIIMMTTTITIM MODEL 3400 DUAL DRIVE SUB-SYSTEM Your system is only as good as the components that make it up. The heart of the 3400 Sub-System is the proven excellence of the Innotronics manufactured Model 410/420 Diskette Drives. They are complemented by a custom enclosure design made up of top quality components and featuring distinctive solid woods such as cherry and walnut for the desk top Model 3400 F. If your system demands consistently high performance from your 8-inch Floppy Disks, then this equipment is the answer. Available for the first time a fully integrated design that you can customize to your needs. We believe we manufacture the highest quality Diskette Drives and Integrated Sub- Systems on the market today. BROOKS ROAD, LINCOLN, MASS. 01773 TEL. 617-259-0600 3400 Rack Mounted Subsystem 3400F Table or Desk Top Subsystem Circle 180 on inquiry card. BYTE April 1979 203 Circle 77 on inquiry card. P.E.T. Pood SEAWOLF $10.00 BREAKOUT S10.00 CATEGORY AHOUNT CATEGORY AMOUNT gyjO 19.46 INCOME 2.75 MRTGE 32B.73 TAXES 8 CLOTHES 443.61 MEDICAL 219 ENTRTA1N 21.69 INSUR 281.55 EDUC 342.96 SAVINGS 8 FOOD 229. 7B UTIL 36.23 GIFTS 13.44 VACATION 1823.41 HOUSE 533 MISC 78. io H'h 1 IllllliniHll Total amount spent was 4358.99 Total income was 2.75 Do yo M-> l (ft nt a spending profile for thi* HOUSEHOLD FINANCE PARTS 1S.2-- S15.0Q Dual Joystick Interface (with two progr»mi)"S45.00 LIFE $so.oo ORDERS: Send check, money order, or VISA/Mastercharge (include expi- ration date) and add $1 .50 shipping. Calif, residents add 6% sales tax. INFORMATION: More information on these and many other currently available programs is available on a free flyer. Write directly to Creative Software. Creative Software P.O. BOX 4030, MOUNTAIN VIEW, CA 94040 204 April 1979 © BYTE Publications Inc Glubs and Newsletters Exchange Information with Brazilian TRS-80 Group A Brazilian TRS-80 users group is interested in starting a software and hard- ware experience exchange with other user groups. Contact Douglas Gilson, RUA Sambaiba #516, Leblon, Rio De Janeiro 20,000 BRAZIL. The Cleveland Digital Group The Cleveland Digital Group meets at 2 PM on the third Sunday of each month in the old railroad station at Safier's Inc, 8700 Harvard, Cleveland OH 44105. Write the club at the above address for more information. The Valley Computer Club Changes Meeting Location The Valley Computer Club of Bur- bank CA is no longer meeting at the Harvard School in Studio City. The club, which has 228 members, now meets at the Burbank Board of Realtors Hall, 2006 W Magnolia Blvd in Burbank. The time remains the same as the first Wednesday of each month at 7 PM. Inquiries should be sent to The Valley Computer Club, POB 6545, Burbank CA91510. Apple II Users Group in Denver Area A new Apple II users group, called Apple Pi, has been formed in the Denver area. They meet at 7:30 PM the first Thursday of each month in room 271, Green Center, Colorado School of Mines campus in Golden CO. They have begun a software exchange and are planning a training, hardware and software ideas exchange as well as a newsletter. Contact Austin R Brown Jr, secretary, 407 Peery Pky, Golden CO 80401, (303) 279-5388. Educational, Recreational Computer Club The ERCC (Educational, Recrea- tional Computer Club) was formed in Owosso Ml in September of 1978. Meetings are scheduled monthly and usually include a speaker. A large por- tion of each meeting is devoted to dis- cussion and trade of programming ideas. Plans for the future include forming a club library and possible group pur- chases. A newsletter is published month- ly and is available for $2.50 a year to nonmembers. Contact Paul Heimnick, 1415 Olmstead St, Owosso Ml 48867, (517) 723-7602. St Louis Area Computer Club The St Louis Area Computer Club meets at 7 PM on the first Thursday of the month at the Thornhill Branch of the St Louis County Library on Fee Fee Rd north of Olive Rd. The meetings are open to the public. Club dues are $5 which includes a newsletter. Contact SLACC, POB 28924, St Louis MO 63132. Glitch Kickers Computer Club The Glitch Kickers Computer Club has recently formed in Des Moines IA and is looking for new members. The club is open to anyone, whether you have a computer or are just interested in learning about computers. The club plans to work in several areas, among them education, writing software and starting a personal computer network. The club meets the first and third Satur- day of each month at 2 PM. The meeting place is the Computer Emporium, 3711 Douglas, Des Moines IA. For further information, call (515) 279-8861 . Commodore PET 2001 User Group PET User Group is an organization for people interested in the Commodore PET 2001 computer. Their purpose is to share and exchange applications, pro- grams, and hardware expansion tech- niques; and to provide general user feed- back. The first year membership is $5 and will include six issues of the PET User Notes. Write Gene Beals, POB 371, Montgomeryville PA 18936. Delaware Club Develops Home Heater Control Jodie Hobson, president of the Delaware Users of Microprocessor Sys- tems, writes to tell us that his club is interested in both hardware and soft- ware and they are combining both in the development of a home heater con- trol as a club project. The club meets the first Monday of each month at the University of Delaware. Contact Jodie at 318 B Chapel Av, Claymont DE 19703 or call (302) 792-2319. New Mexico Computer Society Dick Franzen, president of the NMCS (New Mexico Computer Society), has written to inform us of the existence of his club. NMCS promotes the under- standing and use of computer technology in all areas of our society. They have a diverse membership including high school and college students; housewives; elec- tronic and computer technicians; and various professional and business people. Anyone interested in computers, regard- less of their level of understanding or expertise, is encouraged to attend one of their meetings. The club's interest groups include: TRS-80 basic programming, TRS-80 advanced programming, TRS-80 business applications, M6800, software, personal programmable calculators, and computer technology. NMCS meets quarterly; however, each of the interest groups has its own meeting schedule which is published in their monthly newsletter, the Bit Stream. For more information, write or call Dick at POB 26544, Albuquerque NM 87125, (505) 292-1572. Microcomputer Investors Association The January 1979 issue of The Microcomputer Investor, the journal of the Microcomputer Investors Associ- ation, continues to reflect admirably upon the activities of the association. In this issue there are 18 articles within the journal's 214 pages. Each article deals with utilizing microcomputers to make or manage investments. The association is professional and nonprofit in nature. Dues are currently $30 per year. Membership in the association carries with it the requirement for each member to submit one article per year for publishing in the association's journal. Persons desiring to become members of the Microcomputer Investors Associa- tion should send a self-addressed stamped envelope to j Williams, 902 Anderson Dr, Fredericksburg VA 22401 . Caterpillar Computer Club The members of the Caterpillar Com- puter Club are interested in home built as well as prepackaged systems to be used in home applications or civic interest applications. Some instrumentation is club owned and may be loaned out. They meet the first Thursday of each month at 7 PM in the Caterpillar Administration Building, 100 NE Adams, Peoria IL 61629. Contact Robert Miller, club president, 1539 Moss, Peoria IL 61606. Publication for Apple II Owners Apple Pugetsound Program Library Exchange (A.P.P.L.E.) is an association of approximately 400 members throughout the United States. Each month they pub- lish a magazine called Call - A.P.P.L.E. which contains information on the Apple II 's capabilities, utility, programs and general tidbits of useful facts. Vol- ume I has been compiled into a bound edition consisting of all the articles pub- lished in 1978. For further information about obtaining the magazine or Volume I, contact Call - A.P.P.L.E., 6708 39th Av SW, Seattle WA 98136. Newsletter for Computalker CT-1 Speech Synthesizer Computalker Consultants, manufac- turers of the Computalker CT-1 speech synthesizer, have announced the first issue of The Word from Computalker, a user newsletter. The Word is a 16 page newsletter designed to open up two way communication between Computalker Consultants and users of the CT-1 speech synthesizer and other interested parties. It contains items of interest about CT-1 applications, new software, new hardware, software fixes, software written by users, technical manual updates, and more. The premier issue of The Word is free to all who write for a copy. Five issues will be included with the purchase of each CT-1 speech syn- thesizer. Additional copies of The Word will cost 60^ each and may be obtained by writing to the company at 1730 21st St, Suite A, Santa Monica CA 90404. Attention: Phoenix AZ Computer Users A new computer club is forming in the metropolitan Phoenix area. For more information, call or write Marc Tessler, 3520 W Dunlap Av, #106, Phoenix AZ 85021, (602) 249-6224. Attention: Long Island Computer Enthusiasts Aileen Harrison, treasurer and secre- tary of the Long Island Computer Association, has written us that the club meets at 8 PM on the third Friday of the month at New York Institute of Tech- nology, Route 25A, Old Westbury NY, building 500, room 508. One hour before the regular meeting the 6800 users group meets at the same location and every second Friday of the month the 8080 user group meets. The club is entering its fourth year and has approxi- mately 140 members. The meetings con- sist of various programs such as "show and tell," tutorials, hardware lectures, language lectures, group discussions by members, computer manufacturer pre- sentations, and presentations by com- puter stores describing the products they market. The dues are $10 per year and every paid member gets a free raffle chance each month on some "goodie." Also paid members are entitled to bor- row USCD Pascal disks and users man- ual on a monthly first come first serve basis. Members receive a copy of the monthly meeting notice. For more in- formation, contact Aileen at 36 Irene Lane E, Plainview NY 11803.* Featuring RCA 1802COSMAC <> Write and run programs- the very first night-even if you've never used a computer before! ELF II with video graphics system gets you up and running for just $99.95 . home computer sysle* , mg for just S99.95-a puce thai gets ' you up and running the very lust night with your TV sel for video display S99.95 ELF II includes RCA 1BD2 B bit microprocessor address able lo 64K bytes with DMA. interrupt.. 16 registers. ALU. 256 byte RAM. lull hex keyboard, two digit hei output display, stable crystal clock lor timing purposes. RCA 1861 video 1C lo display your programs on any video monitor or TV screen and 5 slot plug-m expansion bus /less connecto/st lo expand BLF II tnloagtant! ELF II Explodes Into A Giant! Master ELF ll'sS99.95 capabilities, then expand with GIANT BOARD to record and play back programs, edit and debug programs, communicate with remote devices and make things happen in the outside wotld KLUGE BOARD to use ELF II as a controller 4K RAM BOARDS TINY BASIC ASCII KEY BOARD , LIGHT PEN. ELF BUG MONITOR COLOR GRAPHICS & MUSIC SYSTEM. TEXT EDITOR. ASSEM BIER DISASSEMBLER VIDEO DISPLAY BOARD and- More Breakthroughs Coming Soon! Soon lo be introduced: ELF 11 special application kits PROM Programmer A 0, DA Converter Controller Board and more! So don't be trapped into buying a dinosaur that's already obsolete. An ongoing commitment to develop the RCA 1802 for home computer use by Netronics keeps you right on the outer fringe ol today's home computer technology. Order your ELF II, direct Irom the lactory. with the coupon below! Netronics guarantees your success! Netronics R&D Ltd., Dept BY-4 333 Litchfield Road, New Milford, CT 06776 Yes! I want my own computer! Please rush me — PHONE ORDERS ACCEPTED! Call (203) 354-9375 anguage. il s .1 learning breakthrough lor engineers and lavmen ike Sb postpaid handling neauires 6 3 la 8 veil AC power D De | uxe Ue | fl i Caumel Wllh p i ex inias dust cover lor ELF 11 S29 95plusS2'j0p&h ; RCA C0SMAC ELF at S99 l )b plus S3 postage ami n Po.-.i?: Sopnly ireguiredi S-' 9!> nosliiaid J. RCA 180? User s Manual S!> postpaid G lorn Pittman s Short Course On Microprocessor & Computer Programming teaches you |usl about everything there ts to know tt'- ;' fcLF •< '» any RCA 180/ computer Written in non- technical ALSO AVAILABLE FOR ELF H ■ D I am also enclosing payment. 1 including postage & handling) tor itie items checked below' I ] I want my ELF II wired and tested with power supply. RCA 1802 User's Manual and Short Course— all lor jusl S149.95 plus S3p&h. Total Enclosed S (Conn res add lax| CHARGE IT! Exp Dale _ □ Visa □ Master Charge (Bank* Account tf _ ... GIANT BOARO™ k „ „„„ cassette 1/0 RS 232 ll^TlnL^ vli Tm TripTi G ?,!S CUYl 8-')ilPi'0 decoders toi 14 seoarate l'0 (lU SUL! W'UFW EMD. REM. Cl EAR LiSI RUN. instructions and a system monitor 'edi'or S39.95 plus %? pin Kluge (Prototype] Board aicepls up 10 J6 IC 5 S17JJ0pfusSlpAtt 4k Sialic RAM ktl Addressable 10 any 4k page 10 64t S89.9S wis S3 p&n □ bold pMtefl 86-pm canneclors tone ■eqtured tor each plug in board) 55.70 ea postpaid Expansion Power Supply [required when adding AV •■v.?.' $34.95 pUiS&p&n . Professional ASCII Keyboard lul with 128 ASCII Pi 01 PFFK POKE Comes 1u"y documented and in- cludes alphanumeric generator required to display alphanumeric charade's directly on your tv screen with- mil additional hardware Also plays tick-tack-toe plus a drawing game that uses ELF ll shex keyboard as a py stick 4k memory regu red 514.95 postpaid □ lorn Pitlman s Short Course on Tiny Basic tor El F 11 55 postpaid ! 3 ELF-BUG™ Deluxe System Monitor on cassette lape Allows displaying tlie contents ol all registers on you' Iv at any point ir your program Also displays 24 bytes ol memory with lull addresses blinking cursor 913 printable characters onboard A nd auto scrolling A tiuisl tor Ihe serious programmer 1 regulatw parity ionic selection and choice 01 J hand Shaking Signals to mate wllh almas" any computer S64 95;i!usS2p&h $1 4.95 postpaid D Texl Editor on cassette tape gives you ihe ability lo insert delete or edit lines and words Irom your programs Deluxe melal cabinet lo' ASCII Keyboard. 519.95 while ttiey are displayed on your video monitor (Add $2 M ii%ii pftntei and you can use ELF ll to type error-lree letters Video Display Board kil lets you generate a sharp plus insert names and addresses irom your mailing list I programs and produces assembly language soiree ust ings to help you understand arid improve your programs 519.95 on cassette tape SAVE 59 90- Text Editor Assemoler & Disassembler purchased together only S49.95! iHeguue Video Dis play Eoard plus 4h memory | □ ELF II Lighl Pen. assembled S. tested S7.95p>us$l p&n □ ELF II Color Graphics & Music Syslem Board kH 549.95 plus S2p&h D ELF II connects directly to the video input ol you' iv set wilhoul additional hardware To connect ELF ll 10 your anienna terminals instead ordei RF Modulator $8 95 postpaid Coming Soon: AD D-A Converter Controller Board and more 1 Print Name r ti4 character by "i line upper and 519.95 postpaid 'i c.ise display on your iv screen or video monitor - nalicatly improving your une*panoert $99 95 Et F ti □ Assembler on cassette tape translates assembly language programs into hexidecimal machine code tor Fits mside ASCII Keyboard cabinet I 589.95 ELF II use Mnemonic abbreviations lor instructions City . It^m ■ .-•iielape Com- llV%« WE lOAD * x -=- 11 (rather than numerics] make programs easier to read and help prevent errors 519.95 postpaid □ Disassembler on cassette tape lakes machine code . DEALER INQUIRIES INVITED —J Circle 280 on inquiry card. April 1979 ©BYTE Publications I 205 Continued from page 8: 1802 QUEST FOR INFORMATION Hey, how about some support for the poor little 1802? It is no longer an obscure processor used by few of us. Many personal computers utilize this chip-the RCA VIP, Quest Super Elf, Netronics Elf II, many homebrew sys- tems, and others. An 1802 recently went up in an OSCAR satellite! Much soft- ware is available to 1802 users, including debug and monitor routines, video games, Tiny BASIC, and general purpose programs available from the many 1802 based clubs. Writing one's own software is simple, due to the unique COSMAC architec- ture. The processor contains sixteen 16 bit general purpose registers that can be used to hold data and memory addresses to point to stacks, subroutines, etc. The program counter can be changed to any one of these under program control, facilitating the use of subroutines. What about hardware? The 1802 is completely static and CMOS, resulting in very low power dissipation, an impor- tant consideration when designing bat- tery operated systems. It is available in two voltage versions: 4 to 6 V and 4 to 12 V. There is also an on chip direct memory access controller that simplifies loading of programmable memory, since this can be done in hardware without the need for a bootstrap read only mem- ory. Memory interface is simple and straightforward, because no bizarre data multiplexing is performed; sequential high and low order bytes of the memory address are strobed onto an 8 bit bus by two timing pulses. Once decoded, the address is used just as any other 16 bit address bus. Hardware single step is also easily implemented . I/O (input/output) is especially simple, due to three binary encoded output lines that can be con- trolled by the processor to select one of eight input and output devices directly. Also available are four flag lines that can be tested by the processor to determine a course of action. These features, coupled with the simple 93 instruction set and RCA support chips make soft- ware and hardware development pain- less (and sometimes even fun). We avid 1802 fans are no longer a tiny minority, and would like some sup- port from BYTE, a magazine that many of us subscribe to for the purpose of discovering the latest in the computer world. The 6800 and 8080A are good processors, but there are others on the market. In addition, please go a little heavier on hardware. Also, I would like to see an article on the very basics (no pun in- tended!) of Pascal. I've read and reread the previous pieces, but I still can't make 6800 PERFORMANCE PRODUCTS FROM MICROWARE A/BASIC COMPILER Unmatched for speed, versatility and efficiency, generates pure 6800 machine language from BASIC source. Fast integer math, strings, logical and array operations. Output is ROMable and reauires no run- time package. Cassette version requires RT/68 and 8K RAM. Disk versions re- quire 12K and have complete disk I/O statements plus other extensions. Cassette Version — A/Basic VI .OC $ 65.00 SWTPC Miniflex — A/BASIC V2.1F $150.00 SSB DOS-68 — A/BASIC V2.1S $150.00 RT/68 OPERATING SYSTEM Compatible MIKBUG replacement ROM with ex- panded, improved monitor plus real-time multiprogramming executive. 1000's in use since 1976. RT/68 MX on 6830 ROM (Mikbug pin compatible) $ 55.00 RT/68 MXP on 2708 ROM (EPROM pin compatible) $ 55.00 6800 CHESS challenging chess program, two difficulty levels. Runs in 8K RAM. Mikbug-compatible object plus A/BASIC source. Specify cassette, SSB or SWTPC minidisk. CHESS V1.0 $ 50.00 DR. ELIZA 6800 version of famous MIT artificial intelligence program. Com- puter as psychoanalyst communicates in plain English dialog. Mikbug compat- ible object plus A/BASIC source. Specify cassette, SSB or SWTP minidisk. ELIZA 1.0 $ 30.00 AS-1 A/D INTERFACE. Eight channel, 8-bit high speed A/D system for SS-50 I/O buss. Assembled. $115.00 AS-4 D/A INTERFACE Four channel 8-bit ultra fast D/A system for SS-50 I/O buss. Independent isolated Z-axis strobe output for oscilliscope or plotter graphics. Assembled. $195.00 U.S. orders add $2 for shipping. VISA and MASTERCHARGE welcome. Call or write for free 6800/6809 catalog. MICROW\RE SYSTEMS CORPORATION 2035 East Ovid Ave. Des Moines, IA 50317 (515) 265-6121 heads nor tails out of a Pascal listing. Other than these few gripes, I enjoy your magazine, and look forward to its arrival every month. Ivan Dzombak 621 Spring St Latrobe PA 15650 [Authors take note! Our articles come from our readers. Let's see some more information on the 7S02-RGAC] CANCELLED AND HAPPY? Recently I took advantage of your offer to receive one free issue of BYTE by filing for a subscription and canceling after receiving the first issue. Although I did cancel the subscrip- tion upon receiving the first free issue, I do wish to compliment you on the quality of BYTE. I canceled not because I did not think BYTE to be a good buy for the computer hobbyist, but because it made it clear to me just how big the hobby is! As an active amateur radio operator in the process of designing and building some new major pieces of hard- ware, I decided that I had better get more of that work out of the way before I delve into computers too deeply. I expect to return to BYTE in about a year or so— a short time before I begin any extensive home computer experi- mentation. That first issue of BYTE has convinced me that it will provide the means for coming up to speed on the subject. Richard A Griffiths 6510 Foster St District Heights MD 20028 A BASE COMMENT I enjoyed Harold Pritchard's tip on using an ordinary calculator for addition and subtraction of hexadecimal numbers (January 1979 BYTE, page 165). Your readers might be interested to know that this technique works for all number bases from 2 through 99. To use for other bases, all you need do is find the number to add or subtract for carrys and borrows. The "magic number" is simply 100 minus the base being used. For hexadecimal it's 100 - 16 = 84 as we've seen. For octal it's 100 - 8 = 92, and for binary, 100 - 2 = 98. As with hexadecimal, four digits is the most you can work with using an 8 digit calculator. David L Johnson 4106 Montreal Av Prince George, VA 23875 COPYRIGHT INFORMATION GATHERING I'm becoming more and more inter- ested in the question of software copy- rights. I'm sure the editors at BYTE agree that this is a subject which is confusing to anybody who starts talk- ing about it; there are no legal prec- edents, nobody really knows how to 206 April 1979 © BYTE Publications Inc Circle 21 1 on inquiry card. define the dividing line between ex- pected use of published software and theft. I'm polling editors and the major computing magazines, hoping they will help me define some of these issues. I'd appreciate getting your views on this thorny subject. Besides being editor of Dr Dobb's Journal, I'm getting a master's degree at Stanford in journalism— this quarter I'm taking a course in the law school entitled "Communications Law." I will be talking (and in fact, am already talking) with lawyers and legal scholars on this subject— frankly, they're more confused than anybody else. One consensus among the legal people I've talked to is this: the dividing line be- tween expected use and theft is money. When you publish software, what do you expect will happen to it? An inter- ested computerist will adopt or adapt the program for his or her own use? A club will play around with it? Another magazine— nonprofit, for instance like mine— will reprint it? When do your hackles rise over use of software origi- nally printed in your magazine? When does it become unfair? What I want to do is gather com- ments from people like you and combine them with advice and facts from iegal scholars. After which, I will write an article attempting to pull this data together and make sense of it. Hope- fully, the article will be the first of many others in which people in the field will try to arrive at some working conclusions. I look forward to hearing from you. Suzanne Rodriguez Dr Dobb's Journal POB E 1263 El Camino Real Menlo Park CA 94025 When we publish software, it is sub- ject to copyright, the only meaningful form of protection. Just as we would expect someone to formally ask for per- mission to reprint an article published in BYTE magazine, we would expect simi- lar respect from anyone going beyond the bounds of fair use with respect to program copies taken from our products. In short, when we publish a program with copyright protection, whether as part of a book or as part of an article, we would expect anyone copying and distributing such a program to write requesting permission to do so. We are not averse to giving permissions with credit, and no publisher with a long- term view would, in my opinion, have a blanket policy against granting such permissions. If anyone were to widely reproduce copies of our products without our permission, chances are we would find out about such use and be forced to examine the effects and our options in such a situation. There is a matter of our own reputation, which can be com- promised by indiscriminate reproduction of our products even if there is no mon- etary gain to be had by the person or persons engaging in such unauthorized reproduction. As for software publishing, when we buy a program for reproduction in book form, or as a simple listing plus doc- umentation (often accompanied by machine readable code), we treat it in the same way as we treat the ideas of an author writing a conventional article or book. We are buying the embodiment of those ideas in a particular written or program form, not the ideas or concepts which constitute the program or work of writing. Because of the rampant con- fusion in the software area, our typical contract with authors of software explicitly states that we are buying an exclusive license to the software re- productions in book form, with the rights to license the software in other ways to manufacturers or media dis- tributors retained by the author. The act of sale of the book or listing copy is then, in our view, totally analogous to the act of sale of such items as a phono- graph recording, a book about some sub- ject, a video recording, or other rela- tively conventional published work. This act of sale carries with it an implied zone of fair use reproduction possibi- lities, but is in no way a license to widespread reproduction whether it is done commercially or by some "non- profit" entity. Basically, there should be a software publishing analogue of the ASCAP or BMI organizations of the music world, but the field is too young at present. There are a number of questions to be answered as history unfolds in this field but, contrary to your letter's view- point, there are historical precedents which can certainly be examined and applied to the new concept of computer programs as works of authorship and original composition. . . ,CH IBM Emulation Information Needed As an avid BYTE reader, I have, as a last resort, turned to you to request some assistance. I am looking for a soft- ware house that can supply the com- munications software for effecting IBM 3780 and Teletype emulation using a standard mini/micro system. There are a number of manufacturers (ADDS, Datapoint, SYCOR) who have such emu- lators available when one purchases or leases their equipment; however, I do not wish to be tied down to any one manufacturer. The software is propri- etary and cannot be used on the stan- dard systems. Can you supply any leads in this area? George J Lehmann Data Processing Consultant 163 S Sycamore Av Hollywood CA 90036 Shown with optional 4fc IktMrf 5UKT BOARD'" ( >!«■ Boiid n 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! II ,.,.« ring RCA COSMAC microprocessor COMPUTER $99 95 Stop reading about computers and get your hands on one! With a $99.95 ELF [ I and our Short Course by Tom Pitt man, you master computers in no lime at all! ELF II demonstrates all 91 commands an RCA 1802 can execute and the Short Course quickly teaches you to use each of the I802's capabilities. ELF II also displays graphics on any TV set, including an exciting new target/missile gun game! Add-ons are among the most advanced available anywhere. You get massive computing potential. No wonder 1 EEE chapters, universities and major corporations all use ELF II to train engineers and students! Kit is easily assembled a single evening and you may still have time to run your first programs before going ^±-SENDTODAY! , Net rem its R&D Ltd., Dept. BY-4 NOW AVAILABLE FOR ELF II— □ Tom Pittman's ShortCourse On Mi- croprocessor & Computer Programm- ing teaches you just about everything there is to know about ELF 11 or any RCA 1802 computer. Written in non- technical language, it's a learning breakthrough for engineers and laymen alike. $5.00 postpaid! □ Deluxe metal cabinet with plexiglas dust cover for ELF 11, $29.95 plus $2.50 p&h. D Deluxe metal cabinet for ASCII Keyboard, $19.95 plus $2.50 p&h. □ ELF II Tiny BASIC on cassette tape. Commands include SAVE, LOAD, ±>,^,( ), 26 variables A-Z, LET, IF/THEN, INPUT, PRINT, GOTO, GO SUB, RETURN, END, REM. CLEAR, LIST, RUN. PLOT, PEEK. POKE. Comes fully docu- mented and includes alphanumeric generator required to display al- phanumeric characters directly on your D ELF 11 connects to the video input TV screen without additional hard- I' of your TV set. If you prefer to use ware. Also plays tick-tack-toe plus a your antenna terminals, order RF drawing game that uses ELF ll's hex Modulator, $8.95 postpaid. heyboard as a joystick, 4k memory re- I D GIANT BOARD" 1 kit with cassette quired. $14.95 postpaid. [ I/O, RS 232-CHTY I/O, 8-bit P I/O, C Tom Pittman's Short Course on Tiny I decoders for 14 separate I/O instruc- BASIC for ELF II. $5 postpaid. Itions and a system monitor/editor, □ Expansion Power Supply (required $39.95 plus $2 p&h. when adding 4k RAM). $34.95 plus $2 D Kluge (Prototype) Board accepts up p&h. I to 36 IC's. $17.00 plus $1 p&h. □ ELF-BUG 1 " Deluxe System Monitor ■ D 4k Static RAM kit. Addressable to on cassette tape. Allows displaying the | any 4k page to 64k. $89.95 plus $3 p&h. contents of all registers on your TV at - □ Gold plated 86-pin connectors (one any point in your program. Also dis- I required for each plug-in board). $5.70 plays 24 bytes of memory with full ad- - postpaid. dresses, blinking cursorand auto scroll- | D Professional ASCII Keyboard kit in S- , A ™ st for ** serious Pr°gram- I with 128 ASCII upper/lowercase set, rner! $14.95 postpaid. | 96 printable characters, onboard regu- Coming Soon: AD D-A Converter, ■ lator, parity, logic selection and choice Light Pen, Controller Board. Color | of 4 handshaking signals to mate with Graphics & Music System r almost any computer. $64.95 plus S? ' p&h. more! Call or write tor wired prices! 333 Litchfield Road. p hone New Milford, CT 06776 (203) 354-9375 Yes! I want to run programs at home and have enclosed:D $99.95 plus S3 postage & handling lor RCA COSMAC ELF II kit. G $4 95 for power supply (required)', D 15 lor RCA 1802 User's Manual, D $5 I lor Short Course on Microprocessor i ' Computer Programming. I want mine wired and tested with power supply, RCA 1802 Uteri Manual and ShortCourse Included for just $149.95 plus S3 p&h! 3 I am also enclosing payment (including postage & handling) for the items checked atthelett. Total Enclosed (Conn. res. add tax) $ D Check here if you are enclosing Money Order or Cashier's Check to expedite shipment. USE YOUR D VISA □ Master Charge (Interbank* ) Account # Signature Exp. Date PHONE ORDERS ACCEPTED (203) 354-9375 i Print Name — Address City Stale _ .Zip _ _ DEALER INQUIRIES INVITED. Circle 287 on inquiry card. April 1979 © BYTE Publications Inc 207 THE SHAPE OF LIFE I liked the articles on Life in the December 1978 BYTE. An area of Life that I find particu- larly fascinating is the behavior of Life forms in universes other than the flat two-dimensional universe. For example, in cylindrical or torus shaped universes it is possible for various kinds of stable "shock waves" to exist. These consist of complete loops around the universe and travel at the velocity of light, or twice as fast as a space ship. The simplest forms look like combs and can leave various kinds of debris behind or simply empty space. Another class of objects not found in the flat universes are "universal oscillators" that can exist in finite universes of the torus type and which engulf the entire universe. To investigate these kinds of Life forms 1 wrote a program in COSMAC 1802 machine language that runs on the RCA VIP Computer. The geometry of the universe can be selected by the user. Speed is very desirable if you are trying to determine the fate of a particular pattern and I spent considerable effort to maximize the program speed. The program calculates about five genera- tions per second for an almost full universe up to 25 generations per second for an almost empty one. The actual speed can be set to a lower value by the user and this is useful for examining a pattern in detail or for designing new patterns. To make the program generally use- ful I added pattern storage and pattern editing features. Those readers who are ■nterested in obtaining copies of the program can write to ARESCO, POB 43, Audubon PA 19407. Brian Astle 22 Fieldston Rd Princeton N) 08540 KUDOS After reading so many complaints (and suffering from the same problem myself) about vendors of computer peripherals, I'd like to salute one of the "good guys" of the industry. We're always quick to condemn, but how many of us take the time to give praise when someone's worked hard to earn it??? I nominate for "The Good Guy of the Month Award" Warren Rosenkrantz, superstar of V R Data Corporation in Folcroft PA. After dealing with several other rather questionable firms, I re- ceived a flyer from V R Data congrat- ulating me on the purchase of my Radio Shack TRS-80 and listing several periph- erals at very attractive prices. I inves- Add-In Associative Memory for the S-100 bus Discussed and dreamed about by computer scientists for years, Con- tent -Addressable Memory (CAM) is now here at an affordable price. CAMs have been so costly to build that few have actually been pro- duced. Now Semionics has devel- oped a simplified design, lowering the cost by two orders of magnitude. This new memory is called Recogni- tion Memory (REM), since (like the human brain) it can recognize words, patterns, etc. Adding a REM board to an ordinary microcomputer converts it into a very powerful machine known as a Con- tent-Addressable Parallel Processor (CAPP). Features: 4K bytes per board Static — no refresh needed Can be used as ordinary RAM or as CAM RAM access time: 200 ns , CAM access time: 4 p.s A Multiwrite— writing into multiple * locations with one instruction Masking — for individual bit access Multiple REM boards accessed in parallel Adds 17 associative memory func- tions to instruction set of Z-80 or 8080. Applications: Pattern Recognition • Information Retrieval • Compiling & Interpreting • Natural Language Processing • Code Compression • Artificial Intel- ligence Price: $325 4K firmware package of REM routines: $80. J SEMIONICS 41 Tunnel Road • Berkeley «CA 94705 (415)548-2400 tigated and, to make a long story short, began what I hope to be a long and re- warding business relationship. Warren and his staff exhibited a willingness to help a fledgling computer- ist. They brought back that old, for- gotten trait that makes good business- men great— the customer comes first. Sure, like everyone else in this mad industry, we had problems such as printer modifications that didn't work and the disk drive that gave weird re- sults. However, Mr Rosenkrantz spent considerable time and effort to correct these problems and, together, I think we both learned a lot. He's also very knowledgeable in the field of electronics and is quickly becoming a pro on the TRS-80. What do you expect from a guy who starts work at 5:30 AM and some- times doesn't quit until after 10 PM? I reiterate that praise is something earned— and Warren Rosenkrantz of V R Data Corporation has certainly earned praise from this very satisfied customer. Clifford W Coughlin 30 S Kirklyn Av Upper Darby PA 19082 "THUS & SO" IMPLEMENTATION In the December 1978 BYTE Carl Helmers, comparing BASIC to Pascal, made the point that: In BASIC I would have to ref- erence /a procedure/ in the pro- gram with a number artificially created for that purpose. I might say GOSUB 10000, for example, when I really mean to call and execute a thus-and-so procedure. Good point! Because of this lack of expressiveness in ordinary BASIC the Canon model BX-1 allows statements such as GOSUB "Thus&so". Elsewhere in the program the same alphanumeric literal appears as a label, identified as such by the keyword FLAG. Note that, due to using quotes, it is possible to use upper and lower case, special characters, spaces and even graphic characters. It is not necessary to begin with a letter or to avoid keywords of the language. The BX-1 does, however, limit the length of the label to eight characters. GOTO may be used in the same way. Furthermore, the BX-1 executes state- ments such as ON A$ GOTO "YES", "NO", "MAYBE", "HELP!". If A$ matches any of the literal strings shown, then a branch to the location so labeled will occur. If there is no match, execu- tion continues with the next statement. The statement form except with GOSUB is also in the BX-1 language. As far as I am aware, the observation of Mr Helmers is correct for all other BASIC implementations. Craig Busse Canon USA, INC 140 Industrial Dr Elmhurst, IL 60126 ■ 208 April 1979 © BYTE Publications Inc Circle 320 on inquiry card. Circle 386 on inquiry card. Circle 79 on inquiry card. jcippkz computer SOFTWARE FOR BUSINESS includes: Mailing List * General Ledger Payroll Phone Directory * Customer Information Invoice Writer Inventory * Check Writer * Complete Business System Master Business System Available Soon Word Processor vidEO^sslw/onld 2224 N. University, Peoria, II. 61604 Phone 309/686-9352 "Trademark of Apple Computer Co. Inc. PET WORD PROCESSOR C m C SOFTWARE I •""• I This program permits composing and printing letters, flyers, advertisements, manuscripts, etc., using the COMMODORE PET and a printer. Script directives include line length, left margin, cen- tering, and skip. Edit commands allow the user to insert lines, delete lines, move lines and paragraphs, change strings, save onto cassette, load from cassette, move up, move down, print and type. The CmC Word Processor Program addresses an RS- 232 printer through a CmC printer adapter. The CmC Word Processor program is available for $29.50. Add $1 .00 for postage and handling per order. Order direct or contact your local computer store. CONNECTICUT microCOMPUTER 150 POCONO ROAD BROOKFIELD, CONNECTICUT 06804 (203) 775-9659 Assembled $700 $350 $150 $100 $100 $ 20 Our WE SHIP FROM STOCK - EVERYTHING FACTORY FRESH, FULLY WARRANTEED TELETYPE MODEL 43 TTL $985 RS232 $1 ,045 (We stock Teletype Paper and Ribbons) HAZELTIIME 1500 assembled $945 1510 $1,085 PER SCI Model 277 Dual Disk Drive, single density $1,210 Slimline cabinet w/power supply $299 MARIIMCHIP SYSTEMS M9900 CPU The Complete, Compatible 16 bit CPU for the S-100 Bus Kit M9900 CPU $550 PROM/RAM/SIO $275 Pascal META System Generation Kit Documentation only Assemble your own system or let us assemble one for you. system will include: M9900 CPU PROM/RAM/SIO PASCAL TEI 12 slot mainframe TARBELL Disk Controller IMS 64K Fully static memory (Four 16K Boards) PER SCI Model 277 Dual Disk Drive, Slimline cabinet, power supply. COMPLETELY TESTED $5,700 IN ADDITION: With the purchase of this system, $50 off the price of any terminal we stock. We also configure systems to suit your individual requirements. IMS MEMORY BOARDS, 16KB, FULLY STATIC $459 S-100 MAINFRAME 12 slot, TEI Model MCS-1 12 $433 To Order: $10 shipping for Teletype, Hazeltine, PerSci and Mainframe. S3 shipping for other items. 24 hr. shipping upon receipt of certified check or money order. Personal checks: allow 10 days. Credit cards: 4% charge. NY residents add tax. WE EXPORT We have no reader inquiry number. Please call or write. john d. OWENS ASSOCIATES, inc. 147 NORWOOD AVENUE STATEN ISLAND, NEW YORK 10304 DAY, EVENING, WEEKEND, HOLIDAY CALLS WELCOME! (212) 448-6283 (212) 448-6298 Why Pay More? Why pay for more printer than you need? Our series 40 printers offer more features for less bucks than any other commercial quality printer on the market today. A complete stand-alone 40 column impact dot matrix printer with a 64 character ASCII set. Includes power supply, casework and interface electronics. Single quantity price for the parallel ASCII interface model is $425. Serial RS232/current loop interface models start at $575. OEM discounts available. For more infor- mation write to: MPI 2099 West 2200 South, Salt Lake City, Utah 84119 or call (801) 973-6053. Circie 265 on inquiry card. BYTE April 1979 209 An Introduction to Microprogramming Ben E Cline 702 Southgate Dr Blacksburg VA 24060 Figure 1: Functional block diagram of a conventional bus structured computer. Solid lines indicate data paths and broken lines indicate control lines. Many computer users have not been ex- posed to the subject of microprogramming although it was introduced more than 25 years ago. With the advent of micropro- grammed microprocessors, though, more and more people are gaining access to the world of microprogramming. The purpose of this article is to provide an introduction to the subject. The word microprogramming was intro- duced in 1951 by M V Wilkes to describe a method of implementing the control circuits of a digital computer that differed from the conventional hardwired logic approach. The actions of a microprogrammed processor during the execution of an instruction are determined by a program in high speed memory called the control store. The data paths, memory units, and arithmetic and logic circuits of the processor are directly controlled by bits in a microinstruction held in the control store. Each machine instruc- tion results in the execution of one or more microinstructions. MEMORY ADDRESS REGISTER CONTROL UNIT ARITHMETIC AND LOGIC UNIT (ALU) INPUT OR OUTPUT CONTROL UNIT (IOCU) 1_. Conventional versus Microprogrammable Architectures Figure 1 is a functional block diagram of a conventional bus structured computer. The memory unit is used to hold both data and machine instructions. The arithmetic and logic unit (ALU) performs arithmetic and logic functions such as addition, logical AND, etc. The input and output (10) con- trol unit communicates with the external world. Data is passed between memory and the arithmetic and logic unit by a bus sys- tem. The 10, arithmetic and logic unit, mem- ory, and bus circuits are controlled by hard- wired logic to generate the necessary signals to fetch, decode and execute machine in- structions. A microprogrammed architecture is pre- sented in figure 2. This functional diagram is similar to figure 1 except for the control unit. The conventional control unit has been replaced with a programmable control unit. Each step of the machine level instruction fetch and each step of a machine instruction execution is controlled by a microinstruc- tion. The microinstructions are held in the control store. The control store is a high- speed memory which is usually independent of main memory. The address control unit determines which microinstruction will be fetched and executed next. Several addressing methods are discussed later in this article. The microinstruction register (MIR) holds the current micrpinstruction being executed. The microinstruction in the register is de- coded by the decode logic which generates signals to control IO, arithmetic and logic unit, memory and bus according to the ac- tions specified in the microinstruction. The decode and address control circuits of the microprogrammable architecture are 210 April 1979 © BYTE Publications Inc Circle 159 on inquiry card. RADIO SHACK COMPUTER OWNERS TRS80 • PRACTICAL APPLICATIONS • BUSINESS • GAMBLING • GAMES • EDUCATION • PERSONAL FINANCE • BEGINNER'S CORNER • NEW PRODUCTS • SOFTWARE EXCHANGE • MARKET PLACE • QUESTIONS AND ANSWERS • PROGRAM PRINTOUTS MONTHLY NEWSLETTER 24 HOUR ORDER LINE (914) 425-1535 F R» .AND MORE WORD PROCESSING PROGRAM (Cassette or Disk) For Writing Letters, Text, Mailing Lists, Files, Etc. With Each New Subscriptions or Renewal S» ;CQIYIPLITRQNICSe MATVCVvVCnCAL APF^JCATTONG SEF*VCE ,X Box 149 New City, New York 10956 ONE YEAR SUBSCRIPTION $24 TWO YEAR SUBSCRIPTION $48 SAMPLE OF LATEST ISSUE $4 START MY SUBSCRIPTION WITH ISSUE (#1 - July 1978 • #7 - January 1979) NEW SUBSCRIPTION RENEWAL, CREDIT CARD NUMBER EXP. DATE SIGNATURE NAME ADDRESS Send for FREE Software Catalogue (Including listings of hundreds of TRS-80 programs available on cassette and diskette). PERSONAL INFORMATION MANAGEMENT SYSTEM Personal Informa- tion Management System is indeed a data base manage- ment program. It's carefully customized for the small system owner. You can de- fine and construct your own data bas- es. Each record can contain up to ten fields. You define what goes in each. Then modify it whenever you want through use of just three commands. You can search, list, sort and also sum col- umns of numbers. Complete source list- ing is included. Check No. 10 on the coupon. ONLY $9.95* Z80 INSTRUCTION HANDBOOK zeo INSTRUCTION 1 "handbook Your complete guide to the powerful Z80 instruction set. Ma- chine codes are pre- sented in both octal and hexadecimal format. A conveni- ent index lists all instructions alpha- betically along with machine codes and timing information. Industry standard mnemonics are used throughout. A prac- tical guide for the novice, intermediate or advanced programmer. Pocket size. Check No. 20 on coupon. JUST $4.95* CALCULATING WITH BASIC Here's a variety of programs in BASIC language to help the student, scientist, engineer, technician or hobbyist apply the language to practical problems. Covers mathematics, finance and statis- tics, mechanical en- gineering and elec- tronics. For fun be- tween such serious applications, Hang- man and Space Cap- ture games are also provided. A real steal at such a low price. Order now. Available for shipment in March. Check No. 30 on coupon. ONLY $7.95* LEARN MICROCOMPUTERS A new multimedia information package. Includes text (Understanding Microcomputers) plus high- quality cassette. For the beginner. Covers all the basics quickly, easily and enjoyably. All the funda- mentals behind the operation of virtually every microcomputer. Clear. Concise. Tells what to look for in buying a microcomputer. Companion tape includes chapter-by-chapter synopsis of the book. Check No. 40 on coupon. JUST $14.95* 6800 & 8080 SOFTWARE COOKBOOKS Now you can cook up mouthwatering programs. Delectable "how to" facts include 8080 or 6800 instruction sets. How to manipulate stacks. Flow charts. Source listings. General purpose routines for multiple precision operation. Programming time delays for real time. And much more. In- cludes floating point arithmetic routines. Check No. 50 (6800) and No. 60 (8080) on coupon. ONLY $10.95* EACH ^M SCELBI Publications [°M P. O. Box 133 PP STN, Mllford, CT 06460 ♦IMPORTANT ORDERING INFO! Include 75 cents postage/hand- ling for each item. Prices shown are for North American customers. Master Charge, VISA, Postal and Bank Money Orders preferred. Per- sonal checks delay shipping up to 4 weeks. □ No. 10 □ No. 20 □ No. 30 □ No. 40 □ No. 50 □ No. 60 Name (please print) Card No. Address Bank No. Exp. City/State . Signature _ Zip Amt. Enclosed Circle 318 on inquiry card. BYTE April 1979 211 much simpler than the control circuits used to implement the full instruction set of the conventional machine. However, the sim- plicity of the elementary hardwired micro- controller is partially offset by the addition of a new element: the control store. A sig- nificant part of the cost of a microprogram- Figure 2: Functional block diagram of a microprogrammed bus structured computer. Solid lines indicate data paths and broken lines are used to indi- cate control lines. Figure 3: Input side of a typical bus in a hypotheti- cal computer. The register names (MD, MA, etc) are not important and serve only as labels for this example. MD BUS MA A B PC IR 1 BUS SELECTION MD MA A B PC IR 1 "l b Z »3 Figure 4: Portion of a hori- zontal microinstruction to control the connection of registers to the bus in figure 3. Each box is a microin- struction bit that enables the indicated register-to- bus connection. Figure 5: Portion of a ver- tical microinstruction to control the connection of registers to the bus in figure 3. Here, three bits are used to encode a choice between seven registers or a "no oper- ation. " med computer also lies in the set of micro- programs which must be developed and de- bugged to simulate a full virtual machine instruction set. As a result, the costs of the two types of computer architecture are probably comparable. The microprogrammable central proc- essor is often referred to as the host ma- chine because many different virtual ma- chines can be superimposed on it by changing the control store. By implementing different microprograms in the control store the hard- ware seems to change from the viewpoint of the virtual machine software. For this reason, a microprogrammable computer is said to emulate the architecture of a par- ticular virtual machine. This emulation technique is a powerful tool. It enables the same basic hardware to implement the instruction sets of many dif- ferent computers. For the homebrew com- puter builder who goes this route, a basic 8 bit microprogrammed machine acting as the host might be programmed to emulate any one of the existing 8 bit microprocessors. The same host machine might even be used to emulate an IBM 370 so that some widely available public domain software could be utilized. Potential microprogrammers should be warned, however, that creating the micro- program for such an emulation is not a trivial undertaking. Microinstruction Formats There are two microinstruction formats: horizontal and vertical. Most machines use a combination of these two. In a horizontal system, each bit in the microinstruction con- trols one data path or function in the ma- chine. Figure 3 shows the input side of one bus in a hypothetical machine containing several registers. The A, B, MA, MD, PC, IR and I registers may be logically switched onto this bus, which might then route the data to one input of the arithmetic and logic unit. Figure 4 shows a portion of a possible horizontal microinstruction format to con- trol the data paths of figure 3. Seven bits are reserved in each microinstruction to indicate which, if any, registers are to be switched onto the bus. If all these bits are 0, no data is put on the bus and the bus carries a value of 0. If any of the seven bits of the current microinstruction is 1, the corresponding register is put on the bus. To avoid conflicts, only one bit position in the 7 bit bus field may be logical 1 at any given time. Depending on the electronics of the bus structure, switching more than one regis- ter onto the bus at the same time may damage the hardware or simply give unpre- dictable results. 212 April 1979 © BYTE Publications Inc A vertical microinstruction format groups similar functions into operation codes called micro-orders. A micro-order for the bus input of figure 3 is given in figure 5. Since only one binary code can exist in the 3 bit field, it is not possible to put more than one register on the bus at a time. The vertical microinstruction format is more compact than a corresponding horizontal format. Each microinstruction typically contains bits to control all computer functions. In a microinstruction, the two inputs of the arithmetic and logic unit and the destination of the output would be specified. The main memory read and write functions are speci- fied by microinstruction bits. Bits for testing register quantities are also provided along with bits to cause jumps and subroutine calls in the microprogram. "No operation" may be specified if a particular bus or function is not used for a microprogram step. Control Store Addressing The control store is much like a con- ventional memory. In cases of machines where user microprogramming is not allowed, a read only memory is used to contain the standard virtual machine in- struction set. If the manufacturer supplies microinstructions to emulate more than one machine, or if user microprogramming is allowed, a programmable memory called a writable control store is used. If users are allowed to add instructions but not alter the basic instruction set, part of control store will be read only memory for the basic in- struction set and part will be writable con- trol store for additional instructions. Homebrew computer people who choose to do microprogramming will most likely implement a writable control store and hardware to load it. Another alternative is to use inexpensive high-speed program- mable read only memory to store micro- instructions. One control store addressing technique often used is to execute microinstructions in sequence. This technique is typically used with the vertical microprogramming format. A microinstruction counter, which is similar to a program counter or instruction counter in a virtual machine environment, is used to step through the microprogram. A micro- instruction may contain a jump command which is indicated by a certain bit pattern in one of the micro-orders. With this tech- nique the jump address is contained in the microinstruction in place of certain other micro-orders; thus, not all operations can be specified in a microinstruction that specifies a jump function. Another addressing technique uses a field in each microinstruction to specify the ad- dress of the next microinstruction to be executed. Horizontal microcoding formats typically use this technique. This method requires additional bits in each microinstruc- tion that the sequencing method does not need. Executing Virtual Machine Instructions Executing a virtual machine instruction typically begins with the microprogrammed instruction fetch. The instruction fetch is performed by a microprogram routine which sends the virtual machine program counter contents to a memory address register, cycles memory and puts the instruction which comes back from memory into the instruction register (IR). This instruction has a virtual machine op code which indi- cates which operation should be performed. To emulate the instruction, the proper microprogram in control store must be selected and executed. For example, if the op code 4 means ADD and the ADD micro- program begins in control store location 100, the next microinstruction fetched after loading the ADD instruction into the in- struction register should be fetched from location 100. One method of providing the proper map- ping between op code and control store ad- dress is by an indirect jump through the instruction register op code field. When the op code indirect jump is specified (by a specific bit pattern in the current micro- instruction), normal control store addressing is suspended and the op code gives the ad- dress of the next microinstruction to be fetched and executed. If a 4 bit op code is used, an op code indirect jump would cause the next microinstruction to be fetched from a control store location from thru 15, depending on the op code value. The first 16 locations of the control store would contain jump instructions to the micropro- grams for each of the 16 op codes. If the ADD instruction is op code 4 and the ADD microprogram is at location 100, con- trol store location 4 would contain a micro- instruction specifying a jump to location 100 (see figure 6). A second method for relating op codes to microprograms is the use of a read only memory mapper. A special read only mem- ory contains the beginning address of micro- programs which emulate each virtual machine instruction. When the mapper is invoked, the op code in the instruction register is used to address the read only memory which looks up the proper address of the microprogram to emulate the virtual machine instruction indicated by the op code (see figure 7). April 1979 ©BYTE Publications Inc 213 This method is used in such machines as the HP 2100 minicomputer. A memory mapper is not flexible enough to be used in a com- puter where the virtual machine instruction set is altered dynamically. To change the virtual machine instruction set easily, a new mapper must be invoked. The read only OP CODE INSTRUCTION REGISTER CONTROL STORE I 2 3 ■+1 JUMP 100 • "ADD" MICROPROGRAM • Figure 6: Mapping an op code into a microprogram routine by means of a table of indirect jumps. Here the op code 4 picks the fifth jump in the table, causing the microprogram to execute the ADD routine. OP CODE INSTRUCTION REGISTER ROM MAPPER — i CONTROL STORE Figure 7: Another way to map microroutines: the instruction register op code field is used to address a special read only memory that points to the proper microprogram routine. Here the example of figure 6 is illustrated using a read only memory mapper. memory mapper is most useful for manu- facturers who supply a fixed set of micro- programs that emulate only one virtual machine. In both mapping techniques, a table of beginning addresses of microprograms is kept — one in control store and one in an in- dependent read only memory. These tables are referred to as jump tables. Hybrid Systems Some of the flexibility of a micropro- grammed processor is lost when certain func- tions are not controlled entirely by micro- instructions. For example, input/output on the HP 2100 minicomputer is handled in hardware and merely initiated and syn- chronized by microcode. As more control functions are performed in hardware and the ability to use different instruction formats is hampered, the number of different virtual machine instruction sets that can be easily emulated decreases. On the other hand, if certain control functions are handled by hardware and the machine level instruction format is relatively fixed, a virtual machine instruction set may be emulated efficiently. The hybrid combination of micropro- gramming with some custom hardware is used in most general purpose computers. Functions which cannot be handled easily in microcode, such as isolating specific in- struction register bits, are delegated to hard- ware. The flexibility of microcode is still available for instruction sets that take advan- tage of the hardware functions. Advantages and Disadvantages There are several advantages to a micro- programmable architecture. For computer designers, the choice of the virtual machine instruction set may be postponed longer than with a conventional architecture, allow- ing hardware and software design to overlap and influence each other. Instructions may be added after the computer has been de- signed, built and marketed. As examples of this, the HP 2100 minicomputer's floating point option is implemented entirely in microcode, and the DEC LS 1-11 floating point feature is achieved by plugging in an extra control store read only memory. It is also possible with a microprogrammed machine to market a line of computers with similar instruction sets even though the actual hardware of less expensive machines may be very different from the more com- plex models. The IBM 360 computer uses 32 bit words and 16 general purpose registers. Some of the smaller IBM 360s have less than 16 registers and 32 bit data paths but are 214 April 1979 © BYTE Publications Inc Circle 359 on inquiry card. Circle 375 on inquiry card. * Have you gotten one of * - Don Lancaster's INCREDIBLE SECRET MONEY MACHINES yet? GUARANTEE: If your INCREDIBLE SECRET MONEY MACHINE fails to work for you for any reason, send it back for a full refund. Synergetics, Dept. B-84, Box 1112, Parker, AZ 85344 Please send me INCREDIBLE SECRET MONEY MACHINES at S6.95 each postpaid Price includes SI postage & handling. ( ) I enclose a total of * , check or moneyorder. ...or C ) You can charge my Bank Americard / Visa card no.: , expiration date: signature: address: _ city: T54 1 StSSe announces our now product lino DAISY On icraan WORD PROCESSING with * tarial terminal. WPDAISY DAISY with * built in text formatter. DATABASE A complete date management ryitem with on acrean updating. TSA/OS Our oparating system. Includes a full library of disk, terminal and device drivars. RLASM A relocatable linking macro assembler with linking loader and symbolic debugger. We provide well tested products with the support you need on both coasts. - DEALER INQUIRIES INVITED - 39 Williams Drive Monroe. CT 06468 (203) 261-7963 CATCH THE S-100INC. BUS! /I V^T-T OUR •i^s S-IDD SPECIAL LIST CASH S.D. Versafloppy Disk PRICE PRICE Controller Kit 159.00 135.00 I.M.C. "Pro" Dual Extender Card 39.00 33.00 Ithaca Audio TRS-80 16K Memory Upgrade Kit 140.00 119.00 T.E.I. 22 Slot Mainframe Fully Assembled with All Edge Connectors 845.00 633.00 Centronics 779 Printer w/tractor feed 1350.00 995.00 IMSAI S-10 2-1 Kit - Serial Interface 125.00 106.00 IMSAI l-KB-1 Microprocessor Controlled Keyboard 395.00 170.00 Call lor Our Prices on: Cromomco, IMSAI, Vector Graphic, North Star, Sanyo , Hazeltlne, IMC plus Most Other Major Lines. Subject to Available Quantities »F rices Quoted Include Cas i Discounts Shipping & I nsurance Extra Bus.. S-IDD, inc. Address. . 7 White Place Clark, N.J. 07066 Interface. . 201-382-1318 I /^To further improve service to our customers we have installed a toll-free WATS line in our Peterborough, New Hampshire office. If you would like to order a subscription to 1 BYTE, or if Toll-free r^rirrinnnrrnnsTrsinrsinnnrtn^ BYTE's New Subscriber W.A.T.S. Line (800)258-5485 We thank you and look forward to serving you. 3uuju 9JLPJLgJUL°JLQJUlJJL°JLfiJL0-0JLg you have a question relat- ed to a BYTE subscription, 1 you are invited^ to call* (800)258-5485 between 8:00 AM and 4:30 PM Eastern Time. (Friday 8 AM -Noon). * Calls from conti- nental U.S. only. »V^ 9178< -^»- K h 3 3 •i L L 4 V 1 Li M n 5 5 < e N n 6 5 = - a 7 1 > ■3 P P 8 3 ? P Q 9 9 3 "I -1 R r | i < C S 5 n ii > 3 Figure 1: Labelled 7 segment digital display. Table 1: Alphanumeric characters and corresponding output from the 7 segment digital display. A digital display consists of a decimal point and seven line segments. If the decimal point and line segments are numbered as shown in figure 1, each display pattern represents eight bits of information. Only 21 of the 256 possible patterns are used by calculators. After a few hours of experi- menting, I found, surprisingly, that most letters of the alphabet are included among the remaining 235 patterns. Although far from ideal, it is possible to display a large, recognizable character set on 7 segment digital readouts. The character set that I came up with is shown in table 1. One of the shortcomings of this set is that some letters are upper case and others are lower case. This inconvenience is unavoidable, except for a few letters like C, G, and U. Some letters, like K and X, are impossible to display others, like M, V and W, are just difficult. For these letters, and the other symbols in the character set, I chose patterns that are in some sense "close" to the desired 218 April 1979SJBYTE Publications Inc Circle 307 on inquiry card. (THE MM- 103 DATA MODEM, AND COMMUNICATIONS ADAPTER FCC APPROVED Both the modem and telephone system interface are FCC approved, accomplishing all the required protective functions with a miniaturized, proprietary protective coupler. WARRANTY One year limited warranty. Ten-day unconditional return privilege. Minimal cost, 24-hour exchange policy for units not in warranty. HIGH QUALITY -50 dBm sensitivity. Autoanswer. Auto originate. Auto dialer with computer-controlled dial rate. 61 to 300 baud (anywhere over the long-distance telephone network), rate selection under computer control. Flexible, soft- ware-controlled, maskable interrupt system. ASSEMBLED & TESTED Not a kit! (FCC registration prohibits kits) LOW PRICE— $31 9. 95 For Modem AND Coupler s m Potomac Micro-Magic, inc write for brochure: POTOMAC MICRO-MAGIC, INC. P.O. Box 11149 Alexandria, V A 22312 Call for further information: VOICE: (703) 750-3727 MODEM: (703) 750-0930 APPLE n SOFTWARE ^j^^ TURF ANALYSIS Take the guesswork out of handicapping with this ■jSmjf^ new and easy way to handicap horse racing on the APPLE II. This ytNpB. program provides incredibly accurate predictions through the use of ^ *^iV multiple regression and you don't have to know statistics to use it. You may use as many variables and as much data as you like. You're only limited by the available memory in your computer. TURF ANALYSIS has been fully tested and more often than not, it will beat the experts. (Requires 3 16k of free memory.) $20.00 THE FOHECASTER Let your APPLE do the work for you. THE FORECASTER performs a complete linear regression analysis and gives you an accurate regression equation within seconds. Your data is then graphed in High Resolution Graphics and a trend line is plotted by using the regression equation. THE FORECASTER is an excellent tool for those important trend analysis. (Requires 3 16k of free memory.) Applesoft firmware card required $15.00 MATRIX INVERT This program will quickly find the inverse and determinant to a symmetrical matrix or solve a system of symmetrical linear equations. (Requires^ 6k of free memory.) $12.00 THE PLOTTER With the APPLE II, this program will allow you to easily plot equations in High Resolution Graphics in just seconds. THE PLOTTER is perfect for the beginning or advanced math student. (Requires 316k of free memory.) Applesoft firmware card required $13.00 SOLO RACE is a very exciting and challenging Low Resolution auto race game where you drive a race car over curvy roads and around obsticals. You are allowed only 5 wrecks at which time you must have accumulated as many points as possible. This challenging game is superbly written and is sure to give hours of fun. (Requires > 16k of free memory.) $8.00 MANDALA SUPREME (Side 2: Game of Thinkum) You can now create artistic objects on the APPLE II similar to the popular Double Besse! Function within minutes. Simply enter a few numbers, and the APPLE will mathimatically create a superior 3 dimensional-like object. (Requires 316k of free memory.) Applesoft firmware card required $15.00 FUNPAK1 The FUNPAK 1 is a small library of 5 programs all rolled into one. If you like a challenge, the Rat Race Maze. Mine Field or Canyon Bomber has it. On the other hand, if you're interested in a little sound Odyssey, then try the Music Machine or Sound. The FUNPAK 1 is sure to give hours of enjoyment. (Requires>16k of free memory.) $8.00 *P«»r PRO FOOTBALL Never before has there been a program that can predict such unbelievably accurate pointspreads with the APPLE II. This program was fully tested during the 1978 season and it consistently beat the experts. You may predict real or hypothetical games within seconds from data saved on cassette or disk. The data file requies only 10 minutes per week to maintain and will instantly give you a complete rundown of the season's activity. Each program includes a complete 1978 season data file. (Requires322k of free memory.) $20.00 COLLEGE FOOTBALL Similar to the PRO FOOTBALL program. COLLEGE FOOTBALL will give accurate pointspread predictions within seconds on the APPLE II. This program contains over 78 major college football teams and a complete 1978 season file. (Requires 335k of free memory.) $20.00 See your dealer Or for immediate delivery SEND CHECK OR MONEY ORDER TO: Systems Design Lab 121 8th St. Altizer Huntington, W.Va. 25705 304-525-8932 All programs have been completely tested and documented. Circle 349 on inquiry card. BYTEApriM979 219 /_ /_ /_ /_ /_/ / /"// in i r r l l r LI II D I -I II Dill II L 11 Ol LIIL _/ o /_ 01 j r o i id u _ ir r U I -II LIIL LI I Dl LI ID LUUL I Of 01 o i id nr 1 1 l i i ii ii i u i ni i i r L O LI II IF I I nou u _/ id u r no l o L Ol II O l I F L ID O 1 I L L L I _/ ID l I in ID I Ol O l I L I I Dl I I L L D or I IL r r n o r D Dl I -I ID I II ID Ol O I II L I I DL I DO . . Figure 2: Sample message written in 7 segment display code. IJ 11. /_/ u. IJ I I. Figure 3: Block diagram of an alphanumeric display panel. ones. Even with these imperfections, how- ever, this display code is quite readable, as is shown by the sentences in figure 2. A simple 8 character alphanumeric dis- play panel can be made from eight single digit readouts and eight shift registers. Each shift register corresponds to a different line segment in the digital displays. All the bits in register 1 are connected in parallel to segment one in each of the readouts, and the other registers are connected in similar fashion to the other segments as shown in figure 3. When an 8 bit pattern is fed into the registers via their left shift inputs and the registers are shifted, the appropriate display character appears on the rightmost readout. As more characters are entered in this way, they progress, ticker tape fashion, across the display panel until they disappear at the left end of the display. To make this dis- play panel compatible with other computers besides your own, you can use a 256 word by 8 bit read only memory to convert from ASCII code to the display code required by this panel. To extend the panel, just add more readouts and more shift registers so as to extend the original eight registers. The most practical form of alphanumeric input is the ASCII encoded keyboard, but the digital display code makes possible a computer terminal the size of a pocket calculator. Alphabetical characters could be entered by drawing them with a stylus on a pattern of eight metal sensing areas arranged as shown in figure 1. A small number of digital readouts would display the output." 220 April 1979 © BYTE Publications Inc Circle 49 on inquiry card. BYTE's Bits Call for Papers: Third International Conference on Computer Software and Applications Papers are being solicited for the Third International Conference on Com- puter Software and Applications (COM- PSAC 79). Sponsored by the IEEE Com- puter Society, COMPSAC 79 will bring together computer practitioners, users, and researchers to share their ideas, ex- periences, and requirements for ap- plications software, management tech- niques, and software development sup- port, including automated techniques. The conference will be held Novembers thru 8 at the Palmer House, Chicago IL. Some of the areas where papers are invited include: software development methodology, software management, database management systems, data communication and computer net- working, computers and biomedicine, business office automation, industrial and design automation, application ori- ented languages, software testing and tools, and legal implication of electronic data processing technology. Papers should range in length between 1000 and 5000 words. The submission deadline is June 1, 1979. For additional infor- mation, contact Dr William Smith, executive director, Toll Electronic Switching and Operator Services Div- ision, Bell Laboratories, Naperville IL 60540." Call for Papers: Twelfth Annual Microprogramming Workshop The Twelfth Annual Microprogram- ming Workshop to be held November 18 thru 21, 1979 at the Hershey Motor Lodge Convention Center, Hershey PA will provide a forum for practical and theoetical aspects of firmware and re- lated areas. Authors in industry and academia are encouraged to submit papers for formal presentation. Topics for consideration at the workshop include, but are not limited to: directly executable (intermediate) languages; lan- guage oriented architectures; emulation; microprogrammable host machines; on chip microprogramming; micropro- gramming experience; microprogram- ming languages; firmware development methodology; support tools for micro- programming; database support; oper- ating systems and security kernel sup- port; and signal processing. Formal sessions will be enhanced by informal discussions in a workshop atmosphere. Papers should be submitted in trip- licate by June 1, 1979 to Richard A Belgard, MICRO-12 program chairman, Data General Corp, 62 Alexander Dr, Research Triangle Park NC 27709." TRS-80 CORNER ANNOUNCING.. .ONE-STOP SHOPPING FOR YOUR TRS-80 MICROCOMPUTER SOFTWARE (State of the Art) — Disc-based business software — FORTRAN for the TRS-80 — Functional, cassette-based programs — Of course, some games — And much more HARDWARE — 16 K RAM kits with instructions — S 1 /*" Minidiskettes — only the very best — Scotch — C-10 Data-settes — blank cassettes for programs — Isolation Filters — the insurance you need! — All Radio Shack equipment at 10% off — And much more BOOKS — David Lien's — "The BASIC Handbook" — A must for every programmer — Coming Soon — David Lien's — "The LEVEL II Handbook" A must for every Level II owner — The Adam Osborne Series on Microcomputers — Robert E. Purser's — "Computer Cassettes" — A compilation of all TRS-80 Software on the market CONSULTING SERVICES — Including installation and hands-on training with the TRS-80 Business System, for those end-users who are not computer hobbyists — and much more FOR MORE INFORMATION WRITE CIRCLE ENTERPRISES, INC. POST OFFICE BOX 546 GROTON. CONNECTICUT 06340 SHOULD it be a Heathkit ? Whether you are considering the purchase of an additional peripheral or your first computer you should know more about Heath^- computer products. Heathkit^ has a continuing commitment to selling well-documented computer kits and software. Are they for you? How can you find out? Read Buss: The Independent Newsletter of Heath Co. Computers , where information on new products is printed as it leaks out of Benton Harbor, not held back to suit a marketing plan. Buss is not a company-controlled publication, so it can deal with weaknesses of Heathkit^ products as well as their strengths. It features news of compatible hardware and software from other vendors. Every Buss issue has candid accounts of experiences of Heathkit& owners. Results of their discoveries, which often include hardware modifications, save subscribers headaches — and money. That's proven by two years' experience. So Buss can guarantee a full refund any time you're not satisfied. Buss is mailed first class (by airmail outside North America). The 2k- issue subscription gives you the choice of starting with the latest issue or with available back issues (about 8 are still in stock). Send $ 8.00 for 12 issues or $ 15.25 for 24 (overseas, $10.00/12; $19.25/24 US funds) to: Buss 325-B Pennsylvania Ave., S.E. Washington, DC 20003 The Independent Newsletter of Heath Co. Computers Circle 32 on inquiry card. April 1979 © BYTE Publications Inc 221 Circle 324 on inquiry card. NOTICE TO BYTE READERS Withdrawal Of Offer In the October, 1978 issue of BYTE, Reston Publishing Company of Reston, Virginia, advertised a computer kit, RECOMPI This product is NOT available, however, and the offer is withdrawn. We regret any inconvenience to potential purchasers. Reston Publishing Company 1140 Sunset Hills Road Reston, Virginia, 22090 At last... the mechanical interface! Turn your electric typewriter into a low cost, high quality hard copy printer. User list $39500 „..>' The all new I/O Pakfrom Rochester Data, Inc. interfaces the keyboard of any commercially available electric typewriter with any computer. The result: low cost, high quality hard copy. Write today for more information. ROCHESTER DATA li icoi porated 3100 Monroe Avenue, Rochester, New York 14618 Programming Guickies Label and File Program Andrew A Carpenter POB 841 GordonsvilleVA 22942 I occasionally need to order a part that I cannot obtain at my local vendor. Thus, I wrote a parts order program for this purpose on my SwTPC computer. The program generates two letters and two address labels. I keep one letter for my file. Lines 8 and 2100 erase the screen and place the cursor in the upper left hand portion of my CT-1024 terminal. The program starts off by asking if a vendor's name and address is needed. If not, the program jumps to the letter form at line 2100. The user keys in the information prompted by lines 2110 thru 2245. If only one line is needed for parts, a carriage return may be entered when prompted for the second part (lines 2220 thru 2245). If an address is required, the user is prompted to enter the first letter in the manufacturer's name. The letter B will list lines 250 thru 278 on the PR-40 (Bell and Howell) printer. The command LIST #7 on lines 50 thru 110 lists the lines noted on the number 7 output device. In this case, the output device is the printer. Lines 200 thru 2000 are reserved for vendor's names and addresses. They may be changed to suit the user's requirements. Lines 50 thru 1 50 select the various sections of the address file. Listing J: Parts order program written for the SwTPC 6800 computer. 0008 0010 0012 0015 0020 0030 SEAR 0050 0060 0065 0070 0080 0100 PRINT CHR$(16); CHR$(22) PRINT '"PARTS ORDER'" INPUT "NEED AN ADDRESS (Y/N)",B$ IF B$="N" GOTO 2100 PRINT "FILES ARE LISTED A-Z" INPUT "WHICH FILE ARE YOU CHING FOR",A$ IF A$="A" LIST #7, 200,248 LIST #7, 250,278 LIST #7, 280,298 LIST #7, 300,318 IF A$="B" IF A$="C" IF A$="D" IF A$="G' LIST #7, 350,378 IF A$="L" LIST #7, 450,498 222 April 1979 © BYTE Publications Inc Circle 31 5 on inquiry card. 0110 0155 0160 0200 0202 0204 0206 0208 0250 0252 0254 0256 0258 0260 0280 0281 0282 0283 0284 0300 0302 0304 0306 2100 2105 2107 2108 2110 2130 2150 2170 2190 2210 2220 2230 2235 2240 2245 2260 2265 2270 2280 "A.A. IF A$="M" LIST #7, 500,610 PRINT GOTO 2100 ADMIRAL DISTRIBUTOR DIXIE APPLIANCE CO. BOX 12766 ROANOKE, VA. 24028 BELL & HOWELL DISTRIBUTOR BELL& HOWELL CO. GENERALSERVICES 7100 MCCORMICK ROAD CHICAGO, ILL. 60645 CONCORD DISTRIBUTOR STEREO LAB II, INC. 2350 MIDDLE COUNTRY RD. CENTEREACH, NY 11720 DELCO DISTRIBUTOR MOLLEN BROS. AUTO 2727 W. BROAD ST. RICHMOND, VA. PRINT CHR$(16); CHR$(22) PRINT #7, PRINT " 'LETTER FORM'" PRINT INPUT "COMPANY NAME",A$,L$ INPUT "ADDRESS",B$,M$ INPUT "CITY & STATE",C$,N$ INPUT "DATE", E$ INPUT "MFR",F$ INPUT "MODEL & EQUIP TYPE",G$ INPUT "QUAN & PART NO. ",l$ INPUT "PART DESCRIP",H$ PRINT INPUT "QUAN & PART NO. ", 0$ INPUT "PART DESCRIP",P$ FOR l = 1T02 PRINT #7, " PRINT #7, PRINT #7, TAB(20); CARPENTER" 2290 PRINT #7, TAB(20); "TV SERVICE" 2300 PRINT #7, TAB(20); "GORDONSVILLE VA." 2310 PRINT #7, 2320 PRINT #7, TAB (20), -E$ 2330 PRINT #7, 2340 PRINT #7, 2350 PRINT #7, A$+L$ 2353 PRINT #7, B$+M$ 2355 PRINT #7, C$+N$ 2358 PRINT #7, 2363 PRINT #7, "GENTLEMEN:" 2365 PRINT #7, 2370 PRINT #7, "PLEASE SEND C.O.D. THE FOLLOWING PARTS" 2380 PRINT #7, "FOR A ";F$," MODEL ";G$; 2390 PRINT #7, 2400 PRINT #7, l$; " ";H$ 2405 PRINT #7, 0$;" ";P$ 2410 PRINT #7, 2420 PRINT #7, "THANK YOU. " 2430 PRINT #7, 2440 PRINT #7, TAB(20);"YOURS TRULY," 2460 PRINT #7, 2470 PRINT #7, 2480 PRINT#7, TAB(20);"A.A. CARPENTER" 2490 PRINT #7, 2500 NEXT I 2505 PRINT #7, " " 2510 PRINT #7, " " 2520 PRINT#7,A$+L$ 2530 PRINT #7, B$+M$ 2540 PRINT #7, C$+N$ 2550 PRINT #7, " " 2560 PRINT #7, "A.A. CARPENTER, TV SERVICE" 2570 PRINT #7, "BOX 841" 2580 PRINT #7, "GORDONSVILLE, VA. 22942" 2590 PRINT #7, " " 2600 END ■ New North Star Software • DOS $35 Enables any program to execute all North Star Disk and/or Meca Tape commands. Allows batch command list and more. • PRO-TYPE WORD PROCESSOR $75 Easy to learn. Combines text input, editing and printing in one program. Features right margin justification, tabs, paging, underlining, relocation of text blocks, etc. Requires only 8K of memory. Manual alone, $25. • GUIDE TO BASEX $33 A new interactive compiler similar to BASIC for 8080-type microcomputers (Z-80, 8085). Executes programs up to 10 times faster than equivalent programs while requiring about half the memory space. Features include: array variables; string manipulation: arithmetic operations on signed 16 bit intergers: and versitile 10 communication functions. Manual alone $8. • BASEX TAPE and DISK GUIDE $35 Allows your BASEX programs to access up to four North Star Disk and/or Meca Tape drives. All operations can be executed from the Keyboard. Manual alone $20.00 Specify: North Star Disk/Meca Tape/Other Send for Free Literature INTERACTIVE MICROWARE INC. P.O. Box 771 . VVl- State College, PA 16801 ■ ■■■■ (814)238-8294 ■lAJ" Circle 175 on inquiry card. April 1979 ©BYTE Publications Inc 223 Microcomputer Timesharing A Review of the Techniques, With Pointers to Further Reading Kenneth J Johnson 56 Hodge Ln Hartford, Northwich Cheshire CW8 3AG ENGLAND Until I read Steve Ciarcia's article "Having a 'Private Affair' with your Com- puter" in April 1977 BYTE, page 18, I had not envisaged my 6800 or my 8080 as the basis of a timesharing system. Then I asked myself, "Why not? Why shouldn't a micro- processor be capable of supporting a time- sharing system?" I subsequently had the opportunity at the ONLINE conference held in London England on May 14 1977 to see Robert Uiterwyk's 6800 based multi- user system. This prompted me to search back through the literature (especially that of the time when timesharing systems were first being introduced) to check on the problems their designers encountered and their solutions. This article is the outcome. It does not set out to specify in detail how a timesharing system can be established, but it does deal with the main problems involved. Perhaps it will provide a starting point for readers' systems development. Requirements Timesharing has been defined in many different ways. For our purpose it will be taken to mean the concurrent, effective utilization of computer resources by several users, possibly at remote terminals. It will imply multiprogramming, possibly multi- processing; in general, multiple access to system resources. The key requirement in any multipro- gramming or timesharing system is that programs and data should not be bound, that is, converted into hardware dependent form, until the moment of execution. This requirement has many implications and may involve many problems, some of which have been solved in different ways with varying degrees of success. This article examines what is perhaps the main prob- lem: relocating programs and data in a multi- programming environment. The related problems of scheduling and priority systems, memory addressing algorithms and resource allocation are also discussed briefly. The Problem A timesharing system should be designed to execute user programs in such a way as to provide reasonable service and to satisfy each user's requirements. This means that each user should believe that he has all the benefits of a dedicated computer. It is the basic philosophy of timesharing and leads directly to the concept of virtual machines linked to physical computer resources through address mapping tables. Typically, individual user programs are allowed exclusive use of the computer resources in some order of priority for short periods. They are stopped after a certain time, frequently before completion, to allow other user programs to be given their exclusive use of resources. They are continued at some future time from the point where they were stopped, in either the same memory area or a memory area different from the one they were allocated when first allowed to run. To be able to continue a program in this way, the system must have facilities to preserve the status of a program when it is 224 April 1979 ©BYTE Publications Inc Circle 370 on inquiry card. . PET 2001 • PET 2001 • PET 2001 • PET 2001 • PET 2001 • PET 2001 • PET 2001 § I s Programmer's Guides i I for the PET™ • . i i t. TIS I WORKBOOKS FOR THE COMMODORE PET 2001 • Getting Started with Your PET WB-1 $4.00 B Covers the fundamentals of PET BASIC: calculator m and program mode, data input and output, data § representation, program storage on the cassette. ■* PET String and Array Handling WB-2 $3 .95 TJ m Covers string and substring search, concatenation, H replacement and manipulation. g PET Graphics WB-3 $4.95 ^ • Covers use of cursor control and special graphics -g symbols to draw plots, histograms, and sketches. fl PET Cassette I/O WB-4 $4.95 m Covers OPEN, CLOSE, string and numeric data files. 2 Miscellaneous PET Features WB-5 $3.95 * Covers the clock, random number generator, upper m and lowercase alphabetic characters, saving memory space, etc. o PET Control and Logic WB-6 $3 95 2 Covers IF, GOSUB. logical operations, and ON X. -o m H Add $1.50 for shipping and handling. g TIS 2 P.O. Box 921 • Los Alamos, NM 87544 m Dealer Inquiries Invited t Q. • PET Money back guarantee *> o o We also sell PET Software. Write for details. • u m H PET is a trademark of Commodore Business Machines g 8 2001 • PET 2001 • PET 2001 • PET 2001 • PET 2001 • PET 2001 • PET 2001 * Circle 203 on inquiry card. ANNOUNCING THE EDUCATIONAL LANGUAGE NOW READY FOR YOUR TRS-80 THIS VERSION FEATURES A BUILT IN EDITOR (THE ONLY ONE WITH ONE ON THE MARKET THAT WE KNOW OF) AND COMES WITH THREE SAMPLE PROGRAMS. THIS IS A PROGRAMMING LANGUAGE SO SIMPLE A YOUNG CHILD CAN USE IT. ALONG WITH YOUR ORDER YOU WILL RECEIVE THE LATEST LIST OF PILOT PROGRAM PACKAGES. WHICH SELL FOR $7.95 EA. AND — YOU WILL BECOME A MEMBER OF THE PILOT USERS GROUP, WITH A NEWSLETTER SENT TO YOU FREE FOR THE NEXT YEAR! ORDER NOW!! TAPE $14.95 DISK $24.95 (OTHER VERSIONS WILL BE AVAILABLE SOON) 900E SALEM ROAD • DRACUT, MA 01826 • PHONE: (617) 682-8131 IMMEDIATE DELIVERY Domestic & Export DEC LSI -11 COMPONENTS A full and complete line with software support available. mini Computer Suppliers, inc. 25 CHATHAM ROAD SUMMIT, NEW JERSEY 07901 SINCE 1973 (201) 277-6150 Telex 13-6476 22 START-AT-HOME COMPUTER BUSINESSES in "The Datasearch Guide to Low Capital, Startup Computer Businesses" CONSULTING • PROGRAMMING • SOFTWARE PACKAGES • COM • FREELANCE WRITING • SEMINARS • TAPE/DISC CLEANING • FIELD SERVICE • SYSTEMS HOUSES • LEASING • SUPPLIES • PUBLISHING • TIME BROKERS • HARDWARE DISTRIBUTORS • SALES AGENCIES • HEADHUNTING • TEMPORARY SERVICES • USED COMPUTERS • FINDER'S FEES • SCRAP COMPONENTS • COMPUTER PRODUCTS AND SERVICES FOR THE HOME. Plus — Loads of ideas on moonlighting, going full-time, image building, revenue building, bidding, contracts, marketing, professionalism, and more. No career planning tool like it. Order now. If not completely satisfied, return within 30 days for full immediate refund. • 8% x 11 ringbound • 156 pp. • $20.00 Phone Orders 901-382-0172 *» f " ""'"" DATASEARCH " incorporated 5694 Shelby Oaks Dr., Suite 105, Dept. B, Memphis, TN 38134 Rush copies of "Low Capital Startup Computer Businesses" at $20 per copy to me right away. NAME/COMPANY ADDRESS tc« CAmw. sr«n* CITY/STATE/ZIP _ D Check Enclosed D Bankamericard D Master Charge Circle 236 on inquiry card. Circle 93 on inquiry card. BYTE April 1979 225 state condition active in a working state. wait ready to run whenever brought into main memory. user wait waiting for the user to issue a command. 10 wait temporarily held up waiting to be serviced by 10 device. file wait temporarily delayed until another user program has finished using requested program of data file, dormant stopped running and has returned control to supervisory program, but its machine conditions have been preserved, dead terminated. Table I : All possible states- that a program may exist in at a particular point in its execution cycle. stopped and to restore it when it is resumed. That is to say, at the point in time when one user's program is stopped and another user's program is resumed, the instantaneous description of the former program must be saved and the description of the latter re- stored. These instantaneous descriptions are typically referred to as the current "state" of the user program. The state of a program typically contains such information as the contents of the accumulators, program counter, and condition code register. The stateword might also contain pointers to the address mapping tables which determine the correspondence between virtual and physical addresses. To explain this process in more detail, it is necessary to examine the factors which make multiprogramming possible and to study a typical system in operation. Multiprogramming Requirements Technically, there are a number of con- siderations which decide whether it is possible to run programs together. In the book Computer Timesharing (see refer- ences), Popell specifies a minimum of five: • A supervisory program referred to as executive, monitor, or supervisor. • An interrupt processing system. • Memory protection facilities to prevent one program from destroying others. • Dynamic program and data relocat- ability so that the same routine can be reentrant. That is, the routine can be used, unmodified, in different memory locations at different times. • Direct access facilities, or at least the facility for the convenient addressing of peripheral equipment. (For personal computers the floppy disk is the typical example of a direct access device.) Typically, user programs to be run are stored in auxiliary memory, usually disk, readily accessible so that the supervisory program can switch them into main mem- ory when their times to operate arrive. Each program is allocated the required area in main memory and that area is protected by either hardware or software, from inter- ference by other programs. Any instruction attempting to address an area outside the allocated memory block is trapped and prompts an error message. A system of priorities is usually imple- mented. The supervisory program permits the execution of the program with the highest priority until such time as it is suspended for some reason. Priorities are usually determined by a scheduling algo- rithm which is used by the supervisory program to keep a record of the status of each user program. Table 1 lists all the possible states of a program at a particular point in time. If, by bringing a program into its area in main memory, there is a storage conflict, the program with the lower priority status must be restored to its place in auxiliary memory. This process is variously called swapping, switching, push-pull or roll out-roll in. The most common cause of program sus- pension is a peripheral operation such as 10. But there are others such as a machine or program error or the lowering of priorities. Until suspended, however, user programs run for periods of time determined by the scheduling algorithm. At the end of each program's appropriate time slice (or when it changes status) the supervisory program determines which user program is to be run next. The state of the program which is to be suspended (contents of accumulators, index registers, condition code register, etc) will then be saved either in a supervisor's stack or dumped to auxiliary memory. The supervisory program then retrieves the next user program from auxiliary storage, together with that program's old state. It loads this program into main memory, processes it, restores it, proceeds to the next user program and so on, until it returns to the first user program to give it a second burst of processing (if required). Then it continues the cycle. It can be seen that the quintessential function of the supervisory program in a timesharing system is schedul- ing. Scheduling On early machines, programs were assembled into the part or parts of main memory they were to occupy during run time in much the same way as they are on microcomputers today. If a large program required too much memory, it was necessary to assemble the program in sections, trans- ferring each section as it was completed to auxiliary storage and restoring it (if nec- 226 April 1979 © BYTE Publications Inc Circle 140 on inquiry card. "BIG-EDIT" FOR BIG APPLE II PROGRAMMERS • Convert your INTEGER or APPLESOFT BASIC programs to "text" files on disk for easy editing and subroutine library development! • Quickly change lines in "text" programs; search and replace occurrences of strings; merge lines from other program files; restructure programs! • Renumber your programs - you specify the starting number and increment! • Strip REM's from "execution" versions of your programs (improves speed and frees up memory)! • Create and edit non-program text files (letters, announcements . . . )! • Prints upper and lower case on line printer, inverse video on screen! • Comes complete with System Disk, User's Manual and handy Reference Card! REQUIRED: APPLE II with Floppy-Disk drive, APPLE- SOFT BASIC in ROM, and 32K minimum RAM (48K is recommended). "BIG-EDIT" supports optional printer. GARVEY, MARTIN & SAMPSON, INC. 210 Bavarian Drive (C) Middletown, Ohio 45042 Phone: (513)423-6608 Enclosed is $39.95. Send me "BIG-EDIT" (ASAP!). Name Address City /State/Zip Circle 327 on inquiry card. ATTENTION SSB DISC SYSTEM USERS Run mini FLEX formatted software on your SSB BFD-68 System without any hardware changes. Here's how! Obtain the Mini FLEX Dos from SWTPCo and get Ed Smith's M68FB (Flex Boot) program on a SSB formatted disc. Use M68FB to load FLEX Dos to memory and manually add the patches in- cluded with Flex Boot, and you are up and running in Mini FLEX. Price includes diskette, instructions and a commented assembly listing. M68FB $25.00 SMITH-BUG From the same programmer that developed SMARTBUG (a 1 K single 2708 MIKBUG replacement) for Smoke Signal Broad- casting comes an enhanced 2K version that provides a built in mnemonic Disassembler/Trace, plus many new features designed to aid rapid program development and debugging. SMITHBUG contains an equivalent function for all the SMART- BUG commands except tape had and save. It uses the upper 2K memory space from Hex F800 to the FFFF and can be used stand alone or as an adjunct to your present monitor. For SWTPCo MP-A2 board users with an ACIA, a SWTBUG com- patible version is available (with instructions on how to use it in an adjunct to SWTBUG if desired). Delivery of either version on a 2716 will depend upon price and availability. Both versions are presently available on 2708's. A software only package (i.e. manual with assembly listing) may be ordered if you wish to burn your own. Specify present monitor. SMITHBUG on 2708's $60.00 SMITHBUG manual only ... $30.00 Order direct by check or MC/VISA bank card. California residents add 6% sales tax. Customers outside of U.S. or Canada, add $5 for air postage and handling. Dealer inquiries welcome. M ma SOFTWARE WORKS P.O. Box 339, Redondo Beach, CA 90277, (213) 373-3350 C/PM SOFTWARE TOOLS ED-80 TEXT EDITOR THE PROGRAMMER'S MOST IMPORTANT SOFTWARE TOOL WHY NOT MAKE IT YOUR BEST? ED-80 encompasses the features found on large mainframe and minicomputer editors, such as the IBM 370, COC 170, UNIVAC 1100, and the DEC PDP-11 series computers, plus additional features designed for floppy disk based operating systems. It is a context editor which is compatible with C/PM and its derivatives, including IMDOS, DOS-A, CDOS, etc. Over SO commands are provided, including forward or backward LOCATE, CHANGE, and FIND commands; INSERT, DELETE, REPLACE. APPEND, PRINT, LIST, MACRO, upper and lower CASE, SCALE, TABSET, and WINDOW commands; and GET and PUT commands for repositioning, duplicating, concatenating, and managing text files and libraries. Sophisticated search and change techniques are provided for managing BASIC, FORTRAN, COBOL, PL/I, ALGOL, APL, PASCAL, ASSEMBLER. TEXT FORMATTED, and other file types. The WINDOW command allows instantaneous full screen displays of both the current and surrounding lines for further editing, and provides for forward and backward scrolling in the full screen mode. Designed for today's high speed CRT's and video monitors, the WINDOW command separates ED-80 from all other available editors, and is not hardware dependent. Up to three MACRO commands may be defined for iterative execution of concatenated editor commands. Once defined, they may be subsequently executed, or recalled for observation. A MACRO may also be defined and executed in a single operation. Configurable parameters for tailoring the editor to the user's keyboard and environment are provided through the use of the C/PM Dynamic Debus Tool (DDT). The WINDOW, WINDOW NEXT, WINDOW PREVIOUS, NEXT LINE, and PREVIOUS LINE commands fall in this category. These commands are considered so important to text editing that only one key has to be depressed to cause any one of them to execute. A CURRENT LINE NUMBER is internally maintained by the editor for displaying when prompting for input and with certain other commands. Line numbers are dynamically adjusted as the result of line inserts and deletes, and may be used for positioning within the file. They are not stored or associated with the text in any manner. ED-80 is thoroughly documented with a User's Manual of over 35 pages describing each command and feature, and includes numerous examples. It is 9.5K bytes in size, and a minimum C/PM operating system of 20K is recommended. A User's Manual and standard size single density diskette are $69.00. A User's Manual is $7.50, refundable with purchase. COD and money orders shipped next day. COD orders require 10% deposit. Personal checks must clear before shipment. Include $2.00 shipping/handling per order. SOFTWARE DEVELOPMENT AND TRAINING, INC. P. O. Box 451 1 — Huntsvilte, Alabama 35802 C/PM® is a trademark of Digital Research 1 North Star * Disk Owners THE most COST-EFFECTIVE machine LANGUAGE DEVELOPMENT SYSTEMS AVAILABLE THE XL-80B0 & XL-Z80 SYSTEMS EDITOR ** Create & modify source listings using 15 powerful commands. Provides string search/replacement, auto-line numbering, multi-disk file storage, automatic memory management, built-in tab, printer listings and much more. Also, a North Star-corn patable line editor provides rapid line edit capability. ASSEMBLER ** Processes source listings directly from disk and optionally stores binary code in memory or on disk. Features multi-disk/file processing, multi-length labels, symbol table listing, console or printer output, etc. Allows any size program (source or code) to be processed! DISASSEMBLER ** Processes an object file on disk and produces source tile listings both on a second disk file and on the console or printer. "MAXIMIZES DISK CAPABILITY "USES EXISTING DOS USER I/O ROUTINES "REQUIRES LESS THAN 16K MEMORY TO OPERATE XL-8080 SYSTEM w.'complete documentation $39 95 XL-Z80 SYSTEM (same as above but processes Z80 Zilog-format files $59.95 XL-ZP/M SYSTEM (Z80 Assembler for CP/M) $59.95 Available at your local computer store or by sending check or money order to; XL C imp Mesa, AZ 85202 Dealer inquiries welcome Circle 398 on inquiry card. BYTE April! 979 227 OMSI . PASCAL Reliable, efficient, production Pascal compiler for the DEC PDP-I I family including the LSI-11. Full Language M elements of Standard Pascal, including the capabilities not found in student Pascals. Extensions for complete low- level control with direct memory and I/O device access, embedded assembler code, FORTRAN procedure interface. Production Integrated with DEC operating systems (RSTS/E, RT1 1, RSX, IAS). Compatible with existing file structures, editors, and utilities. Interactive symbolic Debugger with breakpoints and full trace. Performance Fast one-pass compiler runs in 16K words |32KB), translates thousands of lines per minute. Produces compact PDP-I I code that runs circles around interpretive or threaded languages. Proof In production use since 1975 — now at more than 300 customer sites. Warranted for 1 year after purchase. Write for information, demonstration, manuals, and benchmark. 2340 SW Canyon Road Portland, Oregon 97201 (503) 226-7760 TWX 910-464-4779 minicomputer ^cUF© inc. DEC, PDP, RSTS, RT-11. RSX, IAS, and LSI-11 are trademarks of Digital Eq. Corp. Improve your game with >>>FnsTGnmmon>>> An exciting new backgammon opponent! >>>FnsTcnmmon>>> ON THE TRS-80 You Play X's Computer Plays O's OUTSTANDING FEATURES! — Computer makes good moves instantaneously. Literal and graphic displays of each move. Option to replay same rolls. Eight-page instruction manual. Available on cassette (S20) for: TRS-80 (level II)* APPLE II* SOL* Available on diskette ($25) for: TRS-80* APPLE II** •16K RAM required "24K RAM required COMPAL-80* P0LY-88* COMPAL-80*** SOL/NORTH STAR" ■"Micropohs dual density SEE IT NOW AT YOUR LOCAL COMPUTER DEALER OR ORDER DIRECT FROM Quality Software 10051 Odessa Avenue, Sepulveda, CA 91343 (California residents add 6% sales tax) essary in overlays) immediately prior to entry. For this purpose, a suitable portion of memory was reserved for the segment of the program being assembled, and for each instruction two separate addresses had to be recorded: one giving the address of the cur- rent instruction and the other indicating the address it would occupy at run time. With elaborations, this technique became the basis of early timesharing systems. Basic to the running of these early systems was the concept of independent peripheral operation. The processor, having initiated an IO routine for one program, could then proceed to service the computa- tional needs of other programs until the IO routine signaled its completion by interrupt- ing the processor operation. For various reasons, these timesharing arrangements did not fully utilize even the relatively slow storage access time on some computers. The multiprogramming concept was developed fully to realize this potential. The logic was incontrovertible: if the machine had spare memory and spare peripherals, these could have been utilized by a second program. If this still left unused capacity, why not load a third program to use the peripherals and access time not required by the first and second programs; and so on. Tsujigado showed that it was theoretically possible to process simultaneously a large number of programs (256) in the conver- sational mode. Although theoretically pos- sible, this would be impractical even now on large computers because of the large memory requirements. In consequence, it is necessary to resort to swapping tech- niques, and a suitable scheduling algorithm. The swapping techniques adopted ini- tially depended upon the hardware design (the control mechanisms varied widely between manufacturers and between models). Some hardware is still required for effective control of the process, but the software usually provides the necessary con- trol procedures. In "Computer Software" (see references) Archibald et al specify the necessary software features. They include: • A means of reserving memory and peripherals for exclusive use by individual programs for predetermined periods of time. • A means of switching from one pro- gram to another to optimize computer performance. • Facilities to relocate programs dynam- ically during execution as the overall pattern of programs in the computer changes. The effect of these routines is to provide multiprogramming facilities which enable 228 April 1979 ©BYTE Publications Inc Circle 310 on inquiry card. Circle 82 on inquiry card. many users to initiate programs and to schedule them through the system accord- ing to their relative predetermined priorities. The simplest system is based on a circular queue for "round robin" scheduling. Each program accepted into the system is assigned a fixed time slice and processor operation is switched from one program to another in round robin fashion until each program is completed. In this arrangement, only one active user program is in main memory at one time. Other active programs are held on disk. In other systems several user programs may reside in main memory simultaneously. The operational switching between them is controlled by a clock which is used to generate an interrupt to signal the processor that a certain time period has elapsed. The scheduling algorithm is then entered every time a clock interrupt occurs. If it is found that the program in main memory has ex- hausted its time slice or has changed its status, that program is swapped for the next program in the queue. Most sophisticated installations of any size find the need to operate a system of queues. The appropriate queue to be serviced by the processor at any particular time will be selected according to priority and pro- gram type by the scheduling algorithm. Programs are initiated, or released for processing by being selected from the tops of the various queues which are formed in accordance with the particular installation's design philosophy. In addition to systems of queues, the supervisory program normally has to deal with systems of priorities. Again, what determines these priorities will be a matter of design philosophy. Various criteria are used in practice. Usually it is possible for the system itself to cause priorities to be modified while programs are being queued. Such modifications are especially desirable in real time systems because one program might be continually bypassed; or because a deadline is approaching and the program concerned is not being serviced. From time to time it may be that a pro- gram being queued will have to take prece- dence over a program being serviced. Down- grading of priorities happens often in scheduling systems. To facilitate this, some operating systems provide a roll in-roll out facility which enables the supervisory pro- gram to make a request for processing time on behalf of a higher priority program in the queue. This will result in a lower priority program being rolled out to enable the new program to be processed. Programs rolled out in this way are written into temporary storage along with their current status. When changing circumstances permit the reloading '7 I j ■ r : :; rue r i G M 1 f.:F/.a SYS li-n:- PRESENTS: 1 i;un * rous mll. * , " ,t -- ■ / -- /.-.- - > O" r^i ~r £S 141^. CV * / »rv 1 W»Qf ... l__ The world's only single*chipLSI Universal Printer Controller is here! The very low-cost 40-pln CY-480 printer with print speeds up to 200 cps! The Controller from Cybernetic Micro Systems is the first — and only — 40-pin LSI device which will control and interface any standard 5" x 7" dot matrix printer (including those from Victor, LRC, Practical Automation and Amperex) having a print speed up to 200 cps. It operates from a single +5V power supply and will interface a printer with any microcomputer or minicomputer system through standard 8-bit ports. The CY-480 accepts either serial (RS232C) or parallel ASCII input from the host system's data channel. The CY-480 replaces bulky, expensive dedicated controllers. The small, single LSI package offers a 5 x 7 dot matrix character generator, full upper and lower case ASCII 96-character font, and a 48-character (expandable by daisy-chaining) internal line buffer storage. Standard are a 1 0, 1 2 or 16 characters/inch variable character density command, 2-color selectable print command, forward/backward printing command, and horizontal and vertical independently expanded print command. The CY-480 provides graphics capability and includes a "flip-print" operating mode for 180° viewing. Ready lines provide full asynchronous communications with handshaking. Low price! $35 a single unit! CYBERNETIC MICRO SYSTEMS 2378- B Walsh Ave. • Santa Clara, Calif. 9S050 Phone (408) 249-9255 The experienced 2114 4K static RAM From EMM — the industry's largest supplier of 4K static RAMs — a 2114 with a year and a half of delivery behind it. Not a new part. Just a new pin-out of a proven part. 1K x 4 organization. 5V only. Standard 18-pin DIP. It draws only 300 mw, has all the speed you need for microprocessor applications. SEMI,INC. A division of Electronic Memories & Magnetics Corporation 3883 North 28th Avenue, Phoenix, Arizona 85017 (602)263-0202 Circle 131 on inquiry card. April 1979 © BYTE Publications Inc 229 NEW! for the PE1 HIGH RESOLUTION GRAPHICS! TM "I Now there is a complete Software Package and a simple, low cost Logic Circuit that gives the PET 2001 HIGH RESOLUTION GRAPHICS. It can plot 3-D images, pict- ures, fancy graphs, maps-almost anything! Points are plotted on a high resolution matrix of 236h.x191v. Graphic displays can be stored on tape cassettes. Do it yourself with the Graphics Hardware Manual from Conley Graphics. Complete hardware information, diagrams, and easy to understand explanations allow you to build your own Logic Circuit for the affordable price of ONLY $15. Parts are readily available from popular electronics stores. Now, high resolution graphics opens up a world of new uses for the PET! Complete Software Package and Graphics Hardware Manual $19.95 MaHOrCerTo: CONLGY GRAPHICS 211 Purdue Avenue, Kensington, CA. 94708 Calif, residents add 6V. Sales Tax PET is a trademark of Commodore Business Mach. Main/Frames m $200 Main/Frames :$200 - 14 Basic Models Available Assembled & Tested Power Supply: 8v@15A, ±16v@3A • 15 Slot Motherboard (connectors optional) • Card cage & guides • Fan, line cord, fuse, power & reset switches, EMI filter • 8v@30A, ±16v@10A option on some models Rack mounted from $200 Desk top from $235 Write or call for our brochure which includes our application note: 'Building Cheap Computers' INTEGR4ND 8474 Ave. 296 • Visalia, CA 93277 • (209) 733-9288 We accept BankAmericard/Visa and MasterCharge of programs temporarily suspended, the supervisory program will automatically roll in these programs and they will restart from where they left off. It may be that the exact locations in memory which such programs and their data were using are no longer available. To deal with this situation, operating systems provide the facility to relocate programs dynamically. Scheduling Methods To summarize the discussion so far, there are basically two methods of scheduling: • Simple swapping systems with only one program at a time residing in maip memory for a fixed unit of time in accordance with a system of priorities. • Elaborate systems which overcome the disadvantage of only one user program in main memory at a time with con- sequent waste of time due to switching. This necessity of switching programs into and out of main memory at speeds approach- ing the internal clock rate leads to further problems which can only be solved with additional hardware and software facilities. In particular, since a given user program does not always get loaded into the same place in memory it leads to addressing problems. Addressing Techniques In most systems, individual programmers will have to write their programs without knowing which other programs, if any, will share main memory with theirs. The implica- tion must be that they will need to use symbolic addresses that will be converted to absolute addresses at some time by the supervisory program when allocating memory space and peripherals to the various pro- grams. This necessity has led to the present timesharing philosophy which requires the conceptual separation of absolute storage addresses from the logical system addresses. In a multiprogramming system, resources are not normally allocated to programs until execution time. Since the physical resources allocated may be different during each time slice, it is essential that the run time repre- sentation of programs should be in hardware independent form. This means that the addresses in particular should be virtual addresses. Physical addresses will be repre- sented by an address mapping table which will be updated whenever programs are moved from main memory to temporary storage and vice versa. As Wegner points out, the structure of the address mapping table will depend not 230 April 1979 © BYTE Publications Inc Circle 1 79 on inquiry card. Circle 102 on inquiry card. only on the relation between the virtual address space and the physical address space, but also upon the hardware facilities available for performing address mapping. For example, in "Addressing Structures" (see references) Gammage recalls that the need for dynamic program relocation was met on second generation machines by the provision of a single base register, the contents of which were added to a virtual address generated within the program to map it into an actual main storage address. The major drawback here was that the program had to be moved between main storage and temporary storage as a single unit (a wasteful process where large pro- grams are involved). It also meant that no program could be larger than the available main memory space. To overcome these problems, more elaborate addressing structures were devised. These structures reflected the hierarchical organization of problem oriented programs and the need in real time systems to pro- vide for the organization of sets of inde- pendent, multiprogrammed jobs. To give the facility of dynamic program relocation, for example, some machines were fitted with special hardware. IBM built upon the address- ing system of the IBM 360, which allowed only two levels of addressing, and provided a third level. They did this by providing two sets of additional base registers, one set to act in the same way as the base registers of the IBM 360 (being accessible to the pro- grammer). The other set, sometimes known as segment registers, accessible only to the supervisory program, are used in allocating storage. Gammage outlines three such schemes, but suggests that because these schemes use variable length segments as the basic unit for storage swapping, they are very inefficient in terms of storage utilization. Their ineffi- ciencies cannot be overcome completely unless a full paging system is employed, using fixed length units for swapping. Paging Most modern machines provide some kind of virtual memory structure if they are to be used for multiprogramming. This addressing space may be provided by hard- ware or created interpretively by software. Most modern systems also interpose an address mapping structure between virtual and physical addresses. Typically, the virtual address of a word in memory consists of two parts. The first refers to a page number (a fixed size block of main memory). The second refers to a location within the block. In operation, secondary memory is connected to these What's happened to "the right to be let alone?'' Brandeis called it "the right most valued by civilized men In today's computer age, it is rapidly disappearing. Cover- ing all the technological and legal aspects of the prohlem, the editor of Privacy Journal has now written "one of the most helpful books I have read this year— a book you cannot read without discovering how endangered is your right to be let alone and what you can do to shore it up."- Bill Movers. PRivncv HOWTO PROTECT WHAT'S LEFT OF FT ROBERT ELLIS SMITH $10.00 at all booksellers I ANCHOR PRESS/DOUBLEDAY HARD DISC FOR S100 MICROS The XCOMP DCF-10 Disc Controller pro- vides the OEM with a high performance, low.cost interface forfixed and removable (2315 or 5440) cartridge disc drives. The DCF-10 is currently supported by two operating systems. For information or manuals, contact XCOMP. XCOMP INCORPORATED 9915-A Businesspark Ave., San Diego, CA 92131 • (714) 271-8730 Circle 397 On inquiry card. April 1979 ©BYTE Publications Inc 231 Circle 233 on inquiry card. FREE Catalog Your source of 4-way relief from problems with minicomputer supplies and accessories: 1. One-stop shopping Minicomputer Accessories free catalog has over 800 products. Magnetic media. Racks. Line-printer paper Computer-room furniture. Cables and connectors... both standard and custom- built Buy any quantity you need when you need it. 2. Hassle-free ordering Minicomputer Accessories lets you order by mail or phone. Keep the catalog close II makes once-tough tasks like ordering media easy, fast and foolproof. 3. Lightning-fast shipment Minicomputer Accessories ships your order within 24 hours from distribution centers in California and New Jersey. Our shelves are always loaded with emergency items so yours don't have to be. Need your order faster than 3 to 4 days? We'll arrange for services to get it there next day. 4. Field-proven quality Minicomputer Accessories demands stringent testing and star performance before any product is included in our catalog. Thai's why we have the confidence to guarantee every product for at least 45 days. ..and some for up to 10 full years Send for your FREE CATALOG. It's your problem-solver from Minicomputer Accessories Corporation. 130 S. Wolfe Rd. P.O. Box 9004 Sunnyvale. CA 94086 (408) 737-8700 Minicomputerf Accessories L_ . Announcing . . . SMALL BUSINESS COMPUTERS Magazine The magazine for users and potential users of small business computer products and services • The monthly magazine for businessmen in the process of purchasing or installing their first com- puters • The practical how to publication written in non technical language and stressing business applica lions for small computer systems Each monthly issue includes: FEATURE SURVEY REPORTS: Such as. Software Packages /or Small Business Applications. Small Manufacturing Svsrems. Inventory Control Systems. Microcomputer Business App/iacMons, and so on APPLICATION STORIES: Real life examples of computer applications in the small business en vtronment — capabilities, benefits, what to watch for, and much more of direct interest to the small businessman COMPUTER PROFILES • IDEAS AND INNOVATIONS • INFORMATIVE ADS SPECIAL CHARTER SUBSCRIPTION 12 issues @ 50% off Receive the next 12 issues of Small Business Computer Magazine for just $9 SO/t.off the cover price Mail the coupon today to: SMALL BUSINESS COMPUTERS Magazine 33 Watchung Plaza • Montclair, NJ 07042 SMALL BUSINESS COMPUTERS Magazine • 33 Watchung Plaza • Montclair. NJ 07042 □ YES. Enter my charter subscription at the '.. price cost of $9 for 12 monthly issues □ Check enclosed D Bill me Name Organization Address City/State _ .Zip_ blocks through high speed 10 devices that permit programs to be swapped directly from disk into any one of the main memory blocks without interfering with processor operation. This process is known as direct memory access and allows execution of one user program in one block of memory while programs are being swapped to and from another block. Main memory is similarly divided into physical pages, each capable of handling one page of a program or block of data. Pro- gram pages, although the same size as main memory pages, will not necessarily be contiguous in main memory and may well occupy different main memory pages at different times. One of the functions of the supervisory program in a paging environ- ment is to form and keep up to date a page table which establishes a mapping of the program and data pages into physical pages. By this means, the address of a page within a program is transformed via the page table into an absolute memory location. In practice, to achieve dynamic reloca- tion, it is necessary to extend the instruction address to include a segment number as well as a page and location number and to leave the binding of address parameters until run time. The segment number is then used to access a segment table belonging to the user whose program is running at that instant. The reference in the segment table is to the page table which in turn maps onto the physical page and through this to the phys- ical address. This scheme can be very clumsy and take too long, unless the machine is fitted with additional registers which permit the develop- ment of an associative memory. The associa- tive memory combines the segment and page numbers, so that only one interrogation is required to find the number of the physical page containing the appropriate address. Systems in which page registers are designed to be accessed associatively operate various page turning algorithms which determine: • Whether certain pages are in memory. • Whether pages are to be preserved or overlaid. • How recently pages have been used so that, if need be, they can be disposed of when new pages are brought into memory. These systems are the basis of the virtual memory concept which in turn provides the means for dynamic relocation. Dynamic Relocation Let us spell out the need for dynamic re- location in a timesharing system. In general, a program consists of instructions and data. 232 April 1979 e BYTE Publications Inc Circle 333 on inquiry card. Circle 70 on inquiry card. While being executed it will contain refer- ences to intermediate results. These will need to be mapped or translated into refer- ences to specific parts of the machine (machine addresses, device numbers, etc). This can be accomplished at three different times: • During compilation, assembly, or translation into machine code. The result is an absolute program which will be assigned to the same memory locations and use the same peripherals each time it is run, assuming they are available. (This is the most common scheme for user programs in typical personal computers.) • When the program is loaded. Most machines have a relocating loader which enables programs to be re- located statically. • During execution, using dynamic relocation. In multiprogramming it is difficult, if not impossible, to allocate memory concurrently to two or more independently written pro- grams if they are absolute programs. The allocation method requires that the particular combination of programs to be run at any one time and their storage requirements are known in advance. This is information that is not always available when the programs are written. If the absolute addresses are left un- translated by the assembler or compiler and translated by a relocating loader into actual addresses only when the program is loaded for execution, the particular combination of programs to be loaded together can be decided just prior to loading. This method is known as static relocation. Using static re- location it is possible, with a relocating loader, to allocate memory to a program eacn time it is executed, provided: • The program can be separated into a data part and a procedure part. • The procedure part is never modified during execution. • The data part, including the contents of registers at the time of interrupt, contains no absolute memory addresses. • When the program is interrupted, the data part is dumped onto auxiliary storage. These four conditions are not difficult to achieve. Nevertheless, the relocation of an interrupted program by this method has a number of significant drawbacks, which are summarized by Denning in his article "Virtual Memory" (see references). In dynamic relocation, the translation of virtual addresses to main memory addresses NOW! SAVE UP TO 25°lo ON 3M FLOPPY DISKETTES For Professional Data Processing Results Specify - "SCOTCH" 3M Floppy Diskettes • SPECIAL • SPECIAL ITEM CODE DESCRIPTION PRICE PRICE EACH BOX OF 10 3M-740-0 8" Solt-seclored IBM lormat for IBM. IMSAl. Cromemco $6.50 $5.50 $49.00 3 M- 740-32 8" 32-sectors, hard sectored for Shugart. Teklronics. Processor Tech S6.80 S5.80 S51.00 3M-744-0 5" Soft-Sectored IBM lormat lor Apple. TRS-80. IMSAl. Cromemco, SWTPC. Compu- color. Intelligent Systems $6.50 $5.50 $49.00 3M-744-10 5" 10-sectors, hard sectored for NorthStar. Wang $6.50 S5.50 S49.00 3M-744-16 5" 16-seclors. hard sectored lor Micropohs. Altaif, PCC $6.50 S5.50 S49.00 "To quality tor these SPECIAL prices, paymenl must accompany order, or call with credit card. Prices arc F OB. our warehouse. Add $1.50 shipping & handling per each 10 (or less) diskettes N.Y. state residents add appropriate sales tax. Shipments will be made from slock. Order today Irom your authorized dealer for 3M Company "SCOTCH" brand 740 diskettes. Call {315> 637-6208 or Send order to: computer emerpri/er i. Box 71 • Fayetteville. N.Y. 13066 16K STATIC RAM Kit price $285 450 nsec $320 250 nsec Memory Chips Add $25 for assembled, tested, Guaranteed. Static TMS 4044- Fully Static 4Kx1 Memory chips for better data integrity and DMA compatibility. Fully S-100 Bus Compatible-All lines fully buffered. Dip Switch Addressable in two 8K blocks, 4K increments. Write Protect- able in 2 blocks. Memory Disable using Phantom (pin 67) or strappable to any other pin. Bank Select-Using Output port 40 H (Cromemco software compati- ble)-addressable to 51 2KB of RAM or for time share. Also has alternate port 80 H -ma king over 1 million byte of RAM available. Quality Components-First quality parts, fully socketed. Glass epoxy board with silk screened legends, solder masks. Gold Contacts. Guaranteed-parts and labor for 90 days. You may return the undamaged board within 1 days for a full refund. Foreign and kit purchasers-parts only guaranteed; no return privilege. Orders- You may phone for Visa, MC, COD orders. ($4 handling charge for COD orders only) Personal checks must clear prior to shipping. Shipping-Stock to 72 hours normally. Will notify expected shipping date for delays beyond this. Illinois resi- dents add 5% tax. Please include phone number with order. S.C. digital P.O. Box 906 Phone: Aurora, I L 60507 312-897-7749 Circle 331 on inquiry card. April 1979 ©> BYTE Publicalions Inc 233 Circle 204 on inquiry card. ullMfces YOUR North Star * Computers PROGRAMMING SPECIALISTS! You can look to us for innovative and imaginative programs ** Intertec Intertubes now available ** Thinker Toys 8" Disk Drives for North Star Computers *995°° Additional Drives '795°° Many different and diversified computers systems available. All include full access to Program Library. Systems start at •4,995°° DOSCHG Patches to connect Thinker Toys 8" Disk Drives to North Star DOS & Basic. Fully supports all North Star Functions on 8" disk. *49.95 CSUB A set of Functions defined in North Star Basic that handle all disc ac- cessing (Sequential, Random, & Keyed Access) and all CRT display, format- ting it Input. A SUPERB APPLI- CATION PROGRAM DEVELOPMENT PACKAGE. '49.95 TIMESHARE Patches to North Star DOS & BASIC that take advantage of the versatility of the Horizon com- puter to implement an interrupt driven bank-switching time sharing system. Requires additional memory & terminals. *49.95 Micro Mike's 905 Buchanan, Amarillo, Texas 79101 806-372-3633 If you need Business Reports with fancy frills you have the wrong company. We don't put these in our Software or our Ads. Both cost *** You *** Money. But if you need solid, Down-To-Earth Software for your North Star, Imsai, or other low cost Data Processing System written in Microsoft Basic or Cbasic in- cluding GL, AR, AP, Inventory, Payroll, Mailing List and Fixed Asset Accounting then you *** Do *** have the right company. GIVE US A TRY - WE KNOW YOU'LL BE GLAD YOU DID We honor Visa and Mastercharge 102 Avenida Dela Estrella Suite 208 San Clemente, CA 92672 (714) 492-7633 is delayed until the last possible moment (until access to memory is required in running the program). Because the program contains no absolute addresses, it is independent of the actual memory allocation it receives. This means that it can be interrupted at any time and subsequently reloaded into a dif- ferent part of memory without modification. This desirable facility can only be achieved at the expense of additional hardware and more complex instruction formats. This is desirable since instructions in general must now hold untranslated addresses in a form appropriate to the relocation technique adopted. There is also the related problem of storage protection (the need to prevent user programs from interfering with each other while being processed). The usual solution to this problem is to allow them to operate in well defined areas of memory only (un- restricted access to all parts of memory being reserved for the supervisory program only). Frequently the technique used to achieve dynamic relocation can also be used to effect storage protection. Conclusion Many programs running concurrently in a multiprogramming environment typically require far larger total memory space than is available in a particular system. The virtual memory concept and dynamic relocation techniques outlined here have solved many of the problems of managing and optimizing the use of large, hierarchical memories. These techniques are often seen in large computer systems and can be adapted (in principle) for use in microcomputer time- sharing systems." REFERENCES 1. Archibald, HIA, et al, "Computer Software," Journal of the Institute of Administrative Management, England, 1966. 2. Coffman, EG Jr, and Kleinrock, L, "Computer Scheduling Methods and their Countermea- sures," volume 32, AFIPS, SJCC, 1968. 3. Denning, PJ, "Virtual Memory," Computing Surveys, volume 2, number 3, Sept 1970. 4. Dennis, JB, "Segmentation and the Design of Multi-programmed Computer Systems," IEEE International Convention Record, Part 3, 1965. 5. Dennis, JB, and Glaser, EL, "The Structure of On-line Information Processing Systems," Information System Sciences: Proc of 2nd Congress, Walker, DW, ed, 1965. 6. Gammage, ND, "Addressing Structures," Jour- nal of British Computer Manufacturers, 1966. 7. Popell, SD, ed. Computer Timesharing, Pren- tice-Hall, Englewood Cliffs NJ, 1966. 8. Tsujigado, M, "Multi-programming, Swapping and Program Residence Priority in the FACOM 230-60," AFIPS, SJCC, volume 32, 1968. 9. Wegner, P, "Machine Organization for Multi- programming," Proc— ACM National Meeting, 1967. 234 April 1979© BYTE Publications Inc Circle 1 on inquiry card. Circle 31 on inquiry card. Circle 95 on inquiry card. BUSINESS APPLICATION SOFTWARE ACCOUNTS PAYABLE ACCOUNTS RECEIVABLE GENERAL LEDGER ' . COMPATIBLE MODULES A/R : CUSTOMER STATEMENTS | f * . ALSO INDEPENDENTLY INSTALLABLE AGEING & TRIAL BALANCE M \ * . PROGRAMS IN EACH MODULE ALLOW: SALES/ C/R JOURNALS All Fila MainlBmnCD A/P CHECK WR TING 1 Uliiiiv Filo Luting AGEING & TRIAL. BALANCE 1 Individual Account Inquiries ACCT. # V ;RIFICATION Original Journal! G/L DETAIL HISTORY INQUIRY Automatic Matter File updating TRIAL BALANCL Past Accurate Keyboard input P&L Si BALANCE SHEET BUSINESS APPLICATION SOFTWARE Divi ion of ELP Developmem Co., Inc. 1675E Lltt ofield Lane. Lc s Gatos, CA 95030 ITEM A/R A/P G/L |' Svnem Manual S 8.00 ' $si oo n S 19.00 1 Program Lutings 58 00 '■ 51.00 " iGo.oo n Programs on Disk' 89 00 ! 81.00 n 250 00 1 1 AR, AP, GL on disk with manual $390.00 COD o ders accepted Immediate shipment upon receipt of certified check o money order •CP/M CBASIC Compatible source & Object code Single <~l or Dual Density n 1 M4«F Citv QratB y 12 — 13 g ABS 14 RCL 5 15 X 16 STO + 4 17 8 18 RCL 3 19 f x > y 20 — 21 g ABS 22 STO 3 23 4 24 _ 25 gi0 x 26 STO 5 27 RCL 5 28 RCL 1 29 X 30 RCL 4 31 x ^ y 32 + 33 g FRAC 34 RCL 1 35 X 36 f INT 37 STO 2 38 X 39 STO -4 40 f LAST x 41 2 42 STO x 3 43 STO x2 44 Ri 45 f INT 46 STO0 47 1 48 STO + 7 49 RCL7 Listing 1 : A pattern recog- nition program written for the HP-25 programmable calculator. The operator enters a series of binary digits and the calculator attempts to guess each one, giving itself points when successful and penal- izing itself when wrong. Unless the operator enters digits that are truly ran- dom, the algorithm stands a good chance of detecting patterns in the operator's string o f figures. Instructions for Running the Binary Guessing Game Step 1 Comments Data Key in program. Keys 2 Set display digits. f F I X 0. 3 Initialize. f PRGM f REG 4 Key in values. 10 STO 1 11.1001 1 STO 4 STO 7 5 Clear stack. f STK 6 Start program. R/S 7 Program stops with score displayed, for 1 or opponent's guess. Enter 1 or 0. (Important : don't enter any other number or run with score displayed.) R/S 8 HP-25 displays its guess, then the cumula- tive score: + for opponent, — for HP-25. 9 Go to step 7. Notes: The advanced program described in the article also uses the above in- structions. If you convert back to the regular version after running the advanced version , the contents of several memory registers will cause probl ems To avoid this, start over at step 3 above. After changing the two steps necessary for the advanc 2d program, remember to return to 00 to run the program. The advanced proqram will guess for several times until it learns your style. To avo d this, try 123.0123 STQ4. April 1979 © BYTE Publications Inc 237 Languages Forum 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 com- munication among B YTE readers on the subject of lan- guages. We ask that all corres- pondents supply their full names and addresses to be printed with their commen- taries. Note: We received the following letter detail- ing several possible changes to the BASIC language. Readers might try implementing them on their own systems if they do not already have these Instructions available . . . RGAC. Amended BASIC Robert Paul Bass II 4827 N 63 Ln Phoenix AZ 85033 Having been an avid programmer for many years, I've seen many ways for "Mr Murphy" to add some of his handiwork to programs. In order to accommodate some of the beginning programmers, I felt that a new version of BASIC that incorporated some of Mr Murphy's ideas would be appro- priate to help explain away some of those mistakes that we all make at some time or another. Here I present some of the new statements and functions that I would like to see in this new version of BASIC. Assignment 10LETA#4*G 20LETB^19/T Set A to any value not equal to the expression. Set B approximate- ly equal to the expression. These are also handy for generating data to test routines that need data close to a particular value, or if any value but one can be used in a program. IF-MAYBE 100IFG = 17.4 MAYBE 210 Advanced implementations of this state- ment could have nested conditions, ie: 110 IFG#A*2 MAYBE 210 THEN AGAIN 300 OR PERHAPS 405 Modified FOR - NEXT 200 FOR N = TO ABOUT 1 00 300 NEXT N This statement is used when one isn't absolutely sure how many times to execute a loop. MISPRINT and MISREAD 320 MISREAD A$ 330 MISPRINT B,S These are the standard input/output (IO) statements, except that they have a built in glitch generator to produce those inexplicable characters that appear in everybody's output. Caution must be exercised when both of these statements are used in one program because it is pos- sible that the errors could cancel out. COME FROM 350COMEFROM 100 This is great for debugging programs as it allows the programmer to trace back where he should have been going. FUZZ Function 400 FUZZ = 39 This function tells the actual monitor program that executes the BASIC program how picky it will be regarding errors. If FUZZ=0, the program will execute correctly regardless of how many errors there are in the program. If FUZZ=99, the entire system will crash on the smallest logical or even syntactical error. FORGET 440 FORGET 450-560 This would be used to indicate which statements should be ignored. DIMENSIONLESS 10DIMENSIONLESS A,B,C,D,E,F,G, H,I,J,K,L.... This was designed for the theoretical mathematicians working on problems in- volving points, those zero dimensioned beasties. Systems using this statement should have plenty of memory, since an infinite number of DIMENSIONLESS state- ments are allowed (and usually needed) so that the programmer can define lines, planes and spaces. BLINK 500 BLINK 10 Blink for 10 sec- onds. This is used primarily in demonstration 238 April 1979 © BYTE Publications Inc programs where a visitor can see the front panel lights of the computer. When execut- ing this statement the lights will blink in a fashion guaranteed to impress anyone who doesn't know too much about computers. With appropriate interfaces, this could be used with your Christmas tree lights next winter. When entering a particularly difficult por- tion of a program, this statement would be used to slow down the computer so it won't stumble over the program's harder portion. WHOA 720 WHOA GLITCH 530 GLITCH This is the most invaluable statement that the up and coming programmer can use. It will randomly choose a location in memory or in the internal registers and will change one bit of that word. SLOWDOWN 650 SLOWDOWN Same basic (no pun intended) use as the SLOWDOWN statement but it is primarily used after a series of particularly easy state- ments to remind the computer that the easy stuff is over and it will have to dig in again and get to work. I hope that these suggestions for addi- tions to BASIC will inspire some enterprising young programmer to invest a couple of man-years to develop this new version of the old language that we all know and love. Good luck — you'll need it." Pascal versus BASIC: Round 2 Includes FORTRAN Lawrence C Andrews 2634Wycliffe Rd Baltimore MD 21234 The article "Pascal versus BASIC: An Exercise," by Allan M Schwartz (August 1978 BYTE, page 168) is a typical example of a language chauvinist using a language ineptly and then pointing to the faults in the code he has written as inherent properties of the language. The function GCD (page 172) that he has written (leaving aside the BASIC version) has several faults, to wit: 1 ) X and Y are not declared in the Pascal version. 2) The FORTRAN version will develop an infinite loop if X or Y equals zero (no comment there excludes X, Y greater than zero). 3) The FORTRAN version never defines the functional value of GCD and so will not even compile in a good compiler. 4) There sure are a lot of GOTOs and statement numbers in his program; in particular, statement 180 is totally useless. GOTO 180 should be GOTO 120. 5) There is no reason to have any GOTOs. It could be written as in listing 1 . 6) If you don't mind downward branching GOTOs (generally considered to be harmless) function GCD can be written as shown in listing 2. As in Pascal the flow is clear and flow- charting is simple (Warnier-Orr diagrams are still better). I don't run down Pascal but I fail to see why Schwartz runs down FORTRAN just because he writes a pidgin dialect inexpertly. In FORTRAN, as in Pascal, "Go to statements can fog the other- wise clear logic of a routine," as Schwartz states in his article. FORTRAN 77 with IF. . . THEN . . . ELSE statements, and zero trip counts on DO loops, removes most of Schwartz's FORTRAN objection. Anyone can write a bad program in any language. Pascal is no exception to that statement." INTEGER FUNCTION GCD (X,Y) INTEGER X,Y, A,B, LIM C. . . X.Y.GT. A = X B = Y LIM = MAXO (A,P) DO 1000 I = 1, LIM IF (A .GT. B) A = A-B IF (B .GT. A) B = B-A GCD = A IF (A. EQ. B) RETURN 1000 CONTINUE END DO 1000 I = 1, LIM IF (A .GT. B) A = A-B IF (B .GT. A) B = B-A IF (A. EQ. B) GOTO 2000 1000 CONTINUE Listing 1: The GCD func- tion written in FORTRAN with no GOTO statements. 2000 GCD = A RETURN END Listing 2: A much shorter version of the GCD func- tion using one downward branching GOTO state- ment. April 1979 © BYTE Publications Inc 239 The face is (becoming) familiar No surprise ... it stands out in the crowd. The quality and reliability that Industrial Micro Systems' customers have grown accustomed to is now avail- able in our complete system. A system that will grow with your needs. You can start with a minimum 16K, single disk system. The system shown above can be expanded to 608K-Bytes of fast RAM with three double-sided, double-density drives. And more to come. The microcomputer industry standard CP/M™ operating system is delivered with the system. PASCAL is available. Industrial Micro Systems sys- tems users are developing an impressive array of application software. The system is offered in rack mount and table top versions and also in our own desk enclosure. In addition to gaining in familiarity, the Indus- trial Micro Systems picture for total system products should be coming into focus for everyone. Advanced, reliable electronics . . . industry standard software . . . and functional, high quality enclosures. Industrial Micro Systems, your source for com- plete systems. And the prices are right. Ask your dealer to see the full Industrial Micro Systems line of products and be watching for excit- ing new additions soon to come from Industrial Micro Systems, 628 N. Eckhoff St., Orange, CA 92668. (714)633-0355. INDUSTRIAL MICRO SYSTEMS,INC The great unknown. ' CP/M is a trademark of Digital Research, Inc. Circle 171 on inquiry card. Circle 172 on inquiry card. Note on an Easy Programming System Mike Brown POB 2263 West Lafayette IN 47906 I have just completed reading Joseph Weisbecker's article "An Easy Programming System" (December 1978 BYTE, page 108). I was quite favorably impressed— with one minor exception. The random number facility does not seem to be very good, but could be improved with one minor modifi- cation. Regardless of what pseudorandom number generator is used, the idea is to provide a sample from a uniform distri- bution in the range of [0. .KK]. The tech- nique of simply using a mask is clearly not satisfactory. If, for example, KK = 02, the range of pseudorandom numbers is [0. .2] . However, by using the mask, the possible numbers obtained are and 2. It is not possible to get a 1. There are several ways around this problem. The simplest is the rejection method in which new pseudorandom num- bers are generated until one is found to be small enough. Since most pseudorandom number generation routines I have seen are fairly quick, this method would probably be satisfactory as long as KK is reasonably large. My suggestion is a refinement of the rejection method, which will work fairly well even as KK gets small: • Determine high order 1 bit position in KK (p). Form mask with bits 7 thru (p+1 ) off and bits p thru on (m). • Generate pseudorandom number in range of [0. .255] (r). • r2 = r x m. • If r2 > KK, go to second step. Other- wise r2 is the required pseudorandom number. In the worst case, only an average of two random numbers will have to be picked, and verifying a good number or rejecting a bad number is a quick and easy task." The £100 £u") %J I \# \# : ELECTRONICS An S-100 Bus Adapter/Motherboard fortheTRS-80 plus a whole lot more!!! A S-100 BUS INTERFACE 6 SLOT MOTHERBOARD EOflttallera, :ind ;i whult- hoM uf ullii-i a$*>^ • SERIAL RS232/20ma I/O • PARALLEL INPUT AND OUTPUT • SPACE FOR 16K DYNAMIC RAM • CAN USE LEFT OVER 4K CHIPS • LOW COST- PRICES START AT S185* • AVAILABLE IMMEDIATELY lrymii»m-r,iiM..d.T y kit forTilS-y neuw, PROM o howls, AC raried periph- ifiKdvn; wyorm RAM \„. \)miii! the nitm- rTRS-SO in KiK without having k. buy any S-100 you could !»■ ten With eight -IK HAM ilup- and nowhere to pui thcml Well, they can go in the HAM sockets instead! Thins right, you c:in use eilher IK or 16K chips and ad- dress them anywhere you like ThuHHKI h:.- a full RS-2-.U JU Mm sentil interface who's features inclmle: RS232 and "20 mil currvnl loop interface, loftwate programmable haud rata from DC to 5BK hand, Miiflwiuv piouniiiimiihle modem control lines, on board DB.2B aonneclqr and much more. Tin- BIO0 also has an 8 hit parallel input porl and an H hit parallel output port. Holh are latched, have both e strobe input.- and ciutpuL* and have ofdri- PRICES START AS LOW AS $185* (S-100 bus interface only) fiUHJ ELECTRONICS 1429 Maple St. San Mateo, CA 94402 (415) 573-7359 DEALER INQUIRIES INVITED •Extra S-100 connoctora. RAM support, 1,0 circuitry optional USA DOMESTIC PRICE ONLY Ever wonder what it takes to win a contest ? In late 1978, Mullen Computer Products ran an applications contest for the Controller Board Kit. While we're congratulating the winners, you might want to see what we considered contest-winning material. *•••••••••••••••••••• 1 St PRIZE l John D. Gill, Blountville, TN. •••*•••••••••*••••••• Johns application used the board as an interface between the 5V logic of an IMSAI 8080 and the 100 VDC relay logic used by a Friden Flexowriter. He included software timing [ricks to avoid passing current through the relays until fully closed. We fell his entry was very practical, imaginative, used the Controller Board to good advantage, and deserved 1st place. 2nd PRIZE! Peter Midnight. Oakland. CA. Peter proposed a computerized editing and synchronization system for double system sound tracks. The entry was well- thought out and novel. Runners-un included: Vaughn Jupe, Carlotta, CA [satellite tracking and other amateur radio implications); Gregory Yob, Palo Alto. CA {phase controlled waterbed vibrator); Glenn King, Topeka. KS [telephone/computer/dlaling Interface)! Paul McKnight, Washington, DC [microprocessor controlled typewriter/computer interface); and Mike O'Brien, Colorado Springs. CO (IC testing device). Thanks to everyone who participated in (ho contest, and for the uniformly high quality of the entries. If you'd liko more information on the amazingly versatile Mullen Controller Board kit , visit your local computer store or write us direct. MULLEN Computer Products BOX 62 1 4, HAYWARD, CA 94545 Circle 267 on inquiry card. April 1979 ©BYTE Publications Inc 241 HAZELTINE 1400 only $649.95! • Verbatim Mini Diskettes $3.70 each (boxes of 10) • Two-tier walnut formica enclo- sure for SA-400 Shugart. . . $39.95 • Typewriter Ribbons (many makes such as Diablo, Centronics, DEC and print wheels) • TRS-80 16K Expansion Kit. . .$89.95 • Centronics 779 tractor - $1 1 50.00 • Horizon II ass. - $1999.00 Mail TORA SYSTEM INC. Order 2 9-02 23rd Avenue 0nly - Astoria NY 11105 (212) 932-3533 Circle 371 on inquiry card. PASCAL $2995 COMPUTER Call (714) 979-9920 MONTHLY SPECIALS • Floppy Kit (S 100) SA 801 floppy (8") 8 cont $599 • Add On Floppy Drives SA 800/1 (8") floppy S469 SA 400 mini floppy $285 Pertec FD 200 $285 Pertec FD 514 $479 • Centronics 779 printer $999 Centronics P1 $399 Centronics 700/w tractor S1475 • Miscellaneous Tarbell Controller Kit $185 CP/M Operating System/Manuals . $89 8" Verbatim Diskettes $3.99 5" Diskettes $3.39 1 6k RAM chips $9.75 Pwr Supply cabinet (mini floppy) . . . $79 Wr COMPUTER INrERMCE TECHNOLOGY Peripheral Products Division Grand. Grand Cenlre. Santa Ana. C A 92 705 Circle 71 on inquiry card. TIME SERIES AND STATISTICAL ANALYSIS PACKAGE THIS PACKAGE ALLOWS THE USER TO: 1. LOAD DATA INTO DYNAMICALLY CREATED FILES. 2, EDIT THE DATA. 3. ANALYZE THE DATA. 4 PRINT OUT AND PLOT THE DATA AND RESULTS. SOME OF THE TYPES OF ANALYSIS INCLUDE: 1. FOURIER ANALYSIS 2 CROSS AND AUTO CORRELATION 3. PROBABILITY AND DISTRIBUTION FUNCTIONS 4. PEAK, AVERACE AND ROOT MEAN SQUARED 5. MEAN, VARIANCE AND STANDARD DEVIATION 6. LINEAR, EXPONENTIAL AND GEOMETRIC REGRESSION THIS PACKAGE IS WRITTEN IN NORTH STAR BASIC AND CAN BE PROVIDED AS A LISTING OR ON A DISKETTE FOR $125.00. Potter's Programs 22444 Lakeland St. Clair Shores, Ml 48081 Phone 313-573-8000 Midas Business Software™ Programs (disc based) MBSI Point of sale $49.95 cash register/ inventory update MBSII-1 Personal checkbook $29.95 MBSII-2 Small business $39.95 checkbook MBSIII-1 Basic mail list $49.95 MBSIII-2 Extended mail $59.95 list Forward check or money order to : ISDGInc. 312 Highgate Avenue Buffalo, New York 14215 Circle 181 on inquiry card, TRS-80 MEMORY EXPANSION to 16K Each Kit $79 Includes easy to follow instructions Jumpers and 8-16K Rams 2 Sets (32K)$165 3 Sets (48K) $249 6 Months Guarantee —Visa — Master Charge — Calif. Add 6% Sales Tax MicroComputerWorld Box 242 San Dimas, CA 91773 Circle 218 on inquiry card. TRS-80 Quality Software at mass-production prices! WORD PROCESSOR: Helps prepare letters, manuals, books. Use diskette file for text, page, line control, centering, margin justification etc Diskette 839 Level II, 1 BK vers. $29 MAIL: Lets you enter, display, search, update, delete name S. address info. Reports G. labels sorted in name, state, city or zip code order Diskette $35 INVENTORY: Full control saves you thousands of dollars. Several reports. Diskette $39 DISKETTE data base manager/report generator 32K required $49 KEY random access: blocking S. hashing. DOS. $19 SORT & LINKED-LIST. Level II. $1 each or $1 6 both. Level I or II Cassette data base manager [1 6K] Cassette inventory control [1 6K] $20 $20 Stock security info & analysts $10 Check balance $10 Stock & check $15 MICRO ARCHITECT 96 Dothan St. Arlington, MA 02174 Terminal Systems Dealing / FOR THE BEST DEAL Call! Terminal Systems Inc (213)769-6772 (714)738-4444 (415)537-7723 (BOO) 423-2449 Rely on US Circle 367 on inquiry card. WILD & CRAZY ASSEMBLY PROGRAMMERS The number 2 manufacturer of stand alone POS terminals needs experienced assembly program- mers to help introduce 14 new software based products in 1979. Challenging assignments cur- rently exist at all levels including applications, diagnostics and systems software development. Great benefits including yearly vacation to Europe. Starting salary 16-30K. Please call or write Dave Adams, (617) 246-2815. N.E. Recruiters, 6 Lakeside Office Park, Wakefield, MA 01880. Collect calls accepted. Strict confi- dence assured. All fees, relocation and interviewing expenses assumed .by company. APPLE II TINY BUSINESS SOFTWARE ACCOUNTS RECEIVABLE - 100 cus- tomer accounts max, 8 transactions/ month/customer (typical), month end and individual postings, automatic interest calculations. $75.00 ACCOUNTS PAYABLE - 100 payable accounts max, 8 transactions/ monthly/payable (typical), month end posting. $75.00 PERPETUAL INVENTORY CONTROL - 100 suppliers, 900 individual inven- tory items, heuristic reorder pro- cedure. $100.00 All of these programs have random record access, easy addition and deletion of items, password protection on sensitive procedures. MIN. REQUIREMENT 48K APPLE II, one disk OPT. REQUIREMENT 48K APPLE II, two disks These procedures for screen environment, printer options available soon. DOCUMENTATION only for the above S 1 ea. CHECK OR MONEY ORDER ONLY DEALER INQUIRIES WELCOME CUSTOM COMPUTING SYSTEMS INC. Circle 308 on inquiry card. Circle 217 on inquiry card. Circle 81 on inquiry card. Some Contrary Opinion Peter D. Robertson 17047 Via Pasatiempo San Lorenzo CA 94580 After scanning your August 1978 BYTE, some amusing images came to mind. One was a landscape wherein 1 0,000 programmers sat in front of their terminals, each one say- ing, "Gee, if I only had Pascal, I could do this a lot easier than in lousy old BASIC. I really need Pascal." Another image was of Niklaus himself, saying, "Isn't it amazing how many fools there are who ignored Euler, but are wholeheartedly supporting Pascal?" Yet neither language has any real input/output (IO) or was meant for any real machine. Euler was, after all, the more serious effort. Pascal is only a teaching toy. This is how I see the programming lan- guage controversy in the world of personal computing. First of all, Pascal belongs to a class of highly structured, strongly typed languages. This means that it is hard to use. All variables must be explicitly typed, and control structures must follow a rigid syn- tax, or else the program is garbage. For well- documented, widely distributed programs, this is "good programming practice." For personal computing, this is useless. Sec- ondly, Pascal is difficult to learn. I spent six months studying Pascal in- tensively, but even so, there are a number of subtleties and nuances of the language which escape me today. Yet it took only two weeks to master BASIC. Thirdly, Pascal was not meant to be debugged. Pascal is so good that every program you write is supposed to be correct. You just type it in, compile it, run it and move on to the next program. If it doesn't work, then hopefully your computer has PDB, the Pas- cal debugger program, to help you sort things out. Whereas in BASIC, every state- ment is (or should be) checked for errors when it is entered, not when it is inter- preted. For run time errors, most BASICS allow you to print the values of variables and execute statements selectively, changing them as needed, rather than having to re- compile every time. In short, I don't see how Pascal can ever extinguish BASIC as the language of choice for personal computing. For industrial sys- tems programming, sure, but not for per- sonal applications. Pascal is, after all, only a Circle 72 on inquiry card. NOBODY SELLS THE BEST FOR LESS Exidy S-1 00 Expansion Unit for Sorcerer Expandor Black Box Printer Ithaca Audio 1 6K Memory Upgrade for Exidy Sorcerer & TRS-80 Teletek System Central Interface ATV Research Micro-Verter Cromemco 32 K Bytesaver Kit Scotch 5" Diskettes (Box of 10) Call for our prices on: North Star, Sanyo, Integral Data Systems, IMC, Problem Solver, SSM, Vector Graphic, Dynabyte, ECT, Oliver, Sorcerer Subject to Available Quantities • Shipping and Insurance Extra WE ARE NOW AUTHORIZED DISTRIBUTORS FOR SCOTCH DATA PRODUCTS HOURS: Monday: 1 2 to 6, Tuesday-Friday: 1 2 to 9, Saturday: 1 to 6 Computer Lab of New Jersey 141 Route 46 Budd Lake, New Jersey 07828 Phone (201) 691-1984 Prices valid thru May 1 5, 1 979 LIST PRICE SPECIAL PRICE 299.00 255.64 491.95 420.61 140.00 119.70 385.00 329.17 35.00 29.92 195.00 166.72 65.00 45.00 ONLY PROGRAMMERS SHOULD BE ALLOWED TO MANAGE FILES! Isn't that ridiculous? They're your files, your infor- mation and your needs. Take control of them now with FMS-80 the only fully integrated microcomputer File Manage- ment System. From initial file definition through selective report generation, FMS-80 takes you every step of the way interactively. Written entirely in assembly language, FMS-80 is both efficient, fast and will run under any CP/M- based program (IMDOS, CDOS, etc). Also ask about REMOTE-80 Intelligent Terminal Software; SCREEN DESIGNER-interactively create and utilize video forms; and MLU— the complete Mailing List Utility. DEALERS: Liberal discounts and painless evaluation packages available. Contact us on your letterhead for additional information. COMPUTERS PLUS, INC. 678 S. Pickett St. Alexandria, VA 22304. (703) 751-5656 The plus makes the difference. April 1979 ©BYTE Publications Inc 243 12" BLACK & WHITE LOW COST VIDEO TERMINAL $139.00 LIST Add $5 for shipping and handling Texas residents add 5% sales tax. One year limited warranty 1 Ideal for home, personal and business computer systems; surveillance monitors • 52" diagonal video monitor • Com- posite video input • Compatible with many computer systems • Solid-state circuitry for a stable & sharp pic- ture • Video bandwidth— 12 MHz ± 3 DB • Input im- pedance — 75 Ohms • Resolution — 650 lines Minimum IN Central 80% of CRT; 550 Lines Minimum beyond central 80% ofCRTrefElARS-375 • Dimensions—1 1 .375" high: 16.250" le; 11.250" deep (exclude video input con- nector) • Weight— 6.5 KG (14.3 lbs) net Clse Master Charge/Visa or send money order. Micro Products Unlimited P.O. Box 1 525, Arlington, TX 76010 817/461-8043 Dealer inquiries welcome Circle 224 on inquiry card. 68 MICRO JOURNAL™ ic The only ALL 6800 Com- puter Magazine. CHARTER SUBSCRIPTION SPECIAL 1-Year $10.50 2 Years $18.50 3 Years $26.50 OK, PLEASE ENTER MY SUBSCRIPTION Bill my: M/C Q —VISA Q Card # Expiration Date For □ 1-Yr. □ 2 Yrs. □ 3 Yrs. Enclosed: $ Name Street City State Zip- '68' MICRO JOURNAL™ 3018 Hamill Road HIXSON, TN 37343 Circle 323 on inquiry card. Special for TRS-80 and APPLE II Users rfoMffim Diskettes MD 525-01 —Soft Sect. MD 525-10 — Hard Sect. MD 525-16 — Hard Sect. 3 for $10. (8" Disks - 3 for $12) Check, Money Order, Visa or Master Charge Accepted. No COD's. P. O. Box 327 E Center Valley, Pa. 18034 MICRO'S SHOULD EARN THEIR KEEP! You liked Version 1 of our General Ledger, wail until you see Version 2.2I Some features Include: (Version 1 owners, write for credit on Version 2.2) <%t&t Our new "Skip-Sequential" (TM) file structure; Up to 100 (or more) custom accounts; Direct cursor control (for some video devices) or standard scrolling; Complete Income statement and balance sheet with printer output; Complete audit trails; Expanded error checking; User oriented with expanded manual; much more! 16 programs totalling over 70K. Price: $79.95 Check our documentation: $5.00 (credited towards purchase). All programs on diskette and use North Star BASIC, l(K of free memory, I or more drives. Dealer inquiries invited ECOSOFT P.O. Box 68602 Indianapolis, IN 46268 Circle 1 10 on inquiry card. Want to stick it on y our bum per? Honk if you like "bumper bits." It's the new way to communicate with your fellow computer pros on the highways and byways of life. Each bumper sticker is black-on- white, 4x14". $1 .95 each; 3 for $5. a. Want to hop in and compare peripherals? b. Semiconductors are only in charge of the woodwinds c. Waiter, look at debug in my soup Send. _no. of: (California residents add sales tax.) Mail check, cash or money order to: bumpcf r bit/ TM Box 2062, Menlo Park, CA. 94025 Circle 26 on inquiry card. ■Wb! m SINGLE BOARD COMPUTER $99.50* with 6800 MPU, 6850 serial I/O, 2 6820 parallel I/O (32 lines), 512 RAM, socket for 2708, 2716, EROM. Inter- face modules for industrial control, data acquisition, lab instrumentation, on 44 pin 4W*6 TJ ■v r in $14.95 each 2 -i G2 BEAT THE HOUSE * * * # « G2 CLINIC * * • « * G2 OUTWIT * • » • • G2 THE MARKET • # * • G2 ADVENTURE # • G2 BLOCKADE • • • G2 OIL TYCOON • * G2 PILOT G2 Beat the House includes Blackjack, Craps, Roulette and Slot Machine. Craps is a very big program. Ours left 3K usable in Level II 16K TRS-80™. Allows a family to play as a group against the computer. Call us anytime except Sunday (916) 926-5154 or write As an introductory offer— the first 500 CASCADE ENTERPRISES orders get a free Box 213 10 minute blank cassette. Mount Shasta, CA 96067 Cal. Res. add 6% tax- Bank Cards add shipping & handling $2.00 DM/C DB/A-Visa Signature Expires Circle 44 on inquiry card. April 1979 © BYTE Publications Inc 247 Figure I: Portion of Cromemco Dazzler cir- cuitry which is used to control direct memory access to system memory. The information in this technical forum was also sent by the author to the newsletter of the Amateur Computer Group of New Jersey. PHOLD <3 PHLD [3> C^ d> SINP {3> SOUT ADDRESS BUS CONTROL {3> STATUS DSBL [3> C0NT DSBL fj^> DO DSBL fJ2> A DDR DSBL l__ IC57 PIN I I SOLDER SIDE OF BOARD U^7407 IC57 PIN 12 SOLDER SIDE OF BOARD Figure 2: Addition to the Cromemco Dazzler circuit to eliminate problem-causing pulses on the author's Z-80 S-100 bus system. The fix eliminates spurious SOUT pulses that can cause garbage to be printed out on the system printer when the Dazzler is operating. PHLDA signal. This is done by removing IC57 (a 7495), bending pin 12 straight out and reinserting IC57. This removes the effect of pin 12's output from the circuit. A signal must be supplied from pin 11 of IC57. Unfortunately, for simplicity, buffer- ing must be used to be consistent with TTL loading rules. Fortunately, an uncommitted socket exists on board # 2. A 7407, a hex noninverting buffer with open collector output, can be mounted in this socket along with the pull up resistor. The additional inte- grated circuit is connected as in figure 1." DAM YOUR COMPUTER Data Acquisition hy MODULES E tJ j NOW YOUR COMPUTER CAN LISTEN TO THE REAL WORLD YOU GET 16 8 BIT ANALOG INPUTS WITH OUR AIM16. AIM161 STARTER SET AIM161 POW1 ICON POWER MODULE INPUT CONNECTOR 20 PINS SOLDER EYELETS MEASURE - RECORD - CONTROL TEMPERATURE • ENERGY CONSERVATION EQUIPMENT DIRECTION • GREENHOUSES PRESSURE • SPEED LIGHT LEVELS • WEATHER STATIONS db • NOISE POLLUTION POLLUTION CONTROLS • pH DARKROOMS • EARTHQUAKE TREMORS HUMIDITY • VELOCITY LIGHT • ACCELERATION JOYSTICKS • GAMES ■189.00 CONNECTICUT microCOMPUTER 150 POCONO ROAD ■ BROOKFtELO, CONNECTICUT 06804 1203) 775-9659 248 April 1979 & BYTE Publications Inc Circle 83 on inquiry card. Where Do New Products 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 information might be of interest to the per- sonal computing experimenters andhomebrewers who read BYTE, we print it in some form. We openly solicit releases and photos from manufacturers and suppliers to this marketplace. While we would not knowingly print untrue or inaccurate data, or data from unreliable companies, our capa- city to evaluate the products and companies appearing in the "What's New?" feature is neces- sarily limited. We therefore can- not be responsible for product quality or company performance. Camac Interface Board for Integrated Circuit Pluggable Wire Wrap Use Circle 640 on inquiry card. Camac interface boards for integrated circuit pluggable wire wrap applications are now available from Garry Manu- facturing Co, 1010 Jersey Av, New Brunswick N'J 08902. The new boards are "plug compatible with the Camac standard instrumentation bus. They pro- vide 38 universal rows of 64 socket terminals per row, with ground and volt- age terminals between every other row, spaced .300 inch (.76 cm). The boards will accommodate up to 125 16 pin integrated circuits or an equivalent mix of larger integrated circuits. The new boards are available at $2 to $3 per integrated circuit position." Products for the PET PET Shack Software House, POB 966, Mishawaka IN 46544 has available a line of products for the Commodore PET. Their products include a complete set of schematics of all the boards in the PET plus parts layout and iden- tification; a complete disassembled list- ing of all seven read only memories Dust Covers for Computers and Terminals i ^ Cover Craft has recently announced a new line of high quality protective dust covers to fit all popular brands of com- puters and peripherals. Hundreds of sizes are available, each designed to precisely fit a specific model. Each cover is cus- tom designed and hand cut from high quality textured flexible vinyl. All seams and edges are machine stitched for maxi- mum strength. Contact Cover Craft, POB 555, Amherst NH 03031." Circle 642 on inquiry card. plus identified entry points and ma- chine language monitor program listing; and a multitude of software on cassette. The schematics are priced at $35 and the read only memory routines are $19.95." Circle 641 on inquiry card. Instrument Enclosures for Designers and Manufacturers This S series of sloped top panels and the V series of vertical front panels pro- vide a wide range of uses. Vertical and sloping panels are finished brushed and clear anodized. Covers are finished in hard scratch resist, baked-on black tex- tured enamel. Rubber feet and hardware are provided. All models are of flanged construction, using .063 inch (.16 cm) 14 gauge tempered aluminum. A pre- punching option on all models is avail- able with instructions upon request. Pric- ing ranges from $4.43 to $17.90 each in quantities of one to four. For more information contact AAK Corp, POB 7, Methuen MA 01844." Circle 643 on inquiry card. April 1979 © BYTE Publications Inc 249 What's New? PUBLICATIONS Technical Brochure on Video Analog to Digital Converter The Computer Book Features Workbook Format The Computer Book by Fred Lee is an introductory reference for readers, student and nontechnician alike, who wish to improve their understanding of the digital world. This 365 page self-teaching workbook format guide is presented in a clear, straightforward style. In addition to text on each page, the top third of each page graphically represents a memory location which includes memory and address registers to be filled in by the reader so he or she goes through the same logical steps that a computer would follow while running a program. A sampling of the contents includes: number systems and codes, vacuum cleaners and circuits, the instruction set, programming, thumbs-on experience, assembly language, high level language, microprocessors, and microcomputers. The book is priced at $28 and is available from Artech House, 610 Washington St, Dedham MA 02026. ■ Circle 620 on inquiry card. c Teach Yourself How to Use BASIC BASIC For Home Computers is a self-contained book for learning BASIC. The authors have used Microsoft BASIC for the MITS Altair computer; however, BASIC learned in this book will apply to any computer that understands a similar version of BASIC. This self- instructional book shows you how to read, write and understand BASIC. The material is presented in short numbered sections called frames, each of which teaches something new about BASIC and either asks a question or tells you to write a program. Answers are given, and numerous applications and games are included. The book is priced at $5.95 and is published by John Wiley and Sons Inc, 605 Third Av, New York NY 10016." Circle 621 on inquiry card. Superior Electric Offers Free Stepping Motor Control Catalog This 28 page catalog covers 16 new Slo-Syn stepping motor controls. It includes new translator and preset indexer modules, power supply modules, open chassis and buffered translators, open chassis preset indexers and com- pletely packaged translators, preset indexers and buffered translators. Con- trollers drive at rates up to 5000 steps per second (1.8° steps) or 10,000 half steps per second (0.9° steps). The catalog utilizes charts, specifi- cations, speed versus torque curves and connection diagrams to facilitate selection of correct unit. For this free catalog write to The Superior Electric Co, 383 Middle St, Bristol CT 06010." Circle 622 on inquiry card. This recently published four page technical brochure by Datel Systems, 1020 Turnpike St, Canton MA 02021, details the electrical and mechanical specifications on the new video analog to digital converter Model ADC-TV8B. This converter features an 8 bit resolution, 20 MHz encoding rate, and an internal high speed sample hold. It is ideal for digital television processing and transmission, radar digitizing, and ultrahigh speed data acquisition systems. Other features in this brochure include block diagrams, timing diagrams, technical notes and ap- plications." Circle 624 on inquiry card. Catalog Offers Used Electronic Instruments REI Sales Company, which sells used state of the art electronic instruments and equipment, has announced the publication of a new 20 page catalog of equipment for sale. The catalog is avail- able free upon request. 500 different products from 76 manufacturers are listed; items available are amplifiers, analyzers, attenuators, counters, couplers, detectors, filters, generators, meters, microcomputer development systems, oscilloscopes, power supplies, recorders, synthesizers, and miscellaneous equipment. Terms and conditions of purchase and sale prices of all items are described in this illustrated, indexed catalog, which is available from REI Sales Co, 1 North Av, Burlington MA 01803." Circle 625 on inquiry card. Handbook of Archer Semiconductors The Semiconductor Reference Hand- book is a compilation of data on Radio Shack's line of Archer semiconductors. A cross-reference listing for replacement of transistors, diodes and other inter- changeable semiconductor devices is listed at the back of the book. The total number of cross-referenced devices ex- ceeds 46,000. These listings are com- puter selected and are based on analysis of the key parameters of the listed devices. The price is $1.95. For further information contact Radio Shack, Fort Worth TX 76102." Circle 623 on inquiry card. Interested in Sound Recording? Home Recording for Musicians by Craig Anderton is a 182 page book which explains how to make professional sounding tapes inexpensively at home. This fully illustrated book includes infor- mation on tape decks, multichanneled recorders, microphones, studio setup, tapes, mixing, noise reduction, special effects and more. A special projects section and demonstration record are included. It is priced at $9.95 and is distributed by Music Sales Corp, 33 W 60th St, New York NY 10023." Circle 626 on inquiry card. 250 April 1979 © BYTE Publications Inc MEMORY SALE! have it your way . 16K $295.00 !! (450 NS) $327.00!! (250 NS) 32K $485.00!! (450 NS) $549.00!! (250 NS) ASSEMBLED AND TESTED ONLY ! Check features before you buy any other memory • Extended addressing allows board to exist anywhere • Static, of course in 1 megabyte of memory on standard S-100 bus m Phantom line • LOW Power, 1.8 Amp per 16K • Each 4K block locateable anywhere • 9 Regulators for perfect heat distribution • Fully tested and burned in for 48 hours ADD-ON MEMORY CHIPS - $4.95 EACH ! ! (TMS 4044 or MM 5257) - 8 Chips - Minimum order 16K 32K .:t' ; :i>»r4y. * ■■■ IHIL, f(i ft»M4 au M MEMORY MANAGEMENT $135.00 ! ! • Turn banks of memory on and off • "Sensitize" board to 1 5 CPU instructions (similar to DEC System) • Extends addressable memory space to 1 megabyte Z-80CPU $195.00 ! ! • 2 Parallel + 2 Serial Ports • 2 MHz or 4 MHz Switch Selectable • Baud Rates 150-9600 • Power on Jump to On Board Eprom (2708 or 2716) VIDEO TERMINAL SIMULATOR $295.00 ! ! • Plugs into S-100 Bus and simulates all functions of a Soroc or other RS-232 type terminal. A simple video monitor such as a Sanyo or Sony TV will perform as a smart terminal by writing into an 10 Port. • 2K Eprom, 4K Ram (2 video pages) • Lower Case Descenders ( 1 6 x 64 or 24 x 80) • Tabs, protected fields, home/load cursor, blink, reverse video, underline, page erase, etc. West Coast: ORDER NOW ! ! DELTA PRODUCTS 1653 E. 28th Street Long Beach, Calif. 90806 Tel. (213) 595-7505 Personal checks must clear before shipment Circle 89 on inquiry card. SALES & SER VICE East Coast: DELTA PRODUCTS 1254 South Cedar Road New Lenox, III. 60451 Tel. (815)485-9072 90 day unconditional warranty • B of A, M/C Okay BYTE April 1979 251 TRS-80 ES SERIAL I/O • Can input into basic • Can use LUST and LPRINT to output, or output continuously • RS-232 compatible • Can be used with or without the expansion bus • On board switch selectable baud rates of 1 1 0, 1 50, 300, 600, 1200, 2400, parity or no parity odd or even, 5 to 8 data bits, and 1 or 2 stop bits. D.T.R. line • Requires +5, -12 VDC • Board only 81 9.95 Part No. 8010, with parts $59.95 Part No. B010A, assembled $79.95 Part No. 8010 C. No connectors pro- vided, see below. EIA/RS-232 con- nectar Part No. QB25PS6 0O .with 9'. 8 conductor csbloS10.95 Part No DB25P9. :*,■■•'>■■'. ■ ■■■- mm 3' ribbon cable with attac had con- nectors to ficTRS- 80 and our serial board $1 9.95 Pert No. 3CAB40. RS-232/ TTL-::- IMTERFACE • Converts TTL to RS- 232, and converts RS- 232 to TTL • Two sep- arate circuits • Re- quires -12 and +12 volts • All connections go to a 10 pin gold plated edge connector • Board only $4.50 Part No. 232, with parts $7.00 Part No. 232A 10 Pin edge connector $3.00 Part No. 1 0P modem-::- • Type 1 03 • Full or half duplex • Works up to 300 baud • Origi- nate or Answer • No coils, only low cost components • TTL in- put and output-serial • Connect 8 n speak- er and crystal mic. directly to board • Uses XR FSK demod- ulator • Requires +5 volts • Board only $7.60 Part No. 109, with parts $27.50 Part No. 1 09A VERBATIM MINIDISK Box of 1 $29.95 RS-232/ TTYtf INTERFACE • Converts RS-232 to 20mA current loop, and 20mA current loop to RS-232 • Two sep- arate circuits • Re- quires + 12 and -12 volts • Board only $4.50 Part No. 600, with parts $7.00 Part No. 600A PAvi" mo &00 S-100 BUS ACTIVE TERMINATOR Board only $14.95 Part No. 900, with parts $24.95 Part No. 900A APPLE lift SERIAL I/O INTERFACE Baud rate is continuously adjustable from to 30,000 • Plugs into any peripheral connector • Low current drain. RS-232 input and output • On board switch selectable 5 to B data bits, 1 or 2 stop bits, and parity or no parity either odd or even • Jumper selectable address • SOFTWARE • Input and Output routine from monitor or BASIC to teletype or other serial printer • Program for using an Apple II for a video or an intelligent terminal. Also can output in correspondence code to interface with some selectrics. • Also watches DTR • Board only $1 5.00 Part No. 2, with parts $42.00 Part No. 2A, assembled $62.00 Part No. 2C 8K EPROM piiceon Saves programs on PROM permanently (until erased via U V light) up to SK bytes. Programs may be directly run from the program saver such as fixed routines or assemblers. • S- 100 bus compatible • Room for BK bytes of EPROM non-volatile memory (2708's). • On- board PROM programming • Address relocation of each 4K of memory to any 4K boundary within 64K • Power on jump and reset jump option for "turnkey" systems and computers without a front panel • Program saver software available • Solder mask both sides • Full silkscreen for easy assembly: Program saver software in 1 2708 EPROM $25. Bare board $35 including custom coil, board with parts but no EPROMS $1 39, with 4 EPROMS $179, with 8 EPROMS $219. WAMECO INC. /wmc/ ,„. FDC-1 FLOPPY CONTROLLER BOARD will drive shugart, pertek, remic 5" & 8" drives up to 8 drives, on board PROM with power boot up, will operate with CPM [not included). PCBD $42.95 FPB-1 Front Panel. (Finally) AMSAI size hex displays. Byte or instruction single step. PCBD $42.95 MEM-1A BKx8 fully buffered, S-100, uses 2102 type RAMS. PCBD $24.95, $1 68 Kit QMB-12 MOTHER BOARD, 1 3 slot, termi- nated, S-1 00 board only $34.95 $89.95 Kit CPU-1 8080A Processor board S-1 00 with 8 level vector interrupt PCBD . . $25.95 $89.95 Kit RTC-1 Realtime clock board. Two independ- ent interrupts. Software programmable. PCBD $25.95, $60.95 Kit EPM-1 1702A4K EPROM card PCBD $25.95 $49.95 with parts less EPROMS EPM-2 270B/271 6 1 6K/32K EPROM card PCBD $24.95 $49.95 with parts less EPROMS QMB-9 MOTHER BOARD. Short Version of QMB-12. 9 Slots PCBD $30.95 $67.95 Kit MEM-2 16KxB Fully Buffered 2114 Board PCBD $25.95, $269.95 Kit T.V. TYPEWRITER • Stand alone TVT • 32 char/line, 16 lines, modifications for 64 char/line included • Parallel ASCII (TTL) input • Video output • 1 K on board memory • Output for computer controlled curser • Auto scroll • Non- destructive curser • Curser inputs: up, down, left, right, home, EOL, EOS • Scroll up, down • Requires +5 volts at 1.5 amps, and -12 volts at 30 mA • All 7400, TTL chips • Char. gen. 2513 • Upper case only • Board only $39.00 Part No. 106, with parts $145.00 Part No. 106A UART& BAUD RATE GENERATOR-::- • Converts serial to parallel and parallel to serial • Low cost on board baud rate gener- ator • Baud rates: 110, 150, 300, 600, 1200, and 2400 • Low power drain +5 volts and -12 volts required • TTL com- patible • 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 Part No. 101, with parts $35.00 Part No. 1 01 A, 44 pin edge connector $4.00 Part No. 44P TAPE :.': INTERFACE • Ray and record Kan- sas City Standard tapes • Converts a low cost tape recorder to a digital recorder • Works up to 1200 baud •Dig- ital in and out are TTL- serial • Output of board connects to mic. in of recorder • Ear- phone of recorder con- nects to input on board • No coils • Requires +5 volts, low power drain • Board only $7.60 Part No. 111, with parts $27.50 Part No. 111A HEX ENCODED KEYBOARD E.S. This HEX keyboard has 1 9 keys, 1 6 encod- ed with 3 user defin- able. The encoded TTL outputs, 8-4-2-1 and STROBE are debounced and available in true and complement form. Four onboard LEDs indicate the HEX code generated for each key depression. The board requires a single +5 volt supply. Board only $15.00 Part No. HEX-3, with parts $49.95 Part No. HEX- 3A. 44 pin edge con- nector $4.00 Part No. 44P. DC POWER SUPPLY-: • Board supplies a regulated +5 volts at 3 amps., +1 2, -1 2, and -5 volts at 1 amp. • Power required is 8 volts AC at 3 amps., and 24 volts AC C.T. at 1.5 amps. • Board only $12.50 Part No. 6085, with parts excluding transformers $42.50 Part No. 6085A YW ArHar ■ Mention part number, description, and price. In USA, shipping paid for orders accompanied by check, money order, or Master Charge, BankAmericard, or VISA IU \Jl U VI ■ number, expiration date and signature. Shipping charges added to C.D.D. orders. California residents add 6,5°/o for tax. Outside USA add 1 0°/o for air mail postage and handling, no C.O.D.'s. Checks and money orders must be payable in US dollars. Parts kits include sockets for all ICs, components, and circuit board. Documentation is included witfuall products. Prices are in US dollars. No open accounts. To eliminate tariff in Canada boxes are marked "Computer Parts." Deeler inquiries invited. 24 Hour Order Line: [408) 226-4064 # Circuits designed by John Bell For free catalog including parts lists and schematics, send a self-addressed stamped envelope. ELECTRONIC SYSTEMS ^Pt'B, p - °- Box 21638,SanJose, CAUSA 95151 252 BYTE April 1979 Circle 125 on inquiry card. ACCELEWRITER DOUBLES = DEC WRITER SPEED = The ACCELEWRITER doubles the LA36 Decwriter's speed from 30 to 60 CPS. The ACCELEWRITER is a small molded module which plugs into the printer's logic board. The ACCELEWRITER enables the Decwriter to print at its "catch-up" speed of 60 CPS all of the time. You must be able to program fill characters into the data stream after carriage re- turns. Easy installation and easy recon- version, if ever desired. Compatible with standard Decwriter option boards. Full one-year warranty. Only $115.00. Please write or phone. Illinois residents add 5% sales tax. Available NOW from LARKS ELECTRONICS & DATA P. O. Box 22 Skokie, Illinois 60077 (312) 677-6080 Circle 205 on inquiry card. "GRT INTERFACES" black ■ white/colon Monitors * Combination Rcvr/monitor sets • Modulator kits * B-W Cameras * Color Cameras * Audio Subcanier kits • Parts WRITE or PHONE for DETAILS & PRICING. DIAL: 402-987-3171 Dealers welcomed. Well established program. — rt V^V) 13-B ATV Research DakottiOltir, Broadway ,, At^M NE. 68131 Circle 19 on inquiry card. SUPPLIES • FLOPPY DISKS. MINI OR STANDARD MEMOREX OR 3M • 3M DATA CARTRIDGES DC300A. DC100A ■ 3M DIGITAL CASSETTES • 3M OR MEMOREX AODIO CASSETTES. C-SO • 3M DISK CARTRIDGES WE OFFER: • COMPETITIVE PRICING •IMMEDIATE DELIVERIES {Anv Quantity! ■ DNCONDITIONAL GOARANTEE BETA BUSINESS SYSTEMS 8369 VICKERSST.. #G ^^h SAN DIEGO, CA 92 1714)565^1505 M TRS-80 16K MEMORY EXPANSION KIT INCLUDES 8 TESTED 8 GUARANTEED M5K 4116 3 1SK RAMS. PROGRAMMING PLUGS & EASY-TO-FOLLOW INSTRUCTIONS. $72 BO per KIT 6800 64K BYTE RAM SET AND CONTROLLER CHIP SET MME 64K BYTES OF MEMORY FOR YOUR 6800. THE CHIP SEES INCLUDE: ,„ rm 32 M5K 4116-3 16K RAMS. $29558 1 MC3480L MEMORY CONTROLLER. pfb rriMPi ftf sft 1 MT3242AP MEMORY ADDRESS PER COMPLETE SET MULT | PLEXER/C0UNTER . DATA S APPLICATION SHEETS. PARTS TESTED & GUARANTEED. 16K DYNAMIC RAMS M5K 4116-3 200NSEC ACCESS TIME/375NSEC CYCLE TIME TESTED 8 BURNED-IN. J859 EACH/MIN.QTY. 8 4K STATIC RAMS EQUIV.TOTMS40L44-30 300NSEC ACCESS TIME/ CYCLE TIME FOR 4MHZ 2-80 OPERATION. *755 EACH/MIN.QTY. 8 TESTED & GUARANTEED QUANTITY DISCOUNTS AVAILABLE ALL ORDERS POSTPAID. US FUNDS CHECK OR MONEY ORDER. VISA.8A.MASTERCHARGE — SEND ACCOUNT NO., EXPIRATION DATE , INTERBANK NO, 8 SIGNED ORDER. PHONE ORDERS: 714/633-4460 MEASUREMENT SYSTEMS & CONTROLS, inc. MEMORY DEVICES DIVISION, DEPT. B3 867 NORTH MAIN ST, ORANGE, CA 92668 Circle 216 on inquiry card. Pascal Micro Engine $2695.00 IllllllllllllllllllJIIIillllllllllllllllllllllllllllllllllllll Discounts on Xitan, Cromemco, SD Systems, Vector, TEI, North Star, Apple, Hytype II, Qume, Axiom, Tl, Centronics, Integral Data Systems, Soroc, Lear Siegler, Intertec, Micromation, PerSci, Micropolis, SSM, Computalker, Heuristics, Mountain Hardware, Summagraphics, iiiiiiiimiiiiiiiiiiiiiiiiiiiiiiimiiiiiiiiiiiiiiiiiiiiiiiiii [fiiarsB mfiHT Microcomputers, Peripherals and Software 1015 NAVARRO SAN ANTONIO. TEXAS 78205 512/222 1427 Circle 221 on inquiry card. > SHORT CASSETTES List H.00 10 for S7.50 50 for $32.50 / MICROSETTE CO. \ 777 Palomar Ave. ■ Sunnyvale, CA 94086 Duplication Services Microsette also offers professional duplication services for Commo- dore PET and Radio Shack TRS-80 Level I and Level II cassettes. Our service provides mastering, quality control, all material including two- piece box, affixing of your labels or supplying our blank labels and ship- ping. Prices start at $2.00 each in 100 quantity. MICROSETTE CO. 777 Palomar Ave. • Sunnyvale, CA 94086 SURPLUS ELECTRONICS ASCII ASCII IBMSELECTRIC BASED I/O TERMINAL WITH ASCII CONVERSION INSTALLED $645.00 • Tape Drives • Cable • Cassette Drives • Wire • Power Supplies 12V15A, 12V25A, 5V35A Others, • Displays • Cabinets • XFMRS • Heat Sinks • Printers • Components Many other items Write for free catalog WORLDWIDE ELECT. INC. 130 NORTHEASTERN BLVD. NASHUA, N.H. 03060 Phone orders accepted using VISA or MC. Toll Free 1-800-258-1036 In N.H. 603-889-7661 Circle 395 on inquiry card. \ TRS-80 J SPECIAL PROMOTION SALE SAVE 10%, 15% or more on ALL Computers, Peripherals, Software, and ALL other fine Radio Shack® products. NO TAXES on out-of-state ship- ments. FREE Surface delivery in U.S. WARRANTIES will be honored by your local Radio Shack® store. Offered exclusively by Radio Shack* Authorized Sales Center 1117 Conway Mission, Texas 78572 (512) 585-2765 ^ ^ J Circle 314 on inquiry card. VANGUARD H3K STATIC CAM Designed for IEEE S100 Bus Standards. Fully static and fully buffered. Configured as four 4K blocks within a 64K address space. Each block separately address- able and write-protectable. Components and assembly fully burned-in and tested. One year guarantee. Assembled Kit Board 250 nsec chips $340. $300. $35. 450 nsec chips $300. $260 Order direct by check, Visa or Master Charge. California resi- dents please add bVz% tax. AtfT Advanced Memory Technology 480 Mercury Drive, Sunnyvale, CA (408) 736-3864 94086 Circle 23 on inquiry card. Circle 229 on inquiry card. Circle 4 on inquiry card. Circle 174 on inquiry card. MORE BRAIN FOR YOUR BUCK COMPUCOLOR 1495.00 CROMEMCO D.E.C. HORIZON-I 1395.00 DYNABYTE AXIOM SOROC IQ120 795.00 EXTENSYS HAZELTINE SD SALES KITS 16K MEM 32K MEM 64K MEM 250.00 365.00 615.00 INDUST. MICRO NORTH STAR SEALS VECTOR GRAPHIC TEI MICROPOLIS TARBELL T.I. IMSAI BALLY CENTRONICS DIABLO RADIO SHACK new-VIDEO BD Z80 STARTER SET 250.00 225.00 MAIL ORDER ONLY VERSAFLOPPY 159.00 SEND 50* FOR OUR SBC-100 225.00 CATALOG & PRICES SHUGART DRIVES EXIDY TO ORDER SEND SA-400 305.00 NEC CHECK OR M.O. add SA-800 490.00 QUME 1% for shipping AD P ICE GOOD TILL MAY 31,1979 Calif, res add 6% tax HOLLYWOOD SYSTEMS ™°ii s r ,bW - L.A. CALIF. 90069 15 BECKIAN ENTERPRISES All Prime Quality — New Parts Only Satisfaction Guaranteed EDGE CARD CONNECTORS: GOLD PLATED. (Not Gold Flash) BODY: Non brittle, Solvent res., G.E. Valox. CONTACTS: Bifurcated: Phos/Bronze: Gold over Nickel. ABBREVIATIONS: S/T Solder Tail; S/E Sold. Eyelet: W/W Wire Wrap 3; SW/W Short W/Wrap; PART /f Description S0 10 50/100 S/T ALTAIR 5020 50/100 S/T IMSAI 5030 50/100 W/W IMSAI 5040 50/100 S/E ALT/IMSAI 5050 50/1 00 S/T CROMEMCO 1450 IMSAI CARD GUIDES .100" Contact Center Connectors. 1020 1040 1050 1060 1066 1070 1075 1080 1085 1090 1093 1095 13/26 S/E Imsai MIO: 25/50 S/E 26/50 S/T 36/72 W/W Vector. 36/72 S/T Vector. 40/80 S/E PET 40/80 W/W PET 40/80 S/T PET 43/85 S/E Cos. ELF 43/86 S/T Cos. ELF 43/86 S/T Cos.ELF 43/86 W/W Cos.ELF POLARIZING KEYS: For Above .156" Contact Center Connectors. 1550 6/- S/E PET.Etc 1560 6/12 S/T PET:NSC. 1575 12/24 S/E PET 1 580 1 2/24 S/T PET 1 590 1 5/30 S/E GRI Keybd. 1620 18/36 S/E 1650 22/44 S/E KIM, VECTOR 1660 22/44 S/T KIM. VECTOR 1670 22/44 W/W KIM. VECTOR 1690 36/72 W/W 1710 36/72 S/E ' 1720 36/72 S/T 1 730 43/86 S/T Mot. 6800 1 740 43/86 S/T Mot. 6800 1750 43/86 W/W Mot. 6800 POLARIZING KEYS: For Above Row Sp. .140 .250 .250 .140 .250 .140 .140 .140 .200 .200 .140 .200 .140 .140 .140 .200 .200 .140 .140 .140 .140 .140 .140 .140 .140 .200 .200 .140 .200 .140 .200 .200 1-4 5-9 10-24 3.75 3.50 3.30 3.95 3.75 3.50 4.10 3.90 3.70 5.00 4.50 4.25 6.25 6.00 5.75 0.16 0.14 0.12 2.10 2.95 3.00 4.80 4.00 4.80 5.00 4.90 5.00 5.10 4.95 5.50 0.10 1.30 1.35 2.15 2.10 2.25 2.40 2.20 2.00 2.40 3.90 3.50 3.30 4.40 4.35 4.45 0.10 1.85 2.75 2.80 4.60 3.75 4.50 4.65 4.60 4.75 4.85 4.70 5.20 0.10 1.10 1.15 1.95 1.90 2.05 2.20 2.00 1.80 2.20 3.75 3.30 3.10 4.15 4.10 4.25 0.10 1.75 2.50 2.60 4.30 3.50 4.30 4.35 4.25 4.50 4.60 4.45 4.90 0.10 0.90 0.95 1.75 1.70 1.85 2.00 1.80 1.70 2.00 3.50 3.10 2.90 3.90 3.85 4.10 0.10 RS232 & D' TYPE SUBMINIATURE CONNECTORS: QUANTITY DE9P Male DE9S Female DEI 10963-1 DA15P Male DA15S Female DA6121 11 DAI 10963-2 DB25PMale DB25S Female DB51212-1 DB51226-1A DB1 10963-3 DC37P Male DC37S Female DC1 10963-4 DD50P Male DD50S Female DD51216-1 DD1 10963-5 D20418-2 Hard 2pc. Grey Hood 1 pc. Grey Hood 2pc. Grey Hood 1 pc. Grey Hood 2pc. Black Hood 2pc. Grey Hood 2pc. Grey Hood 1 pc. Grey Hood 2pc. Grey Hood, ware Sets 1-4 1.45 1.93 1.20 1.95 2.80 1.25 1.22 2.20 3.20 1.30 1.40 1.35 3.70 4.90 1.95 4.40 4.90 2.30 2.40 0.75 5-9 1.35 1.80 1.10 1.80 2.60 1.15 1.10 2.10 3.00 1.20 1.30 1.25 3.50 4.70 1.85 4.30 4.70 2.10 2.20 0.70 10-24 1.25 1.70 1.00 1.70 2.40 1.10 1.05 1.90 2.70 1.10 1.20 1.15 3.35 4.40 1.75 4.10 4.50 1.90 2.00 0.65 I.C. SOCKETS. GOLD . WIRE WRAP 3 TURN. 14 pin $0.36 ea. 16 pin 0.38 ea. I.C. SOCKETS. Dip Solder. Tin. 14 pin $0.15 ea. 16 pin 0.17 ea. 8080 PRIME $8.00 ea. 2708 EPROMS PRIME $14.00 ea. CONNECTORS FOR CENTRONICS 700 SERIES: Amhpenol 57-30360 For Back of Centronics '700' Series: Price: $9.00ea. 5 pes. $7.50ea. WHISPER FANS: Excellent for Computer cabinet cooling. Extremely quiet. Dim. 4-3/4" x 1-1/2" thick. U.L. Listed. U4 5^9 10-24 $22.00 $19.00 $18.00 WRITE FOR LARGER QUANTITY DISCOUNTS. DEALER INQUIRIES ARE WELCOME. WE ARE CONNECTOR (EDGE CARD) SPECIALISTS. IF YOU DO NOT SEE WHAT YOU NEED IN THIS ADVERTISEMENT. PLEASE WRITE US. WE WILL REPL Y. TERMS: Minimum Order $10.00: Add $1.25 for handling and shipping. All orders over $25.00 in USA and Canada: WE PA Y THE SHIPPING. NOTE: CA residents please add 6% sales tax. NO C.O.D. SHIPMENTS OR ORDERS ACCEPTED. »*»- ORDERS TO: Be(;kian ^fgfpf/ggg P.O. Box 3089 Simi Valley, CA 93063 254 BYTE April 1979 Circle 30 on inquiry card. •••• •••• §••«. • •••. ••••• ••... •••■■ §••». §•••- ••••• §••«• §•••■ ••••• ••••• ••••• ••••• §•••.. •••••• #••••■ •••••■ •••..■ •••••• •••••• •••••■ §••«.. •••••• §••».. •••••• •••••■ ••••■ •••••• •••••< •••••■ •••••• •••••• •••••■ •••••■ #••••■ •••••• •••••• •••••• :••••• ••••• •••••■ §••■•• •••••• :••••■ ••••• ••■••• ••*••■ §•••■■ #•••• •••••• :•.... •••■■ #••••• •••••■ •••••• •••••■ •••••• •••••■ •••••■ :•■••■ ••••■ •••••• •••••■ ••••■■ •••••■ •••••• :••••- ••••• •••••• •••••■ •••••• •••••■ •••••■ •••••• •••••■ •••••• :•...- •••■■ •••••• •••••■ •••••■ •••••• ••••• •••••< •••••■ ••••■• •••••■ ••••• §••■•■ •••••• ••••■ §••••< ••••• ••••• ••••■ {•... •••• fii wnw USES 2708s! Thousands of personal and business systems around the world use this board with complete satisfaction. Puts 16K of software on line at ALL TIMES! Kit features a top quality soldermasked and silk-screened PC board and first run parts and sockets. All parts (except 2708's) are included. Any number of EPROM locations may be disabled to avoid any memory conflicts. Fully buffered and has WAIT STATE capabilities. OUR 450NS 2708'S ARE $8.95 EA. WITH PURCHASE OF KIT ASSEMBLED AND FULLY TESTED ADD $25 ADD S5 FOR 250NS! $129 KIT (450 NS RAMS!) Thousands of computer systems rely on this rugged, work horse, RAM board. Designed for error-free, NO HASSLE, systems use. KIT FEATURES: i. Doubled sided PC Board with solder mask and silk screen layout. Gold plated contact fingers. 2. All sockets included. 3. Fully buffered on all address and data lines. 4. Phantom is jumper selectable to pin 67. 5. FOUR 7805 regulators are provided v on card. Blank PC Board w/Documentation $29.95 Low Profile Socket Set. 13.50 Support ICs (TTL & Regulators) $9.75 Bypass CAP'S (Disc & Tantalums) $4.50 ASSEMBLED AND FULLY BURNED IN ADD $30 16K STATIC RAM KIT-S 100 BUSS 'fill ii ii iii iii ii i '{llllEI I II 1111111 $ 295 KIT FULLY STATIC, AT DYNAMIC PRICES WHY THE 2114 RAM CHIP? We feel the 21 14 will be the next induslry standard RAM chip (like the 2102 was). This means price, availability, and quality will all be good! Next, the 2114 is FULLY STATIC! We (eel this is the ONLY way to go on the S-100 Buss! We've all heard the HORROR stories about some Dynamic Ram Boards having trouble with DMA and FLOPPY DISC DRIVES, Who needs these kinds of problems? And finally, even among other 4K Static RAM's the 21 14 stands out! Not all 4K static Rams are created equal! Some of the other 4K's have clocked chip enable lines and various timing windows just w critical as Dynamic RAM's. Some of our competitor's 16K boards use these "tricky" devices. But not us! The2114 is the ONLY logical choice for a trouble-free, straightforward design. COMPLEMENTARY POWER TRANSISTORS SILICON NPN AND PNP. TO-220 CASE. VCEO - 40V PD - 30 WATTS FOR AUDIO POWER AMPS, ETC TIP29 - TIP30 - NPN PNP YOUR CHOICE 3 FOR $1 KIT FEATURES 1 Addressable as four separate 4K Blocks 2. ON BOARD BANK SELECT circuitry (Cromemco Standard 1 ). Allows up to 512K on line! 3. Uses 2114 (450NS) 4K Static Rams. 4. ON BOARD SELECTABLE WAIT STATES. 5. Double sided PC Board, wiiti solder mask and silk screened layout. Gold plated contact lingers 6. All address and data lines fully buffered 7. Kit includes ALL parts and sockets. 8. PHANTOM is jumpered to PIN 67. 9 LOW POWER' under2arnps TYPICAL from the t6 Volt Buss. 10. Blank PC Board can be populated as any multiple of 4K. BLANK PC BOARD W/DATA-$33 LOW PROFILE SOCKET SET-$12 ASSEMBLED & TESTED-ADD $30 SUPPORT ICS & CAPS— $19.95 2114 RAM'S— 8 FOR $69.95 16K DYNAMIC RAM CHIP 16K X 1 Bits. 16 Pin Package. Same as Mostek 4116-4. 250 NS access 410 NS cycle time. Our best price yet for this state of the art RAM. 32K and 64K RAM boards using this chip are readily available. These are new, fully guaranteed devices by a major mtg. VERY LIMITED STOCK! 8 FOR $89.95 NOT ASSOCIATED WITH DIGITAL RESEARCH OF CALIFORNIA, THE SUPPLIERS OF CPM SOFTWAW;. 450 ns! 2708 EPROMS Now full speed! Prime new units from a major U.S. Mfg. 450 N.S. Access time. 1K x 8. Equiv. to 4-1702 A's in one package. 1 5.75 ea . $995 4 FOR $50"° PRICE CUT NATIONAL SEMICONDUCTOR NEW! CAR CLOCK MODULE - #MA6008 $6 99 each INCLUDES CRYSTAL TIMEBASE! WORKS ON 12 VDC! Originally used by HYGAIN to indicate time and channel on an expensive C.B. Mini size, sell contained module. Not a Kit. Four digits nlus flashing indicator for seconds. Includes MMLj69 and 3.58 MHZ crystal (or super accurate time base. With hookup data. MFGR's CLOSEOUT LIMITED QTY. Z-80 PROGRAMMING MANUAL By MOSTEK, orZILOG. The most detailed explanation ever on the working 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 pa ges. Just o ff the press. $12.95 LAB-BENCH VARIABLE POWER SUPPLY KIT 5 to 20 VDC at 1. AMP. Short circuit protected by current limit. Uses IC regulator and 10 AMP Power Darlington. Very good regulation and low ripple. Kit includes PC Board, all parts, large heatsink and shielded transformer. 50 MV. TYP. Regulation. MALLORY COMPUTER GRADE CAPACITOR 30.000 MFD 15WVDC Small: 3x2 Inches $1.99 ea. 3 For $4.99 $15.99 KIT GENERAL INSTRUMENT FULL WAVE BRIDGE 4 AMP 600 PIV 3/4 IN SQUARE - WITH LUGS 750 ... 3 FOR $2 New! REAL TIME Computer Clock Chip N.S. MM531 3. Features BOTH 7 segment and BCD outputs. 28 Pin DIP. $4.95 with Data "THE COLOSSUS" FAIRCHILD SUPER JUMBO LED READOUT A full .80 inch character. The biggest readout we have ever sold! Super efficient. Compare at up to S2.95 each from others! YOUR CHOICE FND 843 Common Anode » . FND 850 Common Cathode ' I ea (6 for $6.95) :.V Digital Research Corporation ** (OF TEXAS) P.O. BOX 401247Y* GARLAND, TEXAS 75040 • (214) 271-2461 TERMS: Add 30c postage, we pay balance Orders under Sl5 add 75c handling No COD We accept Visa, MasterCharge. and American Express cards Tex Res add 5% Tax Foreign orders (excepl Canada add 20% P & H 90 Day Money Back Guarantee on all items • •• •••••• ••••• • •••■ ••••• ••••• •••••• •••••• ••••• ••••• ••••• ••••• •••••• ••••• ■>•••• -•••• •••••• ••••• ■••••• •••••• •••••• ■••••• •••••• •••••• ■••••• ■••••• ■••••• •••••• •••••• ■••••• ■••••• •••••• ■••••• ■••••§ ••••• ••••• ■••••• .•.••I •••••j •••••i •••••• -•••• •••••• ■••••• ••••• •••••• ■••••• ••*••• •••••• •••••• — ••• ■••••• •••••• ••••• •••••• ■••••• •••••§ ■••••• ■••••• • ••••• ■••••• — ••• ■••••• ■••••• •••••# •••••• •••••• ...•• ■••••• ■••••• •••••• ■••••• ••••• ■••♦•# -••••§ ■••••# •••••• •••»• •••••• ■••••• ■••••• ••••• ■••••• •••••• -•••• ••••a ••••• ••••§ ••••• ••••• ••••• ••••• •:;•• .•.!•• •••• Circle 100 on inquiry card. BYTE April 1979 255 7400 TTL SN7J00N SN740IN SN7402N SN7403N SN7404N SN7405N SN7406N SN7407N SN7408N SN7409N SN7410N SN7411N SN7412N SN7413N SN7414N SN7416N SN7-J17N SN7420N SN7421N SN7422N SN7423N SN7425N SN7426N SN7427N SN7429N SN7430N SN7432N SN7437N SN7438N SN7439N SN7440N SN7441N SN7442N SN7443N SN7444N SN7445N SN744BN SN7447N SN7448N SN74SON SN74&IN SN7453N SN74S4N SN7459A SN7460N SN7470N SN7472N SN7473N SN7474N SW7475N SN7476N SN7479N SN746DN SN7482N SN7483N SN748SN SN7486N SN7489N SN7490N SN7491N SN7492N SN7493N SN7494N SN7495N SN7496N SN7497N SN74IO0N SN74107N SN74I09N SN74I16N SN74121N SN74122N SN74123N SN74125N SN74126N SN74132N SN74136N SN74141N SN74142N SN74143N SN74144N SN74145N SM74I47N SN7414BN SN74150N SN74151N SN74152N SN74153N SN74154N SN7415SN SN74156N SN741&7N Wto SN74460N SN74161N SN74162N SN74163N SN74I64N SN741G5N SN74166N SN74167N SN74170N SN74172N SN74173N SN74174N SN74175N SN74176N SN74177N SN74179N SN 741 BON SN74181N SN741B2N SN741B4N SN741B5N SN74186N SN7418BN SN74190N SN7419IN SN74192N SN74193N SN74194N SN74195N SN74196N SN74197N SN74198N SN74I99N SN74S200 SN74251N SN74279N SN74283N SN74284N SN74285N SN74365N SN7436SN SN74367N SN7436SN SN74390N SN74393N 20% Diicounl 100 pel combined ordar 25% -1000 pet combined order CD40G0 CD40O1 C04D02 CO40O5 CD4007 C04Q09 CD4Q10 CD4011 CD4012 CD4013 CO40I4 C04015 CD4D16 CO4017 CO4018 CD4019 C04Q20 CD4021 C04022 CD4Q23 CDJ024 CD4025 CD4026 CD4027 74C00 74C02 74C04 74C08 74C10 74C14 74C20 74C30 74C42 74C48 74C73 74C74 7BMG LM1Q6H LM300H LM301CN/H LM302H LM304H LM305H LM307CN/H LM308CN/H LM309H LM309K LM310CN LM311N/H LM312H LM3I7K LM3I8CN/H LM319N LM320K-5 LM320K-5.2 LM320K-12 LM320K-15 LM320K-1B LM320K-24 LM320T-5 LM320T-5.2 LM320T-8 LM320M2 LM320T-15 LM320T-18 IM320T-24 LH323K-5 LU324N LM339N LM340K-5 LM340X-6 LM340K-8 LM340K-12 LM340K-15 74LSO0 74LS01 74LS02 74LS03 74LS04 74LS0S 74LS08 74LS09 74LS10 74LSI1 74LS13 74LSI4 74LS15 74LS20 74LS21 74LS22 74LS26 74LS27 74LS28 74LS30 74LS32 74LS37 74LS4Q 74LS42 C/MOS CO4028 CD4029 CO403O CL;4035 CD4040 CD104T CD4042 CD4043 CD4044 C04046 CO4047 C04048 C04049 CD4050 CD4051 CD4053 CD4056 CD40S9 CD4060 CD406S CD4Q68 CD4069 CD4070 CD4071 CO4072 C04076 CD408I CO4082 CD4093 C0-IQ9fl MC14409 MO4410 MCI44I1 MCM419 MC 14433 MCI 4506 MC 14507 MCI 4562 MCI 4583 CD45D8 CQ45IQ C04511 CIJ4515' CD4518 CO4520 CD4566 74C00 74C85 74C90 74C93 74C95 74C107 74C15I 74C1S4 74C157 74C160 74C161 74C163 74C164 74C173 74C192 74CI93 74CI95 74C922 74C923 74C925 74C926 B0C95 80C97 1.50 LINEAR LM340K-1B 1.35 LM340K-24 1 35 LM340T-5 1.25 LM340T-6 1 25 LM340T-8 1.25 LM340T-12 1.25 LM340T-15 1.25 LM340T-18 1.25 LM340T-24 1,25 LM35BN 2.05 LM370N LM373N LM377N IM3B0N LM380CN LM381N LM3B2N NE501N NE510A NE529A NESSIHA' NE535T NE540L NE544N NE550N NE555V NE556N NE560B NE561B NE562B NE565N/H NE566CN NE567V,H NE570N LM703CN/H LM709N/H 1.95 4.95 3.95 6 00 600 LM71QN LM711N LM723N/H LM733N LM739N LM741CN/H LM741-14N LM747N/H I.M74SH/H LM1310N LM1458CN(H MC1488N 1 39 MC1469N 1 39 LM1496N .95 LM1556V 1.75 MC1741SCP 3 00 LM2111N 1.95 LM2901N 2 95 LM3053N 1.50 LM3065N 1 49 LM3900N(3401).49 LM3905N LM3909W MC5558V LM75450N 7545 1CN 75452CN 75463CN 75454CN 75491CN 75492CN 75493N 75494CN RC4136 RC4151 F1C4194 RC4195 4.95 .49 74LS00HL 74LS47 74LSSI 74LS54 74LS55 74LS73 74LS74 74LS75 74LS76 74LS78 74LSB3 74LSB5 74LS86 74LS90 74LS92 74LS93 74LS95 74LS96 74LS107 74LS109 74LS112 74LS123 74LS125 74LS132 74LS136 74LS138 74LS139 74LS151 74LS155 74LS157 74LS160 74LS161 74LS162 74LS163 74LS164 74LS175 74LS181 74LS190 74LS191 74LS192 74 LSI 93 74LS194 74LS195 74LS253 74LS257 74LS258 74LS260 74LS279 74LS367 74LS368 74LS670 Kits Regulated Power Supply Umi LM 309K Hut link provided P.C. bond cnrutiuciinn Piovidn i lolid 1 «mi> .'■ iiV Includci companmii, luiilvvir Hid intiruciiont Size: 3-1/2" » 5" » 2" h<[h JE200 5v lamp *14.95 ALSO AVAILABLE: 4 Digit Clock Kit * * Bright .357" ht. ltd diipliy * Scquenliil llnhing colon * 12 or 24 hour opBfition * Extruded aluminum die {black) " Pre»ure mitchei for houri, minutes mid hold function! d wall [ rufor JE730 •14.95 JE900 - Digital Stopwatch kit $39.95 JE2206B Function Generator $19.95 JE701 • 6 Digit Clock kit $19.95 JE747 Jumbo 6 digit Clock kit $29.95 DISCRETE LEDS .200- dla. XC556R red XC556G green XC556V yellow XC556C clear .200' dla. XC22R XC22G XC22Y red green yellow .170- dla 5/J1 •1/SI 4*1 4/S1 5/S1 ««1 4/S1 .005" dla. /50 red W INFRA-RED LED 1/4"x1/4"x1/16" Hal 5/S1 .125- dla. XC209R red XC209G green XC209V yellow .115' dla. XC526R red XC526G green XC526Y yellow XC526C clear .190' dla. XC111R red XC1I1G green XC111V yellow XC11IC clear 5/S1 4/S1 4/S1 S/S1 4/S1 4 /SI 4/S1 5/SI 4/S1 4/S1 4/SI TIMEX T1001 LIQUID CRYSTAL DISPLAY FIELD EFFECT 4 DIGIT - 5" CHARACTERS THREE ENUNCIATORS 2.00" X 1 20" PACKAGE INCLUDES CONNECTOR TIODl.Transmissive $7.96 TIDOIARellective B.25 DISPLAY LEDS TYPE MAN 1 MAN 2 MAN 3 MAN 4 MAN 7G MAN 7Y MAN 72 MAN 74 MAN 82 MAN 84 MAN 3620 MAN 3630 MAN 3640 MAN 4610 MAN 4640 MAN 4710 MAN 4730 MAN 4740 MAN 4810 MAN 4840 MAN G61D MAN 6630 MAN 6640 MAN 6650 MAN 6560 MAN 6680 MAN 6710 POLARITY I Common Anode-red 5 » 7 Ool Matrix-red Common Cathode-red Common Cathode-red Common Anofle-tjreen Common Anode-yellow Common Anode-red Common C.itlioda-red Common Anode-yellow Common Cathode-yellow Common Anode-orange Common Anode-orange t 1 Common Cathode -orange Common Anode-orange Common Cathode-orange Common An ode -red Common Anodfl-ied ± 1 Common Cathode -red Common Anode -yellow Common Ca ih ode -yellow Common Anode-orango-D 0. Common Anode-orange ± 1 Common Cathodc-orange-D.D. Common Cain ode -orange l 1 Common Anode-orange Common Calhode-orange Common An ode- red -D D PRICE 295 4 95 TYPE MAN 6730 MAN 6740 MAN 6750 MAN 6760 MAN 6/80 OL701 DL704 DL707 DL728 DL741 DL746 DL747 DL749 DL750 DL33B FND70 FND358 FND359 FND503 FN05O7 5082-7730 H05P-3400 HDSP-3403 5082-7300 5082 7302 5082-7304 5082-7340 POLARITY Common Anode-ret) t 1 Common Cal hade- fed -D D Common Cat ho de- red - 1 Common Anode-red Common Cathode -red Common Anode-red t 1 Common Calhode-red Common Anode-red Common Calhode-red Common Anode-red Common Anode-ied t I Common Anode-red Common Calhode-red 1 1 Common Cain ode -red Common Calhode-red Common Calhode Common Calhode i 1 Common Cathode Common CalhodB(FND500| Common Anode (FN0510) Common Anode-red Common Anode-ied Common Cathode red 4 x 7 sgl OiQft-RHOP 4 k 7 Stjl. Oigil-LHDP Ovemmge character (*1) 4 x 7 Sgl Digii -Hexadecimal 2.10 2 10 1995 19 95 15 00 22 50 RCA LINEAR CA3013T CA2023T CA3035T CA3039T CA3046N CA3059N CA306ON CA3080T CA3081N 15 CA30B2N 56 CA3083N 48 CA3086N 35 CA3089N 30 CA3130T 25 CA3140T 25 CA3160T 85 CA3401N .00 CA3600N 49 CALCULATOR CHIPS/DRIVERS MM5725 52.95 MM573B 2 95 DM8864 2.00 DM8B65 1 00 DM88B7 75 DMBB69 75 9374 7 sea C A LED duver CLOCK CHIPS MM5309 $4.95 MM5311 4.95 MM5312 4 95 MM5314 4.95 MM5316 6.95 MM5318 9 95 MM5369 2.95 MM5387/I99BA MM5841 9.95 MC1408L7 MC1408L8 MC1439L MC3022P MC3061P MC'I0I6(74416) MC4024P MC4040P MC4044P 8 pin LP 14 pin LP 16 pin LP 18 pin LP 20 pin LP 14 pin ST 16 pin ST 18 pin ST 24 pin ST B pin SG 14 ptn SG 16 pin SG IB pin SG IC SOLOERTAIL -TYoTn, PROFILE (TIN) SOCKETS 25-49 50-100 (-24 22 pin LP J 37 24 pin LP 38 28 pin LP 45 36 pin LP -60 SOLDERTAIL STANDARD (TIN) 40 P |fl " M 28 pin ST $ 99 36 pin ST 139 40 pin ST 1.59 SOLDERTAIL STANDARD (GOLD) 24 pin SG i 70 25-49 50-100 .52 28 pin SG 36 pin SG 40 pin SG 8 pin WW £ 39 10 pin WW .45 14 pin WW 39 16 pin WW .43 18 pin WW .75 WIRE WRAP SOCKETS (GOLD) LEVEL #3 22 pin WW $ ,95 24 pin WW 1 .05 28 pin WW 1.40 36 pin WW 1.59 40 pin WW 1 75 1/4 WATT RESISTOR ASSORTMENTS -5% 10 OHM 27 OHM 68 OHM i?OHM 13 OHM H?OHM lb OHM 19 OHM I0O OHM 120 OHM 150 OHM 180 OHM 220 OHM 2TOOHM 330 OHM WO OHM J70OHM ISO OHM 680 OHM B?0 OHM 'K ASST. 7 ASST. 8R I.7M 3.3M 330K 820H 2.2M 5.6M Includes Resistor Assortments 1 -7 (350 PCS.) 50 PCS $1.75 50 PCS 1.75 50 PCS 1.75 50 PCS 1.75 50 PCS 1.75 SO PCS 1.75 so pes 1.75 $9.95 ea $10.00 Minimum Order — U.S. Funds Only Spec Sheets - 2M California Residents — Add 6% Sales Tax 1171 Catalog Available— Send 4K stamp ai meco PHONE ORDERS WELCOME (415) 592-8097 MAIL ORDliR ELECTRONICS - WORLDWIDE 1021 HOWARD AVENUE. SAN CARLOS. CA 94070 ADVERTISED PRICES GOOD THRU APRIL AY-5-9100 AY-5-9200 AY-5-9500 AY-5-2376 HD0165 74C922 TELEPHONE/KEYBOARD CHIPS > Push Button Telephone Dialler $14.95 Repertory Dialler 14 95 CMOS Clock Generator 4 95 Keyboard Encoder 186 keys) 14.95 Keyboard Encoder [16 keys) 7.95 Keyboaid Encoder (16 keys) 5.95 ICM7045 ICM7205 ICM7207 ICM7208 ICM7209 ICM CHIPS CMOS Precision Timer CMOS LED Stopwatch/Timer Oscillator Controller Seven Decade Counter Clock Generator 24.96 19.95 750 1995 695 NMOS READ ONLY MEMORIES MCM6571 128X9X7 ASCII Shifted with Greek 13.50 MCM6574 128 X 9 X 7 Math Symbol S Pictures 13 50 MCM6575 128 X 9 X 7 Alphanumertc Control 13.50 Character Generator MISCELLANEOUS TL074CN Quad Low Noise bi-let Op Amp 2.49 TL494CN Switching Regulator 4.49 TL496CP Single Switching Regulator 1.75 11C90 Divide 10/1 1 Prescaler 19 95 95H90 Hi-Speed Divide 10/11 Prescaler 1195 4N33 Photo-Darlington Opto-lsolator 3 95 MK50240 Top Octave Freq. Generator 17.50 DS0026CH 5Mhz 2-phase MOS clock driver 3.75 TIL308 .27' red num. display w/integ. logic chip 10.50 MM5320 TV Camera Sync Generator 14 95 MM5330 m Digit OPM Logic Block 5.95 LD110/111 3Vi Digit A/D Converter Set 25 00/set UTRONIX ISO-LIT 1 Photo Transistor Opto-lsolator (Same as MCT 2 or 4N25) 2/990 SN 76477 SOUNO GENERATOR Generates Complex Sounds Low Power - Programmable 3.95 each TV GAME CHIP AND CRYSTAL AY-3-8500-1 and 2.01 MHZ Crystal (Chip & Crystal _ ftc . includes score display. 6 games and select angles, elr 7 .-J5 /SGI S8.40 4.40 4.40 1.55 1.50 .39 XR205 XR210 XR215 XR320 XR-L555 XR555 XR556 XR567CP XR567CT XR1310P 1.30 XR1468CN 3.85 XR1486 1.39 XR1469 25 EXAR JE2206KA 14.95 JE2206K8 19.95 XR1SO0 3.20 XR2206 4.40 XR2207 3.85 XR220B 5.20 XR2209 1.75 XR2211 5.25 XR2212 4.35 XR2240 345 XR2242CP 1.50 XR2264 4.25 XR2556 XR2567 XR3403 XR4136 XR4151 XR4194 XR4202 XR4212 XR45M XR4739 XR4741 3.20 2.99 1.25 1 35 295 •! 9:. 3.60 2 05 .75 1.15 1.47 TYPE 1N746 IN751 1N752 1N753 1N754 1N757 1N759 1N959 1N965 1N5232 1N5234 1N5235 1N5236 1N5242 1N5245 1N456 1N458 1N465A 1N4001 DIODES VOLTS W 3.3 400m 5.1 400m 5.6 400m 6.2 400m 6 8 400m 400m 400m 8.2 400m 120 400m 500m 50Dm 500m 500m 500m 500m 6/1 00 6/1.00 5/1 00 12/1 00 TYPE 1N4002 1N4O03 1N40O4 1N4005 1N4006 1N40Q7 1N3600 IN414B 1N4154 1N4305 1N4734 1N4735 1N4736 1N473B 1N4742 1N4744 IN1 183 IN1 184 1N1185 1N1186 VOLTS W 100 PIV 1 AMP 200 PIV 1 AMP 400 PIV 1 AMP 600 PIV 1 AMP BOO PIV 1 AMP 1000 PIV I AMP 50 200m 75 10m 35 10m 15 1w 50 PIV 35 AMP 100 PIV 35 AMP 150 PIV 35 AMP 200 PIV 35 AMP 400 PIV 35 AMP PRICE 12.. 1 00 12/1 00 12/1 00 10 1 00 10/1 00 10/100 6/1 ( 15/11 C36D C3BM 2N2328 MOA 980-1 MDA 980-3 SCR AND FW BRIDGE RECTIFIERS :r 400V 35A (« 600V 1.6A (Vi 300V C106B1 MPSA05 MPSA06 TIS97 TIS98 40409 40410 40673 2N918 2N2219A 2N2221A 2N2222A PN2222 Plaslic 2N2369 2N2369A MP52369 2N24B4 2N2906 2N2907 PN2907 Plaslic 2N2925 MJE2955 2N3053 TRANSISTORS FW BRIDGE REC FW BRIDGE REC. 4/1 00 5/1.00 7/1.00 5/1.00 4/1 00 5/1.00 4/1.00 4/1 00 5/1.00 7/1.00 5/1.00 1.25 2/1.00 2N3055 MJE3055 2N3392 2N3398 PN3567 PN3558 PN3569 MPS3638A MPS3702 2N3704 MPS3704 2N3705 MPS370S 2N37Q6 MPS3706 2N3707 2N3711 2N3724A 2N3725A 2N3772 2N3S23 2N3903 3/1 00 4/1.00 4/1.00 5/1.00 5/1 00 5/1 00 b71.DQ 5/1 00 5/1 00 5/1 00 5/1.00 5/1.00 5/1 00 2N3904 2N3905 2N3906 2N4013 2N4123 PN4249 PN4250 2N4400 2N4401 2N4402 2N4403 2N4409 2N5086 2N5037 2N508B 2N5089 2N5129 PN5134 PN5138 2N5139 2N5210 2N5449 2N5951 3/100 6/1 DO 4/1 00 4/1 00 4/1 00 5:1 00 5/1 00 CAPACITOR 10 pi 22 pi 47 pi 100 pi 220 pi 470 pi 001ml 0022 0047ml 01ml .1/35V 15/35V 22/35V 33/35V 47/35V 68/35V 1.0/35V 47/50V 1.0/50V 3 3/50V 4. 7/ 25V IO/25V 10/50V 22/25V 22,50V 47/25V 47/50V 100/25V 100/50V 220/25V 220/5DV 470/25V 1 000/ 16V 2200/16V 50 VOLT CERAMIC OISC CAPACITORS _ 121L .04 .03 OOIyjF .04 03 ,0047„F 04 03 OliiF 04 .03 022 M f 04 03 047 M F 04 .035 1ART NO: IN-CC $3.49 each MICROPROCESSOR COMPONENTS -BMDA/BOBOA SUPPORT DEVICES— CPU 8-Bil InpulrOutpul Pfiorily Interrupt Conlfol 8- Directional Bus Driver Cock Generator/Oiivei Sjs Driver System Com roller /Bus Driver System ConUoller P'og Comm tiO(USARI] P-og Interval Timer Prog Penpiv 1/0 (PPl) Prog DMA Control Prog tntemini Control —6B0O/S8M SUPPORT DEVICES — MPU -MICROPROCESSOR MANUALS - 3.25 5.95 3.49 3 95 M-ZB0 User Manual M-CDPIB02 User Manual M-2650 User Manual S7 50 750 5 00 - ROM'S - 1195 9 95 19.95 19 95 2513(2140) CHaractei Generator) upper case) 2513(3021) Character Generator! lower case) 2516 Character Generator MM5230N 204B-BH Read Unlv Memory MC6S02CP MPU with Clock and Ram MC68I0API 128XB Static Ram MC6B21 Periph Inter Adapt (MC6B20) MC6826 Priority Interrupt Controller MC6830LB 1324X8 B.I ROM (MC6BA30-8) 14 95 MC6850 Asynchronous Comm Adapter 7.95 MC6852 Synchronous Serial Data Adapt g 95 MC6B60 0-600 bps Digital MODEM 12.95 MC6862 2100 bps Modulator 14 95 MC6680A Quad 3-Siate Bus Trans (MC8T26) 2 25 MICROPROCESSOR CHIPS— MISCELLANEOUS 280(7800 CPU 519 95 280A(780-1) CPU 24 95 CDP1B02 CPU 19.95 2650 MPU 19.95 6035 8-Bit MPU w/clock, RAM 1/0 lines 19.95 P8085 CPU 19 95 TMS9900JL 16-Bit MPU w/hardware. muhiply 49 95 1101 1103 2101(8101) 2103 21L02 2111(8111) MM500H MM503H MM504H MM506H MM510H MM5016H 2504 T 2518 2522 2524 2525 2527 2526 2529 2532 2533 3341 74LS670 SHIFT REGISTERS — Dual 25 Bit Dynamic Dual 50 Bn Dynamic Dual 16 Bit Static Dual 100 Bit Static Oual 64 BirAccumulalor 530/512 Sit Dynamic 1024 Dynamic Hex 32 Bit Sialic Dual 132 Bit Static 512 Siatic 1024 Dynamic Dual 256 Bit Static Dual 250 Static Dual 240 Bit Static Cuad 80 Bit Static 1024 Sialic Hlo 4X4 Register File (TnState) UARTS 2I14L-3 5101 52BO/2107 7489 74S200 93421 UPD414 (MK4027) UPD416 (MK4I16) TMS4044- 45NL TMS4045 2117 MM5262 256X1 1024X1 256X4 1024X1 1024X1 255X4 256X4 1024X4 1024X4 1024X4 1024X4 256X4 4096X1 16X4 256X1 256X1 4K - RAMS Sialic Dynamic Static Static Static Siatic Sialic M0S Static 450ns Static 450ns low power Static 300ns Sialic 300ns low power Sialic Dynamic Sialic Sialic Trislate Sialic Dynamic 16 pin Dynamic 16 pin Static Sialic Dynamic 350ns (house marked) Dynamic 14.95 14 95 1702A TMS25I6 12716! TMS2532 2708 2716 1 I - PROM'S - FAMOS 400 2 95 2.95 6 95 5203 2048 6301-1(7611) 1024 6330-1|7602) 256 82S23 32X8 B2SH5 4096 82S123 32X8 741B6 512 204B " I6K- EPR0M(lnlel 2716) 'Requires single *5V power supply 4KX8 EPR0M 8K EPR0M 16K" EPR0M Requires 3 voltages, A.y-5-1013 30K BAUD FAMOS Tnstaie Bipolar Open C Bipolar Open Collector Bipolar Tnstate TTL Open Collector TTL Open Collector Static 12V 89.95 1095 2995 14.95 . 3 49 295 CEJC CONTINENTAL SPECIALTIES PHOTO BOARDS Proto Board 203 $75.00 Model number PB-6 6 x PB-100 6.0 « P8-101 6 x I WlH (Incheil Price S1595 $19.95 S22.95 Proto Board 203 A PB 203 A net cl rln PB 201 plui flown lUPIlly lltmtiilili/ % flcgulitod W0C itipo', niiPB-7031 Rru, 16VCC ind - I! 9124.95 Model LiWiH number (Inches) Price PB-102 7 X 4 5 X 14 S26.95 PB-103 9.0x6.0x14 (44.95 PB-104 9 8 x 8.0 x 1 4 554.95 pfyjmmm 3%-oigii po^ie dmm • 3 hnjii LED Display • Battery pi AC operation • Im* iVa 1 ohm fMOluiion • Overange reading • 10 meo input impenitence ■ OC Accuiacy i"« typical Rirtg«: OC Voflage OIOOOV AC Voltage (MUOOV Freq Response 50-400 HZ DC/AC Current. 0-IOOmA Resistance 10 meg ohm $9.00 Accessories: AC Adapter BC-28 Rechargeable Batteries BP-26 20.00 Carrying Case LC-28 7.50 BG5F2 100 MHz „.5s?JS!H 8-D'9'' • 20 Hi-100 MHz Range COUfi tei* • 6" LEO Display * Four powtr souces. i e ■ Crystal -conlrolleri trmebase batlenes. 110 or 220V Wtth . fully Aulomalic charger 12V wilh auto • Portable — completely lighter adaptor and external sell -contained 7 2-10V power supply 'S" 1 '!! "Ax-no $134.95 HS3J5 ^ ACCESSORIES FOR MAX 100: Mobil* Chinjer Eliminator use power Irom car battery Modal 100 — CLA S3.9S ChirQar/Ellmlnator use 1 10 VAC Model 100 — CAI J9.9S pjB Mini-MaX 6 Digit 50MHz Frequency Counter • Guaranteed frequency range ol 100 Hr to 50 MHz • Full 6 digil display with antiglare window • Fully automatic-range, polarity, slope, trigger, input level switching not required. • Lead-zero blanking— All zeros to the left of the lirst non-zero digit are blanked Kilo Hertz and Mega Hertz decimal points automatically light up when the unit is turned on. • Built in input overvoltage protection. • Use 9V Battery or 1 10/22DV power. • Complete with mini antenna MINI MAY (an Qt; • Lightweight — Only 8oz lYIIWI-IYIHA 003.30 Part No. MM-A4 MM-C5 MM-IPC MU-AC2 MM-AC3 Accessories For Mini-Max Description Antenna Carrying case 110V adapter 220V adapter Price S 3.95 5.95 3.95 995 9.95 $10.00 Minimum Order — U.S. Funds Only California Residents — Add 6% Sales Tai Spec Sheets - 25r/ 1979 Catalog Available— Send 41C stamp K/^ ^- ELECTRONICS PHONE ORDERS WELCOME (415)592-8097 MAIL ORDER ELECTRONICS- WORLDWIDE 1021 HOWARD AVENUE, SAN CARLOS, CA 94070 ADVERTISED PRICES GOOD THRU APRIL The Incredible "Pennywhistle 103" $139.95 Kit Only The PennywMitle 103 is capable ol recording data lo and Irom audio lape without critical speed requirements for the recorder and it is able to communicate directly with another modem and terminal for telephone hamming ' and communications In addition, it is free ol critical adjustments and is built with non- precision, readily available parts Dan Tram mi si i on Method Frequency -Shift Keying, lull-duplex |halt-dupie« selectable) Manmum Dili Rile 300 Baud Oat* Formal Asynchronous Serial (return lo mark level requited between each character). Receive Channel Frequincln , . .2035 Hz lor space. 2225 Hi for mark Trantmil Ch trine I Frequences' ..Switch selectable Low [normal) = 1070 space, 1270 mark; High 025 space. 2225 mart Receive Sensitivity 46 dbm accoushcalty coupled Transmit Level 15 dtun nominal Adjustable Irom - 6 Qbm to 20 dbm RttMltl Frequency Tolerance ...Frequency reference automatically adiusts to allow lor operation between 1FJ0O Hz ant] 24fXI Hi Digital Data Interface EIA RS-232C or 20 mA currenl loop [receiver is Oploisolated ana non-polar) Power Requirements 120 VAC. Single phase. 10 Watts. Phytlcal All component mount on a single 6* by 9' printed circuit Ooard All components included Reouites a VOM, Audio Oscillator. Frequency Counier and/or Oscilloscope to align TRS-80 16K Conversion Kit Expand your 4K TRS-80 System to 16K. Kit comes complete with: ' 8 each UPD416 (16K Dynamic Rams) * Documentation for conversion TRS-16K $115.00 Special Offer - Order both your TRS-16K and the Sup'R' MOD II Interface kit together (retail value $144.95) for only $139.95 COMPUTER CASSETTES .6 EACH 15 MINUTE HIGH QUALITY C-15 CASSETTES . PLASTIC CASE INCLUDED 12 CASSETTE CAPACITY . ADDITIONAL CASSETTES AVAILABLE #C-15-S2.50 ea i ; .v.* -:;i- , v», , l cas-6 -•i-.-^i-sv, $14.95 . . 4m . ■ (Case and 6 Cassettes) SUP R' MOD II UHF Channel 33 TV Interlace Unit Kit Wide Band B/W or Color System * Converts TV to Video Display tot home computers, CCTV camera, Apple II, works with Cromeco Da;- zler, SOL-20, IRS-80. Challenger. etc. * MOD II is pretuned to Channel 33 (UHF). * Includes coaxial cable and antenna transformer. MOD II $29.95 Kit RS-232 CONTROL CENTER Plug in your modem, computer prom programmer, terminal, printer, etc. h and selectively control data flow. • Same Contour 35 Pennywhisile 103 • Totally sell-conlamed • Includes 2 master ports and 3 slave ports. PART NO. tfon nc RS-232CC $89.95 kit only Ideal tor use witti (he TRS 80 and others. "Plug/Jack interlace to any computer system requiring remote control ol cassette (unctions" The CC100 controls cassette motor lunctions. monitors tape location with its internal speaker and requires no power. Eliminates trie plugging and unplugging of cables dur- ing computer loading opera - lion trom cassette. #CC-100 $29.50 63-Key Unencoded Keyboard This 19 a 63-key, terminal keyboard newly manufactured by a large computer manufacturer. It is unencoded with SPST keys, unattached to any kind of PC board. A very solid molded plastic 13 x 4" base suits most application. IN STOCK $29 95/eactl Hexadecimal Unencoded Keypad 19-key pad includes *l -10 keys ABCDEF and 2 optional keys and g shift key. $10.95/each hi P' Circle 200 on inquiry card. BYTE April 1979 257 What's New? SOFTWARE Software Patch for SwTPC 8 K BASIC Adds Disk Data File Capability A software patch that adds disk data file commands and functions to SwTPC's 8 K byte BASIC has been announced by PerCom Data Company Inc, 4021 Windsor, Gartand TX 75042. SwTPC 8 K byte BASIC is for microcomputers that use the 6800 processor. The software patch is overlaid after 8 K byte BASIC has been loaded in memory. This may be done either manually or from a PerCom disk which includes the patch and a loader program. The modified BASIC takes up 10 K bytes of memory. The patch permits up to four data files to be active con- currently and files may be formatted and updated in place. Formatted files may be accessed randomly. . In addition to OPEN, CLOSE, LOAD and SAVE commands, the program fea- tures special instructions that simplify data manipulation. The software patch includes nine commands and functions. A listing of the patch program and user instruction manual sells for $10. A listing, manual and disk recording of the patch and patch loader sells for $15." Circle 593 on inquiry card. 6800 Compiler Written in 6800 assembly language, this 3 pass compiler (on floppy disk) provides a disk based high level language for microcomputers with at least 16 K bytes of programmable memory. The new language, called STRUBAL (Struc- tured Basic Language), features fully relocatable and linkable code. Versions of the compiler are available for iCOM FDOS-II, Smoke Signal Broadcasting DOS68 and SwTPC Flex. The software supports a full set of scientific functions, one-dimensional and two-dimensional arrays, three data types (16 bit integer, 10 digit floating point and variable length strings), structured programming forms, string functions, embedded assembly language in the source program and common and dummy sections. Line numbers are not required in source programs. Subroutines may be separately compiled or as- sembled and called by named para- meters. The price of STRUBAL is $99.95, which includes a user's manual. For further information contact Hemenway Associates Inc, 151 Tremont St, Suite 8P, Boston MA 02111." Circle 594 on inquiry card. 6502 Assembler in BASIC The 6502 Assembler in BASIC lets you write programs in assembly language for the 6502 microprocessor and have them translated to machine language for direct execution on the PET. The assembler accepts all standard 6502 instruction mnemonics, pseudo-ops and addressing modes, and evaluates binary, octal, hexadecimal and character con- stants, symbols and expressions. Source programs can be read from cassette and object programs can be assembled any- where in memory. The package includes both 1 and 2 pass versions of the assem- bler, a text editor and a disassembler, • and a 30 page manual with PET machine language programming hints, for $24.95. It is available from Personal Software, POB 1 36, Cambridge MA 021 38." Circle 595 on inquiry card. Heurikon Introduces BASIC and Disk Operating System The Heurikon Corp, 700 W Badger Rd, Madison Wi 53713, has announced the addition of Heurikon BASIC and disk operating system (DOS) to its line of MLZ-80 microcomputer products. Heurikon BASIC and DOS is a multilevel system offering two levels of concurrent operation and a disk operating system with file management. The system provides both edit and real time program areas which run concurrently. Real time programs run independently from the keyboard and program editing functions. A real time program is given highest operating priority and may be started automatically in response to external stimuli. Edit area programs will be interrupted to service real time oper- ations. When the real time program completes a task, control is returned to the interrupted point in the edit program. New programs may be deve- loped and tested in edit while the real time program continues to monitor external events. Heurikon BASIC and DOS file management architecture allows any number of variable length files to be cataloged on the disk. This system is available configured to run on the Heurikon MLZ-80 micro- computer system, which is fully com- patible with Intel's SBC Multibus. It can be provided on disk or in erasable pro- grammable read only memory.* Circle 596 on inquiry card. Software Package for 8080 and Z-80 Microcomputers The SOS (single user operating system) package provides the user with a step between the Opus stand-alone high level languages and the Tempos multiuser/multitasking operating system. The SOS package includes: Opus/Three, the high level compiler/interpreter from AS I; Texted, an easy to use, line orient- ed text editor; Assembl, an 8080 as- sembler; Files, a diskette file manipu- lator; and Utilities 1, a package of 12 utilities programs. Full upward compatibility has been retained to allow the user of SOS to access data and programs developed at lower levels; all may be used under the TEMPOS operating system as well. All floppy disks and serial device input/ output (IO) is handled by SOS; a system generation routine lets the user define IO drivers as required. The recommended hardware con- figuration includes an 8080 or Z-80 processor, 32 K bytes of programmable memory, one or two floppy disk drives, and terminals as required. The system typically resides in less than 10 K bytes of programmable memory. The package is priced at $385 and the user's manual set may be purchased separately for $20, which is credited toward purchase of the SOS package. For more information contact Adminis- trative Systems Inc, 222 Milwaukee, Suite 102, Denver CO 80206." Circle 597 on inquiry card. Language Family Designed for Z-80 Computers Designated PLZ, this family of sys- tem programming languages is imple- mented as a set of disk based programs that run in the RIO operating system of Zilog's Z-80 computers. Linkage to other languages such as BASIC, COBOL and FORTRAN is straightforward. PLZ permits a systematic combination of high level machine-independent modules with low level machine-dependent modules within the same program. The high level modules utilize the procedure oriented PLZ/SYS language. PLZ/SYS blends elements of such lan- guages as Pascal, ALGOL, PL/I, and C to provide a medium for expressing algo- rithms in a high level, structured fashion. PLZ/SYS requires minimal run time support. A structured assembly language, PLZ/ASM, provides all of the low level programming capabilities necessary for the user to manage such processor resources as registers, memory, accesses and input/output (IO) operations. Initial PLZ program implementation consists of the PLZ/SYS compiler, PLZCG code generator, Zinterp inter- preter, Plink linker, PLZ/ASM trans- lation filter, and PLZ IO package. For more information contact Zilog, 10340 Bubb Rd, Cupertino CA 95014." Circle 598 on inquiry card. 258 April 19790BYTE Publicalions Inc 10-DAY FREE TRIAL Send for our FREE Catalog ^ $750 P€T • 14K ROM, 8K RAM • Fast Microsoft BASIC • Integral Tape & CRT • Graphics & Lower case • Real-time clock • IEEE and Parallel I/O The most computer value you can buy in asingle box, the PET is a complete system. It's our most popular computer. 'ITU i THE PET A Home Computer & A Video Game in a Single Unit' INTERACT Model One 14 FREE CASSETTES, worn, $294 8K-S499 16K-S599 < Mi r graphic nlhesu • Built-in cassette tape drive • Large 53key keyboard ■ Two joysticks included • Edu-BASIC cassette mclud 1 BOBO Microptocessor ' BK RAM 2K ROM I you tan I decide between lophistiealed video gime and iom« computer Ihen the Inle id Model One is lor you Hook or you can load Edu-BASIC and write youi own games Beit of all you get over S294 MICROSOFT *»}* BASIC c ^ For a limiled lime we art- oflenng In- teract S new lloalmg poini BASIC by Micosoti tree w.ih the purchase o< a 16K Interact Moael t This saves you S49 95 and gives you the most BASIC programming power available in a compuler this sue Oiler good for or- apple II The most powerful computer you can attach to your TV NCE/CompuMart now carries the popular Apple II microcomputer system. It easily attaches to any TV and can be used for either business or games. To see why the Apple II continues to be the leader in TV-display computers, write for more information. 16K Apple II Computer 48K Apple II Computer Disk Drive & Controller Second Disk Drive only $1195 S1795 $ 595 $ 495 Hazeltine 1400 „ rvC t*o>N Only \W& oC $699.00 Now a 5th Generation in Terminals: Immediate Delivery Hazeltine 1500 full of features $1049 Hazeltine 1510 with buffer logic $1149 Hazeltine 1520 with printer interface $1499 call or write for more information x *5o^ $675.00 32K PET With the trade-in of your work- ing PET. $1,195.00 otherwise SYM-1 From Synertek $269.00 NOW IN STOCK — SYM BASIC $159 Datel ISelectric Table-top *& Terminals r •S3W s $695 9 $ AS IS WORKING KIM-1 (» r\V'*" Assembled $169.95 $21- NCE/CompuMart 1250 North Main Street, Department BY49 P.O. Box 8610 Ann Arbor, Michigan 48107 10 DAY RETURN PRIVILEGE (313) 994-3200 « jpfc** List $279.95 S*l£ $189.95 S-100 MPA S-100 MPA gives your PET complete control of the S-100 bus (even DMA). Get an assembled unit at kit price. KTM-2 A new concept in terminals Only $349.00 Synerlek s unique new terminal looks like a keyboard bul u contains all the logic 10 display 24 lines of 40 charac- ters Upper Lower case ana 128 special graphic characters may be output to a monitor (or TV wrlh BF modulalon Local editing (erase line or screen) ao- ■upply 4.95 EXPAND YOUR KIM SYSTEM: KIM SI KIM lo S-100 Board Assembled $169 Connector Set 15 KIM 4 Expansion board 89.95 MICRO TECH POWER SUPPLY Aiscmoi.0 ,j 4)! KIM ENCLOSURE you' KIM a professional appear- ance No altera. ions reduced Sturdy Kyden .00 Black $23.50 New Acoustic Coupler fi SANYO MONITOR Single ooara VIDEO TERMINAL by XITEX 16 Lux $4 Chr display 128 printable characters software UART (ASCII or Baudot, 3 serial interlaces & cassette I O irue composite video TTL compatible easy power con- • Michigan residents add 4% sales tax • Foreign order (excepl Canada) add t0% additional han- dling (U.S. currency only) • PC's accepted from D&B rated companies — shipment contingent upon receipt of signed purchase order • Phones open from 9:00 a.m. -7:00 p.m. EST Monday-Friday, 10:00 a.m. -5:00 p.m. Saturdays • Open accounts invited — call for credit application • Most Items in stock for Immediate shipment— call for delivery quotation • Sorry— no C.O.D.'s • All prices sub|ect to change without notice. • In the Ann Arbor area? Retail store open 11:00 a.m. -7:00 p.m. Tuesday- Friday, 10:00 a.m. -5:00 p.m. Saturdays (closed Sunday * Monday) Circle 283 on inquiry card. BYTE April 1979 259 i Computer Products * DISK DRIVES * B51 5'/." $295.00 by Micro Peripherals, Inc. Operates In eithet single density (125KB, unformatted) or double density (250KB, unformatted) modes, up to 40 tracks, with a track-to-track access time of only 5 ms. SA801R $495.00 by Shugart Single-sided 8" floppy disk drive. FD8-100 S395.00 GSI/Siemens. Runs cooler and quieter than 801 (8") DM2700-S $750.00 Includes SA801R. 10"xl0"xl6" cabinet, power supply, data cable, fan, AC line filter. 1791 BOI Dual Density Controller Chip $49.95 LOGIC PROBES i Cull. Il"r.quim;:yl 10 or linglo eve CSC Modal LP ! Logic P(ob*-Mo MODEL LP -3 High ipeed Ichjic: pro!*?. C-iejuj"' Impadanc*; 500.000 olimi Mln Maximum Input Signal [Ffaqm ILEOI: High tpead train or tmgl level traninion delected jntj lion CSC Modal LP 3 Logic Pioba-Nc or CMOS Input Impadanta Pulta: SO m Manmui Cult. Dataetor (LED1 Mi at ihort a. 10 m. Input i Detactatile fuita 10 n! : 60 MHr l-.ilu DalaclOf ' TWO SIEMENS/GSI 8 FLOPPY DRIVES POWER SUPPLY FOR ABOVE - JADE/TARBELL DISK CONTROL KIT IS 1 001 • CP/M OPERATING SYSTEM WITH BASIC-E PACKAGE OF 10 BLANK 8" DISKETTES Price if purchased separately: $1192.50 JADE SPECIAL PACKAGE DEAL: $1050.00 3-LEVEL GOLD WIRE WRAP SOCKETS 14 PIN 39c each 16 PIN 43c each 100 for $30.00 Sockets are end and side stack- able, closed entry. S-100 MOTHER BOARDS JADE 6-SLOT Kit S41.95 Assembled & Tested $56.95 Bare Board $24.95 9-SLOT "LITTLE MOTHER" Kit $85.00 Assembled & Tested $99.00 Bare Board $35.00 13-SLOT "QUIET MOTHER" Kit $95.00 Assm. & Tested $110.00 Bare Board $40.00 22-SLOT "STREAKER" Assm. & Tested $149.00 GOLD PLATED S-100 EDGE CONNECTORS Soldertail $3.25 each 10 (or $30.00 Wire Wrap $4.50 each 10 for $40.00 DCOM 100 Intelligent Printer Interface & Cable for TRS-80 $45. 00 • 40 character per second rate • Low cost thermal paper • 96 character set • Microprocessor controlled • Bidirectional look-ahead printing • Quiet operation • No external power supplies • Only two driven parts • High reliability • Clear 5x7 characters • Attractive metal and plastic case Interface & Cable for Apple $60. 00 EXPANDORS BLACK BOX PRIN] This 64-character ASCII impact printer with 80-column capability is portable and uses standard 8V2" paper and reg- ular typewriter ribbon. Base, cover and parallel Interface are included. Assembled and complete with manual and documentation. , ^m-in nn only $470.00 (90 day manufacturer's warranty) TRS-80 Interface Cable for Black Box Printer with mating connectors: $48.00 (must be usnd with expansion module, *8v/] jtnp power supply required.) VIDEO INTERFACE S-100 Compatible Serial Inter- face with Sockets Included. Kit $117.95 Assembled & Tested $159.95 Bare Board w/manual $ 35.00 Z80A SPECIAL 4MHz CPU Chip xjr $14.95 •£ K_J Products "KANSAS CITY STANDARD" TAPE INTERFACE Part No. 111 Board $7.60; with parts $27.50 RS-232/TTL INTERFACE Part No. 232 Converts TTL to RS-232 and RS-232 to TTL Board only $4.50; with parts $7.00 RS-232/TTY INTERFACE Part No. 600 Converts RS-232 to 20mA current loop, and 20mA current loop to RS-232 Board only $4.50; with parts S7.00 TU-i Convert your T.V. set into a Video Monitor Kit $8.95 PARALLEL/SERIAL INTERFACE S-100 compatible 2 serial I/O ports 1 parallel I/O. Kit JG-P/S $124.95 Assembled & Tested: JG-P/SA ^VERBATIM™ FLOPPY DISKS 5% in. Minidiskettes Soft sector, 10 sector, or 16 sector $4.40 each or box of 10 for $40.00 8 in. Standard Floppy Disks Soft Sector $4.75 each— 10 for $42.50 Bare Board w/Manual $179.95 $ 30.00 FLOPPY DISK INTERFACE JADE FLOPPY DISK (Tarbell board) Kit $175.00 Assembled & Tested $250 00 S.D. Computer Products VERSA-FLOPPY Kit $159.95 Assembled & Tested S239.00 Integral Data Systems « Check the impressive features on Integral's IP-125 Impact Printer lly $799 LOADED WITH EXTRAS AT NO EXTRA COST ■ Micioprocessor controller "Serial RS232C Interlace "Parallel TTL level Interface "Full upper and lower case ASCII character set |96 characters) ■ roll 8''." men wide paper ■ Line length of BO columns at 10 characters per inch • Impact printing ■ 7x7 dot matrix ■ Ordinary paper— roll, lanlold, or sheet ■ Serial baud rate to 1200 bits per second • Multiple line butfei ol 256 characters • Instantaneous print rate to 100 characters per second • Multiple copies without adiustment ■ Retaking ribbon mechanism ■ Front panel operator controls ■ Attractive table top console > Power Supply for TRS-80/Black Box Printer $49.00 IP-12S Integral Data System IP-125 Friction Feed Printer a96 upper & lower case ASCII character set • Enhanced character control • Serial RS232C Interface (std. factory wiring) • Parallel TTL Interface (factory wired on req.) • 80 column line .»___ • 256 byte multiline buffer $799 IP-225 Integral Data System IP-225 Tractor Feed Printer •All standard features of IP-125 • Tractor feed paper drive • Forms Control Option (P1250) $949 Hill!!' 3690-12 CARD EXTENDER Card Extender has 100 contacts. 50 per tide on ,125 centeri. Attached connector is com- patible with S-100 Bus Systems . . $25.00 3890 6.5" 22/4 pin. 158 cm. Exmntt.n S12.00 Gen. Purpose O.I, P. Boards with Bus Pattern for Solder or Wire Wrap. Epoxy Glass 1/16" 44 pin con. spaced .156. 1km Plugboards 8800V J m versa! Microcomputer /processor plugboard. Use with S-100 bus. Com- plete with heat sink & hardware. 5.3" x 10" x 1/16". 8801-1 Same as 8800V except plain; less power buses & heat sink. 3677 9.6" x4.6". . 3677 2 6.5" x 4.5" . $10.90 . $9.74 1-4 5-9 10-24 8800V 19.95 17.95 15.96 88011 14.95 13.46 11.96 patten Epoxy Glass spaced .156. 3662 6.6" x 4 3662-2 9.6" x 5" $7. 4.5". . . $11. Hi-Oensity board for Power & Glass 1/16' .156. 3682 9.6" x 3682-2 6.5" Dual-in-Line Plug- Wire Wrap with Grd. Bus Epoxv 44 pin con spaced 4.5" . x 4.5" $10.97 . $9.81 260 BYTE April 1979 Circle 195 on inquiry card. PLACE ORDERS TOLL FREE 800/421-5809 Continental U.S. 800/262-1710 Inside California $179 [o* puce includes KIM ' Module moniitu uioyrams siu>e(l in 2048 ROM Byies USB Manual wall we Scne main. Haidwaie Man^ai Programming ManuHi Programmeis Heieiente Can) Keyooaid Disitfav $245 6S02 — based single board computer with keyboard/dis- play, KIM-1 hardware compa- tible, complete documentation. SYM-1 CASE $29.95 MICROPROCESSORS F8 Z80 (2MHz) Z80A (4MHz| COP1B02CD 6502 6800 6802 8008- 1 8035 8035-8 8080A 8085 TMS9900TL 8080A SUPPORT DEVICES 82 12 8214 8216 8224 (2MHz| 8224-4 (4MHz) 8226 8228 8238 8243 8251 8253 8255 8257 8259 8275 8279 USRT S2350 UARTS AY5-1013A AY5-1014A TR1602B TMS6011 IM6403 BAUD RATE GENERATORS MC14411 14411 Crystal 6800 PRODUCT 6810P 6820P 682 IP 6828P 6834P 6850P 6852P 6860P 6862P 6871P 6875P 6880P CHARACTER GENERATORS 2513 Upper (-12*5) 2513 Lower (-12-1-5) 2513 Upper (5 visit) 2513 Lower (5 volt) MCM6571 up scan MCM6571 Adown sen PROMS 1 702 A 2708 2716 (5*12) Tl 2716 (Sv) INTEL 2758 (5v| DYNAMIC RAMS 416D/4U6 (200ns) 2104/4096 2107B-4 TMS4027/4096 (300ns) STATIC RAMS 1-15 21L02 (450ns) $ 1.50 21L02 (250ns) * 1.75 2101-1 $ 2.95 2111-1 $ 3.25 2112-1 $ 2.95 FLOPPY DISK CONTROLLERS 1771B01 1791 KEYBOARD CHIPS AY5-2376 AY5-3600 MM5 740 $ 4.00 $ 6.60 $ 6.60 $11.25 $16.95 $ 8.65 $11.00 $ 9.25 $12.00 $28.75 $ 8.75 $ 2.50 $ 6.75 $ 6.75 $ 9.75 $10.95 $10.95 $10.95 $ 8.00 $ 9.95 $60.00 $60.00 $23.40 $12.50 $ 4.00 $ 3.95 $ 4.00 16-100 $ 1.20 $ 1.50 $ 2.60 $ 3.00 $ 2.65 $39.95 $49.95 $13.75 $13.75 LEEDEX MONITOR • 12" Black and White • 12MHZ Bandwidth • Handsome Plastic Case $139. 00 NEW! Naked Terminal FEATURES & BENEFITS • Industry standard 80 character by 24 line format (Model 57) ■ Completely self contained termi- nal electronics, just add CCTV monitor and keyboard. ■ No support software required. ■ Switch selectable modes: Half Duplex, Full Duplex, Block mode. ■ Block mode allows editing be- fore transmit. ■ Keyboard interface provided, including regulated +5 volts and -12 volts. ■ Video is switch selectable as "Black-on-White" or "White-on- Black". ■Fully assembled, socketed, tes- ted, burned in, and guaranteed for a full year from date of purchase. JADE Z80 BOARD IMPROVED DESIGN AND FEATURES • ON BOARD 2708 or 2716 EPROM • VERY RELIABLE AT 4 MHZ OR 2 MHZ • POWER ON JUMP AND RESET • ON BOARD USART (8251) Jade memory Expansion Kits for trs-80 and Apple! 4116'$ 8 for $69.96 (16K x 1, 200ns) includes dip plugs and instructions 3 i 4 4 4 4 2 MHz Kit Assembled 8. Tested 4 MHz Kit Assembled & Tested Bare Board $135.00 $185.00 $149.95 $199.95 $ 35.00 with full documentation •TRS-80 Kit • (16K x 1, 300ns) includes connectors and instructions $75.00 Call lor discounts on larger quaniities *>. ^ A -♦- AA AA6i y^^^m9wmn% -%W 'Piicet "IMSAI"-TYPE CARD GUIDE SPECIAL: Regular Price 30d each SPECIAL: 10 for $1.00! DYNAMIC RAM BOARDS EXPANDABLE TO 64K 32K VERSION • KITS Uses 4115 (8Kxl, 250ns) Dynamic RAM's, can be expanded In 8K increments up to 32K: 8K $159.00 16K $199.00 24K $249.00 32K $299.00 4115 SALE 8 for $39.95 64K VERSION «KITS Uses 4116 (16Kxl, 200ns) Dynamic RAM's, can be expanded in 16K increments up to 64K: 16K $249.00 32K $369.00 48K $469.00 64K $569.00 The Piggy™ is here! TEXTOOLZIP* DIP® II SEE OUR COLOR AD IN APRIL'S RYTE -^sm Sockets *ZERO INSERTION FORCE sockets PRICES: 16 pin Zip Dip II 24 pin Zip Dip II 40 pin Zip Dip II $5.50 $7.50 $10.25 + STATIC RAMjL SPECIALS 2114's, low power (1024x4) 1-15 16-99 100 j 450ns 300ns 8.00 9.00 6.9S 8.00 5.50 6.50 TMS40447MM5257, low power 450ns 300ns 8.00 9.95 7.50 8.75 6.50 8.00 4200A (4Kxl, 200ns) 9.95 I 8.50 1 8.00 Computer Products 4901 W. ROSECRANS AVENUE Department "B" 3 HAWTHORNE. CALIFORNIA 90250 U.S.A. Telephone: (213) 679-3313 (800) 421-5809 Continental U S. (800) 262-1710 Inside California Cash, checks, money orders, and credit cards accepted. Add freight charge of $2.50 for orders under 10 lbs. and $1.00 service charge for orders under $10.00. Add 6% sales tax on ail parts delivered in California. Discounts available at OEM quantities. WRITE FOR OUR FREE CATALOG All prices subject to change without notice. 410D (4K x 1, 200 ns) 18.25 I 7.00 16.75 STATIC RAM BOARDS JADE 8K Kits: 450ns $125.95 250ns $149.75 Assembled & Tested: 450ns $139.75 250ns $169.75 Bare Board: $ 25.00 16K - Uses 21 14's (low power) Assembled & Tested: RAM 16 (250ns) $375.00 RAM 16B(450ns) $325.00 16K with memory management Assembled & Tested: RAM 65 (250ns) $390.00 RAM 6SB(450ns) $350.00 32 K Static Assembled & Tested: 250ns $795.00 450ns $725.00 250ns Kit $575.00 Circle 195 on inquiry card. BYTE April 1979 261 What's New? MEMORY Full Size Floppy Disk Memory Completely Assembled //immmu Discus I is a full-size floppy disk memory for S-100 systems using the 8080 processor. The Discus I is sold as a complete system, assembled and tested, with all required hardware and software. Hardware included in the Discus I sys- tem includes a Shugart 800R full-size disk drive fully mounted in a custom, all metal cabinet with an independent pow- er supply; a Disk Jockey I S-100 con- troller with a capacity for seven addi- tional disk drives; and all necessary cables and connectors. The controller offers an on board serial input and output (IO) port to which all system software has been inter- faced. The IO routines can then be modi- fied with the included system software at the user's convenience. Software included features an inte- grated Disk/Ate system containing most utilities: disk operating system, file management, system debugger, text editor, batch processor and 8080 assem- bler. Also included is BASIC-V,a virtual disk BASIC with the ability to address up to 2 M bytes, and to accommodate a wide variety of data types including string-oriented arrays with an unlimited number of dimensions. Also included are patches for CP/M. The Discus I system sells for $995 plus tax and handling. For users wishing to supplement the Discus I software, several extra cost options are available. CP/M for Digital Research is available for $70. Microsoft Extended Disk BASIC for $199 and Disk FORTRAN for $349 are also available. For further information, contact Thinker Toys, 1201 10th St, Berkeley CA 94710." Circle 632 on inquiry card. Programmable Memory Board for M6800 __ t i mmtmm mmimm - ^^W ^^^^fl r^r^^T ^^^^ MMiaa* MM*** HHUMMH *mwm mmimm imiim mmtmm mm mm wmtmm MiM mm mm mm mm nmtmm mmt—m mmimm mm mm *KKliK» MMtMMM mmmm mm-mm- amiim* am.imm mm mm mmmm- WMWM wMtiM mm mm 'mm mm WiM yfiyom itiiiiiiiiimiHiHUiiiitiiiiiiiiiKfP"*^ The SME6808 is an 8 K byte by 8 bit low power static programmable memory board for microcomputer systems which utilize the M6800 bus structure. The fully assembled and tested memory board operates from a single 5 V power supply and is available in versions with either 250 ns or 500 ns access time. The module is organized as two 4 K byte arrays which can be independently located at any 4 K byte boundary in the 64 K byte addressing range of the sys- tem. Base address selection for each array is made via on board jumpers. Switches provided on the board allow selection of a read only mode of opera- tion for each of the 4 K byte arrays. This permits the user to simulate read only memory for software development appli- cations, or to protect data from being overwritten during program execution. Slow memory circuitry can be pro- vided with the SME6808 module. This option permits the 500 ns board to be used in applications with high speed pro- cessors or protects investments in mem- ory as high speed processors are added to existing systems. The price of the 500 ns board is $324.95; the 250 ns version sells for $399.95. Slow memory circuitry is avail- able for either version at an additional cost of $10. Ultra low power modules are also available. Contact American Technologies, POB 23001, Rochester NY 14692. ■ Circle 633 on inquiry card. Memory Board with Vector Jump The MB-8A memory board, which uses 2708 erasable read only memories, is fully buffered, has reverse voltage protection, and includes vector jump capabilities which enable the user to jump to any 256 bit location on the board. Features of the new board include magic mapping, which automatically disables any socket with no read only memory installed, allowing the use of additional programmable memory. The board does not require the use of a front panel. Just reset and go. The MB-8A is plug compatible with all S-1 00 bus main- frames and has dual-in-line package (DIP) switch selection of eight wait states. The price of the MB-8A is $95 from SSM, 2116 Walsh Av, Santa Clara CA 95050." Circle 634 on inquiry card. Memory Board for S-100 Bus PCE Electronics has announced the 16/4+1 erasable read only memory and programmable memory board for the S-100 bus. This board features accom- modations for up to 16 2708 1 K word by 8 bit erasable read only memory inte- grated circuits, addressable in four sepa- rate 4 K byte blocks. Any block may be addressed on any 4 K byte boundary in memory and any of the 16 erasable read only memory sockets may be disabled. The erasable read only memory section is capable of generating zero to four wait states. The programmable memory section of the 16/4+1 utilizes eight 21L02 1 K by 1 bit static programmable memories. The 1 K byte block of programmable memory is addressable on any 1 K byte boundary in memory. Either 250 ns or 450 ns programmable memories are avail- able with the board. Other features of the board include complete buffering, solder mask, silk screened component location diagram, sockets for all integrated circuits and complete documentation. The price for the board in kit form is $130, or $155 for an assembled and tested board. The 250 ns program- mable memory circuit is $5. For more information contact PCE Electronics, 4782 Dewey Dr, Fair Oaks CA 95628." Circle 635 on inquiry card. 262 April 1979 © BYTE Publications Inc ITHACA AUDIO THE OEM MARKETPLACE IA Expands S-lOOLine e 1978 ITHACA AUDIO Video Display Board Featuring a full 128 upper/lower case ASCII character set stored in a 1K buffer memory. Easy to read 16 line x 64 character format can be displayed on an inexpensive video monitor or a modified TV set. Includes a TTY software driver. Add our powerful K 2 FDOS to create a versatile operator console. $25.00 Disk Controller Board Controls up to 4 single or double sided drives. Data protect features include automatic disable of write-gate during power-down for data integrity. Supported by a reliable software package, K 2 FDOS and complete diagnostic documentation. $35.00 K2 Operating System Power full disk software in the DEC tradition. Includes Text Editor (TED), File Package (PIP), Debugger (HOT), Assembler (ASMBLE). HEXB1N, 1 COPY, System Generator [SYSGEN). Command syntax follows Digitals 0S-8.RT/11 format. First in a family of high level software. Soon to be released, FORTRAN & Pascal Compilers. $75.00 Field-proven reliable engineering Over 10,000 boards worldwide prove Ithaca Audio provides the quality and reliability you demand. Ithaca Audio Boards are fully s-100 compatible, featuring gold edge connectors and blated-through holes. All boards (except the Protoboard) have fully buffered data and address lines, DIP switch addressing, solder mask and parts legend. Z-80 CPU Board Most powerful 8 bit central processor available. Featuring power-on- jump, provision for on-board 2708. Accepts most 8080 software. $35.00 8K Static RAM Board High speed static memory at the lowest cost per bit. Includes memory protect/unprotect and selectable wait states. $25.00 2708/2716 EPflOM Board Indispensable for stor- ing dedicated programs ana often used soft- ware. Accepts up to 16K of 2708's or 32K of 2716s $25.00 Protoboard Universal wire-wrap board for de- veloping custom circuitry. Accepts any size DIP socket. $25.00 Mass Storage at Incomparable Prices. Ithaca Audio Floppy Disk • Up to 250K bytes, single sided • Up to 500K bytes, double sided • Data protect • Powerful software operating system includes 8 utility programs, text editor. Add the capacity of full size disk to your S-100 microcomputer. Controller, Disk Drive, and Software available separately. Memorex single sided 550 Flexible Disk Drive $456. Memorex double sided 552 Flexible Disk Drive $830. Disk Controller Board $35. K2 FDOS Available on 8" floppy disk w. manual $75. Quality Components ZILOG Z-80 $19.00 ZILOG Z-80A 23.00 INTEL 2708 11.00 FAIRCHILD 2102 LHPC 1.60 FAIRCHILD 2102 UPC 1.35 RAM! 32K for $359. Ithaca Audio is now stocking the Mostek 41 15 add-on RAM for S.D.'s Expandoram. Buy their basic board, 32K of RAM from us and SAVE. S.D. SALES Expandoram board $199 Ithaca Audio 32 4115's @ $5.00 ea. 160 32K Only $359 IMSAI 8080 Kit with 22 Slot MB. $560.00 plus 510.00 shipping. HOW TO ORDER Send check or money order, include $2.00 shipping per order N.Y.S. Residents include tax. For technical assistance call or write to: ITHACA AUDIO P.O. Box 91 Ithaca, New York 14850 Phone: 607/257-0190 Circle 190 on inquiry card. BYTE April 1979 263 What's New? PERIPHERALS Add Hard Copy to Your S-100 System , , , . , ' ..'^'tUttMMW' This new Selectric input and output (10) writer interface, called Typeaway, offers an easy, economical way to add hard copy capabilities to an S-100 sys- tem. Typeaway is a complete package of everything required to interface a model 731 or 735 IO writer to an S-100 com- puter. The total package includes: a single S-100 compatible printed circuit board with solenoid drivers; IO ports; complete software in programmable read only memory; all the cable and connectors needed to connect a Selectric to Typeaway, including a 50 pin A con- nector; and a versatile DC power supply. Typeaway can be adapted to work with any factory version of a Selectric 10 writer. Software supplied in two 1702A programmable read only mem- ories is all that is necessary to operate a Selectric 10 writer as either an input or output device. All control functions and code conversions are programmed in the board's firmware. The tested and assembled version is priced at $350 and a kit version sells for $275. For further information contact Micromation Inc, 524 Union St, San Francisco CA 94133." Circle 570 on inquiry card. S-100 Expansion for Commodore's PET Computer Forethought Products, POB 8066, Coburg OR 97401 has announced a PET to S-100 interface and mother- board named Betsi. Betsi is a single circuit board that contains all the necessary logic to interface S-100 boards to the PET. The board attaches directly to PET's memory expansion connector and provides both interface logic and four S-100 slots on a single compact circuit board. Betsi operates with any S-100 power supply and doesn't inter- fere with use of PET's parallel or IEEE ports. In addition to its compatibility with most available S-100 boards, Betsi has an on board dynamic memory controller which allows it to be expanded to 32 K bytes with a single S-1 00 card. The kit (which includes one S-100 connector) is priced at $119. $165 is the price for the assembled and tested board (which includes four S-100 connectors)." Circle 606 on inquiry card. DEC VT-52 Compatible Video The Elite 3052A video terminal is a buffered VT-52 compatible terminal with a single page video memory. It of- fers formatting capability, eight levels of screen enhancements, and a detached keyboard. The terminal displays 1920 alpha- numeric characters in a 24 line, 80 char- acter format and offers a series of fea- tures for VT-52 users that includes: an unmatched range of operating modes; host control of block transmit function in local or remote environment; com- munications flexibility through switch selectable EIA or 20 mA current loop interfaces; buffered support of host-to- printer data transfers; ten user function keys; 8 level video, which requires no memory address space; and 15 data transmission rates, up to 9600 bps, selectable from keyboard. The Elite 3052A is priced at $1700 in single quantities and $1360 in quantities of 100. Write to Datamedia Corp, 7300 N Crescent Blvd, Pennsauken N J 08110." Circle 607 on inquiry card. 264 April 1979 ©BYTE Publications Inc trial* Venus 2001 Video Board |MJl^*^ ^ Assembled and Tested $259.95 • Complete Unit with 4K ^A^k^VJ of Memory and Video Driver on Eprom assembled WF OWLwM and tested $339.95 kit OPTIONAL: • Sockets $10.00 • 2K Memory $30.00 • 4K Memory $60.00 • Video Driver Eprom $20.00 • Text Editor Eprom (Includes Video Driver $75.00) 5-7 00 Plug-In • Parallel Keyboard Port On board 4K Screen Memory (Optional). On board Eprom (Optional) for Video Driver or Text Editor Software. Up and Down Scrolling through Video Memory Reverse Video, Blinking Characters. Displays 128 ASCII Characters 64 X 32 or 32 X 16 Screen format (Jumper Selectable). 7 by 1 1 Dot Matrix Characters. American or European TV Compati- ble (CRT Controls Programable) Dealer Inquires Invited OMND OPENING SPECIAL! 15 MHZ DUAL TRACE Portable Scope BIG PRICE BREAKTHRU 399. «**!*. m H MODEL MS-215 • Battery or A.C. Operated • External and Internal Trigger • Time Base— .1 m Sec./Div. Into 21 Calibrated Ranges • 3% Accuracy. Input Impedence 1 M Ohms • Complete with Input Cables, Battery and Charger. OPTIONAL: • Leather Case $45.00 • 10:1 Probe $27.00 (2 for $49.00) Prices Good through 5/31/79 MS- 7 5 Single Trace Scope $299. 3 1 / 2 DIGIT DMM LCD Readout SIZE: 1.3" H 2.7" W 4.0" D • .5% Accuracy • AC-DC 1-1000V • Ohms 1K-10M • Current lmA-1 Amp • 100% Overload Protection OPTIONAL: • Leather Case $20.00 • NiCad Battery and Charger $16.00 fyE) 3.5 LED DIGITS Panel Meter • .5% Accuracy • Voltage Range 0- 1000V g j* • Power: +5V 200mA O £ • Auto Zero • Update Rate: 3 Rdg. / Sec Circle 130 on inquiry card. MODEL LM-350 *139 95 MODEL PM-349 ASCII Keyboard Kit $77. Assembled and Tested $93.00 • Single +5V Supply • Full ASCII Set (Upper and Lower Case) • Parallel Output • Positive and Negetave Strobe • 2 Key Rollover • 3 User Definable Keys • P.C. Board Size: 17-3/16" X 5" • Control Characters Molded on Key Caps • Optional Provision For Serial Output OPTIONAL: Metal Enclosure $27.50 • Edge Con. $2.00 • Sockets $4.00 • Upper Case Lock Switch $2.50 • Shift Register (For Serial Output) $2.00 Dealer Inquiries Invited Apple II I/O Board Kit Plugs into Slot of Mother Board •1 8 Bit Parallel Output Port (Expands to 3 Ports) • 1 Input Port • 15mA Output Current Sink or Source • Can be used for peripheral equipment such as printers, floppy discs, cassettes, paper tapes, etc. • 1 free software listing for SWTP PR40 or IBM selectric. PRICE: 1 Input and 1 Output Port $49.00 1 Input and 3 Output Ports $64.00 Dealer Inquiries Invited SHIPPING $3.50 / California residents add 6% sales tax ELECTRONICS WAREHOUSE Inc. 15820 Hawthorne Boulevard Lawndale, CA 90260 (213) 370-5551 VISA Circle 313 on inquiry card. HOBBYISTS!... EXPERIMENTERS!... ENGINEERS! YOU NOW HAVE A NEW HOME...BY MAIL! From CONTINENTAL SPECIALTIES CORP The LPK-1 only $19.95 New Logic Probe Kit Finally.. .a low cost, easy lo build probe kit with professional features. This inexpensive probe includes separately driven high, low and pulse indicator LEOs; 0.3 Meg input impedance: input overload protection: pulse stretching and indication tor pulses as last as 300 nanoseconds: reverse voltage protection: 0° 50°C operating range: easy lo follow assembly and opei atmg manual: and CSC's reputation tor true professional quality and reliability OUR BEST BUY IN BREADBOARDS only S2.75 | EXP 325 I only $5.50 EXP 350 only $9.00 EXP 300 ■■■■in iiiiiiniiiiiiiii i!:i!!BII!IIII»lllllllll!ll!llliill 100 MH2 8 DIGIT FREQUENCY COUNTED Lab Accuracy in Shop or Field... ■ Measure 20 Hi 100 Hz guaranteed, and better than 500 MH2 with op- tional Prescaler ■ Easy reading with a 0.6" LED 8 digit display. ■ Direct readout with t Hz resolution. ■ Crystal timebase accurate to 3 ppm Fully automatic, rugged and operates (torn stan dard AA. rechargeable AA or AC adapter Batteries and AC adapter are avail able at extra charge to price quoted MAX 100 S134.9S PS-500 Prescaler S59.95 AC Adapter/Charger S9.95 LOGIC MONITOR Instantly monitor logic state ol all IC nodes simultaneously. Clip the LM 1 onto and 14 or 16 pin DIP IC. Faster than a scope. safer than a voltmeter, you have an instant display ol the sialic and dynamic logic stales of every node. Requires no Pat teries. input impedance 100K ohms, inpul threshold 2 V. LM 1 $59.95 SURPLUS BARGAINS COLOR R.F. MODULATOR. Use your television as a video monitor lor computer and other uses. Asjembled and pre-tuned to convert b/w or color video lo channel 3. Requires 5 vdc power. Only $9.95. ^ W& 2V< SPEAKER. Perlect Ion 00s ot projects. Only 69c UTILITY SCREWDRIVER. Made in USA by Fleet Tools. Duality at a low price. Only 29c. 12 VOLT BUZZER. Very loud. Ideal lor alarms, indicators and projects Only 99$. NO PUSHBUTTON Made by Stackpole. Comes with large knob, wires and connector lor .025 square post. Only 21C. 16 FT. COAX. With moulded RCA plug on each end. Ideal lor audio, video and RF. applica- tions. Only S1.49. 3662 UNIVERSAL "P" PATTERN D.I.P. PLUGBOARD Made horn 1/16 epoxy glass and designed lor a 44 pin connector on 156 centers 3662 6.5" x 4.5" 3662-2 9 6" x 4 5" S7.95 S11.95 B8O0V and 8801-1 UNIVERSAL MICROCOMPUTER/PROCESSOR PLUGBOARD Designed to use with s 100 bus. The 8800V includes heat s ; nk and hardware, the 8801 1 is less power bus and heal sink. 8800V 8801-1 1 4 S19.95 S14.95 59 $17.95 $13.46 10 24 S15.96 S11.96 SCR ELECTRONICS 9533 VALLEY VIEW ST • CYPRESS, CA 90630 (714) 527-2554 IN ORANGE COUNTY STOP IN AND BROWSE AROUND... TERMS; HOW 10 ORDER Give product heading, pad numttti (tl shown) and price Add 52 50 Stopping and handling lo all order- uiiilei SbO 00 All orders over $50 00 will hi! shipped pre paid Minimum order is 57 50 No C D >. please c.iiii residents .idd fi°6 sales tax M/C and VISA use's include numbs. eipiuiKiu date and ydui signature Some specials and surplus items may he in 'muled quantities II supplies are exhausted, your money will he promptly refunded foi those items 3690-12 CARD EXTENDER The 369012 has 100 contacts. 50 per side on .125 centers. The attached connector is com patible with S 1 00 Bus Systems. The 3690 is 6.5" 22(4 pin on 1 58 centers 369012 $25.00 3690 $12.00 8803 MOTHERBOARD FOR S100 Low noise, includes capacitor and spacer kit. Circuitry for ac- tive or passive termination. Mounts eleven 100 contacts (S-1QQ type) connectors. Made from G 10 epoxy glass with solder plated 2 ounce copper and large buses lor heavy current, com patible with MILSTO-275 with 10°Crise. $29.95 SOLDER SPECIALS Imported Chemtronics Quality Solder Factory tresh Exceeds 00*571 ■ 60/40 (.031)21 ga. V? lb. $6.34 ■ 60/40 (.047) 18 ga Vi lb. $5.60 ■ #510 DeSoldering Tool $2.45 WAMECO THE COMPLETE PC BOARD HOUSE EVERYTHING FOR THE S-100 BUSS * FPB-1 FRONT PANEL BOARD * EPM-2 16K or 32K BYTE EPROM Hex Displays, IMSAI Replaceable $50.00 2708 or 2176 interchangeable $30.00 * FDC-1 FLOPPY DISC CONTROLLER BOARD * QMB-9 9 SLOT MOTHER BOARD Controls up to 8 Discs $45.00 Terminated $35.00 * MEM-1A 8K BYTE 2102 RAM Board ....$30.00 *QMB-12 12 SLOT MOTHER BOARD * MEM-2 16K BYTE 2114 RAM Board ...$30.00 Terminated $40.00 * CPU-1 8080A CPU Board * RTC REALTIME CLOCK With Vector Interrupt $30.00 Programmable Interrupts $30.00 * EPM-1 4K BYTE 1702A EPROM $30.00 FUTURE PRODUCTS: 80 CHARACTER VIDEO BOARD, IO BOARD WITH CASSETTE INTERFACE. DEALER INQUIRIES INVITED, UNIVERSITY DISCOUNTS AVAILABLE AT YOUR LOCAL DEALER W7J7C ifJC. WAMECO INC. 3107 LANEVIEW DR., SAN JOSE, CA 95137 266 BYTE April 1979 Circle 387 on inquiry card. P.O. Box 4430X Santa Clara, CA 95054 RCA Cosmac Super Elf Comput Compare features before you decide to buy any other computer. There is no other computer on the market today that has all the desirable bene- fits of the Super Elf for so little money. The Super Elf is a small single board computer that does many big things. It is an excellent computer for training and for learning programming with its machine language and yet it is easily expanded with additional memory, Tiny Basic, ASCII Keyboards, video character generation, etc. The Super Ell includes a flOM monitor for pro- gram loading, editing and execution with SINGLE STEP for program debugging which Is not in- cluded in others at the same price. With SINGLE STEP you can see the microprocessor chip operating with the unique Quest address and data bus displays before, during and after executing instructions. Also, CPU mode and in- struction cycle are decoded and displayed on nine LED indicator lamps. An RCA 1861 video graphics chip allows you to . connect to your own TV with an inexpensive video modulator to do graphics and games. There is a speaker system included for writing your own music or using many music programs already written. The speaker amplifier may also be used to drive relays for control purposes. A 24 key HEX keyboard includes 16 HEX keys Super Expansion Board with This is truly an astounding value! This board has been designed to allow you to decide how you want it optioned. The Super Expansion Board comes with 4K of low power RAM fully address- able anywhere in 64K with built-in memory pro- tect and a cassette interface. Provisions have been made for all other options on the same board and it fits neatly into the hardwood cabinet alongside the Super Ell. The board includes slots for up to 6K of EPROM (2708, 2758, 2716 or Tl 2716} and is fully socketed. EPROM can be used for the monitor and Tiny Basic or other purposes. A IK Super ROM Monitor $19.95 is available as an on board option in 2708 EPROM which has been preprogrammed with a program loader/ editor and error checking multi file cassette read/write software, (relocatible cassette file) another exclusive from Quest. It includes register save and readout, block move capability and video graphics driver with blinking cursor. Break points can be used with the register save feature to isolate program bugs quickly, then follow with single step. The Super Monitor is written with subroutines allowing users to take advantage of monitor functions simply by calling them up. er $106.95 plus load, reset, run, wait, Input, memory pro- tect, monitor select and single step. Large, on board displays provide output and optional high and low address. There is a 44 pin standard connector for PC cards and a 50 pin connector (or the Quest Super Expansion Board. Power supply and sockets for all IC's are included in the price plus a detailed 90 page instruction manual. Many schools and universities are using the Super Elf as a course of study. OEM's use it for training and research and development. Remember, other computers only offer Super Elf features at additional cost or not at all. Compare before you buy. Super Ell Kit $106.95, High address option $8.95, Low address option $9.95. Custom Cabinet with drilled and labelled plexiglass front panel $24.95. NiCad Battery Memory Saver Kit $6.95. All kits and options also come completely assembled and tested. Ouestdata, a 12 page monthly software publica- tion for 1 802 computer users is available by sub- scription for $12.00 per year. Tiny Basic for ANY 1802 System Cassette $10.00. On ROM $38.00. Super Elf owners, 30% off. Object code listing with man- ual $5.00. Object list, manual and paper tape $10.00. Original ELF Kit Board $14.95. Cassette Interface $89.95 Improvements and revisions are easily done with the monitor. If you have the Super Expansion Board and Super Monitor the monitor is up and running at the push of a button. Other on board options include Parallel Input and Output Ports with full handshake. They allow easy connection of an ASCII keyboard to the input port. RS 232 and 20 ma Current Loop for teletype or other device are on board and if you need more memory there are two S-100 slots for static RAM or video boards. A Godbout 8K RAM board is available for $135.00. Also a 1K Super Monitor version 2 with video driver for full capa- bility display with Tiny Basic and a video interface board. Parallel I/O Ports $9.85, RS 232 $4.50, TTY 20 ma l/F $1.95, S-100 $4.50. A 50 pin connector set with ribbon cable is available at S12.50 for easy connection between the Super Elf and the Super Expansion Board. The Power Supply Kit for the Super Expansion Board is a 5 amp supply with multiple positive and negative voltages $29.95. Add $4.00 for shipping, Prepunched frame $5.00. Case $10.00. Add $1.50 for shipping. Auto Clock Kit $15.95 DC clock with 4-. 50" displays. Uses National MA-1012 module with alarm option, includes light dimmer, crystal timebase PC boards. Fully regulated, comp. instructs. Add S3. 95 for beau- tiful dark gray case. Best value anywhere. RCA Cosmac VIP Kit $229.00 Video computer with games and graphics. Fully assem. and test. $249.00 Not a Cheap Clock Kit $14.95 Includes everything except case. 2- PC boards. 6-. 50" LED Displays. 5314 clock chip, trans- former, all components and full instructions. Orange displays also avail. Same kit w/.8Q" displays. Red only. $21.95 Case $11.75 60 Hz Crystal Time Base Kit $4.40 Converts digital clocks from AC line frequency to crystal time base. Outstanding accuracy. Kit includes: PC board. IC, crystal, resistors, ca- pacitors and trimmer. Digital Temperature Meter Kit Indoor and outdoor. Switches back and forth. Beautiful. 50" LED readouts. Nothing like it available. Needs no additional parts for com- plete, full operation. Will measure -100' to + 200"'F, tenths of a degree, air or liquid. Very accurate. $39.95 Beautiful woodgrain case w/bezel $11.75 NiCad Battery Fixer/Charger Kit Opens shorted cells that won't hold a charge and then charges them up, all in one kit w/full parts and instructions. $7.25 PROM Eraser Will erase 25 PROMs in 15 minutes. Ultraviolet, assembled $34.50 Rockwell AIM 65 Computer 6502 based single board with full ASCII keyboard and 20 column thermal printer. 20 char, al- phanumeric display. ROM monitor, fully expand- able. $375.00. 4K Assembler $85.00, 8K Basic Interpreter $100.00. Power supply assembled incase $60.00. 7420N 7422N 743QH 7«2N 7«5N 7447N 7«8N 7450N HUH 7475N 7485N 74B9N 7490N 7492N 7493N 749DN 74I0ON 74107N 7412IN 74123N 74125N 74I45N 74 1 SON 74151K 74154N 741 57N 74161N 74I62N 74163N 741 74N 741 75N 741 SON 74192N 74193N 74221N 74298N 7438SN 74366N 74367N 74LS00 m 74L500N 74LS02N 74LS04N 74LS05N 74LSQ8N 74LS10N 74LS13N 74LS14N 74LS20N 74LS22N 74LS28N 74LS30N 74LS33N 74LS38N 74LS74N 74LS75N 74LS90N 74LS93N MLSflSN 74LS107N 74LS112N 74LSM3N 74LSI32N 74LS136N 74LS151N 74LS1S5N 74LS157N 74LS162N 741S183N 74LS174N 74LS190N 74LS221N 74LS258N 74LS367N LINEAR CA3045 CA3046 ("A JOB I CA30B2 CA1089 LM301ANMH LM305H LM307N LM308N LM309H LM309K LM31III/N LM3I7T/K LH318 LM320K-5 LM323K-5 LM320K-12 LM320K-15 LM320T-5 LM32QT-8 LM320M2 LM32GT-15 LM324N LM339N LM340K-S LM340K-8 LM340K-12 LM34QK-15 LM34CK-24 LM34DT-& LM340T-8 LM340M2 LM340M5 LM340T-18 LM340T-24 LM343H LM3M LM2111 LM2902 LM3900N LM39Q5 LM3909N MC145BV NE540L NES50N .6 NE555V .4 NE556A .7 NE565A 1.0 NE566V 1.5 NE567V 1.2 NE570B S.O NE5718 S.O 78L05 .6 78L08 .6 79L05 .7 78M05 .8 75108 1.7 7549 ICN .5 75492CN .5 75494CN .8 A la CONVERTER 80386 4.5 8700CJ 11.9 8701CN 8750CJ LD130 9400CJV/F ICL7103 IC17107 CMOS CD34001 Fair C04000 CO40O1 CO4002 CD4006 CD40O7 004008 CD4009 CD4010 C04011 CD4012 CO4013 CD4014 CO 4015 CD4016 CD4017 CO -J() IB CO4019 CO4020 CD4021 CD4022 CO4023 CO4024 CD4025 CO4026 CD4027 CO 4028 C04029 C04030 CO 4035 CO4040 C04042 C04043 CD4044 CD4046 CO4049 C04050 C0405I CD4060 CO4066 CD406S C040G9 C04070 CO4071 CD4072 CD4073 CD4075 CO4078 CD4078 CO4081 CD40B2 C04116 CD4490 CD4507 C04508 CD4510 C04511 CD4515 CD4516 C04518 CD4520 CD4527 CD452B 8T10 4.50 8T13 3.0C 3T30 5.5C 8T23 3.1C 8T24 3.SC BT25 3.2C BT2G 1.6E 8T28 2.7! 6T97 1.6! 8T98 tit MO8/MEM0RV RAM 22 00 1.60 21F02 21Q4A-4 4.95 2112-2 2114 3.95 8.50 .50 .16 4116 12.95 251 3B 630 21L02-1 1.29 .21 1.10 .21 .21 .39 .39 .21 MM5262 .40 MM52BO 3.00 MM5320 9.95 MM5330 5.94 P0411D-3 4.00 PD41IO-4 5.00 P5101L 13.95 42O0A 9.95 B2S25 2.90 .66 .86 .36 .04 91L02A 1.50 HDD 165-5 6.95 MM 57 100 4.50 GIAY3B500- 1 9.S5 MCMGV/1A 9.95 416 16.0 CLOCKS MMS309 3.0 MM5311 3.6' MM5312 4.8 MM5313 3.6 MM5314 3.9: MM5315 4.0 MM5316 5.0 MM5318 3.6i MM5369 2.ti MM5B41 H.4 MM5B65 7.9 cnooi 5.B CT7002 8.9 CT7010 89 CT701S 7.2 MM5375AAyN 3.9 MM5375AB/N 4.9 7205 16.5 7207 7.5 720B 15.9 7209 4.9 OS0026CN 3.7 OS0056CN 3.7 MM53104 2.5 MICROPROCESSOR 8251 8253 6255 8257 6253 C0PIB02CD 3341 PROM 1702A N82S23 N82S123 NB2S126 N82S129 N82S13I N82S136 NB2S137 2708 DM8577 8223 2716T1 2716 inltl CHWAL8 1 MHz 2MHi 4MHi 5MHI 10 MHz 18 MHz 20 MHz 32 MHz 32768 MHz 1.B432MHZ 3.5795 MHz 2.0100 MHz 2.0971S2 MHz 2.4S76 MHz 3.2768 MHz 5.0686 MHz 5.185 MHz 5.7143 MHz 6.5536 MHz 14.316iBMHz 1B.432 MHz 22.1184 MHz CONNECTORS KETBOARD ENCODERS AV5-2376 S12.I AV5-36M 74C922 74C923 H00165-5 TRANSISTORS 2NI893 2N2222A 2N2369 2N2904A 2N2907A 2N3053 2N363B '2N3643 2N3904 2N3906 2N3055 2N4400 2N4401 2N4402 TIP31 TIP33A ready to nook up with transformer ana switches Very compact with .50' anil .B4" digits. MA1D02A. C at E .50 8.9S 102P3 Trinilrjimer 2.2S MA1010A, Car E. 84- 11.85 102P2 Tundurmef 22i Special Innilormsi and sir switches when purchtted w 'module MA1003 car module *■ grain (luoi. diiptiy RESISTORS Vi wait 5% 10 per type ,03 1000 per type .012 25 pet typo .025 350 piece pack lOOpcrlypc 015 5 per lypa 6.75 KEYBOARDS 56 key ASCII keyboard kit S67.50 Fully assembled 77 50 53 key ASCII keyboard kit 60.00 Futy assembled 70.00 Enclosure 14.95 LEDS Red T01B .15 Green. Yellow T016 20 Jumbo Red 20 Green. Orange. Yellow Jumbo .25 Cllptlta LEO Mounting Cllpi 841.25 (specify red. amber, green, yellow. Clear i CONTINENTAL SPECIALTIES In slock Complete line of breadboard lest equip. MAX-1O0 B digit Frtq. Dr. J12B.9S OX WIRE WRAP TOOLS In slock. Portable Multimeter 518.00 DIGITAL THERMOMETER M8.50 Bait. oper. General purpose or medical 32-230'f. Disposable probe cover •1 accuracy Comp. Assy. In compacicase Switches trom P to C*. COMPUTER BOARD KITS 8K RAM Board Kit $135.00 4K EPROM Kl 114.95 I/O Board X.A 44 50 Eilcnder Board w'connoclor 12.50 16K EPROM Board kit w,D PROMS 74.50 Norfft Star floppy Disk Kit S665.00 Addilional Drive K t 415.00 SPECIAL PRODUCTS MM5865 Stopwatch Timer 9.00 PC board 7.50 Switch** Mom Pusnoutton .27 3 pas. slide .25 Encoder HD0165-5 6.95 3 Digit Unlvenal Counter Board Kit Operates 5-16 Vefl DC to 5 MHz typ .125" LEO display 10.50 Voice ecluiltd switch .50 Haratronici 100A Logic Analyrer Kll S224.D0 1229.00 S 369.00 Model 10 Trigger Expander Kd Model 150 Bus Grabber Kit Sinclair 3V, Olgll Multlmeler Clock Calendar Kll S23J5 TRAHSFORMERS 6V 300 ma 3.25 1? Volt 300 ma translormer 1.25 12.6V CT 600 ma 3.7S 12V 250 ma wall plug 2.95 12V CT 250 ma wall plug 3.50 Sffl 24V CT 400 mj 3.95 «•« 10V 1.2 amp wall plug 4.85 5 50 12V 6 amp 12.95 6 95 DISPLAY LEOS MAN! CA .270 290 MAM CC 125 39 ID MAN72/74 CA/CA .300 1.00 '" 0L704 CC 300 1 " OL707/DL7Q7R CA .300 1 CrVCC .500 1 90 CA/CC .600 1 95 CC .600 1.95 CC .357 .70 COCA .500 1.35 CCVCA .500 .90 CC/CA X" ' DL72W28 DL747/750 DL750 FND359 rND500'507 FND503i510 FND80O/B07 3 digit Bubble 4 digit bubble DGB Fluorescent DG1D Fluorescent 5 digit 14 pin display NSN59 9 digil display 7520 Claire* photocells TIL3H Hai COMPUTER GRAOE CAPS 1600 mid 200V 2000 mid 45V 3200 50V 5500 25V MOO 40V .60 D Connectora RS232 25 Pin Submimalurcs DB25P DB25S RS232 Complit DE9P DE9S DA15P 0A15S 3.95 94O0 I 50 10000 6.50 12000 1.50 35000 1.95 55000 2.10 B2O00 3 10 60000 Multi-voltage Computer Power Supply 8v 5 amp, ±18v .5 amp, 5v 1.5 amp, ~5v .5 amp, 12v .5 amp, -12 option. ±5v, ±12v are regulated. Kit $29.95. Kit with punched frame $34.95. Woodgrain case $10.00. Video Modulator Kit $8.95 Convert your TV set into a high quality monitor without affecting normal usage. Complete kit with full instructions. 2.5 MHz Frequency Counter Kit Complete kit less case $37.50 30 MHz Frequency Counter Kit Complete kit less case $47.75 Prescaler kit to 350 MHz $19.95 79 IC Update Master Manual $35oo Complete IC data selector, 2500 pg. master ref- erence guide. Over 50.000 cross references. Free update service through 1979. Domestic postage $3.50. Foreign $5.00. 1978 IC Master closeout $19.50. Stopwatch Kit $26.95 Full six digit battery operated. 2-5 volts. 3.2768 MHz crystal accuracy. Times to 59 min., 59 sec, 99 1/100 sec. Times std., split and Taylor. 7205 chip, all components minus case. Full instructions. Hickok 3 1 /2 Digit LCD Multimeter Batt/AC oper, 0.1mv-1000v. 5 ranges. 0.5% accur. Resistance 6 low power ranges 0.1 ohm-20M ohm. DC curr. .01 to 100ma. Hand held, W LCD displays, auto zero, polarity, over- range. $74.95. S-100 Computer Boards 8K Static RAM Kit $135.00 16K Static RAM Kit 265.00 24K Static RAM Kit 423.00 32K Dynamic RAM Kit 310.00 64K Dynamic RAM Kit 470.00 8K/16K Eprom Kit (less PROMS) $89.00 Video Interface Kit $139.00 Motherboard $39. Extender Board $8.99 TERMS: S5. 00 min. order U.S. Funds. Calil residents add 6% tax. BankAmericard and Master Charge accepted. Shipping charges will be added on charge cards. FREE: Send tor your copy of our NEW 1979 QUEST CATALOG. Include 28c stamp. Circle 31 1 on inquiry card. BYTE April 1979 267 $1 Read this and save over •it 00 Introducing the Vista V80 Mini Disk System □ 23% MORE STORAGE CAPACITY — Increases your usable storage capacity 23% from 55,000 to 67,800 bytes on drive one. □ FASTER DRIVE — Electronically equal to the TRS-80 Mini-Disk System, but up to 8 times faster (Track-to-track access in 5ms for the V80 versus 40ms for TRS-80). □ DOES NOT VOID TRS-80 WARRANTY — V80 also has 90-day warranty. □ HERE'S WHAT YOU GET: Minifloppy disk drive/Power Supply/Regulator board/Compact case □ DOUBLE DENSITY FOR DOUBLE STORAGE — The V80 will work with the Vista double-density expansion unit when available. □ SHIPPED TO YOU READY TO RUN — Simply take it out of the box, plug it in and you're ready to run. PLUS MORE GOOD NEWS - Vista has a new support team, new address, new telephone, and a new owner. Vista is now part of Advanced Computer Products. ALSO AVAILABLE FROM THE NEW VISTA. Vista V-200 Double Density Mini Floppy System with S-1 00 Controller, CPM on 5W, power supply & case $699.00 Vista V-250 Dual Shugart 8" Floppy System with S-1 00 Controller, CPM, BASIC "E", power supply & slimline case $21 99.00 Special Introductory Price: Vista 268 Vista Computer Company 1320 E. St. Andrews Place, Unit I Santa Ana, CA 92705 (714)751-9201 TWX 910-595-1565 BYTE April 1979 Circle 378 on inquiry card. Circle 20 on inquiry card. LIMITED QUANTITY ASCII COMPUTER KEYBOARD This 56 key ASCII encoded key- board provides debounced ASCII outout (7-bit para lie II and strobe. It has six non-encoded closures ground and requires +5V C? 1S0MA. -12V 9 45MA. A standard 10 pin dual used for data and power inputs. These Silent 700 series readout connector keyboards were manufactured for use terminals. TESTED AND GUARANTEED. Manufactured by Clare Pendar. ACOUSTIC COUPLER This originate only coupler was manufactured for use in T.I. 735 data terminal. It is compatible with Bell 103 and 113 data sets or the equivalent. The coupler operates asychronously to. a speed of 300 baud * T ' jp-¥/.OG in the full duplex mode. (Half duplex mode is easily acquired by adding one 1N914.I All signal outputs are compatible with TTL. Transmit freq. is 1270hz. for mark and 1070hz. for space. Receive freq. is 2225hz. for mark and 2025ht. for space. Unit requires tl2 volts and +5 volts for operation. Complete with schemotic and all pertinent information. Fully reconditioned, calibrated, and guaranteed. RS232 to TTL to RS232 conversion kit S6.50. Includes P.C. board, components, and schematic. 4-DIGIT COUNTER The MK5005 is a P-Channel MOS four decade sychronous counter with latches, multiplexing circuits, and a read-only memory programmed • seven -segment outputs. It provides a means of counting up to 9999. 24 pin gold and ceramic package. S9.95 lldeal for use with T.I. 4-digit display, below.) 7^ 4-DIGIT LED DISPLAY Full 4-digit, .5" characters for 4-digit counter. 12 hour, or 24 hour clock. T.I. pin TIL373. common cathode. $2.95^ HP5082-7730 Red .3" LED common anode SI. 25. 4/S4. Send St.00 for our catalog and gel credit on your first order. 12VDC MOTORS Both the Ho/land and Maxon are very efficient I2VDC motors. They run on as low as %V 'and draw 250ma with 2.8 inch torque at 5000RPM. 1H"x 1-5/8" long. Holland double shaft $3.95 ea. Maxon single shaft $2.95 ea. 4536 S. J&ufotocn SBn. &UOe Dual op amp in an 8 pin dip. $.49 each 10 for $4.50 SHIFT REGISTER Fairchild 3341 4X64 digital storage buffer (FIFO! $5.95 \JMS403Q DYNAMIC RAM 409&Bit low power (400mwJ witt. ij data and 22 pin socket. These ;£ units are removed from boards. P* but are tested and guaranteed. $3.95 each 10 for $25.00 \ DISC CAPACITORS; includes values from 74PF to .2MFD. 100 for $2.95 DIPPED POLYESTER FILM 100 for $4.95 1% PRECISION RESISTORS assortment contains a balanced A inventory. 200 for $4.95 | ELECTROLYTICS; aluminum axial leads. Includes values from 1MFD/50V to 1500MFD/16V....100 for $9.95 TANTALUMS; values from 1MFD/10V to 39MFD/10V. 50 for J6.951 SLIDE SWITCHES; standard and miniature. 40 tor $4.95 POWER CORDS; includes and 3 conductor, 6 to 8 ft. UL listed. 6 for $295 J HEAT SHRINK TUBING; 25—6" lengths in various sizes and colors. $2.95/asst. RS-232 CABLE ? Conductor 24GA. teflon with braid shield and white PVC jacket. (3/16"dia.l 50t for $14.95 100" for $25.00 KYNAR WIRE WRAP WIRE Solid silver plated 30AWG available in blue, red, black, yellow, green, or white. 100' spool. $2.50 50CT spool. $5.95 tOOO' spool. $9.95 HOOK-UP WIRE Available in blue, red, white, black, gray, green, yellow, orange, or violet, (stranded PVC) 22 GA 20V roll. $3.50 22 GA 1000' roll. $12.50 24 GA 250' roll. $3.50 24 GA 1000' roll. $9.95 POWER CORDS 1) White 2 conductor w/strain relief, 3/$) Black 2 conductor w/strain relief. 3/$l 3) Black 3 conductor molded vinyl. $.95 4) Black TV cheater cord. 2/S1 ^ MINIATURE TOGGLE CS-K no. 7109 SPOT reset switch. (spring return) $.95ea. 10/$7.50 MINIATURE TOGGLE C&K p/n 7101 SPOT, rated 5A @ 120V AC. $1.25 EA. 10 for $10.00 SLOTTED OPTICAL SWITCH _» The OP800 consists of a gallium JppV arsenide infrared LED coupled [ with an npn silicon photo- transistor in a plastic housing. The gap in the housing provides a means of sensing motion of opaque objects. Manufactured by OPTRON INC $1.93 ea. DIP SWITCH fO Position Amp p/n 435166-7. Special offer at only $1.95 each, 10 for $15. REFLECTIVE SOURCE & SENSOR T.I. TIL 139 is designed for sensing applications such as line finder, batch counter, level indicator, and beginning- of-tape/endof-tape indicators. SUBMINIA TURE CONNECTORS (RS-232 TYPE) DB25-P. male. $2.95 DB25-S. female. $3.50 DBC25P. right angle male.....S4.95 AMP hood. SI. 50 DC37-P. male. DC37-S. female. DDSO-P. male. $4.50 DD50S. female. $5.75 Screw lock assembly Cinch D20420. S.50/pair Male screw retainer Amp 205980-1 $.50/pair Female screw lock assembly Amp 205817-1...S.50/pau TV CONNECTOR Cinch Jones 2RP-2. Rated 125V 7A.. Used as input voltage connector for TV sets. 10 FOR Sf.50 2RP-3, 3-pin version of above. 10 FOR $1.75 SCREW TYPE TERMINAL Ideal for stereo or TV connector. 1-3/8" mounting ctrs. 20/$t.O0 100/$3.95 PC. BOARD EDGE CONNECTORS 10/20 pin .125"ctrs. solder eyelet. „ $1.50 12/24 pin ,156"ctrs. dip solder. $1.75 18/36 pin ,156"ctrs. solder eyelet.... SZ39 22/44 pin ,156"ctrs. solder eyelet $2.75 22/44 pin ,156"ctrs. dip solder. $2,50 28/56 pin .156"ctrs. solder eyelet. $295 36/72 pin .125"ctrs- solder eyelet. $3.25 36/72 pin .125"ctrs. wire wrap $4.25 43/86 pin .156"ctrs. dip solder. $3.95 43/86 pin ,156"ctrs. solder eyelet (usedl $1.00 44188 pin . 125"ctrs. solder eyelet $4,25 l>* Zestron p/n 540 reed relay. 12VDC SPST N.O. Coil resistance is 800 ohm. $1.00 each 10 for $7.50 Electrol p/n R4422-2 reed relay, 12VDC DPST N.O. Coil resistance is 440 ohm. $1.50 each 10 for $9.95 P&B p/n JRM10439 reed relay. 5VDC DPST N.O. Coil resistance is 1000 ohm. $1.95 each 10 for $17.50 P&B p/n JRM10440 reed relay, 5VDC 5PST N.O. Coil resistance 400 ohm. $3.95 each ,.70 for $34.95 THE AMAZING METAL -o A - SPEEDY BEND Bismuth alloy melts in boil] p^oTlead "bender ing water. Ideal for casting small parts. 4oz. ingot $3.95 $9.95 and Vi watt resistors. $t.95ea.\ g3*\ TFTTTTTm CALL TOLL FREE (800) 423-5387 CA, HI, AK, (213) 886-9200 TOP QUALITY, LO-COST SPECIALS Order by Cat No. and description. Cat No. Description Price 1142 DATA CASSETTES, 10 min 2.00 1147 DISKETTE, SK" soft sector, TRS-80 3.25 1224 SOUND ACTIVATED SWITCH, vox JO 1226 UNE CORDS, #18, 2 cond w/plug 25 1033 2.7uF TANTALUM, 30V axial IS 1033 22 uF TANTALUM, 10V axial tS 1033 33uF TANTALUM, 35V trial JO 1007 I2V TRANSFORMER, 3Q0ma, PC mounl .75 1233 1N4148 SWITCHING DIODES, lull lead 25 for 1.00 T14112 TEXAS INST. TTL DATABOOK 4.95 21102*2 250nsec 21L02 RAM 1 JO 2IL02N-2 6S0nsec 2U02 RAM .85 1291 8 POS ROCKER DIP SWITCH 1.95 1289 4 POS ROCKER DIP SWITCH 1125 1020 lOOOuF 25V uprite cap 20 1156 TRS-80 16K MEMORY ADD-ON KIT 95.00 1199 TRS-232 PRINTER INTERFACE 3.00 1225 J' RAEDOUTS, MAN 74 equal (NS74R) .75 1117 14 PIN SOLDER TAIL SOCKETS 19 1117 16 PIN SOLDERTAIl SOCKETS 20 1117 24 PIN SOLDERTAIL SOCKETS 36 1001 1N4001, 50V 1A RECTIFIER 20 lor 1,00 1018 5.1V 1 WATT ZENER 10 lor 1.00 1018 12V 1 WATT ZENER 10 for 1.00 1034 25 AMP, 100 PIV "BLOCK' BRIDGE 1J0 1113 SOLDERING IRON, pencil type, 30W . 3J0 1020 47uF 6.3V uprite lytic 1.00 1020 22uF, 250V axial lytic 15 1167 40 COND RIBBON CABLE per foot JO 1160 104 KIT, 2 parallel •■ 2 serial ports 140.00 1087 PROM PROGRAMMER 2708/16, from OAE 275.00 1154 SHUGART MINIFLOPPY DRIVE, SA400 275.00 1031 5" READOUT. CC, FND-S03 .75 19355 BUSINESS CTR DR 6B4 NORTHRIDGE, CA 91324 TRS-80 SOFTWARE Cat No. Description CASSETTES Ptke 1093 SARGON CHESS, II 19.95 1041 STAR TREK, II H 95 1036 SCI Fl GAME SAMPLER, 1/11 5.95 1042 TAROT 1/0 5,95 1179 CRIBBACE l/U 9.95 1192 REAL TIME LUNAR LANDER II. 7.95 1195 BRIDGE CHALLENGER II 14.95 1186 AIR RAIDI/II . 1495 1187 PILOT l/ll 14 95 1047 OTHELLO l/ll 5.95 1043 SMALL BUSINESS BOOKKEEPING l/IL 14.95 1051 DAILY BIORHYTHM PROGRAM l/ll 5.95 1049 MICRO TEXT EDITOR 1/11 9.95 1038 INVENTORY MODULAR l/IL 19 95 1153 EDIT-80, text editor II (32K) 39 95 COMPUCRUISE only $165 Navigalional Computet for mobile use! Features cruise control, fuel management, trip computer, timer/counter Warns lov. fuel! Compensates (or lire size, converts lo metric. 44 iunctions! Mounts easily on dash. Easy to read bright blue digits. With installation in- structions Cat No. 1166 "LIFT-IT" PC DUPLICATING *' T $25 Copy I'C patterns from magazines quickly and easily! No additional materials required. No camera needed! With 10 x 12 sheet of film. We slock all refills! with slep-by- step instructions. Cat No. 1203 IC MASTER $45 SEND FOR FREE SPRING CATALOG FEATURING: FACTORY FRESH, PRIME IC*S, LEO'S, READOUTS, RECTIFIERS. ZENERS. TRS-80 ADD-ONS. S-100 BOARDS, PC AIDS, TEST EQUIPMENT. BOOKS. SOFTWARE, AND MORE! ORDER BY MAIL, PHONE. MASTERCHARCE. VISA, CODS OK 1 ADD 51 JO FOR POSTAGE & HANDLING. Circle 170 on inquiry card. BYTE April 1979 269 Circle 230 on inquiry card. ssm FORMERLY CYBERCOM/SOUD STATE MUSIC. CB-1 80S0 Processor Board. 2K ol PROM 256 BYTE RAM power on/rest Vector Jump Parallel port with status. Kit $125.95 PCBD $28.95 MB-6A Basic 8KX8 ram uses 2102 type rams, S-100 buss. Kit 450 NSEC $123.95. PCBD $24.95 MB-7 16KX8, Static RAM uses «P410 Protection, fully buflered KIT $299.95 MB-8A 2708 EROM Board, S-100. 8K8X or 16KX8 kit without PROMS $75.00 PCBD $28.95 MB 9 4KX8 RAM/PROM Board uses 2112 RAMS or 82S129 PROM kit without RAMS or PROMS $72.00 IO-2 S-100 8 bit parallel /IO port. % ol boards is lor kludging. Kit $46.00 PCBD $26.95 IO-4 Two serial I/O ports with full handshaking 20/60 ma current loop: Two parallel I/O ports. Kit $130.00 PCBD $26.95 VB-1B 64 x 16 video board, upper lower case Greek, composite and parallel video with software, S-100. Kit $125.00 PCBD $26.95 Altair Compatible Mother Board. 11 x 11 Vj x '/«". Board only $39.95. With 15 connectors. $94.95 Extended Board full size. Board only .. .$ 9.49 With connector $13.45 SP-1 Synthesizer Board S-100 PCBD $42.95 KIT... $135.95 82S23 82S123 82S126 82S129 82S130 82S131 MMI6330 I M 5600 IM5603 IM5604 IM5610 IM5623 IM5624 $1.50 PRIME SUPPORT 1.50 8080A .... $ 9.95 1.95 8212 3.25 . 1.95 8214 6.50 3.95 8224 3.49 3.95 L2114 (450 NSEC) 7.25 1.50 12114 (250 NSEC) 7.99 1 50 2102A-2L 1.60 195 2102A-4L 1.25 3.95 2708 450 NSEC .... 8.95 1.50 1702A-6 3.50 195 4116 (Apple RAM) .12.95 395 8/89.95 wmc/j me. WAMECO INC. FDC-1 FLOPPY CONTROLLER BOARD will drive shugart, pertek, remic 5" & 8" drives up to 8 drives, on board PROM with power boot up, will operate with CPM (not inclulded). PCBD $42.95 FPB-1 Front Panel. (Finnally) AMSAI size hex dis- plays. Byte or instruction single step. PCBD $42.95 MEM-1 8KX8 fully buffered, S-100, uses 2102 type rams PCBD $24.95 QM-12 MOTHER BOARD. 13 slot, terminated, S-100 board only $34.95 CPU-1 8080A Processor board S-100 with 8 level vector interrupt PCBD $25.95 RTC-1 Realtime clock board. Two independent in- terrupts. Software programmable. PCBD . ..$25.95 EPM-1 1702A 4K Eprom card PCBD $25.95 EPM-2 2708/2716 16K/32K EPROM CARD PCBD $24.95 QM-9 MOTHER BOARD. Short Version of QM-12. 9 Slots PCBD $30.95 MEM-2 16K x 8 Fully Buffered 2114 Board PCBD $25.95 16K RAM BOARD by HWE fully buffered, bank se- lect standard to IEE buss gold fingers, solder mask, plated thru holes, silk screened PCBD $25.95 KLUDGE BOARD by HWE for S-100 glass epoxy over 2600 plated through holes. 4 regulators with CAPS all S-100 lunctions labeled, gold fingers. PCBD $29.95 m\sm 419 Portofino Drive San Carlos, California 94070 Please send lor IC. Xistor and Computer pans list APRIL SPECIAL SALE ON PREPAID ORDERS (charge cards not included on this offer) WAMECO REAL TIME CLOCK BOARD. Kit with all factory marked parts $54.95 PCBD $23.95 4Kx8 EPROM. Fully buffered with Intel 1702A. Kit $74.86 MIKOS PARTS ASSORTMENT WITH WAMECO AND CYBERCOM PCBDS MEM-2 with MIKOS #7 16K ram with L2114 450 NSEC $235.95 MEM-2 with MIKOS #13 16K ram with L2114 250 NSEC $269.95 MEM-1 with MIKOS #1 450 NSEC 8K RAM $123.95 CPU-1 with MIKOS #2 8080A CPU 89.95 MEM-1 with MIKOS #3 250 NSEC 8K RAM 144.95 QM-12 with MIKOS #4 13 slot mother board .... 89.95 RTC-1 with MIKOS #5 real time clock 60.95 VB-1B with MIKOS #6 video board less molex connectors 99.95 EMP-1 with MIKOS #10 4K 1702 less EPROMS 49.95 EPM-2 with MIKOS #11 16-32K EPROMS less EPROMS 59.95 QM-9 with MIKOS #12 9 slot mother board 75.00 MIKOS PARTS ASSORTMENTS ARE ALL FACTORY PRIME PARTS. KITS INCLUDE ALL PARTS LISTED AS REQUIRED FOR THE COMPLETE KIT LESS PARTS LISTED ALL SOCKETS INCLUDED. VISA or MASTERCHARGE Send account number, interbank number, expiration date and sign your order. Approx. pottage will be added Check or money order will be sent post paid in US II you are not a regular customer, please use charge, cashier's check or postal money order otherwise there will be a two-week delay lor checks to clear. Calif, residents add 6% tax Money back 30 day guarantee. We cannot accept re- turned ICs that have been soldered to. Prices subject to change without notice. $10 minimum order, IT. SO service charge on orders less than $10.00. AMD 1-8 10 up AM01LO1APC I 435 $ 349 3.70 2.96 .'-Mi. I l I trll-C AMB1L12APC AM91L12B»C AUBlLISCPC 03 LOtH' C 93L01PC 93L06DC B3LOWC .IOPC toe 93L 1 03L14PC 931 lire 93L21PC B3L24PC 93L7BPC 93L34PC B3L3BPC 03L40OC 93L40FC 93L41PC MLHOPC AMOB5HL AMOIOMM AMASS DC AMsaertc 3. 98 3.30 3 BO IMMEDIATE DELIVERY 1-B 10 up I IA % BIB S S.BO AM1408L6 AM14B8PC AM1500OC AM1SOODL II660HC AM2W3PC AM3B04DC AM2B04DM AM3S0SFC AM3BOO AM2B03DC AM2803PC AM2BD4PC AM380tmC AM380DPC AMJBIOPC AMIB12ADC AM3B12DC AM3813DC AM3841APC AM2B41PC AM2BB5PC AM2901DC AM3B03PC AM 2905 DC AM3B07PC AM290DOM AMlfiMPC AM3011PC AM2914DC AM291BPC AM3S33PC 3341APC 3341 DC 334 IPC 334 TPC AMSOBOADC AM0OB0APC AMB101AOC AMS101APC AMB103UPC AMB103CPC AMS101DPC AMB103PC AMBI I2APC AMB1I7ADC AWB13QADC AMB130CDC AMBI 40 ADC B300PC B301PC B304PC 930HPC B30BOC D30BPC 0300PC B310PC S311PC 30 00 895 605 riooo 1B.J0 31 JO IB. TO 9314PC i 9316PC 9318PC 933 IPC 93I2PC B3IBPC 9334PC 0338 PC B340PC B341PC 9342PC 93BOPC 936BPC AMBS51PC AM9999PC 9600PC 0801PC 9603 PC Ml 4pc B61BPC 961 7PC 982QPC OB31PC AM29L03DC AM25L04PC AM25LOBDM AM2SLS14PC AM35LS13SPC AM29LS139PC AM25LS2S7PC AM2530SDC AMSBSIOPC AM26S02PC AM3CS12APC A M3SS 1 3 DC AMD LINEAR LP39BAH LF1B6H LF3B7AH LF3B7H LM.09H LMIOBH LM134D LM311H LM301AN LM30BAD SUPER KIM IS . $395.00 pansion into mure RAM, I EPROM and pro- totype area on lini' modern, com' pact fully aiiembl and integrated boi Total compatibllll with KIM-1 softw On board 5V. 3A lator and TTV, RS232 and Audio Tape ln.erft.ee. Intersil LED or LCD 3 1 /2 DIGIT PANEL METER KITS BUILD A WORKING OPM IN 1/2 HOUR WITH THESE COMPLETE EVALUATION KITS prototyping kill COmpatl* ■*■<» », O (tor in* TIOSl or LED d.lplay |lor materiel*, incluomg PC board, (or • ICL7104CV(LCO) S29.95 ortvinar una LCuditrjIi, n 7IOT) Kits provide an inclionrrvg pmn merit I ICLT107'LEO) S24.9S M733HC M733DM MJJ5DC MI3GHM MICR0P0WER Timing Circuit XRL565CP Directly inter changeable with popular 555 Timer. Dissipate* 1/1Sth power. SI. B0 each intersii'i Universal Counter System EVALUATION KIT ICM722GEV $5995 Ballantine Model 1010A Dual Channel/X-Y Scope A professional oscilloscope to fit ■ c • • your ' • • basic .*.(?! needs. • •••• -•• .-•* $695 KIM-1 MICROCOMPUTER 1802 SERIES 40 to r 85 C I802LD 1822LD 1B24LD 1852LD I853LD 1854LD i»:-ui» 18571 D H! Mil II 1B5IHD S19.95 14 00 T.TS 8 75 5.65 It. 70 5 50 5 50 5 85 5 fi5 IB02LE IB72LE 1824LE 1B52LE 1B51LE 1854LE 1B56LE 1S57LE 1B58LE IB-i'JLf. S1 1 20 8 05 3.55 GRI-ASCII KEYBOARD KIT 753K Keyboard $59.95 756K Keyboard $64.95 701 Enclo»ure(753 only)$14.95 702 Enclosure (both) $29.95 SYM-t S2G9.00 XR 2200KB FUNCTION GENERATOR KIT IneMdeaall components, PC board and Instructions $19.95 15 Megahertz PORTABLE MINI-SCOPES ""& MS-215 s 43500 MS-15 (3180(1 'ith RECHARGEABLE PORTABLE I2.7"H k 6.4"W x 7.5"DI BATTERIES Si CHARGER AVAILABLE OPTIONS-uiable on both the MS21S and ths MS15 41-140 Leather Carrying Cot. S45.00 — 41-141 10 lot Probo $24.50 PtVT Iftfii "RSONAL "CI eCVlff COMPUTER Quite portable, very affordable and un- believably versatile, the PET computer may very well be a lifetime investment. Model Description Price 2001 Computer w/8K $795.00 2020 PET Printer $696.00 C2N External Cassette $ 99.95 LX303 DIGITAL MULTIMETER Compact. Accurate. Oependsble. With easy to read '■'»" liquid crystal display (or convenient use In any kind ol light. Weighs only B ounces. Operates up to 200 rut on a single 9 volt battery. Nineteen ranges including 200mV to 1O0OV DC, 100 to 10 Megohms, 100 and 1000 VAC ranges, tOuA and tOmA ranges. Excellent ovorlood pro- tection, color coordinated ca»e and m _ . tection, color coo 5 749o color coded panel. * Note: One Transformer c F™5"""| HYBRID AUDIO ►^^'^ POWER AMPLIFIER b,m „ " Matching P/N p OVVO r Transformer SI-1O10GI10W1S 6.95 TRIO $ 7.90 SI-1O20GI20W) S13.95 TR 20 SI 0.90 A-S1-8|Socket lor above) .95 SMO30GI30WJS19.O0 TR 30 SI 2.90 SI-1050G,50WI $27.80 TR50 S17.90 A-SI- 10(Socket for above) .95 audlc Tipl.lie $1.69 5% CARBON RESISTORS Alt values from lOSlro WMil- Only in multiples of I 00 pes per value $1.79 $350"o The Instr u ctor 50 Orjlitop Computer from SIGNET. CS Complete, Ready-TO'Use Microprocessor Learning Package ncludes everything you need to write, un and debug machine language pro irams. Housed in one compact package. AAML^DOMA Send m 11 Hn< I % ^^1 ^11 Ik ' . / P.O. Box 220BY, Culver City. CA 90233. California resi- dents add 6% sales t3«. Minimum OrcTer, $10.00, Add $1.00 to cover postage and handling. Master Charge and Visa welcomed. Please include your charge card number, interbank number and expiration date. PHONE ORDERS (213) 641-4064 1602) 881 1348 (8041 33*1 -0707 12131 390 3595 CALIFORNIA ANCRONA I0W E El Cammo Rr !i„."i,.jl. LH'.MOn (400) 243-4121 OREGON ANCRONA 125 NE. B2nu Avi oniand. OR9722C IB03) 2M-5541 TEXAS ANCHONA 7S49 Richmond 270 BYTE April 1979 Circle 8 on inquiry card. CaIiFornIa Diq'iTAl Post Office Box 3097 B • Torrance, California 90503 Hazeltine 1400 cost effective CRT TERMINAL *735 plus shipping The Hazeltine 1400 Vidio Display Terminal is designed to optimize interactive real-time operations. The interface is capable of either local or remote connection through an E1A RS232-C interface at baud rates that are switch selectable up to 9600 baud. • All 128 ASCII Codes H ° I " I ' I j I ' I ■ I j I ' iTl J !■'." I -— I • 64 Displayable Characters |J|» I . lo I , 1.1- I , | ' Kl • I • 1-1 • 24 Lines; 12 inch Screen | | I I I I . I I ' ] ■ j - j M " j I S-100 Mother Board Quiet Buss TELETYPE MODEL 43 Even If we bavo to gin them away, were going to ship more 43's la 1979 then tho iggrogito Of oil our competitors. Model 43 AAA EACH 3 *925. 875. RS-232 lnterface'K"»dd'75.oo 825. ririL . • 80 Characters per Line • Self Diagnostic Test T Immediate Delivery CONNECTORS C2 "°°° 1 ■fe S3" |q<:.-.v.v.-av.-.v;o1 your choice DB25P male plus & hood or DB2SS female *3,95 Qty to. mile hd. 10 3.45 2.4S 1.15 25 3.15 2.2S 1.05 100 2.85 1.90 .95 500 2.25 1.60 .85 IK 1.97 1.37 .73 Edge Connectors GOLD 100 PIN IMSAI/ALTAIR Imsil solder .125*. 250 Imiai w/w.l25eenterl tltalr toldertall .140 row SPECIALS 22/44 Kim eyelet. 156" 25/50 toldor tab .150" 35/72 aide post w/«.156 14.95 3/410.00 • 4.95 3/413.00 45.95 3/415.00 41.95 3/45.00 41.09 3/42.00 41.95 3/45.00 %_* ,A1 P- n l-l, Certified Digital 41 SCOtCIl CASSETTES ips Diskettes 8inchSoft(IBM< 8 inch 32 sector Mini Soft sec. Mini 10 sector Mini 16 sector Won't drop ■ BIT! CALIFORNIA INDUSTRIAL is an Authorized Ooaler of Scotch Brand Dataproducts =• » MEMORY • Shugart Associates SA800-R Floppy Disk Drive The most cost effective way to store data proc- essing information, when random recall is a prime factor. The SA800 is fully compatible with the IBM 3740 rormat. Write protect cir- cuitry, low maintenance & Shugart quality. 544950 '24.88 ,. 1 IW § UNIVAC KEYBOARD TUB fjmoui Sporr. U TUB iijill compula. I Jddirtg m»ch APPLE RS-232 Serial Interface '59.95 Interfaces Apple II to Teletype or other seri- al printer. ELECTRONIC SYSTEMS TRS-80 Sj APPLE II 16k memory (8) 4116's DISKETTES Vfckrhcdnrim APPLE/TRS-80 verDaTirn Mini - soft sect sector World Power TRS-80 Interface MSIOa I/O Modual $129. 95 MCCa master control. . . $149. 95 RSBa S-100 interface $289. 95 EPRBOa Eprom prog $159. 95 EPRlOOa Eprom prog. . . $159. 95 Data sheet available upon request SPECIPL APPLE (i 3K MET COLOR* GRAPHIC $1024 IBK MEMORY COLOR • GRAPHICS* SOUND PLUS SHIPPING Mlg.Sug. Retail.... '1195 DiqiCAST A/V-100 R.F MODULATOR •JAQQC broadcast both fc^f.^^audio and vidio on your existing color television. Recommend- ed for the Apple II. Extender Board fllullen>3495 Facilitates design and trou- bleshooting of all S-100 mi- crosystems. Includes logic probe along with high-low and pulse LED display. Also available, the Mullin CB-1 controller board $88. Attention TRS-80 Owners • As you may be aware, publishers require advertisers to submit their ad copy 60 to 90 days prior to "press" date. That much lead time in a volatile market place, such as memory circuits, makes it extremely difficult to project future cost and availability. To obtain the best pricing on memory we have made volume commitments to our suppliers, which in turn affords us the opportunity to sell these circuits at the most competitive prices. Please contact us if you if you have a demand for volume state of the art mem- ory products. STATIC 1-31 32-99 100-5C -999 1K+ 21L02 450nS. 1.49 1.19 1.05 .95 .89 21L02 250nS. 1.69 1.49 1.45 * * 2114 1Kjc4 450 6.95 6.50 6.25 5.00 5.75 2114 1Kx4 300 8.95 8.50 8.00 * * 4044 4Kxl 450 5.95 5.50 5.00 * * 4044 4Kxl 250 9.95 9.50 9.00 * * 4045 1Kx4 450 8.95 8.50 8.00 * * 4045 1KX4 250 9.95 9.50 9.00 * * 5257 low pow. 7.95 7.50 7.05 6.75 6.45 SPECIAL CIRCUITS Z80A 4 MHz. 24.95 AY5-1013A UART 4.95 8080A CPU 9. 95 Floppy Disc Controllers 8085 22.50 WD 1771 single D. 39.95 8086 Intel 16 bits * WD 1781 Double D 65. 00 T MS 9900 16 bits 49.95 WD 1791 D/D 3740 » E PROMS 1-15 16 : 63 64+ 1702A 2K 4.95 4.50 4.00 2708 8K 9.95 9.50 9.00 2716 16K 19.95 * * 2532 32K * * * WORD PROCESSING TERMINAL LAWYERS, BUSINESSMEN This terminal, when properly interfaced to your computer, allows you the flexibility of gener- ating computerized error free correspondence. Gives your clients and business associates the impression that each letter was per- sonally typed for the recipient. Compose your correspondence and "Fill-in" forms on your computer, edit on your screen and when your text is letter perfect instruct your computer to print an error free copy on your terminal. The heart of this terminal is the durable IBM Selectric Type- writer. If maintenance is ever required, the World Wide network of IBM service centers is at your disposal. The terminal is func- tional as a regular office typewriter when not performing com- puter work. Over the next several months 150 of these terminals will be re- moved from service, returned to the manufacturer, inspected and brought into perfect condition. Last Spring we offered for sale two-hundred Diablo printers. Within three weeks every unit was sold. Don't pass this opportunity to purchase a word pro- cessing terminal at an excellent price. Selectric Terminal $650 (FOB Los Angeles). Shipping to the East coast aprox. $35. Combined TRS-80 interface and power supply available. Documentation will be supplied to those individuals who want to do their own custom interfacing. Sorry, but credit cards will not be accepted on thi3 purchase. IS-100 PROTOTYPE BOARD Minify alone, wi ' h standard address decoding and but- tering tor S100 lysrems. Room foi 32 uncommitted 16 Bin IC's. 5 bus buffer & de- coding cnlps. 1 DIP odd i ess select switch, a 5 vott regit- lorry and mof e. WWiOO-wtre wrap bread- board. Similar lo the GP100 AJiows wita wrap or all sizes of sockets In any slies ol sockets in any com CI nation. An axtfo regulator petition (or multiple railage appJicc- Thumbwheel sfgXswItch o- L o Ten position BCD $ 1?9... 10 50 OS .69 CAPACITORS ELECTROLYTICS $.98 your choice 10 50 100 1« 80,000/10v. 395 349 2.95 4500/SOv.SM* 135 119 1000/lSv *.55 49 .45 axial 5.88 .81 .73 .66 | SPDT Miniature Toggles 7101 C»K ON NONE ON 7107 ]bt ON-OFF(mnl.ON) 7105 CK OrMmomant.OH) Rocker JBT OPOI Rotary 3P-4Pos. Rotary 3P-6-P0S. PusbB(N.O) 5.39C3.4/S1 DIP Switch 25 100 IB DISCOUNT I | Wire WrapXenter IC SOCKETS wire wrap ta. 25 50 low profile ea. 25 50 i 17< 16 15 14 37< 36 35 18 17 16 16 36 37 36 19 18 17 24 99 93 85 36 35 34 40 109 155 130 63 60 58 S23.95 , BW630 50ft. '.98 KYNARSK 500 1,000 11,000 >9. SIS. 5105. ^■"yo^B [master cliiiiyi; (213)6799001 Circle 39 on inquiry card. All merchandise sold by California Digital is premlun Sorry, no CGD's,' Orders are shipped the same day i California residents udd 6%. Foreign orders add lo;; Orders over $25. when accompanied by payments are at our expense. Olherwi.se, please add $U. BYTE April 1979 271 Circle 364 on inquiry card. ATTENTION TRS-80 & APPLE USERS A PRINTER FOR YOUR COMPUTER TERMS: VISA, MASTERCHARGE, Cashier Check or Money Order. CO. D. with 10% down. Shipping Via Air or Truck collect. 3 S SALES P.O. BOX 45944 TULSA, OK 74145 918/622-1058 $995 00 MODEL 3S-80 for TRS-80 Ready to plug into your expansion interface. MODEL 3S-PP for computers with 8 bit serial port. MODEL 3S-SS for computers with RS-232 port. M095 00 for MODEL 3S-AA Includes RS-232 card for Applel Specify model number on order. • Ready to plug into your computer • Very high quality print • Completely refurbished IBM 731 I/O Selectric terminal in a new table • Upper & lower case removable type ball • Special I/O interface • Heavy duty re-mfg. IBM power supply BUILD YOUR OWN LOW COST MICRO-COMPUTER POWER SUPPLIES FOR S-100 BUS, FLOPPY DISCS, ETC. POWER TRANSFORMERS (with mounting brackets) item NO. USED IN KIT NO. PRI. WINDING TAPS SECONDARY WINDING OUTPUTS 2x8 Vac 2x14.5 Vac 2x25 Vac SIZE Wx Dx H UNIT PRICE T"1 T 2 T 3 T 4 0V, 110V, 120V 0V, 110V, 120V 0V, 110V, 120V 0V, 110V, 120V 2x9A 2X13.5A 2X10A 2X4.5A 2x2.5A 2x3.5A 2x2.5A 2X2.5A 2x4.5A POWER SUPPLY KITS (open frame with base plate, 3 hrs. assy, time) ITEM USED FOR @+8Vdc @-8Vdc @+16Vdc @-16Vdc @+28Vdc 3%" x 35/8" x 31/8" 19.95 3%"x4%"x3Vb" 25.95 3%"x4%"x3V8" 27.95 3%" x35/8" x31/8" 19.95 SIZEWxDxH UNIT PRICE KIT 1 18 CARDS SOURCE 18A KIT 2 SYSTEM SOURCE 25A KIT 3 DISC SYSTEM 18A KIT 4 DISC SOURCE 8A 1A 1A 2.5A 3A 2A 2.5A 3A 2A 4A 8A 12"x6"x4%" 12"x6"x4%" 14"x6"x4%" 10"x6"x4%" 46.95 54.95 62.95 44.95 EACH KIT INCLUDES: TRANSFORMER, CAPACITORS, RESIS., BRIDGE RECTIFIERS, FUSE & HOLDER, TERMINAL BLOCK, ALUM. CHASSIS PLATE, ALL NECE. MTG. PARTS AND INSTRUCTIONS. SHIPPING: FOR EACH TRANSFORMER: $4.75. FOR EACH KIT: $5.00 IN CALIF., $7.00 IN OTHER STATES. CALIF. RESIDENTS ADD 6% SALES TAX. MASTER CHARGE. VISA & OEM WELCOME. MAILORDER: P.O Box 4296 Torrance, Ca. 90510 SUNNY INTERNATIONAL (TRANSFORMERS MANUFACTURER) Telephone: (213) 633-8327 7245 E. Alondra Blvd Paramount, Ca. 90723 STORE HOURS: 9 AM-6 PM 272 BYTE April 1979 Circle 354 on inquiry card. our new retail location! t 9.1 a h ■far: LM3A 3 dig 1% DC $13*05.— $120.60 LM3.5A 3 No zero adjustment and no full-scale ohms adjust 1 Battery-operated — NiCad batteries; also AC line operation. Large LED display for easy reading without Interpolation Size: 1.9"Hx2.7"Wx4"D Part* & libor guaranteed 1 year Till stand option I 3.50 Loalhor cue $20.00 MS-1S MINISCOPE mn tMtvgmM ■ 15 megahertz bandwidth. 1 External and Internal trigger, 1 Time base — .1 mlcrosec. to 0.5 Sec/dl' settings. ±3%. ' Battery or line operation, 1 Automatic & line sync modes. 1 Power consumption < IS watt: 1 VoniGil Gun — ,0i to SO V/dr* • \2 wningi i 3N 1 Vi.w.nu «roi 1.1" * 1 35" 1 Cm »ua 2.7"H ■ e *"Vi t 7 5'D. 3 pounds airrafivs S C/)arp«r Una m PROBE K PROBE K with the purchase of SCOPE and 'the MENTION ot This MAGAZINE S100-WWG 50HOO Com 125 en LEVEL WIRE WRAP 025 so. D on 250 spaced rows GOLD filar 14 59 1024 $4 00 $3 75 $3.50 lor ALTAlR S100-STG WlOOConl >25 Clrs DIP SOLDEH 1AIL on 250 spaced rows lor VECTOR and MASI mother boards GOLD plated 1-4 5-9 10-34 $3.50 $325 13.00 R6B1<3 50"00 Com 125 cKS PIERCED SOLDER EYELET tails boards GOLD GOLD 17.53 15.00 $4.75 RB44-G 22Jdd Com ' IERCE0 SOLDER GOLD pialed 14 5-9 10-24 $300 $2.75 $2.50 JG-1 IMSAI St. ATTN: OEMs and De* Other Popular Edge Connectors 56 CIrs R644 3 22t4* Com 156 clrs IfJ 3 LEVEL GOLD WIRE WRAP SOCKETS Sockets purchased in multiples of 50 per type may be combined (or best price. 1-9 10-24 25-99 100-249 250-999 8 pin* .40 .36 .34 .31 .27 14 pin* .45 .39 .37 .34 .32 16 pin* .50 .42 .40 .36 .34 18 pin .70 .60 .55 .50 .45 20 pin .90 .80 .75 .65 .62 22 pin* .95 .85 .80 .70 .65 24 pin .95 .85 .80 .70 .65 28 pin 1.25 1.15 1.00 .95 .90 40 pin 1.65 1.45 1.35 1.20 1.10 All sockets are GOLD 3 level closed entry ' End and side stacable 2 level. Solder Tail. Low Profile. Tin Sockets and Dip Plugs available CALL FOR QUOTATION LIQUID CRYSTAL DIGITAL CLOCK-CALENDAR ■ For Auto, Home, Ollice > Small in size (2x2 VjxVi) • Push button for seconds release for date. • Clocks mount anywhere with either 3M double- Sided tape or VELCRO, Included • 2 MODELS AVAILABLE: LCD-101, portable model rune on self-contained batteries tor betler than a year. LCD-102. runs on 12 Voll system and Is back- lighted $34.95 3662 6.5"x4.5" $7.65 3662-2 9.6" X 4.5" $11.45 P pattern plugboards lor IC's Epoxy Glass 1/16" 44pincon. spaced ,156 ■Mil ■mini 3690-12 CARD EXTENDER Card Extender has 100 con- tacts 50 per side on .125 centers-Attached connec- tor-is compatible with S-100 Bus Systems. $25.63 3690 6.5" 22/44 pin .156 ctrs. Extenders ... $13.17 EPROM FACTORY PRIME $12.00 EA. 25 + Call For Price 14& 16 PIN 'GOLD 3 LEVEL \WIRE WRAP SOCKETS '14 - G3 100 for $30.00 16-G3 100 for $30.00 50 of each for $32.00 Sockets are End & Side stackable, closed entry IM-10A List $89.00 SPECIAL $56.95 with tube Perfectly balanced fluorescent lighting with precision magnifier lens. Tough thermoplastic shade. Easy lens re- moval. New wire clip design permits easy installation and removal of lluorescent tube. Comes with plastic shield to protect tube from soiling and damage. Colors Gray, Black, and Chocolate Brown. ORDER TOLL FREE 1 8004235633 (213)894-8171 WRAP POST for .042 dia. holes J | (all boards on this page) \ TitlC pkg. 100 .. S 2.34 T44/M pkg. 1000 $14.35 * A 13 hand installing tool $ 2.04 Circle 312 on inquiry card. 2102LPC 450ns Low Power RAMS $1.00 Ea.in lots of 25 2102LHPC 250ns Low Power RAMS $1.25 Ea.in lots of 25 Send for our latest brochure. ELECTRONICS 16723B Roscoe Blvd. Sepulvedo, CA 91343 Terms VISA. MC, 8AC. check. Money Order. C.O.D . U.S Funds Only LA residenls add 6% sales lax. Mini- mum order $1000 Orders less than $75 00 include 10% shipping and handling, excess refunded. Just in case please include your phone no Good Thru April 1979 phone orders welcome (213) 894-8171 FND 503 Common Cathode FND 510 Common Anode V*" 7seg LED 59C 10/ s 4 50 -<^^>s OEM and Institutional inquiries invited, j 24 PIN DIP PLUGS WITH COVERS «8 ■-•■ ^r 3/ $1.00 40/ $10.00 Visit our new retail location our new re IKSHHJ The EXPANDORAM is available in versions from 16K up to 64K, so for a minimum investment you can have a memory system that will grow with your needs. This is a dynamic memory with the in- visable on-board refresh, and IT WORKS! • Bank Selectable • Phantom - Power 8VDC, ± 16VDC, 5 Watts • Lowest Cost Per Bit • Uses Popular 4116 RAMS PC Board is doubled solder masked and has silk-screen parts layout. SD EXPANDORAM 74e IttUmate S-fOO THemontf * i -- -• '•', I. t:-^... j ■re''Bffv"Vr/*VVF | )ISC DRIVES Sugart 3A400-5%" $29500 I GSI/Siemans |*FDD100-8 8" 5395 00 'equivalent to Sugart 801 Siemens FDD 200-8 8" double-sided {double density $599.00 DISC CONTROLLER SD "VERSAFLOPPY" Kit The Versatile Floppy Disk /~ir»l w Si KO00 Controller Uniy IOO ^n^rNiM^ptaA^^^poCT'i^r • Extensive documentation clear- ly written • Complete Kit includes all Sockets for 64K • Memory access time: 375ns, Cycle time: 500ns. • No wait states required. • 16K boundries and Protection via Dip Switches • Designed to work with Z-80, 8080, 8085 CPU's. EXPAND0 64KIT(4116) 16K $245.00 32K $310.00 48K $375.00 64K $440.00. FEATURES: IBM 3740 Soft Sectored Compati- ble. S-100 BUS Compatible lor Z-80 or 8080. Con- trols up to 4 Drives (single or double sided). Directly controls the following drives: 1. Shugart SA400M50 Mini Floppy 2. Shugart SA800V850 Standard Floppy. 3. PERSCI 70 and 277. 4. MFE 700/750. 5. CDC 9404/9406. 6. GSI'Siemans FDD100-8 34 Pin Connector tor Mini Floppy. 50 Pin Con- nector for Standard Floppy. Operates with modified CP/M operating system and C-Basic Compiler. The new "Versafloppy" from S.D. Computer Products provides complete control for many of the available Floppy Disk Drives, Both Mini and Full Size. FD1771B-1 Single Den- sity Controller Chip. Listings for Control Soft- ware are Included In price. j ^CQjllNENTAl SPECIALTIES COffPOBATION 100MHz 8 •Digit Counter ': udtiuu • 20 Hz-100 MHz Range • .6" LED Display • Crystal-controlled tlmebase • Fully Automatic • Portable - completely self-contained • Size- 175" x 7.38" x 5.63" • Four power sources, i.e. batteries, 110 or 220V with charger 12V with auto lighter adapter and external 7.2-10V power supply. _£t34#!Sale $120.00 ACCESSORIES FOR MAX 100: Mobile Charter Eliminator use power from car battery. Model 1M-CLA S3.95 Charger/Eliminator use 110 VAC L Modal 100 - CAI 59.95 N Logic Probes and Digital Pulsers LOGIC MONITOR 1" Trace signals through all types of digital circuits. Unit cllp3 over any DIP IC up to 16 pins. Each of its 16 contacts connects to a single-bit level detector that drives a high- Intensity, numbered LED readout activated when the ap- plied voltage exceeds a fixed 2 V threshold. Logic "1" turns LED on; logic "0" keeps LED off. A power-seeking gate network automatically locates supply leads and feeds them to the LM-1's Internal circuitry. Saves minutes, even hours in design, troubleshooting, debugging of equipment. Voltage Threshold: 2 V ■ 0.2 V. Input Im- pedance: 100,000 ohms. Input Voltage Range: 4-15 V max. across any two or more Inputs. Currant Drain: 200 mA at 10 V. Size: 4" I. x 2" w. x 1.75" d. when open. Weight: 3 ozs. CSC Model LM-1 Logic Monitor— Complete. |Ljst Price $54.95, LOGIC PROBES CSC logic probes are the ultimate tool for breadboard design and testing. These hand-held units provide sn instant overview of circuit conditions. Simple to use; just clip power leads to circuit's power supply, set logic family switch to TTUDTL or CMOS/HTL Touch probe to test node. Trace logic levels and pulses through digital circuits. Even stretch and latch for easy pulse detection. Instant recognition of high, low or Invalid levels, open circuits and nodes. Simple, dual-level detector LEDa tell It quickly, correct- ly. HI (Logic "1"): LO (Logic "0"). Also Incorporates blinking pulse detector. e.g., HI and LO LEDs blink on or off, tracking "1" or "0" states at square wave frequencies up to 1.5 MHz. Pulse LED blinks on lor '/> second during pulse transition. Choice of three models to meet indlvidusl requirements: budget, projecl and speed of logic circuits. MODEL LP-1 Hand-held logic probe provides instant reading of logic levels tor TTL, DTL, HTL or CMOS. Input Impedance: 100,00X1 ohms. Minimum Detectable Pulse: 50 ns. Maximum Input Signal (Frequency): 10 MHz. Pulse Detector (LED): High speed train or single event. Pulse Memory: Pulse or level transition detected and stored. LCSC Model LP-1 Logic Probe-Net Each $42.70 MODEL LP-2 Economy version of Model LP-1. Safer than a voltmeter. More accurate than a scope. Input Impedance: 300,000 ohms. Minimum Detectable Pulse: 300 ns. Maximum Input Signal (Frequency): 15 MHz. Pulse Detector (LED): High speed train or single event. Pulse Memory: None. CSC Model LP-2 Logic Probe-Net Each $23.70 MODEL LP-3 High speed logic probe. Captures pulses as short as 10 ns. Input Im- pedance: 500,000 ohms. Minimum Detectable Pulse: 10 ns. Maximum Input Signal (Frequency): 50 MHz. Pulse Detector (LED): High speed train or single event. Pulse Memory: Pulse or level transition delected and stored. CSC Model LP-3 Logic Probe-Net Each $66.45 DIGITAL PULSER The ultimate in speed and ease of operation. Simply connect clip leads to positive and negative power, then touch DP-1's probe to a circuit node: automatic polarity sensor detects circuit's high or low condition. Depress the pushbutton and trigger an opposite polarity pulse into the circuit. Fast troubleshooting Includes Injecting signals at key points in TTL, DTL. CMOS or other popular circuits. Test with slngte pulse or 100 pulses per second via built-in dusl control push-button, button selects single shot or con- tinuous modes. LED indicator monitors operating modes by flashing once for single pulse or continuously tor a pulse train. Completely automatic. pencil-size lab/field pulse generator for any family of digital circuits. Out- put: Trl-state. Polarity: Pulse-sensing auto-polarity. Sync and Source: 100 mA. Pulse Train: 100 pps. LED Indicator: Flashes for single pulse: stays lit tor pulse train. CSC Model 0P-1 Digital Pulser— Net Each $71.20 4607 DEC LSM1, PDP8. PDP11, Heath H-11, P Pattern Epoxy Glass. Plug Board 8.43"x5.187' Dual 36 pin DEC/HEATH Connectors. 1-4 5-9 10-24 19.95 17.96 15.96 VECTOR-PAK ASSEMBLED MICROCOMPUTER CASES Adjustable packaging system (or S-lOObus microcomputers, compatible with Altalr 8800 and IMSAI 8080 size cards. • Smart looking, deluxe cases unmarred by unsightly screws or fasteners. • Finished in dark blue textured vinyl. • Instantly accessible interiors with slip out covers. • Removable recessed rear and front panels. • Fully adjustable interior mounting systems for any card or card spacing within size limitations. No cutting or drilling necessary. • Perforated bottom cover for cooler opera- tion. DESCRIPTION Assembled case with perforated bottom cover. Installed mounting struis for card guides and receptacles or mother board. Cards top loaded, spanning front to back. Card guide (12 pair) and chassis plate sup- plied uninstalled. 6801-1 Plain no etched circuitry except contacts. Pro- duces maximum flexibility. 1-4 14.95 6602-1 Pad per 2 holes. Two-holE pads allow tack solder- ing of socket, plus second hole for component leads. "ANY DIP" has full power and ground planes back to back. Board accommodates 3, 4, 6. 9" Dips. 1-4 5-9 10-24 21.95 19.76 17.56 VP-2 $159.00 Same as VP1 except cards oriented side to side. PRIORITY J. 4608 i Is form and size compatible with IN- : TEL SBLB0 Series and NATIONAL ; BLC SO Series microcomputer '- boards. Power and Ground buses on !: both sides. ■ 1-4 5-9 10-24 45.00 40.50 36.00 Individual tinned square pads surround most holes. 4608-1 Ideal lor mounting components by "tack soldering" Same as 4608 - «»cept plain less Top ol board pod free for mounting I/O connectors. P°" ef buses. 1024 15.96 104 34.00 5-9 30.60 10-24 27.20 ELECTRONICS W23B Roscoe Blvd. Sepulveda CA 91343 Terms VISA. NIC, BAG. check. Money Order. C D . U S Funds Only CA residents add 6% sales lax 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 April 1979 Send for our latest brochure. pflOnO OrClefS WelC0fT16 (213) 894-8171 OEM and Institutional inquiries invited \ Visit our new retail location t our new retail location! FREE! 16 Pin Test Clip With The Purchase Of A.C.E. BOARD $ 4 75 Value ALL-CIRCUIT EVALUATORS A-C-E 2DO Part No. 923333 A-C-E 21 a Part No. 923326 $ 46 K A-C-E 2 27 Part No. 923325 A-C-E 236 Part No. 923324 79 95 1,760 SOLDERLESS PLUG-IN TIE POINTS CAPACITY: UP TO 18 14-PIN DIP'S • Two 5-way binding posts • Size: 6-1/2" by 7-1/8" • Fully assembled This intermediate breadboard in the ACE series provides even greater circuit- building flexibility. The universal matrix of 1760 solderless, plug-in tie points is comprised of 288 sep- arate 5-tie-point terminals and 10 distribution buses each insisting of 9 connected 4-tie-point terminals. Buses may be linked to provide functions such as voitage and ground dis- tribution, reset lines, clock lines, shift command, etc. 2,712 SOLDERLESS PLUG-IN TIE POINTS CAPACITY: UP TO 2714-PIN DIP's • Four 5-way binding posts • Size: 8" by 9-1/4" ^ • Fully assembled Model 227 has greater capacity for components and more buses than the 218. The universal matrix of 2712 solder- less, plug-in tie points is comprised 384 separate 5- tie-point terminals, 24 vertical distribution buses (each with five connected 5-tie-point terminals) ptus 4 hori- zontal distribution buses leach with 12 connected 4-tie point terminals. Buses may be linked together in any combination to provide functions such as voltage and ground distribution, reset and clock lines, shift command, etc. 3,648 SOLDERLESS PLUG-IN TIE POINTS CAPACITY: UP TO 36 14-PIN DIP's • Four 5-way binding posts • Size: 10-1/4" by 9-1/4" • Fully assembled Model 236, the largest in the ACE series, offers the user virtually unlimited circuit- building flexibility. The univer- sal matrix of 3,648 solderless, plug- in tie points is comprised of 512 sep- arate 5-tie-point terminals, 32 vertical dis- tribution buses (each with five connected 5- tie-point terminals) plus 4 horizontal buses (each r with 18 connected 4-tie-point terminals). These buses may be linked in any combination to provide unique or common functions such as voltage and ground distribution, ''reset lines, clock lines, shift command, etc. A-C-E 20S Part No. 923332 •28" A-C-E SOI Part No. 923334 A-C-E 21 Part No. 923331 195 728 SOLDERLESS PLUG-IN TIE POINTS CAPACITY: UP TO 8 1G-PIN DIP's • Two 5-way binding posts • Size: 4-9/16" by 5-9/16" • Kit form — lowest cost This handy breadboard kit, the smallest in the ACE series, offers excellent versatility for small circuit check-out. The universal matrix of 728 solderless, plug-in tie points includes 136 sep- arate 5-tie-point terminals and 2 distribution buses, each consisting of 6 connected 4-tie point terminals . . . typically for voltage and ground. Complete assembly instructions included. 872 SOLDERLESS PLUG-IN TIE POINTS CAPACITY: UP TO 016-PIN DIP's • Two 5-way binding posts • Size: 4-9/16" by 5-9/16" • Fully assembled Model 208, the smallest assembled board in the ACE series, has 6 more distribution buses than the 200-K. The matrix of 872 solder- less, plug-in tie points is comprised of 136 separate 5-tie-point terminals plus 8 distribution buses, each with connected 4-tie-point terminals. Use buses for voltage and ground distribution, reset lines, clock lines, shift command, etc. 1,032 SOLDERLESS PLUG-IN TIE POINTS CAPACITY: UP TO /214-PIN DIP's • Two 5-way binding posts • Size: 4-9/16" by 7" • Kit form Here's the larger of the two kits in the ACE series, larger circuit-building capac- ity. The matrix is 1032 solderless, plug-in tie points comprised of 192 Sep' arate 5-tie-point terminals and 2 distribu tion buses, each with 9 connected 4-tIe-poini terminals. Buses are typically used for voltage and ground distribution. Assembly instructions included. 1 ,224 SOLDERLESS PLUG-IN TIE POINTS CAPACITY: UP TO 7214-PIN DIP's • Two 5-way binding posts » Size: 4-9/16" by 7" • Fully assembled Model 212 is identical with the 201 K kit except that it has more distribution buses for greater flexibility. The miversal matrix of 1224 solderless, plug-in tie points consists of 192 separate 5- -point terminals, 6 vertical distribution buses (each with 9 connected 4-tie-point terminals) and horizontal distribution buses (each with 6 connected 4-tie-point terminals}. Buses can be used for voltage and ground distribution, reset & clock lines, shift command, etc. BREADBOARD JUMPER WIRE KIT Each kit contains 350 wires cut to 14 different lengths from 0.1" to 5.0'. Each wire Is stripped and the leads are bent 90' for easy Insertion. Wire length Is classified by color coding. All wire Is solid tinned 22 gauge with PVC insulation. The wires come packed in a convenient plastic box. JK1 923351 $10.00 . axM ivaft*' .. HICKOK LX303 ALL THE MOST WANTED FEATURES AT A MOST WANTED PRICE $7495 Big Vi" High LCD Display Use Indoors or Out 200 Hour 9V Battery Hie Auto Zero, Polarity, Overrange Indication lOOmV DC F.C. Sensitivity 19 Ranges and Functions Here Is the handful of accuracy you've been waiting for. Handsomely encased. Compact. Efficient. Only 8 ounces. Hlckok's exciting, new LX 303, 1 Vi digit Mini-Multimeter with high quality components, one year guarantee and rugged Cycolac® case offers features previously found only In ex- pensive units ... at a price under $75.00! So why wait any longer? The amazing LX 303 is here, NOWI Another American made test equipment breakthrough from Hlckok. PRIORITY SPECIFICATIONS: DC VOLTS (5 RANGES): 0.1mV to 1000V; Accuracy t 0.5% rdg ± 0.5% f.s.; Input imped; 10Mu; Max. Input IkV except 500V on 200mV range. AC VOLTS(40Hi to 5kHz): 0.1Vto 600V; Accuracy: t 1.0% rdg ± 0.5% f.s. ( — 2dB max. at 5kHz); Max. Input: 600V RESISTANCE (6 LOW POWER RANGES): 0.1n lo 2OOM11; Accuracy: ± .05% rdg ± 0.5% t.s. { ± 1.5% rdg on 20Mu range); input protected to 120VAC all ranges. DC CURRENT (6 RANGES): .01nA to 100mA: Accuracy: ± 1.0% tdg t 0.5% 1.8. DIMENSIONS AND WEIGHT: 5-7:8 - ' x 3-3/B" x 1-3/4". 8 oz.; POWER: 9V battery (not included) or Hlckok AC adapter; READ RATE: 3/sec. ELECTRONICS Circle 312 on inquiry card ^ 16723B Poscoe Blvd. Sepulveda CA 91343 Terms VISA. MC BAC crietk Money Order LOD.US Funas Uniy lA -esiOenis add 6% sales lax Mini- mum orrjef $10 00 Orders less lhan $75 00 include 10% shipping and handling, excess refunded Just in case please include your phone no GOOd ThTU April 1979 Send lor our lalesl brochure phOfie OffJerS WBIC0IH8 (213) 894-8171 OEM and Inantutional inquiries invited our new retail location V TRS-80 USERS "The Wait is finally over" ACT — I Software ' Computerized Home Money Management System. " Save time and gain budget control. • Take the work and worry out of money management. • Weekly, Monthly, & Annual totals for In- come, Payments, Taxes & Interest. • Checking account maintenance including 5 week projected check balance. • EASY TO USE, ON ONE CASSETTE, 16K, Level II. • ACT — 1 Monthly Newsletter keeps you up to date. " Software, Documentation & User In- structions. For Information: THE PROGRAMMING SHOP 260 Sheridan Ave Palo Alto, CA 94306 AURORA, II. AREA FARNSWORTH COMPUTER CENTER 1891 N. Farnsworth Ave. At the E-W Tollway Aurora, II. Ph. 312-851-3888 Personal & Business Microcomputers, Peripherals • Apple •Cromemco • North Star APPLEII 16K RAM $1195.00 Including 20 FREE PROGRAMS • Add on Memory $150.00 Weekdays 12 to 8, Sat. 10 to 5 Tk- Star Base Aries -* In order to dock your space shuttle with Star Base Aries™ you must monitor and alter range, linear velocity, life support, angle of attack and fuel. This accurate real time simulation is currently available in a high resolution graphic format for the Apple II (16K tape $15.00, disc $18.00). Also available for the TRS-80 Level I ($10.00). Please specify. Forward check or -money order to: ISDG Inc. 312 Highgate Avenue Buffalo, New York 14215 (N.Y. State residents add 7% sales tax) ALLOW 6 WEEKS FOR DELIVERY izikizitikiziz Circle 306 on inquiry card. Circle 132 on inquiry card. Circle 182 on inquiry card. THE FRUGAL FRONT PANEL Series PCB's 5- 1M DISPLAY SENSE BOAHO-Ki UM 95 . Board'Oala |29_9S • O" flOJ-tf or fl.mor* DATA/ADORESS/STATUS LEOt 4 SENSE • ll„Hr,t,l Galtf f aar Contain, S'UlIf '*«n. Si. (Of .mmiil PCS HEMOTE HEX PANEL - Kit |fj 95. Board/Oau »2.» • S-« r :.<;;■,- h«. 0'ipf«n io> data a address • Sfl Sr.fui (f Of. f rghf SENSE 4 Two AUM SwfClMI • Ctbltt McluOM to. ut4 ftftfl OISPIAT SENSE Sojxf • SPECIAL tliUi "" Op'" h " PANEL * OlSPLAY SENSE REMOTE BINARY PANEL - Kil 164 95. Board/Dala iUM • for front i'j„,i Mounting ol LEOt and Swilehti • 10 IfO'i, Octal formal, Two AUJt a tight SENSE Swilchn • Ciblwi m, i„.!„, lo, ui* w in DISPLAY SENSE Boaid • tPtClM in* 95 lor ftolW BINARY PANEL t DISPLAY SENSE COMPUTER CANOPY OUST COVERS • Atlrmctint. HAtty Oulf UpfoUifr Vlrtfl. rulvfd WUnut Stamina • for TRSS0 KtfbOAtri 19 W, for APPLE II t?JM • for H-t, H- r I, Horiton, Integrand tOOO BB B • fa PET. ADM-3. H-t, ACT IV0. Hmlt'ft ISOO'ISIOHSIO Bfcfl Add 1 1 H trunpma If Htm, ••oil mill at irtundttl. Add 1 1 Mr Colli. TBtmm ■■■•■' S* If M C. VISA. MO t COD Walcom CHECK Wl TH YOUR LOCAL COMPUTER STORE F OR AVAILABILITY I Ljjaj-s^s t Digital Dynamics. Inc. i— ^' ' M Poll OIlKt Boi J7JO ,?:,?£.'.?:'*„, g San Anlonio TI 7IMJ CROMEMCO Less 20% System II - System III NORTHSTAR Less 15% Horizon & Boards Sara Tech Electronics, Inc. P.O. 692 Venice, FL 33595 (813) 485-3559 glUJlo) LOGIC for graphics! The best S100 graphic display boards! MATROX ALT-256 (256x256 resolution) MATROX ALT-51 2 (51 2x256x1 or 256x256x2 resolution) And the best graphics software for support! The engineering & graphics people (217)367-0299 ©(LOLq) LOGIC Box V, Savoy, IL 61874 Circle 87 on inquiry card. Circle 31 7 on inquiry card. Circle 357 on inquiry card. /-WEB £ ASSOCIATES-v ET UNSTUCK! ith TBUFF T " se state recorder ike, Model and Mfg. Code(inside 'STOP YOUR ~— ^-fc^Jlatt. comp't.) CASSETTE WHEN IT SHOULD WITH TBUFF™ $12.95 ea. Is the "sticking" relay problem preventing your TRS-80 T "recorder from stopping when it should? If so, simply plug our miniature TBUFF"in Mfl*. HStfi VOur REMote cable between your and the recorder and stay unstuck 3 TRS-80 forever! Dealer inquiries invited Club discounts available Send check or money order to: WEB ASSOCIATES P.O. Box 60-BA Monrovia, CA 91 01 6 (California Residents add 6% tax) FLOPPY DISK REPAIR • PerSci and Shugart • Quick turnaround • Factory trained on PerSci National Computer Service 7501 Sunset Blvd Hollywood CA 90046 213-851-2226 WORD PROCESSING MICRO FILE MK IIA Demo Unit — One Only Original retail price $8,755 Extended BASIC Assembler Document Processor Editor Letter Writer Complete Documentation Reduced for Quick Sale $5,495 SUNNY COMPUTER STORES, INC. University Shopping Center 1238A S. Dixie Hwy. Coral Gables, FL 33146 (305)661-6042 Circle 385 on inquiry card. Circle 270 on inquiry card. Circle 361 on inquiry card. SOLID STATE SALES vnoe& a ffiteaMfiMxtgA in 'gofn/uttei, gTecAno/o&u A PICTURE MAY BE TAKEN BY OUR CAMERA, STORED IN A COMPUTER IN REAL TIME AND THEN DISPLAYED ON A CRT AT AN AFFORDABLE PRICE VIDEO COMPUTER PROCESSING SYSTEM THIS REMARKABLE VP-1 COMPUTER/ INTERFACE KIT HAS THE FOLLOWING: FEATURES • IT PRODUCES COMPOSITE VIDEO OUTPUT IN A 128x 128 MATRIX FROM A DIRECT MONITOR CONNEC- TION USING 8K OF MEMORY • THE SYSTEM USES A STANDARD S 100 BUSS • WILL NOT TIE UP COMPUTER SOFTWARE WHEN NOT ADDRESSED • IT DISPLAYS CONTINUOUSLY WHEN NOT ADDRESSED • IT MAY PRODUCE PSEUDO COLOR AND/OR GRAPHICS (UP TO 16 GREY LEVELS, 4 BIT BINARY) GRAY LEVELS THE CAMERA WILL TAKE BETWEEN 15 AND 100 FRAMES/SECOND. THE CAMERA CONNECTS TO THE PROCESSOR WITH SEVEN LINES. THIS INCLUDES VIDEO AND TIMING SIGNALS APPLICATIONS • CONTINUOUS SURVEILLANCE • INSPECTION OF MOVING PARTS WITH PROPER STROBING • VISUAL GRAPHIC INPUT TO A COMPUTER • CHARACTER OR PATTERN RECOGNITION • PICTURES MAY BE TAKEN DIRECTLY FROM A TV WITHOUT ELECTRICAL CONNECTIONS • THE INTERFACE KIT MAY BE USED SEPARATELY AS A 128x128 16 LEVEL GRAPHIC DISPLAY OUR VP1 VIDEO SYSTEM CONSISTS OF THE FOLLOWING KITS: • CCD 202C SOLID STATE VIDEO CAMERA KIT (CASE INCLUDED) .$399 00 • VP-1 COMPUTER/VIDEO INTERFACE KIT (3 BOARDS) $599°° ASSEMBLED 8K MEMORY BOARD (OPTIONAL) .$235°' THIS VIDEO COMPUTER KIT CAN WORK WITH THE GE, REDICON, OR ANY OTHER 128 X 128 SENSOR CAMERA REGULATED POWER SUPPLIES POWER SYSTEMS # PS1111 115-230V 50/60 cv. in 5v DC at 35A out. 6"x 16%"x 15%" 26 lbs. shipping weignt $85.00 POWER SYSTEMS # PS1 106 11 5-230 V 50/60 cy. in 12v DC at 15Aout. 5"x 16y."x 5" 19 lbs. shipping weight. S75.00 IOV PROTECT) C/MOS (DIODE CLAMPED) 4O0I ia 4019 - .37 4050 - ftfi 74C74- 0002 - .18 4020 - 90 4053 - 1.10 74C83- 4006 - 95 4021 90 4055 1 75 74C86 - 4007 - .18 4022 90 4066 - 70 74.C93 - 4009 - 37 4023 .18 4069 - .4b 74C151 4010 - 1011 - 4012 - 4013 - .37 .18 .18 29 4024 - 4026 - 4027 - 4028 - 75 18 37 80 4071 4072 - 4076 - 4516 - .21 .97 .95 74C160 74C161 74C174 74C175 4014 - -7S 4029 95 74COO- .22 74C192 40)5 - .75 4030 - 33 74C02- .22 74C193 4016 - .29 4035 97 74 COB - .22 74C901 4017 - IDS 4042 .65 74C10- ?7 74C902 ,4018 - .90 4049 ■ .35 74C73 - .65 74C914 moj.t r«: MMM7U4- MK400BP - 530* 4K PROM - rfn 6078- 8703CTELE CONVEF PRINTED CIRCUIT BOARD 7 WATT LD 65 LASER DIODE I R $a95 2N 3820 P FET $ 45 2N 5457 N FET $ .45 2N2646 UJT S 45 ER gOQ TRIGGER DIODES 4 SI 00 2N G0:.'g PHOG UJT S 65 MINIATURE MULTI-TURN TRIM POTS 100, 1K, 2K, 5K, 10K. 20K. 50K, 200K. IMcg, 2Meg. $.75 each 3/S2.0Q CHARGED COUPLE DEVICES CCD 201C 100x100 Image Sensor $95.00 CCD 202C 100x100 Image Senior S145.00 VERIPAX PC BOARD $4.00 This hoard is a 1/16"single sided paper epoxy board. 4%"xBH" DRILLED and ETCHED which will hold up to 21 single 14 pin IC's or 8,16 or LSI DIP IC's with busses for power supply connector. FP 100 PHOTO TRANS $ .50 RED, YELLOW, GREEN, or AMBER LARGE LED's. 2" 8/41 .00 TIL-118 0PTO-ISOLATOR $ .75 MCT-6 OPTO ISOLATOR $ .80 1 WATT ZENERS: 3.3, 4.7, 5.1, 5.6.9.1, 10, 12, 15, 18, or 22V 6/$ 1.00 MCM 6571 A 7 x 9 character gen . . $ 10.75 8130 - 2.95 8834 - 2.25 8131 - 2.95 8837 - 2.25 8T380 - 2.25 8838 - 2.25 8830 - 2.95 TRANSISTOR SPECIALS 2N6233-NPN SWITCHING POWER $1.9' MRF-8004 a CB RF Transistor NPN * ■? 2N3772 NPN Si TO 3 . . S 1.0 2N154G PNP GE TO-3 $ .7 2N49D8 I'NP Si TO 3 S 1 2N5086 PNP S. TO-92 4'S 1.0 2N3137 NPN Si RF $ .5 2N3919 NPN Si TO-3 RF . S 1 .5 2N1420 NPN Si TO 5 3/$ 1.C 2N37G7 NPN Si TO 66 S .'! 2N2722 NPN S> TO-18 5'S 1.0 2N3055 NPN S. TO 3 S „E 2N3904 NPN Si TO-92 6/S 1 ,C 2N390C PNP Si T09? . 6/S 1.C 7N529G NPN Si TO 220 . . S .5 2N6109 PNP Si TO-220. S .5 2N3638 PNP Si TO 5 5'S 1 .0 MPSA 13 NPN Si 4/$ 1 .C Full Wave Bridges DIP SOCKETS 8 PJN .17 24 PIN .35 14 PIN .20 28 PIN 4 16 PIN .22 40 PIN .60 18 PIN .25 PRV 2A 6A 75A 100 1.30 200 400 .75 .95 1.25 2.00 1.50 3.00 600 1.20 1.75 4.00 5ANKEN AUDIO POWER AMPS Si 1010 G 10 WATTS $ 7.80 Si 1020 G 20 WATTS $15.70 Si 1050 G 50 WATTS $28. 5Q TANTULUM CAPACITORS TTL IC SERIES ™; : Silicon Power Rectifiers CRYSTALS S3.4S o MHi RIBBON CABLE FLAT (COLOR CODEDI #30 WIRE 26 cond. - .5C/oer toot 40 cond. - .75/per foot 50 cond. - .9C/per loot CTS 206-8 eight position dip s C fS-206-4 torn posmor dip sv LIGHT ACTIVATED SCR'j TO 18. 200V 1 A SILICON SOLAR CELLS 254" diameter .4V at 500 ma $4.00 FND 359 C.C, .' FCS 8024 4 dit C.C. 8" d.splay FND 503 C.C. .i FND510C.A | OL 704 .3-' C.C -$.60 LED READOUTS x DL-704C.A. .3" $ .75 SS.95 DL 747 C A. .6" $1.25 ' S .85 HP3400 .8"CC $1.95 ' $ S5 HP3405.8"CA $1.95 $ .85 12.50 20.00 IN 4148 HN914 15/S1.00 RS232 DB 25P mai CONNECTORS DB 25S fair HOODS . REGULATORS 323K -5V 3A . .$5.75 309K S1.10 723 $ .50 320T- 5, 12, 15 34K - 12, 15 or 24 V. . . .$ 1.10 340T -5, 6,8, 12 15, iBor 24VS 1.10 78 MG $1.35 '43B3- '4336- DATA CASSETTES 1/2 HR $ .95 14 pin headers MM 5387AA new clock chip which will directly drive LED's 12/24 hrs., 1 supply & alarm $5.95 NO. 30 WIRE WRAP WIRE SINGLE STRAND 100' $1.40 .22UF 35V 5/S1.00 .47UF 35V 5/$ 1.00 .68UF 35V5/$1.0O 1UF 35V 5/$ 1.00 2.2UF 20V 5/S1.00 3.3UF 20V 4/$ 1.00 4.7UF 15V 5/$ 1.00 NLSSerIEs 6.8UF 35V4/$1.00 10UF 10V $ .25 22UF 25V $.40 15UF 35V 3/S1.00 30UF 6V 5/S1.00 33UF 20V $ .40 47UF 20V $.35 68UF 15V $ .50 LINEAR CIRCUITS f 101 LM 301*718 LM307 LM 308 LM31I LM318 LM 334 LM 339 LM 358 LM386 LM 337 LM537 LM 553 75 Use 3900 8036CC AlCO MINIATURE TOGGLE SWITCHES MTA 106 SPDT . S . MTA 206 DPDT SI. MTA 206 P-DPDT CENTER OFF « ] MSD 206 P-DPDT CENTER OFF LEVER SWITCH S 1 PRV 1 A 10A 25A 1.5A 6A 35A 100 40 .70 1 30 40 50 1 20 200 70 1.10 1 .75 .60 .70 160 400 1 10 1.60 2 60 1.00 1.20 2 20 600 1.70 2.30 3.60 1.50 3 00 is: FOB Cambridge. Mass . Send Check or Money Order. InctudePos* — SOLID STATE SALES P.O.BOX 74 B SOMERVILLE, MASS. 02143 TEL. (617) 547-7053 WE SHIP OVER 95% OF OUR ORDERS THE DAY WE RECEIVE THEM Circle 340 on inquiry card. BYTE April 1979 277 J5^MV\\\\N I \\\\\MIIIII//////jp v Special Sale! O § $ 399 Z ^O DATA TERMINAL S PRINTER S We Buy-Sell-Trade all brands & ^ models of Data Processing 1 USB-330 10/30 CPS impact Printing Tractor Feed 132 Print Positions 10-Key Pad Nearly a million dollars in inventory Call for price quotes 214/357-5725 U.S. BROKERS CO. A Division of CM Corp. 2636 Walnut HIM Lane Suite 347 Dallas, Texas 75229 1 ^%^/////////mim\\\\\\v^^ Circle 379 on inquiry card. Memorex Floppy Discs Lowest prices. WE WILL NOT BE UNDERSOLD!! Buy any quantity 1-1000. Visa, Mastercharge accepted. Call free (800)235-4137 for prices and information. All orders sent postage paid. PACIFIC EXCHANGES 100 Foothill Blvd. San Luis Obispo. CA 93401. (In Cal. call (805)543-1037.) Circle 293 on inquiry card. The first microcomputer shopping guide! Computer Data Publishing P.O. Box 598 Cleveland, Ohio 44107 (216) 221-5440 Companies... have your product Circle 54 on inquiry card. Unclassified Ads FOR SALE: T! TM99G71 00M-1 microcomputer board with TIBUG monitor in read only memory, 256 words of programmable memory, TM990/103 microterminal, TM990/51 1 extender board and all documentation. It is a great little machine. I just don't have time to build a system around it. List price is over $750. It's yours for $550 postage paid. W H Ganoe, 1634 E Drachman, Tucson, AZ 85719. FOR SALE: Like new 33ASR. Purchased new and seldom used, $850. 101C data set (110 bps modem) very nice, $200. CCU to interface 33ASR with 101C, $100. All three $1,000. Joe Turtle, POB 147, Corunna Ml 48817. (517) 743-4607 after 6 PM. SCHOOLSALE TO RAISE MONEY, Two Mohawk Data Sciences super compact card readers model SCCR 6002 (6 2/3 cards per second) , two A B Dick videojet ink-jet printers model 9600 (250 charac- ters per second, with parallel interface). Both appear to be working and are hardly used. Also selling three Micro Systems Inc Micro 810 compu- ters. They are mtcroprogrammable, 220 ns, with teletypewriter interface and a combined total of 16 K core memory. The Berkeley High School Technology Club is selling these to raise money for projects, activities, etc. Any reasonable offer considered, Contact Eric Martinot, 2206 B Jeffer- son Av, Berkeley CA 94703, (415) 849-2663. FOR SALE: Heath microprocessor course and trainer, includes all accessories, instructions, and course examination. $200. A Alberto, 634 Blvd East, Weehawken, NJ 07087, (201 ) 864-1472. HELP: For ND-81 2/BR-2412 users. Is there any existing users group for the ND-812 or BR-2412 minicomputer; or are there any other individual users of these orphaned systems who would like to communicate for mutual support? Write or phone: Bill Hunt, 237 South Blvd, Oak Park IL 60302, (312) 366-0194. FOR SALE: Altair 8800 microcomputer with 28 K memory; has 3 P+S, cassettes user tape system board, VDM, 16 K read only memory board with monitor, 1 K board for stack, and keyboard. Asking $1400. Larry Belmontes Jr, 1762 Yale St, Corpus Christi TX 78416, (512) 855-2687. WANTED: Drawings, schematics and pin out data to interface a Sycor Inc. Model 303 Key-Cassette to a microcomputer. Will pay for documentation. Jim Cook, 11451 Olson Dr, Garden Grove CA 92641. FOR SALE: Prolog read only memory programmer with UV light eraser, Program, copy, read, or edit 1702 UV read only memories. Excellent condi- tion in attache case. Cost $2000. Sell for $640. Bill Fujitsubo, 1506 Sandcastle Dr, Corona del Mar, CA 92625. FOR TRADE: Texas Instruments Silent 700 portable terminal, model number 725. Perfect working condition and clean. Want to trade for used Decwriter II or video type terminal. Will consider sale outright. Mark Jay Hunt, 3040 Vista- monte Dr, San Jose CA 95118, (408) 265-7799 nights. FOR SALE: Digital Group Z-80 system; 34 K; four Phidecks; keyboard; monitor; dress cabinets for all; all software (MaxiBASIC, Business BASIC, Assembler, Startrek, Chess, etc). Must sell - any reasonable offer accepted. John Case, 6703 Tim- berhill. San Antonio TX 78238, (512) 681-7504. FOR SALE: TV camera parts; 7735A. Vidicon tube brand new $30; 16 mm lens $10; deflection and focus coil $18; video amplifier $5; and other miscellaneous goodies. Schematics available. Every- thing I have for $45 plus shipping. S Stoddard, 12 Kathy Dr, Poquoson VA 23662, (804) 868- 7682. FOR SALE: Disk and tape drivers from GE-115 computer system plus disk packs and other parts. Also Teletype ASR33, $500; Dura Mach-10 needs considerable work or good for parts, $100; Altair 2-SIO board, $100; XY plotter with 10 by 15 inch (25.4 by 38.10 cm) plotting bed, $200; 72 CPS paper tape reader, $25; 3M microfiche viewer/printer, $100. Will consider trades. SASE for more information. Don Bailey, 19 Shaker Rd, Concord NH 03301. FOR TRADE: 8080 FORTRAN MITS disk version for 8080 COBOL or MITS timesharing BASIC. Manuals included. K R Roberts, 10560 Main St, Suite 515, Fairfax VA 22030, (703) 378-7366, (703) 591-6008, (703) 691-0277. FOR SALE: January thru December 1978 BYTE (volume 3) complete, mint condition, unopened. These 12 issues are yours for S15 (includes fourth class, shipping). Send check or money order to John Burnet, 10324 S Prospect Av, Chicago IL 60643. FOR SALE: Two Solid State Music 4 K Static programmable memory boards from a working (and lovable) Altair 8800, asking $80 each or both for S150. Also have a working Digital Group TVC-F (video interface and audio cassette too). It lists for $195, but it's yours for $130. Dale Morris, 4334 N Quincy, Kansas City MO 64117. FOR SALE: Tektronix 535A scope with H wide- band preamp and M 4 trace plug-ins, $400 plus shipping. Tektronix TM503 instrument module enclosure and two blank modules, new, $200. MFE digital cassette drive, model 205, four cassettes with clock track and documentation, $120. J A Titus, POB 242, Blacksburg VA 24060, (703) 951-9030. FOR SALE: Three SD Sales 4 K static program- mable memory boards, fully operational, with all documentation. 500 ns access, data read at PDBIN! All three shipped promptly for certi- fied funds of $180 (that's less than 1.5tf per bit!). W Howard Adams, 1590 S Krameria St, Denver CO 80224, (303) 756-4052. KIM USERS: Powerful console input monitor (CIM) lets you enter, edit, and execute programs from ASCII encoded keyboard on BASIC KIM. CIM modes are: address, program, 'text, data, increment, decrement, and execute. Complete documentation included lor $16.50 postage paid. Add $5 for CIM cassette. E R Kittlaus, POB 2175, Seal Beach, CA 90740. FOR SALE: BYTE issue numbers 1 thru 16 in mint condition for best offer. Dave Babcock, 107 SE Jay, Pendleton OR 97801. FOR SALE: Panasonic 8'/^ inch diagonal black and white video monitor with UHF type con- nectors. S50 or best offer. Charles Baumer, 5055 W Drummond PI, Chicago IL 60639, (312) 637-0414. HALF PRICE SALE: Factory wired IMSAI 8048 Control Computer with 2 K programmable memory installed. New condition, runs perfectly, fully documented. S190 via UPS. H A Chinn, 757 Bolanos Ct, Port Charlotte FL 33952, (813) 6252032. FOR SALE: Partially assembled SwTPC CT-64 terminal kit. Keyboard and video terminal com- pleted and working with sockets for all integrated circuits. $250. Allan J Hogue, RR 2, Norwalk IA 50211, (515) 462-3220. NEW 'UNCLASSIFIED POLICY 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 adver- tisement must be clearly noncommercial, typed double spaced on plain white paper, contain 75 words or less, 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. Notices can be ac- cepted from individuals or bona fide computer users clubs only. We can engage in no correspondence on these and your confirmation of placement is appearance m an issue of BYTE. Please note that it may take three or four /uonths for an ad to appear in the magazine.* Circle 1 15 on inquiry card. 8" Siemens FDD120-8 Drive . All Siemen's options included in this drive which can be con- figured hard or soft and single or double density. (Others give only stripped unit) $425.00 "Power One" Model CP206 Floppy Power Unit For two drives going full-out, and poss- ably more on less severe service. 2.8A24V, 2.5A@>5V, 0.5A@-5V. Beautiful quality. $99.00 DISKETTES (Standard) SVa' Boxed Boxed 10 10 539.00 534.95 * Tarbell ("It Works") Interface (Includes cable set for 2 drives) $265.00 BUT ONLY $219.00 with purchase of two drives. Cable Kits 10' with 50 cond. cable and connectors and also Molex connectors and power cable; For one drive: $27.50 For two drives: $33.95, and for three drives: $38.95 CABINETS for FDD120 and 801 R Drives, or CP206 power supply. Matte finish in mar resistant black epoxy paint. ^Stacking type design. $29.99 Electrolabs P0B 6721, Stanford, CA 94305 415-321-5601 800-227-8266 Visa, American Express, Master Low Profile Socket Spectacular!!! Featuring a kind of "Mexican Hand- shake" principle, these sockets will NOT let your IC's vibrate outll In 8,14,16,18,20,22,24,28 &40 Ict/nin 1000+: .75/pin, 20,000+: .65/pin ftOOOrif s =NttBF 10 Megabyte SUPER DISK!!! SHRINKS your media RELIABLY " : ^**^--. Used Sylvania 12" Video Monitors. Composite video 15mhz, 115vac, 50/60hz New Tube. As shown $109 OEM style without case: $99, Anti-glare tube option add $12. Specify p4 or p39 ESAT200B (Bi-Lingual) 80X24 Communicating Terminal Scrolling, Full Cursor, Bell, 8X8 1 matrix, 256 addressable characters 110-19,200 baud, etc, etc This terminal has been purchased by many agencies, universities & |n companies. Fully stand-alone, it is WS the only dual font terminal of any H kind for less than $2500. '£. Supplied complete and fully guaran- ~$£ teed: (many graphics applications) $349.00 NEW PRODUCT RELEASE !!! NEW Breakthrough In Size, Weight (39lbs) Power (125W) Perform- ance (3600rpm) and cost effectiveness (10 MBy and controller for $6750.00) For PDP-11, LSI-11 AND S-100 machines llLISiiSiiif 4 1 1 1 &^f$t5yz^w±zf$@*^*Zj^>f$l&^^ Carly - Bird Specials . . . fffiiKfciiiimnliiuAifffUti lm« ifl«h\\\ift\Mili\^\UftVfti* JHii\\^fc\«.v , y^^w^^^y Wheel Printers] ■SELECTRIC I/O TERMINALS (by GTE/Information Systems). Both ASCII & IBM code versions with microcomputer interface software & hardware (RS- 232 connector.) Cassette drive models permit up to 2400 baud data transfer rate as well as off-line data storage, use as memory typewriter, & use as data entry device for office personnel familiar with Se lee trie typewriters but not computers. Wide-carriage, interchangeable type spheres; optional built-in modem. All units cleaned, adjusted & warranted. Model 5541 (IBM Correspondence code) $695.00 Model 5550 (corres. code, built-in cassette drive) $1195.00 Model 5560 (ASCII code, built-in cassette drive) $1295.00 • IBM SELECTR1C 725 TYPEWRITER I/O w/solenoids switches & magnet driver PCB (from GTE/IS terminal) plus instructions for 8080 printer-driver interface hardware & software. a) Typewriter mechanism complete, cleaned & adjusted .... $375.00 b) Case from terminal & power supply(+24V, +12V, +5V @5A). . $ 75.00 c) a & b plus output ASCII interface to mCPU 8-bit parallel port . $650.00 • POS 103/202 "MIX or MATCH" MODEM: BELL 103 anci/or BELL 202 FREQUENCIES: Unique POS control design permits use in one housing of both Bell-compatible 103 (0 - 300 baud) and 202 (0 - 1200 baud) modem modules originally made by VADIC Corp. for a telephone company subsidiary. FEATURES: RS-232 serial interface, auto-answer, auto-dial, LED display, telephone line interface via acoustic coupler, manual DAA, or auto-answer DAA Isold separately.) FULLY ADJUSTED; no special tools required. 3,000 mile range over standard dial-up telephone lines. -POS 103 MODEM (with Auto Answer, Auto Dial) $179.95 -POS 202 MODEM (Half-Duplex with Reverse Channel) $249.95 -POS 202 MODEM (Half-Duplex w/Rev. Ch., Auto-Answer) S279.95 -POS 103/202 MODEM (Auto-Answer, Auto-Dial) $399.95 •DIABLO HYTYPE I Model 1200 Printer Mechanism: used, complete and operational. Requires power supply, case & mCPU interface. 15 day return privilege - no other warranties. LIMITED QUANTITY! S750.00 —6' Ribbon cable & connector for printer Main Logic PCB $10.00 -1 4-pin Winchester connector & 1 8" power supply cable S5.00 -"As-is" spare printer PCB's for parts (Logic, Heat Sink, Control): ea. $20.00 • NEW TAPE DRIVE CONTROLLER for Microcomputer: POS Version II tape drive controller is now available, permitting the 8080 or Z-80 owner to read and write standard IBM NRZ1 format tapes (as well as ASCII tapes) with the Ampex Model TMX tape drive described below. Controller is sold only with tape drive, comes complete with connector cables to CPU and software listing in 8080 assembly language (specify 2MHz or 4MHz system.) -Ampex TMX tape drive (used) with Version II Controller $1500.00 • AMPEX MODEL TMX TAPE DRIVE: Ideal for microcomputerist who wants backup mass storage or access to I BM-type systems via standardized 2400 series Vz" mag tape. Specs: 9-track, IMRZ1 standard, 800 BPI, 12" /sec, 1200 ft. reels (11 megabyte capacity.) Drive is like new & comes with 8-bit CPU controller diagram (requires only 11 l/C's) & mCPU interface instructions: Prices: Drive & Documentation $750.00 Controller & cable for mCPU, assembled & tested $250.00 • DIGITAL CASSETTE DRIVE (from GTE/IS Terminal): 1800 baud, 6"/sec; AC motor; fwd/rewnd circuitry plus tape head, no read/write electronics $25. •FORMS TRACTORS, Moore Variable width "Form A-Liner" for print terminals: aJModel 565P for 15" Carriage IBM Selectrics (new): S50.00 b) Model K81 for QUME or DIABLO Hytype I or II printers (new): .... $90.00 ^ •POWER SUPPLIES for Disk Drive, mCPU, tested under load shown: -No. 519 (w/fan & AC cord): +5V reg.,±12V reg., A 24V, @5A (10 lb.)- ■ S29.95 -LAMBDA No. LMEE5w/OV protect: +5V reg. @ 25A (35 lb.) S59.95 NO RISK! 15 DAY APPROVAL ON ALL MAIL-ORDERS Full documentation included PLUS interface instructions where indicated. All equipment is shipped insured FOB Palo Alto within 14 days after check clears or COC order is received. Prices may change without notice. K PACIFIC OFFICE SYSTEMS, INC. ii m 2600 El Camino Real, Suite 502 B& Try _ . _ ... „.„„„ 'fix Call or write for details, quantity prices, catalog. 1 5 day return privilege PLUS 90 day no charge replacement of defective parts. All orders shipped from stock. No back orders, no substitutions. M/C & VISA accepted. Palo Alto, Calif. 94306 1415) 321-3866 Circle 296 on inquiry card. BYTE April 1979 279 fleaden Service To get further information on the products advertised in B YTE, fill out the reader service card with your name and address. Then circle the appropriate numbers for the advertisers you select from the list. Add a 15 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. This helps us bring you a bigger B YTE. Inquiry No. Page No. Inquiry No. Page No. Inquiry No. ecMe- BYTE's Ongoing Monitor Box Article No. ARTICLE 1 Ciarcia: The Toy Store Begins at Home 2 Campbell: Cross-Pollinating the Apple II 3 Zimmermann: Simulation of Physical Systems 4 Buskirk: Sources of Numerical Error 5 Smith: Smart Memory 6 Dahmke: A Simulated View of the Galaxy 7 Hinrichs: Marsport Here I Come 8 Meushaw: The Standard Data Encryption Algorithm 9 Gorney: Queuing Theory 10 Costas: Cryptography in the Field, Part 2 11 Soderstrom: Life Can Be Simple 12 Grappel: An Easy Way to Calculate Sines and Cosines 13 Arp: The Power of the HP-67 Programmable Calculator, Part 2 14 Cline: An Introduction to Microprogramming 15 Chester: A Digital Alphanumeric Display 16 Johnson: Microcomputer Time-sharing 17 Blodgett: A Binary Guessing Game Page No. Inquiry No. Page No. 1 Aaron Associates 234 95 DRC ICA) 235 211 2 Administrative Systems 165 100 DRC ITXI 255 231 4 Advanced Memory Technology 253 101 DISKS Etc 244 232 3 AJA Software 235 102 Doubleday & Company 231 230 5 Alladin Automation 1 5 105 Echo Design & Development 192 233 8 Ancrona 270 108 Eclectic Corp (Div of TANO Corp) 49 236 12 Apparat, Inc 1 96 110 Ecosoft 244 • 15 Apple Computer 5 115 Electrolabs 279 255 19 ATV Research 253 120 Electronic Control Tech 1 69 265 20 Austin Electronics 269 125 Electronic Systems 252 267 22 Base 2 133 130 Electronics Warehouse 265 270 30 Beckian Enterprises 254 131 EMM/Semi Inc 229 278 23 Beta Business System 253 132 Famsworth Computer 276 * 35 Bits Inc 156, 183, 187, 189 134 Federal Communications Corp 172 279 26 "Bumper Bits" 244 136 FMG Corp 130 281 31 Business Applications Software 235 140 Garvey, Martin & Sampson 227 282 32 Buss/Charles Floto 221 144 Giltronics 244 280 " BYTE Back Issues 227 150 Godbout Electronics 141 287 36 BYTE Books 87, 93-96, 103, 105, 112 151 GRT 131 1 " BYTE Subscriber 221 ■ Hayden Book 200 283 • BYTE WATS Line 215 159 H & E Computronics 21 1 285 37 California Computer Systems 1 3 160 Heath Company 1 7 * 39 California Digital 271 170 Hobby World 269 290 42 Camelot Direct 127 174 Hollywood Systems 254 286 44 Cascade Enterprises 247 176 Houston Instruments 29 * 45 Central Data 197 172 HUH Electronics 241 • 47 Chrislin Industries 190 178 Independent Business Systems 1 6 292 49 Circle Enterprises 221 171 Industrial Micro Systems 240 * 53 Computer Age 1 08 180 Innotronics 203 294 54 Computer Data Publishing 278 179 Integrand 230 293 70 Computer Enterprises 233 175 Interactive Microware Inc 223 296 68 Computer Factory IMA) 163 181 Interactive Sys Design Group 276, 242 297 • Computer Factory 147 177 International Elec Equip 164 298 71 Computer Interface Technology 242 183 Intertec Data Sys Corp 45 301 72 Computer Lab of NJ 243 190 Ithaca Audio 76, 77, 263 302 75 Computerland 8, 9 195 Jade Co 260, 261 303 66 Computer Mart of NJ & PA 108 200 Jameco Electronics 256, 257 305 * Computer Plus Inc 243 201 Jim-Pak 75 307 73 Computerware 1 87 205 Larks Electronics & Data 253 308 74 Computhink 23 * Lifeboat Associates 82, 83 312 • Conley Graphics 230 202 Mad Hatter Software 151 300 78 CT Micro Computer 195 203 Mad Hatter Software 225 306 79 CT Micro Computer 209 209 Maxell Tape 71 309 83 CT Micro Computer 248 215 Measurement Sys & Controls 121 310 76 Cover Craft 246 216 Measurement Sys & Controls 253 311 77 Creative Software 204 217 Micro Architect 242 314 80 Cromemco 1 , 2 218 Microcomputer World 242 329 81 Custom Computing 242 219 Micro Diversions 59 322 85 Cutting Edge of Technology 53 220 Micro Focus Ltd 123 324 82 Cybernetic Micro Systems Inc 229 222 Micro-Mail 1 79 315 91 Data Discount Center 247 221 Micro Mart 253 316 93 DataSearch 225 223 Micromation Inc 1 74, 1 75 317 88 Data Speed 125 204 Micro Mike's 234 331 90 Datec 171 224 Micro Products Unltd 244 318 89 Delta Products 251 229 Microsette 253 • 87 Digital Dynamics 276 228 Microsoft 91 313 86 Digital Pathways 245 226 Microtronix 1 1 7 320 Microware 206 319 The Micro Works 173 Micro World 33 323 Mikos 270 333 Minicomputer Accessories 232 327 Mini Computer Suppliers Inc 225 328 MJB Computer Associates 244 321 Morrow/Thinker Toys 30, 31 325 mpi 209 335 Mullen Computer Boards 241 340 National Computer Service 276 330 National Multiplex 137 350 NCC '79 Personal Comp Festival 181 351 NCR Corp 73 352 NEECO 142 353 NEECO 143 357 Netronics Research 205 358 Netronics Research 207 361 New England Recruiters 242 354 Newman Computer Exchange 259 356 North Star Computers 19, 63 355 NRI Schools (Electronics Div) 65 359 Ohio Scientific CIV, 36, 37 349 OK Machine & Tool 115 348 onComputing 81 360 Oregon Software 228 363 Osborne & Associates 161 367 Owens Associates 209 368 Pacific Digital 245 364 Pacific Exchanges 278 366 Pacific Office Systems 279 365 PAIA Electronics Inc 196 371 Parker Brothers 245 370 Per Com Data 56, 57 374 Personal Software Inc 148, 149, 244 Pet Shack Software House 2 1 6 326 Phone I 41 375 Potomac Micro-Magic Inc 21 9 304 Potter's Programs 242 379 Priority I 273. 274, 275 382 Processor Technology 42, 43 380 The Programming Shop 276 381 PRS 89 383 Quality Software 228 386 Quest Electronics 267 378 Radio Shack Authorized Sales Ctr 253 384 RCA (PA) 179 387 RCA Solid State 61 385 Reston Publishing Company 222 388 Rochester Data 222 389 S-100lnc215 390 Sara-Tech Electronics 276 395 S C Digital 233 397 Scelbi Computer Consulting Inc 21 1 400 Scientific Research 107 401 SCR Electronics 266 398 Semionics 208 Michael Shrayer Software 1 55 Shugart 6, 7 '68' Micro Journal 244 Small Business Computers Magazine 232 Ed Smith's Software Works 227 Smoke Signal Broadcasting 39 ■Software 80 159 Software Dynamics 235 SSM 25 Solid State Sales 277 Soroc Technology Inc 35 Southwest Technical Products Corp Cll Speakeasy Software 64 Stirling Bekdorf 199 Structured Systems Group Clll Sub Logic 276 Summagraphics Corp 4 7 Sunny Computer Systems 276 Sunny International 272 Sybex Inc 1 98 Synchro Sound 99 Synergetics 215 System Design Lab 219 TANO Corp 1 19 Tarbell Electronics 51 Technical Systems Consultants 97 Terminal Systems 242 3/M Company 21 3 S Sales Inc 153 3 S Sales Inc 272 Tiny C 52 Tora System Limited 242 Total Information Services 225 TransNet Corp 246 Trenton Computer Festival 189 TRS-80 Software Exchange 139 TSA Software 215 University Microfilms 101 U S Brokers 278 US Robotics 140 Vanguard Systems Corp 109 Vector Electronics 21 7 Vector Graphics Inc 113 Video World 209 Vista Computer Co 268 VR Data 203 Wameco 266 Web Associates 276 Western Digital Corp 86 Wintek 244 World Power Systems Inc 68, 69, 78, 79 Worldwide Electronics 253 X Comp 231 Xitex 134 Xitex 135 XL Computer Products 227 *Correspond directly with company. PAGE 10 20 26 46 54 66 84 110 132 144 166 170 176 210 218 224 236 Innovations and Home Security Top BOMB Scores The January 1979 BOMB put a variety of topics at the top of our list. The first place prize of $100 goes to Joel Boney and Terry Ritter for "A Microprocessor for the Revo- lution: The 6809" (page 14). The second place prize of $50 went to Steve Ciarcia for "Build a Computer Controlled Security System for Your Home, Part 1 (page 56). The third place article was "History of Computers: The IBM 704," by Keith Reid- Green (page 190). Fourth place was Part 4 of "Creating a Chess Player," by Peter Frey and Larry Atkin (page 126)." 280 April 1979 © BYTE Publications Inc Structured Systems business software can put a microcomputer to work for you. SSG's general accounting, data inquiry, mailing, and communications software packages are bringing real computer power to hundreds of businesses right now. They are ready to go to work for your business. The Honest-To-Business $12,000 Computer Our software will power DYNABYTE, CROMEMCO, IMSAI, NORTHSTAR, ALTOS, MICROMATION, DIGITAL SYSTEMS, or other Z-80 or 8080 based computers through your General Ledger, Accounts Receivable, and Accounts Payable. And maintain a conversational data-base query system, store and print your mailing list and labels, produce and edit correspondence, address it from your mailing list, and more. The price for a total system— hardware and SSG software— ranges from $8,000 to $14,000. Real Business Computing Our Business Software packages are designed to be up and running and working for you in a matter of hours. Without expensive reprogramming, technical staff addi- tions, or costly trial-and-error. Our quality is high, our documentation practically self-instructive. The applica- tions are flexible and extensive, designed to meet and exceed the requirements of most small to medium busi- nesses. Real computer solutions at microcomputer prices. Some Pleasant Surprises Your computer retailer can give you a demonstration and literature. You might find a solution just right for your business with"off the shelf" prices and delivery times. Or we will be happy to send you literature direct, including a list of our dealers and compatible hardware. Write us, orcal The SSG product line includes these outstanding packages: General Ledger LETTERIGHT Letter Writer Accounts Receivable NAD Mailing System Accounts Payable QSORT Sorting System CBASIC-2 WHATSIT? Data/Query System Structured Systems Croup INCORPORATED 5204 Claremont Oakland, California 94618 (415)547-1567 * Complete prices will vary with equipment and software selected. Required: 8080 or Z-80 based computer running a CP/M or CP/M-compatible disk-based operating system. Your retailer or SSG can advise on specifics. (CP/M is a product of Digital Research.) Circle 353 on inquiry card. The Microcomputers you should take seriously. The C3 Series is the microcomputer family with the hardware features, high level software and application programs that serious users in business and in- dustry demand from a computer system, no matter what its size. Since its introduction in August, 1977, the C3 has become one of the most suc- cessful mircocomputer systems in small business, educational and industrial development applications. Thousands of C3's have been delivered and today hun- dreds of demonstrator units are set up at systems dealers around the country. Now the C3 systems offer features which make their performance com- parable with today's most powerful mini- based systems. Some of these features are: Three processors today, more tomorrow. The C3 Series is the only computer system with the three most popular pro- cessors— the 6502A, 68B00 and Z-80. This allows you to take maximum advan- tage of the Ohio Scientific software library and the tremendous number of programs offered by independent sup- pliers and publishers. And all C3's have provisions for the next generation of 16 bit micros via their 16 bit data BUS, 20 address bits, and unused processor select codes. This means you'll be able to plug a CPU expander card with two or more 16 bit micros right in to your ex- isting C3 computer. Systems Software for three processors. Five DOS options including develop- ment, end user, and virtual data file single user systems, real time, time share, and networkable multi-user systems. The three most popular computer languages including three types of BASIC Circle 290 on inquiry card. plus FORTRAN and COBOL with more languages on the way. And, of course, complete assembler, editor, debugger and run time packages for each of the system's microprocessors. Applications Software for Small Business Users. Ready made factory supported small business software including Accounts Receivable, Payables, Cash Receipts, Disbursements, General Ledger, Balance Sheet, P & L Statements, Payroll, Per- sonnel files, Inventory and Order Entry as stand alone packages or integrated systems. A complete word processor system with full editing and output for- matting including justification, propor- tional spacing and hyphenation that can compete directly with dedicated word processor systems. There are specialized applications packages for specific businesses, plus the vast general library of standard BASIC, FORTRAN and COBOL software. OS-DMS, the new software star. Ohio Scientific has developed a remarkable new Information Manage- ment system which provides end user The C3 Series from Ohio Scientific. C3-S1 intelligence far beyond what you would expect from even the most powerful mini- systems. Basically, it allows end users to store any collection of information under a Data Base Manager and then instantly obtain information, lists, reports, statistical analysis and even answers to conventional "English" questions perti- nent to information in the Data Base. OS-DMS allows many applications to be computerized without any programming! The new "GT" option heralds the new era of sub-microsecond microcomputers. Ohio Scientific now offers the 6502C microprocessor with 150 nanosecond main memory as the GT option on all C3 Series products. This system performs a memory to register ADD in 600 nanoseconds and a JUMP (65K byte range) in 900 nanoseconds. The system performs an average of 1.5 million in- structions per second executing typical end user applications software (and that's a mix of 8. 16 and 24 bit instruc- tions!). Mini-system Expansion Ability. C3 systems offer the greatest expan- sion capability in the microcomputer industry, including a full line of over 40 expansion accessories. The maximum configuration is 768K bytes RAM. four 80 million byte Winchester hard disks. 16 communications ports, real time clock, line printer, word processing printer and numerous control interfaces. Prices you have to take seriously. The C3 systems have phenomenal performance-to-cost ratios. The C3-S1 with 32K static RAM, dual 8" floppies, RS-232 port, BASIC and DOS has a sug- gested retail price of under $3600 80 megabyte disk based systems start at under $12,000. Our OS-CP/M software package with BASIC. FORTRAN and COBOL is only $600. The OS-DMS nucleus package has a suggested retail price of only $300. and other options are comparably priced. To get the full story on the C3 systems a.nd what they can do for you. contact your local Ohio Scientific dealer or call the factory at (216) 562-3101. C3-B wins Award of Merit al WESCON '78 as Ihe outstanding microcomputer application tor Small Business C3-OEM