74470 65683 VOLUME 4, ISSUE 6 JUNE 1979 $2.00 CANADA/MEXICO $2.50 INTERNATIONAL $4.50 COMPUTING FOR HOME AND BUSINESS APPLICATIONS SYNTHE PASCAL m NOTEBOOK ) $ t % | r; a i & |! ; * 1 c ) < 1 mmmm \ my es: - 7- il R '■jO rr: If you have a problem that can be solved by a computer—we have a systems solution. * Two central processors with maximum RAM capacities of 56K and 384 K bytes * Three types of disk drives with capacities of 175K, 1.2M and 16M bytes * Two dot matrix printers with 80 and 132 line capacity * A Selectric typewriter interface and a daisy wheel printer Match these to your exact need, add one or more of our intelligent terminals and put together a system from one source with guaranteed compatibility in both software and hardware. Southwest Technical Products systems give you unmatched power, speed and versatility. They are packaged in custom designed woodgrain finished cabinets. Factory service and support on the entire system and local service is available in many cities. SOUTHWEST TECHNICAL PRODUCTS CORPORATION 219 W. RHAPSODY SAN ANTONIO, TEXAS 78216 (512) 344-0241 CIRCLE INQUIRY NO. 57 You can do surprising things when yon have 64 kilobytes of fast RAM on one card 4 MHz FAST—AND EXPANDABLE Here's 64 kilobytes of memory on one RAM card. Yes, we mean 512K bits of read/write memory on this single card. And, yes, we mean it's fast. With 150-nanosecond chip access times — so the card can operate in fast Z-80 systems with no wait states. Repeat, no wait states. EXPANDABLE ON TWO LEVELS Not only does the new Model 64KZ give you a large, fast RAM but it is expandable on two levels. First, through our Cromemco Bank Select feature, you can expand to 512 kilobytes in eight 64K banks. Or, with our Extended Bank Select feature, you can expand memory space to as much as 16 megabytes. This expandability we call your obsolescence insurance. The legend on the card's heat sink is an easy reference for address and bank selection. BENCHMARK IT Obviously, the speed and memory capacity of this new card give you a lot of power. You can see that for yourself in our new 7-station Multi-User Com¬ puter System which uses these Model 64KZ cards. This SI 00-bus system outperforms the speed of many if not most timesharing systems of up to 10 times the Cromemco price. And yet where some of these much more expensive and cumbersome systems clearly slow to a snail's pace when timesharing, the Cromemco system using Bank Select switching runs surprisingly fast. SEE IT NOW See the new Model 64KZ at your computer dealer now. Study the lit¬ erature on it. See how for only $1785 you can get around that ever-present barrier of memory that's too little and too slow. Cromemco incorporated For high reliability all Cromemco memory cards are burned in at the factory in these temperature-controlled ovens. Cromemco Multi-User System shown with 7 stations CIRCLE INQUIRY NO. 16 280 BERNARDO AVE., MOUNTAIN VIEW, CA 94040 • (415)964-7400 Tomorrow’s computers now INTERFACE AGE 1 JUNE 1979 VOL. 4 ISSUE 6 SINCE DECEMBER 1975 il UIClUiSLC dUC COMPUTING FOR HOME AND BUSINESS APPLICATIONS GENERAL FEATURES THE AUTOMATED HOME: THE HOUSE CIMIX BUILT. 57 by Bill Turner. Senior Editor Southeast Region FAIRCHILD TECHNOLOGY ENHANCES THE LIVING ENVIRONMENT. 62 by the INTERFACE ACE Stall ELECTRONIC GAMES, THE FIRST STEP TO HOME COMPUTERS. 66 by Terry Costlow. Assistant Editor HOME APPLICATIONS FOR THE 6800 . 68 by David E. Shambaugh SPEECH SYNTHESIS WITH LINEAR PREDICTIVE CODING. 72 by Larry Brantingham. Texas Instruments. Inc. BUSINESS FEATURES SOFTWARE DESIGN FOR SMALL BUSINESS SYSTEMS. 77 by Robert C Mooney LUMBER. 80 by Jim Schreier. Associate Editor HARDWARE FEATURES INTERFACING A NUMERICAL PROCESSOR CHIP TO THE TRS-80. 87 by James E. Randall SYSTEM OF THE MONTH: THE SORD MARK II SERIES. 90 by Tom Fox. Systems Editor CRT MONITOR DESIGN USING THE INTEL 8275 . 92 by Arthur A. Carapola TUTORIALS THE PASCAL NOTEBOOK, CHAPTER 1.106 by Henry Davis. Associate Editor NTS MINI SERIES — UNIT #4..Ill by Walter f. Stephens. National Technical Schools SOFTWARE FEATURES HOME POISON CONTROL.131 Review by Alan R. Miller. Contributing Editor GENERATING COPIES OF TRS-80 MACHINE LANGUAGE TAPES. 134 by R B. Johnson STRUCTURAL DECOMPOSITION: A FORMAT APPROACH TO STRUCTURAL PROGRAMMING.136 by Stanley Dunn FREE RUNNING ASK ELIOT JANEWAV. 51 BUSINESS SOFTWARE REVIEW. 41 THE COLUMN . 17 EDITOR S NOTEBOOK. 6 FROM THE FOUNTAINHEAD. 29 INVENTOR’S SKETCHPAD. 52 JURISPRUDENT COMPUTERIST . 30 LETTERS TO THE EDITOR. 14 MICRO MATHEMATICIAN . 35 MICRO MEDICINE . 32 MIND REVOLUTION. 47 R.H.D. 49 DEPARTMENTS ADVERTISER INDEX .144 CALENDAR. 26 MAGNETIC MEDIA SURVEY.144 MICRO MARKET.142 NEW PRODUCTS.122 UPDATE. 28 PASCAL M NOTEBOOK THIS MONTH S COVER Designed by Fino Ortiz, Art Director. Photography by Don May. House pro¬ vided by Alice’s Imagination Shop of Tor¬ rance, CA. Terminal supplied by Vector Graphic Inc. of Westlake Village, CA. PUBLISHERS PUBLISHER ROBERT S. JONES EXECUTIVE PUBLISHER NANCY A. JONES ADMINISTRATION PUBLICATION DIRECTOR MIKE ANT1CH PUBLICATION ASSISTANT DORIS RIOPEI. ACCOUNTING SUPERVISOR KAY SOTO ACCOUNTING ASSISTANTS MARY ANN LOWER. SHIRLEY MA2ENKO ASSISTANT TO THE PUBLISHER JOANNA KONDRATH CIRCULATION SECRETARY JETTA ANDRIONI CIRCULATION ASSISTANTS CHARLOTTE SEVF.DGE, DOTTIE SMITH EDITORIAL EDITOR IN-CHIEF CARL WARREN SENIOR EDITOR SOUTHEASTERN REGION BILL TURNER ASSISTANT EDITOR TERRY COSTLOW ASSOCIATE EDTIORS JIM SCHREIER, HENRY DAVIS NORTHWESTERN REGIONAL EDITOR ADAM OSBORNE. PhD NORTHEASTERN REGIONAL EDITOR ROGER C. GARRETT SYSTEMS EDITOR TOM EOX SOFTWARE EDITOR ALAN R. MILLER. PhD CONTRIBUTING EDITORS H. H DISTIER. R. W BEMFR STAFF REPORTER BETSY GILBERT Editorial Correspondence Dirccl all correspondence to the appropriate editor at INTERFACE AGE Magazine. P.0 Bo* 1234. Cerritos. CA 90701. PRODUCTION PRODUCTION MANAGER DAVE ANDERSON ASSISTANT PRODUCTION MANAGER SHELLEY WRIGHT ART DIRECTOR FINO ORTIZ ARTIST SAMANTHAI.Ef TYPOGRAPHER MELODY A. MARTENS Ii»rfir/I«ir tnmmw iiuicnr«Lc«uc ADVERTISING NEW ENGLAND REGION DICK GREEN 7 Lincoln St Wakefield. MA 01880 (617) 24S-9105 EASTERN REGION PAUL CONrREY 20 CommuniN PI. Morr.vowm. NJ 07960 (20*J 267-3032 MIDWEST REGION AL GRAVENHORST & STEVE SKINNER 5901 N Cicero Ave . Chicago. IL 60646 (312) 545 8621 WESTERN REGION BRUCE BERKEY & ZACH BOVINETTE 61 S Lake Ave , Pasadena. CA 91106 (213) 795-7002 COMPUTER RETAIL STORES NATIONWIDE CALL (213) 795-7002 (COLLECT) INTERFACE AGE EUROPE DIRECTOR. EUROPEAN OPERATIONS H.L. GROHMANN Bi'kenweg 43, 8051 UmerzoHing. West Germany Telephone 8167-366 FOREIGN CIRCULATION JAPAN CIRCULATION KAZUHIKO NISHI ASCH Publrshtng, 305 HI TORIO. 5-6-4 Mt-iam- Acvarr-a. Mrnato-ku Tokyo 107 Japan Telephone (03) 407-4910 UNITED KINGDOM CIRCULATION VINCENT COEN L.P Enterprise. 313 Kingston Road. Ilford. Essex. England IGI1PJ Telephone 01-553-1001 FRANCE CIRCULATION ROLAND HESSE Euro Computer Shop Paris, 16. Rue Louis Pasteur. 92100 Boulogne. France Telephone Parts 825-82-52 WESTERN CANADA CIRCULATION BRIAN I J. WIEBE Kthonic, 25236 26th Avenue RR5. Aidergrove. B.C. VOX IA0 Telephone (604) 856-2301 EASTERN CANADA CIRCULATION LIZ JANEK RS-232. Lid . 186 Queen Street West. Toronto. Ontario M5V 121 Telephone (4(6) 598 0288 AUSTRALIA CIRCULATION R. J HOESS Electronic Concepts Pry. Ltd . 52 58 Clarence Street. Sydney NSW 2000 Telephone 29 3753 INDONESIA SINGAPORE. MALAYSIA CIRCULATION LEE MILES The Computer Centre Pie ltd . 5366. Won Hup Complex. Beach Rd Singapore 7 Telephone 293-2630 wpa Tgf INTERFACE AGE Magazine, published monthly by McPheters, Wolfe & Jones, 16704 Marquardt Ave., Cerritos, CA 90701. Subscription rates: U.S. $18.00, Canada/Mexico $20.00, all other countries $28.00. Make checks payable in U.S. funds drawn on a U.S. bank. Opinions expressed in by-lined articles do not necessarily reflect the opinion of this magazine or the publisher. Mention of products by trade name in editorial material or advertisements contained herein in no way constitutes endorsement of the product or products by this magazine or the publisher. INTERFACE AGE Magazine COPYRIGHT © 1978 by McPheters, Wolfe & Jones. ALL RIGHTS RESERVED. Material in this publication may not be reproduced in any form without permission. Requests for permission should be directed to Joanna Kondrath, Rights and Permission, McPheters, Wolte & Jones, 16 /04 Marquardt Ave., Cerritos, CA 90701. INTERFACE AGE Magazine is catalogued in the Library of Congress, Classification No. QA75.5.155. ISSN Publication No. 0147-2992. Membership in Audit Bureau of Circula¬ tions applied for. POSTMASTER: Please send change of address form 3579 and undelivered copies to INTERFACE AGE Magazine, 16704 Marquardt Ave., Cerritos, CA 90701. Second-class postage paid at Artesia, California 90701 and at additional mailing offices. 2 INTERFACE ACE JUNE 1979 AT YOUR COMPUTER RETAILER NOW TRS-80, Apple II, Sorcerer, SOL and Southwest Tech 6800 owners: get more out of your personal computer. Get into action with G2 Bullseye!, Sea Battle, Confrontation and Attack! Sharpen your analytical abilities with G2's Outwit I, Outwit II and Mind Bender. Take a chance with G2's Beat the House. Check out your health with Clinic. And enjoy the challenging experience of two new G2 computer simulations: The Market and Wildcatting. Or get serious with three powerful new languages. Level III Basic for the TRS-80. Extended Basic for the SOL. And Standard Basic for the Southwest Tech 6800. All written by Microsoft—the Basic wizards. Exclusively from G2. IT l? A Product of GRT Corporation 1 I | Consumer Computer Group L 1 1286 North Lawrence Station Road. Sunnyvale, California 94086,408/734 -2910 Our software has more so your computer does more. Great programming. Highest quality cassette. The most comprehensive instruction manual available. Plus source listing print-out of every application program in Basic. You can learn how the programs were written. We even encourage you to do your own re-programming to improve your skills! G2 software is available from computer retailers nationwide. If your local retailer doesn't have it, ask him to become a G2 dealer by calling us toll free: (800) 538-8540 (U.S.A.) or (800) 672-8691 (California). THE REASON YOU BOUGHT YOUR COMPUTER. S CIRCLE INQUIRY NO 28 TM 77 /111 If you’ve written software in Altair Basic, you’ve written “spells� for the Exidy Sorcerer. Now, make it pay off! There's never enough software. Particularly good software. That's why Exidy is sponsor¬ ing a software contest where nobody loses. Altair programs run on Sorcerer. The Sorcerer computer's Standard Basic is compatible with Altair 4K and 8K Basic. So our contest is open to programs — we like to think of them as "spells" or "Sorcery"—written in all three of those Basic versions. Trade one of yours for one of ours. Just for entering a program in our contest, we'll send you a new, professionally written and documented program. Free. It's a classic game of concentration that's a fun mind- stretcher for both kids and adults. Plus you'll get our new 20" by 24" color poster. And maybe 99 more good programs. We'll publish a bound book of the best programs entered — up to 100 of them, with full credit to each author. If you enter you can have a copy for just the printing and mailing cost. And if your program is included, you get the book free. And maybe a free Exidy Sorcerer: Submit one of the four programs judged "best," and win a free Sorcerer computer. (Or choose Sorcerer accessories of equal value.) There'll be one winner in each of the following categories: Business, Education, Fun & Games, and Home/ Personal management. Test-run your entry free. Take your program to any participating Sorcerer dealer if you want to give it a test run. At the same time, maybe you'll want to jazz up your program to take advantage of Sorcerer's state-of-the-art features. These include 512 by 240 high-resolution graphics; user-defined characters; and dual cassette I/O, among others. You can turn in your entry right at the dealer's. And collect your poster and new program on the spot. Enter now. Send us your entry with the coupon. Or visit your dealer. But cast your best spell at Exidy now. And see if you can't make a free com¬ puter appear on your doorstep. WIN THIS EXIDY SORCERER. RULES: 1) Entries, including documentation, must be printed by computer or typed double spaced on 8 V 2 by 11 paper, with your name on every page. 2) Enter as many times as you like. This cou¬ pon, or a copy of it, must be completed and attached to all entries. 3) Enter at any participating Exidy Sorcerer dealer, or mail entries postpaid to the ad¬ dress on this coupon. 4) Entries must be received by midnight, Aug. 31, 1979. Winners will be notified by Nov. 30, 1979. For a list of winners, send a self-addressed, stamped envelope marked "Winners List" to the coupon address. 5) You warrant, by your signature on this coupon, that all program and documen¬ tation material included in your entry is entirely your own original creation, and that no rights to it have been given or sold to any other party, and you agree to allow Exidy to use, publish, distribute, modify, and edit it as it sees fit. 6 ) All entries become the property of Exidy, Inc. No entries will be returned, nor any ques¬ tions answered regarding individual entries. No royalties, payments or consideration beyond the items set forth in this advertise¬ ment will be given to any entrant. 7) Judging will be by a panel of experts cho¬ sen by, and including representatives of, Exidy, Inc. Judges may assign programs to whichever entry category they consider ap¬ propriate. Decision of the Judges is final. 8 ) Employees of Exidy, Inc., its dealers, dis¬ tributors, advertising agencies and media not eligible. Void where prohibited, taxed or restricted by law. EXIDY, INC. 969 W. Maude Ave. Sunnyvale, CA 94086 inc. Gentlemen: Here's my "spell." Send me my free program and poster. If I win, send my Exidy Sorcerer computer to: name___ ADDRESS_ CITY-STATE_ZIP_ DAYTIME PHONE__ TITI.E OF PROGRAM CATEGORY □ Business □ Fun & Games □ Education □ Home/Personal Management CIRCLE INQUIRY NO. 26 SIGNATURE_DATE Copyright 1979, Exidy, Inc. EDITOR’S NOTEBOOK A FANTASTIC SHOW This past March 22-25, The Gutenberg Festival was held at the Long Beach Con¬ vention Center here in California. This festi¬ val is for the graphics arts industry and pri¬ marily features all the gadgets that printers, artists and publishers use in their businesses. What made this show unusual was the number of computer companies that were exhibiting. The main thrust of the computer exhibits were word processing and typesetting ma¬ chines. However, general business machines were very much in evidence. One such exhibit was R.B. Graphic Supply, 7291 Garden Grove Boulevard, #1, Garden Grove, CA 92641, (714) 749-9451, Attn: Richard Brock, president. R.B. mainly supplies mater¬ ial to printers and magazines, but has recently begun marketing an Alpha-Micro system with the graphics arts industry in mind. They currently are offering business packages and an estimating package to assist small print¬ ing companies in figuring prices. Along the same lines, the show manager David Jacobson commissioned a program for his Alpha-Micro to handle the show registration plus provide up-to-the-minute management reports. The software, created by Tom Fox of Fox and Associates, is pro¬ prietary to the Horsetrader Magazine, but from what I understand may be available to other show promoters for a price. The sys¬ tem is time sharing and uses four input ter¬ minals and four printers to print the different classification of badges. Those of you who might be interested in this program or exhibiting next year at the festival should contact: David Jacobson, Horse- trader Magazine, P.O. Box 11712, Santa Ana, CA 92711 or call (714) 832-0628. If you’re looking for new markets, and want to be a part of possibly the best business show around, you will want to get in touch with Dave as soon as possible, since this show sells out very quickly. TRAVELING AROUND During the last several weeks, I have had the chance to travel to Silicon Gulch and visit a number of companies. This is some¬ thing that I will be doing on a regular basis for the rest of the year so we can keep on top of what’s happening. This last trip took me first to Godbout Electronics in the Oakland Airport. Bill Godbout’s company is housed in a barrack-like building with no apparent signs of who or what is contained inside. Once in the doors, you are immediately struck by the lack of pretentious overhead. As Bill told me on the phone, “When you come up, you will see a large messy surplus operation.� He wasn’t kidding. One of the most important things that meets you at Godbout Electronics is the friendly atmosphere, and as you can see Easier to read, alphanumeric labeling that won’t pop off. Design your own color-coded alphanumeric ID system for disc packs, tapes, operations manu¬ als, files, shelves and supplies. All with the easy-to-use, portable, electronic 3900 PhotoTape Sys¬ tem Printer, from Swingline. It’s one of the most advanced ID systems available today. Write us today for more information. 4 tape widths, 6 tape colors, 5 type sizes, horizontal & vertical printing. A Division of Swingline Inc. Dept. 1-6, 32-00 Ski liman Ave. Long Island City, N.Y. 11101 from Bill’s photo, he presents a jovial, likable appearance. Bill spends 145% of his time working with suppliers and customers to coordinate his fast paced yet unstructured business. Bill has taken great pains to ensure proper lead times on parts, and to avoid price gouging which is so prevalent in the industry today. On the tour of the plant, it became quickly apparent that product quality and customer satisfaction were of prime importance. Each order is checked and double checked to make sure that it is filled properly, and potential problems are corrected before the product leaves the shop. PHOTO 1 One way that Bill and his group prevent problems is by doing a 100% quality con¬ trol check on all boards that are manufac¬ tured. This quality control takes place three times: at the fabricating plants in Arkansas and Reno, and once again at the main office PHOTO 2 in Oakland. All rejects are sent to Bill so that corrective measures may be taken to smooth the production process. Godbout enjoys less than one reject in one hundred boards for each product produced. 6 INTERFACE ACE CIRCLE INQUIRY NO. 58 JUNE 1979 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. 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, or call. 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. 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 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. Structured Systems Group INCORPORATED 5204 Claremont Oakland, California 94618 (415) 547-1567 # Complete prices will vary with equipment and software selected. Required: tsotsu or z-au 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.) JUNE 1979 CIRCLE INQUIRY NO. 56 INTERFACE AGE 7 One of the boards that Godbout supplies is the Compukit bank select memory board, shown in Photo 2. This board is available in 16K and 24K, ranging from $369 to $539. The design of the board, as with all the Godbout boards, was not an overnight af¬ fair, as can be seen in Photo 3. Each board is thoroughly engineered to meet both bus and electrical standards, plus all design criteria are completely documented from the R&D stage up to final production. Godbout Electronics is different than most of the companies currently serving the microcomputer industry in that it is over ten years old. Bill, who is primarily a circuit de¬ signer who spent some time with IBM, opened a retail mail order operation in 1973, supplying surplus parts and supply¬ ing companies like Poly Paks. His first in¬ troduction into the micro world was when he obtained some 8008s and was able to sup¬ ply them to the first real hobbyists. Although the computer side of the busi¬ ness accounts for only approximately 20% of the total Godbout picture, Bill believes in supporting the industry. He does this by sup¬ porting magazines, clubs, and making sure that the parts he supplies are of top grade. So if you’re in the neighborhood, or want to find out more about Bill’s products, you can contact him at Godbout Electronics, Box 2355, Oakland Airport, CA 94614, phone (415) 938-6295. Across the bay is Cromemco, Inc. at 280 Bernardo Avenue, Mountain View, CA 94043, phone (415) 964-7400. Started just four years ago by Harry Garland and Roger Mellon, both electronic engineers and past members of the Stanford faculty, the company now sports a new building and a 150-employee staff of engineers and fabricators. PHOTO 4 According to Garland, president of the com¬ pany, Cromemco provides quality micros for the industrial and scientific markets. i m is r n r r\ mm nuicniHL For Businessmen Professionals... Students... You... Happiness is...a Step into the exciting world of computing with INTERFACE AGE Magazine. Written and edited expressly for those who want to get more out of their life and business through the use of computers. Join the 85,000 plus who make reading INTERFACE AGE a priority each month. Enjoy articles that not only tell you how, but show you how. Each issue of INTERFACE AGE con¬ tains: projects, programs, games and reports on and about people and their computers. Learn how easy it is to own and operate your own computer system at home or in your business. Explore the many ways a computer can make money for you. Keep up to date with the latest new products and developments. Only INTERFACE AGE brings you all this plus much, much more. The magazine leading the way, bringing people and technology together. FREE*. EXCLUSIVE 79 BONUS INTERFACE AGE brings you a complete home corres¬ pondence course on electronics and microcomputers throughout 1979, serialized in each issue from National Technical Schools, the oldest and largest technical cor¬ respondence school in the (J.S. Receive a certificate of completion at the end of the series absolutely free. See details in each issue. If you want to know more about computers for tomor¬ row, then you need to subscribe to INTERFACE AGE Magazine today. r Please enter my subscription to INTERFACE AGE for: □ □ 1 year (J.S. $ 18.00 □ 2 years (J.S. $30.00 1 year Canada/Mexico $20.00 □ 2 years Canada/Mexico $34.00 1 year International Surface Mail $28.00 □ 1 year International Air Mail $50.00 Make Check or Money Order (G.S. Funds drawn on (J.S. Bank) payable to: INTERFACE AGE Magazine P.O. Box 1234, Dept. IA 46. Cerritos, CA 90701 Charge my: □ Visa Card □ Master Charge □ American Express Card No. _Expiration Date_Signature _ Name (Print) _ Company___ Address_ City State _ Title_ When I asked him about his price structure he said: “Our prices are higher because we put a great deal of emphasis on proper engi¬ neering and quality bill of materials.� Even though Garland’s statement sounds like what a company president would say, it happens to be true. More hours are spent in the design and implementation of the design than can be imagined. Because both Garland and Mellon are enginers of the highest caliber, the whole functional work flow and testing follows a logical path. Each function of a board is carefully tested and burnt in before being incorporated into a system. The system is then run through rigorous testing as a unit before shipment is made. The software supplied by Cromemco comes from Microsoft, specifically the COBOL and FORTRAN. The multi-user BASIC was developed in-house and supports up to seven users. They are currently devel¬ oping a Pascal package to be released in the next several months. All documentation is prepared under the direction of Dr. Alice Ahlgren, whose forte is communication. Dr. Ahlgren’s attention to detail and ease of use of the manuals clearly shows in all the documentation supplied by Cromemco. ^ wsssm i '■% ■- % ■k *■;• . PHOTO 5 One significant if not exciting aspect of Cromemco is that they use their machines PHOTO 6 8 INTERFACE ACE JUNE 1979 In California , a store owner charts sales on his Apple Computer. On weekends though, he totes Apple home to help plan family finances with his wife. And for the kids to explore the new world of personal computers. A hobbyist in Michigan starts a local Apple Computer Club, to challenge other members to computer games of skill and to trade programs. Innovative folks everywhere have discovered that the era of the personal computer has already begun—with Apple. Educators and students use Apple in the classroom. Business- men trust Apple with the books. Parents are making Apple the newest family pastime. And kids of all ages are finding how much fun computers can be, and have no time for TV once they've discovered Apple. Visit your local computer store The excitement starts in your local computer store. It’s a friendly place, owned by one of your neighbors. He’ll show you exactly what you can use a personal computer for. What to look for Your local computer store has several different brands to show you. So the salesman can recommend the one that best meets your needs. Chances are, it will be an Apple Computer. Apple is the one you can program yourself. So there's no limit to the things you can do. Most important, Apple’s the one with more expansion capability. That means a lot. Because the more you use your Apple, the more uses you’ll discover. So your best bet is a personal computer that can grow with you as your skill and involvement grow. Apple’s the one. It 9 s your move Grab a piece of the future for yourself. Visit your local computer store. We’ll give you the address of the Apple dealer nearest you when you call our toll-free number. Then drop by and in the operation of the business. The system is used in payroll, inventory, engineering, planning, and even in the testing phase of the products. This is something not many computer companies can boast. Around the Hayward area is Mullen Com¬ puter Products, 2306 American Avenue, #6, Hayward, CA 94545, phone (415) 783-2866, Attn: Bob Mullen. Bob and his crew came up with something that every Heath H8 owner will want right now; a bus extender board, shown in Photo 6. This board sells for $39 and is available either directly from Mullen or Godbout or any of the computer stores that carry Godbout pro¬ duct lines. While up in the ‘Gulch’ I had the chance to visit Dragon country — Menlo Park. That’s where Bob Albrecht and his team of writers call home. As I was roaming around the city I ran across a very interesting book store that was catering to the computer afi¬ cionados in the area. From Photos 7 and 8 you can see that they have taken an interest¬ ing approach to catching the eye of just about everyone. This store is Keppler’s Bookstore, located at 825 El Camino Real, Menlo Park, CA 94025, phone (415) The new Pascal Computer System is driven by a unique 16-bit Pascal MICROENGINE™ — the first microprocessor hardware designed exclusively for direct high-level language execution. ■The processor is incorporated into a single board computer system, the WD/90, which directly executes Pascal intermediate code generated by the University of California at San Diego (UCSD) Pascal compiler, Release 111.0. ■Since P-code output by the Pascal compiler represents an ideal architecture for a computer executing Pascal programs and since the WD/90 directly executes P-code (no interpreter), these programs execute up to five or more times faster than equivalent systems. The WD/90 Pascal MICROENGINE™ Computer includes: ■Pascal MICROENGINE™ processor ■64K bytes of RAM Memory ■Two RS-232 asynchronous/synchronous ports (110-19.2K baud-full duplex) ■Two 8-bit parallel ports (500 kHz maximum data rate) ■Floppy disk controller with direct memory access (DMA), switch selectable for: single or double density (IBM format); mini or standard floppy; 1 to 4 drives (same type) ■Floating point hardware (proposed IEEE standard) ■Memory Mapped I/O ■Enclosed power supply ■Complete UCSD Pascal Operating System (Release 111.0) WESTERN DIGITAL 3128 Redhill Avenue, Box 2180 • Newport Beach, CA 92663 (714) 557-3550, TWX 910-595-1139 FOR FURTHER INFORMATION CONTACT DISTRIBUTOR: CIT (714) 979-9920 RETAIL: Your LOCAL COMPUTER Store OEM: Your WESTERN DIGITAL Sales Representative PHOTO 7 324-4321. Besides having computer games available to the customers, they carry one of the most complete lines of computer books that I have seen today. PHOTO 8 SOME OTHER NEWS We just recently learned that Billings Computer has purchased the disk division of Calcomp and will be renaming it CalDisk. This they feel will greatly enhance their pro¬ duct line and make it possible to provide more customer support. Some of you have been wondering about Summagraphics, 35 Brentwood Avenue, Fairfield, CT 06430, (203) 384-1344, and their $1,000 offer for authors who write ar¬ ticles on their Bit Pad™ being true. I can testify that it is in fact real. Recently, we purchased an article from Mar¬ vin Mallon on an application for the Bit Pad and told him to advise Summagraphics. With¬ in a few short days after sending them his letter and a copy of our contract, Marvin was pleasantly surprised with a check for $1,000. W INTERFACE AGE CIRCLE INQUIRY NO. 66 JUNE 1979 The Computer Cookbook The Only Computer Reference Book You Need. The Only Reference Book You’ll Ever Need. The only book that gives you all the ingredients for a successful computer system. Interested in the Apple II?™ You’ll need an FCC-approved RF modulator to connect it to your color television set. We tell what they are, where to get one, and how to hook it up. Thinking of using Radio Shack’s TRS-80 Tf ^for a low-cost word processing system? You’ll need an upper-case/ lower case modification for the keyboard. We’ll tell you what it involves, where to get it done, or how to do it yourself. Software? We’ve sampled canned software and will tell you what suits our taste. Rather do it yourself? We have algorithms in our machine-independent “Cookbook� language for everything from fast sorts to phototypesetter hyphenation. Plus a crash course in BASIC for those who know FORTRAN. And much, much more. Last but not least: The Cookbook Yellow Pages, a complete guide to small computer services and products. We update The Yellow Pages every two months—and send them to you free with the latest additions, corrections, and improvements of our white pages. You just plug them into our loose-leaf binder. Get with The Cookbook. The Best is Yet to Come. Send me The Cookbook. I enclose$15 plus $1.50 for shipping, which will be by UPS unless I’ve marked this form U.S. mail (_check here). California residents add $.98 sales tax. Allow up to four weeks for possible out-of-stock conditions. Make checks payable to “The Computer Cookbook�. Mastercharge and VISA accepted with 13-digit card number and 4-digit expiration date. Name _ Street _ City_State_Zip__ Mail to: The Computer Cookbook / P.O. Box 4084 / Berkeley, CA 94704 JUNE 1979 CIRCLE INQUIRY NO. 1 INTERFACE ACE 11 Shugart invented the minifloppy in 1976. Today there are more than 100,000 of the little drives in use. That's because users want the affordable random access data storage of fhe minifloppy. Shugart packs years of proven floppy drive technology into this tiny package. Up to 110 kbytes of data storage. Fast random access of about one-half second. And high speed data trans¬ fer of 125 kbits per second. Plus sensible, maintenance-free features like write protect to prevent accidental data loss, an activity light to indicate when the drive is selected by your computer and a door interlock to protect your media from damage. Our proprietary read/write head provides maximum data interchange margins, and it is positioned precisely on the selected track by a patented spiral cam actuator. The DC drive motor with integral tachometer assures accurate diskette rotation and low heat dissipation. A die cast aluminum base plate provides a solid foundation for the drive. At Shugart, technology leadership is more than a slogan, it's a commitment. Get reliability and value when you invest your money for floppy disk storage. Ask for the standard of the industry, minifloppy. If it isn't Shugart, it isn't minifloppy. Shugart 435 Oakmead Parkway, Sunnyvale, California 94086 See opposite page for list of manufacturers featuring Shugart’s minifloppy in their systems. TM minifloppy is a registered trademark of Shugart Associates 12 INTERFACE AGE JUNE 1979 So you can see some companies really do live up to their promises. The article is a good one and will be in next month’s issue. INTERESTING PUBLICATIONS The other day I received a copy of the TRS YELLOW PAGE, 96 Dothan Street, Arlington, MA 02174 which is a short ad catalog of TRS-80 software produced by the Micro Architect apparently at the same ad¬ dress. This is a handy little guide and doesn’t cost anything unless you want to advertise in it. An adversary friend of mine, Fred Gruen- berger, sent me a copy of his magazine POPULAR COMPUTING, which is the second oldest magazine in the microcom¬ puter field. This magazine is about a twenty- page resource document for the true com¬ puter scientist. The monthly publication is available for $ 17.50 a year from POPULAR COMPUTING, Box 272, Calabasa, CA 91302. Should you have the need to have number systems and classic algorithms ex¬ plained, this is the magazine you need. Fred had been in the computer business long before most of us were born, and has a lot of knowledge to share, which he does quite ably each month. Fred also keeps an eye on publications such as INTERFACE AGE and advises us on our strong and weak points. We don’t necessarily always agree, but I can assure you that I listen very closely when Fred takes the time to call me. There is another magazine that some of you may take a little umbrage with me for mentioning. The magazine called FUSION, the magazine of the Fusion Engergy Foun¬ dation. Subscription is $18 for ten issues from the Fusion Energy Foundation, P.O. Box 1943, New York, NY 10001. The purpose of FUSION is to explain nuclear energy and try to take away some of the myths around it. The magazine comes out totally in favor of nuclear as a power source. Due to the recent publicity surround¬ ing nuclear power plants, you may be against this form of energy development. However, the magazine does offer some extremely in- depth articles on how reactors work and ex¬ plains plasmas. Technology buffs will enjoy the magazine for its technical content and not necessarily for its political satire. THE LETTERS I GET Lately I have been getting a number of complaint letters from readers teling me war stories about companies that they have dealt with. I immediately send a copy of this letter to the company in question and suggest that they work out some kind of settlement with the writer. This has been working fairly well, and in just about all instances the companies have provided the person with some sort of just settlement. However, a problem I warned you about several months ago has been cropping up. The problem is of generating a complaint let¬ ter before all the facts are known. This has happened In ten cases. The writer quickly sent us another letter telling the problem had been resolved. What is of utmost importance is that you have your facts straight and are sure than an injustice has been done. Then document all letters, phone calls and visits. Know who you talked to and mark down the date and time. Keep a special file that is easily refer¬ enced; in fact, use your computer as the reference source. But be sure you have taken every step to cure the problem before writing to a magazine. We will try to help, but can only do so when we are satisfied that every attempt possible has been made by you to achieve satisfaction. IN THE MAKING We have some plans that should make reading INTERFACE AGE even more enjoyable and informative. One of these plans is the incorporation of a new section in the magazine entitled: THE LEARNING CENTER. This section will bring to you such things as learning to program on the TRS-80, using the computer in the school. How children can make the most of the home computer. Educational games for such systems as the APPLE, and Atari com¬ puters. If that isn’t enough, we still have some more things up our sleeve that you will see introduced in the pages of INTER¬ FACE AGE in the next few months. Also the first volume of INTERFACE AGE Golden Classics is in the making and should be ready sometime in the early fall. This first volume will be on software and will contain those programs that many of you have asked to see again. In line with all these plans and changes, Bob Albrecht wants me to tell everyone that COMPUTER TOWN USA is coming, and if you want to find out more about it write to: Computer Town U.S.A., P.O. Box 310, Menlo Park, CA 94025. This is one of the most unique enterprises ever dreamed up — even by Dragons — that the industry has seen to date. THE TRADES DO IT AGAIN In a March issue of Electronic News, a front page article was published that pre¬ sented a list of all the microcomputer comp- nies that are currently in trouble or have al¬ ready gone under Chapter 11 protection. The article seemed to present an aura of a sour industry, something the large tabloids have a penchant for doing. The fact is that the microcomputer indus¬ try is very much alive and doing very well. Sales are escalating beyond anyone’s dreams and large companies such as Hew¬ lett Packard, Texas Instruments, Mattel, and Atari are heavily engaged in the support of the industry and in enlarging the market. This would definitely not be happening if the marketplace was falling apart. Unfortunately, journalists working for large trade tabloids like to look on the bad side of things and sensationalize them. Possibly this is because the large main- framers have supported them for so long and it is to their advantage to try to tear down a rapidly growing industry. The microcomputer Industry is taking some of the share of the market away from the mainframers, but the pie is extremely large and can support both ends of the industry. —carl 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, CA 94710 Vista Computer Company 2807 Oregon Court Torrance, CA 90503 *AShugart JUNE 1979 INTERFACE AGE 13 LETTERS TO THE EDITOR ENJOYING NTS Dear Editor: I’m glad to see that INTERFACE AGE has the initiative to print the NTS mini-series. Some of it may be review but for me it’s the first time all the pieces will be interfaced with my background in math. It doesn’t hurt to have a good strong foundation in the basics before going on to the application. I don’t have a computer but have been in¬ terested in the mechanics, programs and ap¬ plications in various fields for years. Your magazine covers a wide range of topics but with sufficient detail. It leaves room for thought. I look forward to the rest of the NTS series and the other tutorial programs that you will offer. Keep up the good work! Noreen Kerr Buffalo, NY Noreen’s letter is representative of the 150 letters we have received from female readers. We have also received a number of letters which were answered directly regard¬ ing splitting the units and providing answers. We are making every effort to avoid splitting any given unit and NTS is providing answer sheets with mailed cards. Also we had a number of complaints regarding the speed that cards were being answered. This was our fault. In the last several weeks we have taken steps to speed up the answering process. UNDERSTANDING SPECTRAL MUSIC Dear Editor: G.S. Stiles in his article, “Spectral Music� (March, 1979) uses the concept of musical spectrum in a seriously misleading way. We typically speak of the spectrum of sound waves when referring to musical spectra. Stiles should have made it absolutely clear that he was using this term in a highly un¬ conventional way. There is an incredible difference between finding the spectrum of sound waves (an im¬ portant scientific technique) and that of ap¬ plying the technique to arbitrarily encoded music notation symbols (as Stiles suggests). His remarks about good music possessing a characteristic spectrum suggests Stiles himself might be confused here — it’s the sound waves that tend to have characteristic spectra. Please refer to the following references for applications of spectral analysis of music us¬ ing computers. Piszczalski and Galler. “Automatic Music Transcription,� Computer Music Jour¬ nal 1 (4), 1978. Backus, John. The Acoustic Foundations of Music. Norton, 1969. p. 100. Martin Piszczalski Research Associate University of Michigan Department of Computer and Communication Sciences 105 South State, 2076 Frieze Bldg. Ann Arbor, Ml 48104 ALMOST HAPPY! Dear Editor: Please be so kind as to let me share with you some thoughts on my recent subscrip¬ tion to INTERFACE AGE as it rounds the half-way mark. 1. lam disappointed in the quantity of soft¬ ware. Under no circumstances should you sacrifice quality, but we’ll get to that later. I particularly desire assembler language pro¬ grams for Z-80. Perhaps I’m suffering from misconceptions, but I believe that the Z-80 has captured a substantial share of the market. I personally have finally reached the stage where, at long last, I am getting some Z-80 programs running, as are some immediate associates. The lack of source programs hasn’t made the job any easier. Do you have any opinions on the marketability of these through your magazine? Count me one pro vote. 2. Back to quality. I’ve noticed a consider¬ able number of typo errors in your general reading (and some ads!). This could serve only to deteriorate interest in your publication. . . especially if it slips into your software articles. Contrary to my presentation, please don’t think of me as a critic (wholly). I only wrote because I almost enjoy YOUR magazine! Charles W. Butler Lansing, Ml Charles, last November we made a deci¬ sion to make our software readable all the time. This meant the layout had to be hori¬ zontal instead of vertical to the page, which takes more space. Even by reducing the total number of software pages printed per issue, we still print more than anyone else. We also provide more assembly, 8080, Z-80, 6800 programs than the other books. You will also notice that we are providing a fair amount of support to the TRS-80. Where we have a problem is for the Apple, Heath H-11, Bally and Atari machines. We would love to publish articles, particularly software, around these machines, but apparently the users of these machines have no inclination to write. INTERFACE AGE INDEX Dear Editor: I am interested in a yearly index of articles that you have printed since 1976. Could you help me? Thomas Brey East Hartford, CT Tom, if you check the March 1978 and January 1979 issues you will find what you need. Fastest EPROM Erasing! WITH RELIABLE 3PECTROUNE® SYSTEMS m* Whether you’re erasing one EPROM chip or a thousand, you’ll want the latest and most advanced UV erasing system available. We have seven high performance systems to match your specific needs and your pocketbook. Prices start at $59.50. You can erase safely and completely in as little as 7 minutes! And each system is backed by Spectronics Corporation...leader in ultraviolet technology since 1955. Write or call for more information and the name of your nearest authorized stocking dealer. Automatic Timer System Shut-Off Chip Capacity Price PE-14 No 6 $ 59.50 PE-14T Yes 6 84.50 PE-24T Yes 9 114.50 PR-125T Yes 16 259.00 PR-320T Yes 36 425.00 PC-1000 Yes 72 895.00 PC-2000 Yes 144 1,345.00 Q SPECTRONICS CORPORATION 956 BRUSH HOLLOW ROAD, RO. BOX 483 WESTBURY, NEW YORK 11590 516-333-4840 220 VOLT UNITS AVAILABLE See Us At NCC79 Personal Computing Festival Booth 89 14 INTERFACE ACE CIRCLE INQUIRY NO. 55 JUNE 1979 w 'Micro-Computer Products to Look Up to� NorthStarY 1 USsl 1 Horizon Disk Capacity Keeps Growing The Horizon is now capable of 720K bytes on-line! The Horizon can connect to four double density 5'A" single-sided disk drives. Each of those drives can access 180K bytes of information. A four drive system accesses 720 K bytes! 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 Ihey become available from North Star. Existi ng Horizons wi II 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 5V4" 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. Available either with the Horizon or other S-100 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 can be 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 5V4" floppy disk system, Z80 Processor Board, or the Hardware Floating Point Board. Horizon and RAM board prices 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 ◄ Atypical Horizon configuration: CRT, Hori¬ zon computer. Additional Drive Cabinet (ADC) ‘ W.f NorthSlar Computers 2547 Ninth Street Berkeley, California 94710 (415) 549-0858 JUNE 1979 CIRCLE INQUIRY NO. 48 INTERFACE AGE 15 It's already a big successl The party’s over for all dumb ter¬ minals and a lot of smart ones too. But, at $798 (quantity 25), the party’s just beginning for Intertec’s InterTube II. Standard features to celebrate in¬ clude a full 24 line by 80 character display, 128 upper and lower case ASCII characters, reverse video, complete cursor addressing and control, an 18 key numeric keypad, special function keys, blinking, pro¬ tected fields, character and line in- sert/deiete, editing, eleven special graphics symbols, a 25th status line which displays the terminal operat¬ ing mode and an RS-232 printer port. * $995 Quantity One You’ll discover even more reasons to celebrate when you sit down in front of an InterTube II. Our wide bandwidth monitor produces crisp, sharp chararters everywhere on the screen. InterTube's Z-80 processor enables a host of operator oriented features to boost the efficiency of both software and programmers. And, InterTube’s rugged modular design combined with its built-in self-test mode insures quick and reliable servicing. InterTube’s price/performance ra¬ tio can satisfy your requirements whether they be a sophisticated data entry application or a simple inquiry/response environment. So, there’s really no reason to think “dumb� when you can afford to be so smart! Join the thousands of InterTube celebrations going on around the country at this very moment. Call us at the number below and start your own celebration (BYOB—we’ll bring the InterTube). E5 INTE3TEC □ DATA S SYSTEMS, 2300 Broad River Road, Columbia, S. C. 29210 (803) 798-9100 TWX: 810-666-2115 CIRCLE INQUIRY NO. 36 FOUR EXCITING NEW DEVELOPMENTS FOR TRS-80 USERS WITH LEVEL 1 INTRODUCTION Until now, the following facilities have been lying dormant in Level 1 BASIC: 1. Six new arithmetic operators associated with the six rela¬ tional operators. 2. Four new logic operators: XOR (exclusive OR), EQV (equiva¬ lence function), IMP (conditional operator), NOT (negation). 3. Multiple INPUT statements — ability to assign values to two or more variables in one INPUT statement. 4. The ability to play pre-recorded vocal messages (or other sounds) at a particular point in a program or to record sounds (e.g., from a radio) at a pre-set time. No longer need the TRS-80 users and programmers be ignorant of these facilities, as this article will show. RELATIONAL OPERATORS VS ARITHMETIC OPERATORS The first thing to be understood is that the relational operators (>,<,> = ,<=, = ,<>) are, in fact, arithmetic operators. If you do not believe this, try the following calculator-mode statement: PRINT 3<4 Press “ENTER�, and your machine will print 1! Why doesn’t the machine put: WHAT? READY >_ on the screen instead of “1 �? What has happened is that the com¬ puter has used the expression from Table 1 corresponding to the < operator (in this case, “INT (SGN(B-A)/2 + .5)�) to come up with the answer (viz. 1). Try all the relational operators in this way. Try using different numbers. Can you see a pattern? Have you tried this one? PRINT 3 - 1 Here your computer should reply with a “0� (using the expression “1 - SGN (ABS(A-B))� from Table 1). _ Table 1. Expression Formula A > B INT(SGNt(A-B)/2 + .5) A < B INT(SGN t(B - A)/2 + .5) A >« B INT (SGN t(A - B)/2 + 1 ) A <= B INT(SGNt(B-A)/2 +1) A = B 1 - (SGN t(ABS(A - B)) A > < B (SGNt(ABS(A-B)J tThe SGN function is not available directly in Level 1 but may be simply de¬ fined as being 1 when its argument is positive, - 1 when it Is negative and 0 when it is 0. use TRcopy WITH YOUR LEVEL II TRS-80*" TRcopy Is a cassette tape copying system that lets you SEE what your computer is reading. COPY ANY CASSETTE TAPE** With the TRcopy system you can copy any TRS- Level II cassette tape whether it is coded in Basic or in machine language. You can also copy data created by programs and you can copy assem¬ bler listings. YOU CAN SEE THE DATA As the tape is being loaded, you can SEE the actual data byte-for-byte from the beginning to the end of the program. Up to 320 bytes are displayed at one time. ASCII characters are displayed on the first line and hexadecimal code is displayed on the following two lines. Data is displayed exactly as it is input including memory locations and check sums. IDENTIFY PROGRAMS With TRcopy you can identify programs on cas¬ sette tapes without written documentation because you can SEE the filename. If you forget to label a tape, you can use TRcopy to display the tape contents and identify the cassette. VERIFY CASSETTE TAPES With TRcopy you can verify both the original tape and the tape copies. You can make certain that your machine reads the original tape correctly and that it makes byte-for-byte copies. TRcopy also counts as it reads giving you the exact length of the data. MAKE BACKUPS FOR YOUR PROGRAMS Now you can make backup copies of your valuable programs. Many times a cassette that you make will load better than one that is mass produced. The original can then be kept as a backup in case the copy is damaged. MAKE COPIES OF YOUR SOFTWARE If you are in the software business you can use TRcopy to make tested copies of your programs for sales distribution. TRcopy produces machine lan¬ guage tapes that are more efficient than those pro¬ duced by the assembler itself. RECOVER FAULTY DATA With TRcopy you can experiment with the volume and level controls and you can SEE what the computer is reading—even if your computer will not read the data through normal read instructions! In this way it is possible to read and copy faulty tapes by adjusting the volume control until you SEE that the data is input properly. SIMPLE - FASCINATING - FUN TRcopy is not only a practical utility program.lt is also a fascinating graphics program that lets you SEE, for the first time, cassette data as your com¬ puter is reading it. And it’s as simple as 1-2-3. Just load, verify and copy. You will now be able to use cassette tapes with confidence knowing that TRcopy is there when you need it. The TRcopy system Is a machine language program with documentation explaining tape leaders, sync bytes, check sums and other formatting conventions. With the TRcopy system, you can SEE what you are doing! TRcopy System Including Cassette Tape and Documentation v « J POST Orders accompanied by money order -' ' PAID or cashier’s check mailed same day Orders paid by other check shipped in 14 days. No COD’s. Return within 10 days (or o Ml refund if you are not satisfied. N.D. Orders Add *TRS-80 is o trademark “You cannot copy tt 3% Sales To*. of the Tandy Corporation. TRcopy cassette. Data/Print DEPT.FA, BOX 903, FARGO, N.D. 58107 YOUR ORDER 'yip#! E TOLL FREE SAME DAY SHIPMENT JUNE 1979 CIRCLE INQUIRY NO. 20 INTERFACE ACE 17 HOME POISON CONTROL Roger O Lmge. MD WARNING: your home contains products which MAY BE HARM¬ FUL OR FATAL IF SWALLOWED. This North Star BASIC program de¬ termines the necessary EMERGEN¬ CY MEASURES for ingestion of household products. Disk utility al¬ lows expansion of substance vocab¬ ulary to over 2400 names. Access time less than 6 seconds. Free an¬ nual updates. Complete Source listings. Diskette and Manual.$28.00 Manual only, with listings . . . .8.00 WATCH FOR cassette versions. Available at your computer store or from: Berkeley Medical Data Associates, Inc. Microcomputer Consultants P.O. Box 5279, Berkeley, CA 94705 (415) 653-6707 CIRCLE INQUIRY NO. 6 25 START-AT-HOME COMPUTER BUSINESSES In "Low Capital, Startup Computer Businesses" CONSULTING • PROGRAMMING • MICRO COMPUTER OPPORTUNITIES • SOFTWARE PACKAGES • FREELANCE WRITING • SEMINARS • TAPE/DISC CLEANING • FIELD SERVICE • SYSTEMS HOUSES • LEASING • SUPPLIES • PUBLISHING • HARDWARE DISTRIBUTORS • SALES AGENCIES • USED COMPUTERS • FINDER’S SCRAP COMPONENTS • AND MORE . . . Plus — ideas on moonlighting, going full-time, image building, revenue building, bidding, contracts, marketing, professionalism, and more. No career tool like it. Order now — if not completely satisfied, return within 30 days for full immediate refund. • 8Vfe x 11 ringbound • 156 pp. • $20.00 Phone Orders 901-761-9090 DATASEARCH incorporated 4954 William Arnold Road, Dept. C, Memphis, TN 38117 Rush my copy of "Low Capital Startup Computer Businesses" at $20. NAME/COMPANY _ ADDRESS _ CITY/STATE/ZIP __ □ Check Enclosed □ VISA □ Master Charge #- Exp. Date _ You have probably noticed that the expressions which look like true statements (e.g. “3<4�) will always give you a “1 �, and those which look like falsehoods (e.g. �3 = 4�) will give you a �0�. Try some more examples. Try with arithmetic operators or with variables. Now you will see that these are arithmetic operators, but they are a very special type, and they are useful, too. If you wanted to find the SGN of a number (call it X), you could use the subroutine from the back of the book, but that uses 87 bytes and doesn’t show much im¬ agination. Besides, you can’t access it halfway through an arithme¬ tic expression. But with our six new arithmetic operators, we can get the SGN of X by this expression: (X>0) - (X<0) IF-THEN - HOW DOES IT WORK? Now type in this little program: 10 INPUT A 20 IF A THEN PRINT “YES� and RUN for different values of A. How can what you see be ex¬ plained? We know that all the relational operators return numbers (1 ’s and 0’s) so the antecedent (the part between the IF and THEN) must always be evaluated to give a number. It is really no great sur¬ prise that the machine needs a number for the antecedent. There is the problem of which antecedent — numbers the TRS-80 takes as “true� and which ones it takes as “false.� In the above pro¬ gram, you should find that values of A from 1 up, as well as any negative ones, count as “true,� whereas values from 0 to 0.999999 inclusive count as “false,� as shown in the number-line below: -1 0 1 1 " tfj . TRUE t FALSE t TRUE FALSE TRUE If you had this statement in the program: 60 IF 4<5 THEN 420 then the TRS-80 would evaluate the arithmetic expression “4<5� according to the appropriate expression from Table 1. This returns a 1, and as we saw in the program we entered earlier, a 1 counts as true, so processing is transferred to line 420. However, in the exam¬ ple: 60 IF 4>5 THEN 420 it will evaluate the expression “4>5� according to the appropriate expression from Table 1. However, this time it returns a 0 which counts as false, so processing does not transfer to line 420. Instead it goes on to the next statement in line-number order. LOGIC OPERATORS VS ARITHMETIC OPERATORS We may well ask, what do the “ * � and “ + � logic operators do to their operands? For instance, in the statement: 60 IF (4<5)*(4>5) THEN 240 what does the * do? It simply multiplies. The computer does the parentheses first, of course, leaving: 60 IF 1 *0 THEN 240 and then it does the multiplication: 60 IF 0 THEN 240 which leaves the antecedent as 0, which means it is false. If we replace the * in 60 by a +, we have: 60 IF (4<5) + (4>5) THEN 240 Evaluating the parentheses, we have: 60 IF 1 +0 THEN 240 that Is: 60 IF 1 THEN 240 which counts as true. FEES • 18 INTERFACE AGE CIRCLE INQUIRY NO. 21 JUNE 1979 DIABLO PROVES LOOKS ARE EVERYTHING With Diablo’s printers and terminals, you can always be sure that beauty will be in the eyes of the beholder. Because no one knows more about print wheel technology than the company that invented it in the first place. Diablos metal and plastic wheel printers have established industry standards for crisp, clear characters, proportional spacing, and uniform density. So, when you’re ready to choose a printer for your own computer, pick the one that produces “picture perfect� originals every time. If you really want to look good, remember this. With Diablo, you’ll always look vour best. / Diablo Systems Visit us at Personal Computing Festival booths 16 &r 17. Diablo® is a registered trademark of XEROX CORPORATION. CIRCLE INQUIRY NO. 22 £y|* m 1 * "' “v SB 1 In the above two examples, the * worked well for “AND�, and the + worked well for “OR�. But do they always? First we will look at the use of multiplication for AND. The truth table for the AND function is: A AND B T F B T T F F F F and, again, assuming we have operands of only 1 and 0, the addi tion table is: A A + B 1 0 B 1 2 1 0 1 0 and assuming we only have operands which are 1 or 0, the multiplication table is: 1 0 B 1 1 0 0 0 0 If you compare the two tables, it is easy to see why the multiplication works for AND. It returns a 1 if both A and B are 1. Otherwise it returns a 0, which is convenient because 1 stands for truth and 0 for falsehood. Now we must address the use of addition for OR. First we will look at the truth table for the OR function: A OR B T F B T T T F T F The strategy here is very much the same as for the use of multiplica¬ tion table, i.e. there is a 0 corresponding to a false result and a 1 cor¬ responding to a true result except in the cases where both operands equal 1, which mak£s the result of the operation equal to 2. To prove that it does, enter this calculator-mode statement: PRINT (5<7) + (9> = 4) You will see that the expression is evaluated to give 2. No all “true statements� have a value of 1, but this does not matter. You will remember that all antecedents with a value of 1 or over (as well as the negative ones) count as true. If the antecedent is 2, it will not make any difference. What if this result is used as an operand of another + function? The result of that + function will be a 3. If this is used in another + function, the result will be a 4. This could go on forever, and it would make no difference because any of these numbers as an antecedent will pass as true. Furthermore, some reflection will reveal that using a 2, 3, 4 or some other such number as an operand in a * function will not disturb anything either. That is why * and + make such good analogs of AND and OR, respectively. Consequently, we know that all comparisons and antecedents are just numbers, that logic operators are just arithmetic operators which work on those numbers and that we have six new arithmetic operators. LOGIC OPERATORS UNLIMITED We now have a total of ten arithmetic operators (four old, six new), and we are only using two of them (* and + ) as logic operators. We could use all of them, but most are fairly useless. However, some TRS-80 •TRS-0O-TRS-8O -TRS-8O- TRS-8O -TRS-8O--TRS-8O-TRS-8O- TRS-8O -TRS-8O -TRS-8O -TRS-8O -TRS-8O -TRS-8O-TRS-8O -TRS-8O -TRS-8O TRS-8O-TRS-80 -TRS-80--TRS-80 Software from ACS SERVICE MACHINE LANGUAGE PROGRAMS Z-80 Disassembler $14.95 Displays hexadecimal. ASCII, and symbolic instructions. Code reassembled using Editor/Assembler. REQUIRES: Level II Monitor #3 $39.95 A machine language monitor program for the TRS-80. Available commands in Monitor #3 include: Find, Edit, Unload, Relocate, ASCII, Hex, and Symbolic Dump, Binary Math, Load, Punch, Identify, and Dump symbolic listing to cassette (will load into the EDITOR/ASSEMBLER for reassembly). REQUIRES: Level II, 16K RAM. Available on disk or cassette Object Code Relocator $15.95 Designed to relocate machine language programs that were written too far down in memory to be used with Radio Shack's disk drive system. This program permanently moves most of Radio Shack’s machine language programs into higher area of memory, thus enabling the program to reside in memory along with DOS and DISK BASIC. The user does not have to reload the relocated program each time it is used as it can be per¬ manently moved high enough to escape the disk system. Memory 16, 32 and 48K RAM Kits. Keyboard and Interface. Prices start at $99.95 779 Centronics Tractor Feed Printer $1,100.00 701 Centronics Tractor Feed Printer $1,549.95 SA-400 Shugart Disk Drives Pertec Disk Drives Each $399.00 — 2 for $785.00 Buy two, get cable free 19-Key Hex, Numerical Keypad 2 Version — $69.95 Programmable — $99.95 ALL HARDWARE WARRANTED FOR 90 DAYS BUSINESS PROGRAMS Data Base Management No. 1 $89.95 A complete DBM program. Employs five commands: Find, Add, Change, Video and Print. REQUIRES: Level II Disk Basic and one disk drive, 16K RAM Inventory for Very Small Business $49.95 Uses sequential files on disk to store inventory. Commands in¬ clude: Check for item, Change item information, Add new items, and Print Inventory. REQUIRES: Level II Disk Basic and one disk drive, 16K RAM Medium Size Business Inventory $250.00 4,000 or more items. Complete and fully automatic, updates all files from one entry. Not junk! REQUIRES: 48K and 4 disk drives. NOTE: All programs on cassette unless noted. For disk, please specify and add $5.50 to order or send a diskette All orders shipped same day. All programs guaranteed to RUN. FINALLY, true CP/M disk operating system and all of Microsoft CP/M-oriented programs available immediately for the TRS-80. Call or write for information and prices. AUTOMATED COMPUTER SOFTWARE SERVICE 615/883-8845 • 615/885-1688 2208 DEARBORN DRIVE NASHVILLE, TENNESSEE 37214 MASTER CHARGE & VISA WELCOME ZO INTERFACE AGE CIRCLE INQUIRY NO. t JUNE 1979 <51 yin ini POWER BOARDS for ALL COMPUTERS, or COMPLETE TURNKEY SYSTEMS using Our Real Time Software and Computer System INTERFACE your Computer to the Real World with GIMIX Relay Driver Boards. CONTROL 31 Separate A.C. Circuits (20 amps max. each) for UNDER $28 PER CIRCUIT Includes: Relay Driver Board, Bracket, Transformer, and 31 GE RR-8 Relays. Assembled and Tested with Documenta¬ tion and Software Driver Routines. $ 848 05 Relay Driver Boards Only $ 448 86 Connects to any Com¬ puter through a 20 ma. current loop (up to 4 Boards 128 Relays per port.) Reports the on/off status of each relay on demand. INTERFACE the Real World to your Computer with GIMIX OPTO-BOARDS and REMOTE KEYPAD SYSTEMS: 16K Static RAM Boards for the SS-50 Bus MORE FEATURES: OPTO-BOARDS Connect One 8 Bit Parallel I/O Port to as many as 34 Outside World Switch Closures (e.g. doorbells, eyes) with: 1500 Volt Isola¬ tion, built-in contact debounce, on board scanning and buffer. REMOTE KEYPAD SYSTEMS • Gold bus connectors • 4 separate 4K Blocks • Individual Addressing Write Protect, and Enable/Disable for each Block • Tested at 2MHz Provide Remote Data Entry for Computer Systems or Directly Control One RELAY DRIVER BOARD or STEREO SYSTEM CONTROLLER. 6800-SS 50 BUS 16K SYSTEMS Other packages available. We would like to call your atten-^g^. tion to the June 1979 issue of Interface Age Magazine. It will contain an article about GIMIX and go into more detail about our GHOST Power Control System than we can in this ad. Jr The Company that delivers. Quality Electronic products since 1975. 1337 WEST 37th PLACE • CHICAGO, ILLINOIS 60609 (312)927-5510 • TWX 910-221-4055 © 1979 GIMIX INC. GIMIX' and GHOST' are Registered Trademarks of GIMIX INC. from *1294 29 Includes: Mainframe cabinet, mother board, power supply, fan, CPU, 16K static RAM, and choice of I/O card. THAT’S VALUE! cimix AT A LOWER PRICE ASSEMBLED $ 298 13 As above with Sockets and Software control features. ASSEMBLED 9 368 16 JUNE 1979 CIRCLE INQUIRY NO. 29 INTERFACE ACE 21 £ PROGRAM LIBRARY from CASCADE ENTERPRISES ON CASSETTE TAPE * If you use Solos** or have an 8080 Sol™ System. G2™ Extended Basic is faster and better than others requires (15.5K) $49.95 * For our 6800 users G2™ Standard Basic specifically for the S.W.T.P.C.™ 6800 requires (7K) $34.95 Both G2 basics are by Microsoft™ * We have the following games and entertainment which will run in these machines: < O (fi H > CO O o 3) T * THE GAME TAPES ARE ONLY r s 3J O m CO 8 TJ r m H U O $14.95 each m a •i Z H z H Z G2 BEAT THE HOUSE • • • • * G2 CLINIC • • • • • G2 OUTWIT • • • CM O THE MARKET • • • G2 ADVENTURE • • G2 BLOCKADE • • 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 ® ox 212 A 10 minute blank cassette. Mount Shasta, CA 96067 Cal. Res. add 6% tax add shipping & handling $2.00 □ M/C DB/A-Visa Expires Signature Main/Frames... $200 Main/Frames... $200 » 14 Basic Models Available ► Assembled 8i Tested ► Power Supply: 8v@15A. ± 16v@3A ► 15 Slot Motherboard d (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 8� Floppy Main/Frame (includes power for drives and mainframe) from $365 Write or call for our brochure which includes our application note: ‘Building Cheap Computers’ INTEGRAND 8474 Ave. 296 • Visalia, CA 93277 • (209) 733-9288 We accept BankAmericard/Visa and MasterCharge Table 2. Logical Formula Level 1 Equivalent A AND B A * B A OR B A + B > 0 A XOR B A < > B A EQV B A = B A IMP B A <= B NOT A 1 - A come in very handy. Some useful ones are listed in Table 2, but you can make up some more yourself. NOTE: The operators for XOR, EQV, IMP and NOT require that the operands be either 1 or 0, so Table 2 includes a new form of OR which, although slightly more complicated, is necessary whenever the result becomes an operand of an XOR, EQV, IMP, or NOT function. Otherwise, use the old + for OR. If you wanted to print X if A = 3 or B = 6, but not both, you would use a statement like this: 1461 IF (A=3)0 (B = 6) THEN PRINT X If you are interested in memory conservation, you can contract it to this: 1461 IF(A = 3)<>(B = 6)P.X but you can’t take away the parentheses. Even though >,<,> = ,<=,= and <> are arithmetic operators, they have no order of operations. That means that if you have the statement: 14611FA = 3<>B = 6P.X the computer might give you a right answer, it might give you a wrong answer, but most likely it will print the depressing message: WHAT? 1461 IFA = 3?OB = 6P.X Keep the parentheses, and make sure that you never have two rela¬ tional operators like this: A < B > = C when what you mean is: (A < B)*(B> = C) For another example, say you want to clear the screen if it is not the case that either A or B are equal to 5. Obviously, there are a few ways to approach this, but the most direct is: 8691 IF 1 - ((A = 5) + (B = 5) <> 0) THEN CLS Notice that we use the new form of OR because the result is the operand of a NOT function. Of course, you could abbreviate this to: 86911F1 -((A = 5) + (B = 5)<>0)C. Though “C.� is not in the back of the book as an abbreviation, it works. Finally, it should be pointed out that there is no limit to the fooling around you can do in antecedents using the ten arithmetic operators and the two arithmetic functions “ABS� and “INT�. You might even find a use for “RND� somewhere. Also, the relational operators are invaluable in arithmetical expressions. MULTIPLE INPUT STATEMENTS As you undoubtedly know already, Level 1 BASIC permits the statement: 120 INPUT X 22 INTERFACE AGE CIRCLE INQUIRY NO. 35 JUNE 1979 Complete systems for your applications ... Priced to fit your NEEDS and BUDGET! We can supply a DEC PDP-11... Data General Micro Nova... Or One of the leading S-100 systems (Business applications programs available)! Cromemco Model 3703 Line Printer 180 cps, 132cols, 18" platen, bi- directional printing, List $2995 our price $2545 Model 3779 Line Printer 60cps, 12� 12" platen. List $1495 OUR PRICE $1270 Cromemco 3100 CRT T erminal 80 char/line, 24 lines, 19,200 baud, upper and lower case, List 0(JR pR|CE $-|3 5 6 3101 CRT Terminal 80 char/line, 24 lines, upper/lowercase, List $1995 $1695 Cromemco System Three List $5990 OUR price $4990 Features 4mhz CPU, 32K of RAM, dual PerSci floppy disk drive (and provision for installing two more drives), RS232C Interface, printer interface. Assembled and tested, ready to use. Cromemco Disk Software - basic, Fortran, Assembler, Cobol, Word Processing System, Data Base Management - all com¬ plete with the new CDOS disk operating system, CP/M® COMPATIBLE, List $95 each. MiniMicroMart Price only $85 each Multiple User Basic, List $800 $680 MiniMicroMart can supply a business applica¬ tions program written in Cromemco BASIC; and since the latest Cromemco CDOS (Disk Operating System) is now fully CP/m compatible, you can now run any program written in other languages as well, such as C-BASIC and any Microsoft or Xitan software. SYSTEM TWO, List $3990 ONLY $3390 BONUS BUY Add only $495 - and get a full 64K Cromemco System Two or Three! ALPHA 5 mainframe only, with 32K RAM, SMB-II Board. List $19.39 OUR PRICE $1589 Systems from MiniMicroMart are not limited to those shown. Custom versions of Cromemco, North Star, Vector Graphic, Xitan, and others are available. Call or write for a system to meet your specific requirements. All prices subject to change and offers subject to withdrawal without notice. Prices are f.o.b. shipping point. — IMMEDIA TE DELIVERY ON CROMEMCO & XITAN SYSTEMS — — WRITE FOR FREE CATALOG — MiniMicroMart, Inc. 1618 James St., Syracuse NY 13203 TWX 710-541-0431 circle inquiry no. si (315) 422-4467 Go with one of our Xitan Alpha modular business systems. We give you a Perkin-Elmer Bantam 550 Terminal, a Printerm 879 120-char, cps pin-feed printer, a Xitan Alpha S-100 main¬ frame with Z-80 CPU, 32K of RAM, and an SMB-II System Monitor Board which provides the Zapple Monitor in firm¬ ware ROM and two serial RS232 ports. The Disk System is supplied with a complete software package, which includes Xitan's new, exclusive ELDOS Disk Operating System, which is CP/M compatible. You also get the full Xitan A3-P!us Software Package, which includes their Extended Disk BASIC, Macro-Assembler, Z-TEL Text Editor, Text Output Processor, LINKER, and Z BUG. (A com¬ plete commercial-caliber business application package, written in Xitan BASIC is available at extra cost.) COMPLETE SYSTEM with Terminal and Printer Our Price $4990 The system comes with the ALPHA DISK SYSTEM which provides two 5%" disk drives and more than 630K (160 full, single-spaced pages of text) of mass storage. Utilizing the new Dual Density Disk Controller, the system may be expanded up to a total of eight drives (two additional minis and four full size). This flexibility allows for future system expansion. XITAN SYSTEM - ALPHA DISK SYSTEM WITH SOFTWARE List $2195 OUR PRICE $1795 ( ANNOUNCING 1 New from DEC LA34 DECwriter IV $ 1 , 199. 00 • 110 or 300 baud, RS 232C serial • Upper/lower case, 9 x 7 dot matrix ASCII • 10,12,13.2,16.5 characters/inch • Friction feed, paper width to 15� • 2, 3, 4, 6, 8, or 12 lines/inch • 22�W x 7�H x 15!/2"D, 25 lbs. Teletype 43 $ 999. 00 • RS 232C, 110 or 300 baud • Upper/lower case full ASCII • Pin feed, 12� x SV 2 � paper New from DIABLO DIABL01640 $ 2,690. 00 Receive-only $ 2,331.°® High-quality daisywheel printing at 45 cps. DIABLO 1650 S 2.779. 00 Beceive-only ^ 2,419.®® Metal daisywheel printing at 40 cps. T.l. 810 printer $1,695. 00 • 150 characters per second • RS 232C serial interface • Adjustable forms tractor • Upper/lower case option $90.00 S0R0C IQ 120 5 795. 00 • RS 232C, upper/lower case full ASCII • Numeric keypad, protected fields • Cursor keys plus addressable cursor • Auxiliary extension port SOROC IQ 140 s 1,250. 00 • RS 232C and 20mA current loop • Extensive editing features • 25th line terminal status display • 16 function keys (32 with shift) To Order: Send certified check (personal or company checks require two weeks to clear) including handling* and 6% sales tax if delivered within California. * Handling: Less than $2,000, add 2%; over $2,000, add 1%. Everything shipped freight collect in factory cartons with manufacturer’s warranty. Visit MICROMAIL at the National Computer Conference — Personal Com¬ puting Festival, New York City, June 5-7, Booth 128. cMJCHDim. I MICROMAIL • BOX 3297 • SANTA ANA, CA 92703 I ! (714) 731-4338 ii v: — ; J | or, if you wish: 120 INPUT “WHAT IS THE X-COORDINATE�; X Now, it would appear that, to input two numbers, two statements must be used, like this: 120 INPUT X; INPUT V or, in a more informative form: 120 INPUT “WHAT IS THE X-COORDINATE�; X 130 INPUT “WHAT IS THE Y-COORDINATE�; Y However, it is possible (although it is not explained in the manual) to input values for both variables in a single statement, like this: 120 INPUT X, Y or like this: 120 INPUT “WHAT ARE THE X AND Y COORDINATES�; X,Y When these examples are run, there will be no indication that they are multiple-input statements, except in the printed messages. For example, there is just a “?� printed on the display. The user must then enter two numbers (or expressions) with a comma (“,�) be¬ tween, like this: WHAT ARE THE X AND Y CORODINATES?2,5 Then when the user presses ‘ENTER’, the two values are assigned to the two variables, respectively. To prove this, type in this pro¬ gram: 10 INPUT A,B 20 PRINT A*B, A + B, A/B, A-B and RUN, remembering to enter the two values with commas be¬ tween. When you enter only one number, change line 10 to read: 10 INPUT “ENTER TWO NUMBERS WITH A COMMA BETWEEN THEM�; A,B and RUN again. Now the person at the keyboard cannot go wrong. But, just out of interest, try entering three numbers with commas between. The computer ignores the extra number. This facility is not limited to only two variables. You can use the whole alphabet and even some more of the array. It doesn’t make any difference, as long as the person at the keyboard knows to use a comma and the right number of values. You may have noticed that in single string input lines, if you input a string with a comma in it, the comma and everything after it will be ignored. The reason here is simple; the TRS-80 interprets this as a multiple input, and since the INPUT statement only asked for one string, the second string is ignored. Thus, if in the program: 10 INPUT “WHAT IS YOUR NAME�;A$ 20 PRINT “YOUR NAME IS�;A$ the user enters “MERVIN,THE MAGNIFICENT�, the computer will ignore both the comma and “THE MAGNIFICENT�. COMPUTER CONTROL OF TAPE RECORDER By now you should be aware of the TRS-80’s ability to store and load programs or data on audio cassettes with the built-in cassette tape interface. You may already know that the EAR plug is used for the transfer of data during CLOAD and INPUT#. You may also know that the AUX plug is used for the transfer of data during CSAVE and PRINT#. What is important, however, is the function of the REM plug. It carries a signal which enables or disables the tape recorder motor. It enables the motor to operate as long as necessary during CSAVE, CLOAD and INPUT#, but during PRINT# the motor is enabled for a fixed time of between 4 and 5 seconds. If the REM and AUX plugs are disconnected from their jacks, the tape recorder motor may be started for that period. Thus, if you record a message, rewind the tape to the beginning of that message and press the “PLAY� button with the REM plug connected, then should the computer come across a PRINT# instruction either from the keyboard or in a pro¬ gram, the tape recorder will be activated for 4 to 5 seconds, and the recorded message (or the first 4 to 5 seconds thereof) will be played. To play longer messages, use two or more PRINT# instructions. 24 INTERFACE AGE CIRCLE INQUIRY NO 44 JUNE 1979 Recording can be done still using the PRINT# instruction by pressing the “RECORD� button and “PLAY� button together in¬ stead of only pressing the “PLAY� button. Then when a PRINT# instruction is encountered, 4 to 5 seconds of sound will be recorded through the CTR-41 ’s condenser microphone (you could use an ex¬ ternal microphone, but most have a plug which goes in the REM jack which is.already occupied by the TRS-80’s REM plus). For instance, if you are leaving the house at 9 a.m. and you want to listen to a radio broadcast which starts at 10 a.m. and continues until 10:30, before you leave the house in the morning you should do the following: First, turn on your radio and tune it in to the required frequency. Second, program your computer (you may have to bend the rules and turn off the radio temporarily at this point) to wait one hour, us¬ ing a series of timer loops (since the integer limit is 32767, FOR- NEXT loops have an upper limit of 32766, which takes just over a minute on the author’s system, so you should use nested timer loops for long periods). At the end of that hour, the computer is pro¬ grammed to activate the tape recorder for half an hour (this can be accomplished by a FOR-NEXT loop enclosing a PRINT# instruc¬ tion — since each PRINT# instruction records for 4 to 5 seconds depending on the system, to record for half an hour. The FOR- NEXT loop will have to go through, very roughly, 4 000 iterations, all depending on the particular TRS-80). Third, put your cassette in the recorder and bring it to the position at which you wish to begin recording, then connect the REM plug (but no others) and press PLAY. Finally, just before you go out the door, type in RUN and press ENTER. On return, you will find that the broadcast has been recorded. SUMMARY None of the above features of the TRS-80 are mentioned in the User’s Manual. The extended use of operators is, no doubt made possible only by the quirks of the Level 1 interpreter, and the ability to play and record sounds results from the technical arrangement of the cassette recorder and its interface. On the other hand, it seems that the manual’s failure to document multiple-input statements may have been an oversight. □ AT LAST! The High Density Color Graphics You've Been Waiting For! • Plugs directly into your S-100 bus • Eight different colors (2 sets of 4 colors) • Eleven software selectable modes • Display densities ranging from 64X32 to 256X192 Blocks • 6K bytes of on board screen refresh memory • Bank select • Board protect • Composite video • Software graphics driver routines for the 8080/Z80 BCG-800K (Kit) . $ 250.00 BCG-800A (Assembled). $ 300.00 BCG-800B (Bare board W/S68047). $ 55.00 VISA & MASTER CHARGE • Calif. Res. Add 6% Sales Tax Enclose $3.00 for shipping Call or Write for Details: Biotech Electronics P.O. Box 485 Ben Lomond, CA 95005 (408) 338-2686 CIRCLE INQUIRY NO. 8 DID YOU KNOW Your local computer dealer can now supply you with a small business accounting software package that Works. • It’s the big Five.* It’s fully documented. • It’s CBASIC code.* It’s reasonably priced. • It’s customized to your needs.* It’s integrated. • It’s old fashioned accounting. • It’s source code, (license) • It’s available NOW! //^7^\^\\ ■MdTIONdL_SOFTLU4RE EXCHANGE, MC.M If your dealer does not have BTC01, have him write or call National Software Exchange, Suite 113, 1000 Lake Saint Louis Blvd., Lake Saint Louis, MO 63367, Telephone (314) 625-2400. JUNE 1979 CIRCLE INQUIRY NO. 47 INTERFACE ACE 25 CALENDAR CHICAGO ELECTRONICS SHOW The spring Consumer Electronics Show will be held in Chicago, June 3-6. The show demonstrates many types of electronics available or soon to be available for the con¬ sumer, ranging from stereos to computers. For more information contact the Con¬ sumer Electronics Show, Two Illinois Center, Suite 1607, 233 N. Michigan, Chi¬ cago, IL 60601. METRIC STANDARDS STRATEGY MEETING SCHEDULED “Developing the U.S. Metric Standards Strategy� is the topic of a seminar to be held June 4-5 at the Sheraton O’Hare Motor Hotel in Chicago. The American National Stan¬ dards Institute, which coordinates the devel¬ opment of voluntary national standards in the United States, is sponsoring the meeting. Registration information is available from Claude H. Burns, deputy managing direc¬ tor, American National Standards Institute, 1430 Broadway, New York, NY 10018. REGIONAL DP CONFERENCE The Sacramento Chapter of the Data Pro¬ cessing Management Association is hosting the Region 2 conference in Sacramento, California, June 10-12. The theme of the event is “A Technological Gateway to the Eighties.� Tickets are $85 for members, $95 for non-members. For details contact Sam Price, Data Pro¬ cessing Management Association, P.O. Box 1223, Sacramento, CA 95806. INFORMATION RESOURCE FORUM The Society for Management Information Systems is holding a “Forum on Information Resource Management� at the Drake Hotel in Chicago on June 25-26. Addressing the theme of “Information Resource Manage¬ ment in the Years of Change,� the Forum will provide an outlook for the next decade in terms of information systems technology. Sessions and speakers will provide a management update in areas such as auditing and security, impact of distributed processing and data base management. A key feature of the Forum will be an out¬ look panel of top MIS directors representing various industries who will present a perspective on the problems and potential of information resource management in their organizations and industries. For details contact Ken Burroughs, DBD Systems, 1500 N. Beauregard St., Alexan¬ dria, VA 22311, (703) 820-3310. CHORAFAS SEMINAR “Distributed Information Systems� will be the topic of two identical seminars sched¬ uled for June, 1979 by Dr. Dimitris N. Chorafas, internationally-known manage¬ ment and data processing consultant. The first will be held June 11-15 at the Radisson-Chicago Hotel, Chicago; the sec¬ ond June 18-22 at the Breckenridge Pavil¬ ion Hotel, St. Louis. Topics include new communications technologies; use of pro¬ tocols and data bases; new software developments and applications. For details contact Richard Laubhan, Pro¬ ject Communications Inc., 333 E. Ontario, Suite 2603B, Chicago, IL 60611, (312) 266-2113. ADVANCED SEMINAR OFFERED Polytechnic Institute of New York and the Institute for Advanced Professional Studies are presenting a seminar, directed by Dr. Glen Marston, titled “Testing Microproces¬ sor-Based Systems.� The workshop enables design and test engineers to coordinate microprocessor-based product design with production testing. The seminar will be held June 11-15 at The Colonial Hilton Inn, Wakefield, Massa¬ chusetts. Tuition is $495. For details con¬ tact Prof. Donald D. French at (617) 964-1412 or the Institute for Advanced Professional Studies, One Gateway Cir., Newton, MA 02158. DATA ENTRY COURSE Management Information Corporation is sponsoring an interactive seminar that deals with data entry. Discussions with instructors and other participants will provide solutions to problems that can be easily implemented. “Data Entry Management and Supervi¬ sion Seminar� includes instruction in data entry system concepts, organization of the data entry department, data entry control techniques and operator training. The course will be at the Cherry Hill Inn in Cherry Hill, New Jersey on June 18-20. For fees and details contact Management Information Corp., 140 Barclay Center, Cherry Hill, NJ 08034, (609) 428-1020. TWO-DAY MANAGEMENT SEMINAR The cash impact of manufacturing deci¬ sions is the focus of “Effective Production Planning and Inventory Management,� a seminar presented by the Wharton School of the University of Pennsylvania on June 25-26 in Chicago. Designed for manufacturing organization executives, the seminar presents techniques to increase working capital, reduce inven¬ tories without compromising service, fore¬ cast market demands, resolve potential problems and minimize shortages and pro¬ duction delays. For more information contact Heidi E. Kaplan, Department 20 NR, New York Management Center, 360 Lexington Ave., New York, NY 10017, (212) 953-7262. COMPUTER SWAP MEET The North Orange County Computer Club will be holding a computer and elec¬ tronics swap meet Sunday, June 17. Buyers are admitted free. The sale will be held at Advanced Computer Products, 1310-B E. Edinger, Santa Ana, California. COMPUTER POWER FOR BUSINESS SUBSCRIBE TO THE MAGAZINE THAT COVERS EVERYTHING YOU NEED TO KNOW ABOUT CHOOSING AND USING COMPUTERS. The best computer for your business How business people use micro¬ computers Computer primer Introduction to business software Answers to your questions Advice from experts How to deal with suppliers Computer profit windfalls and hidden costs Best buys in computer equipment Scanning the stockmarkets Computer contracts Service bureaus vs. in-house computers Small computers in large corporations Small Business Computers Magazine 33 Watchung Plaza, Montclair, NJ 07042 □ Check Enclosed Name_ □ Bill me SUBSCRIBE NOW! One year for only $9! (V 2 newsstand price) subscription fee may be business expense tax deductible I A* 5/79 Address Company City/State -Zip 26 INTERFACE ACE CIRCLE INQUIRY NO. 93 JUNE 1979 TBS OFFERS COMPLETE SYSTEMS BACKUP Mail List— $125.00 For your 32K, two disk drive and printer TRS-80, an endless mailing list! MAIL LIST keeps 500 names and addresses per disk, together with three numeric codes and one alphabetic code for each name. 500 records per disk, and any number of disks that you wish. MAIL LIST keeps all entries in zip code and then last name order, and keeps track of which disk is holding which items. Automatic prompts instruct the operator as to which disk should be inserted. Selectable printouts for labels or other lists for hard copy storage. Full EDIT, DELETE, and other commands for your operators convenience. See SYSTEMS EXTENSIONS or your dealer for full details. The first TRS-80 batch-processing program. Diskettes— Box of 10, $38.00 New from TBS and Wabash Tape Corp. TBS, the leading name in TRS-80 software, and Wabash, the leading name in computer magnetic recording materials, presents, for your micro¬ computer disk system 5W' mini diskettes. Only TBS and Wabash can assure you that each diskette has been individually certified, and certified to 3200 BPI! Further, EACH one is guaranteed for one year after purchase. Cassettes— $1.90 3 for $5.40 Our cassettes are designed specially for use in RADIO SHACKS’S TRS-80 and other audio based computers. TBS backs its cassettes with a 90 day warranty against parts and material defects. TBS has equipped its cassettes with special features for you: sliding write protect tabs, extra large pressure pad and a 5 screw assembly. These cassettes are of TBS quality, built for your convenience in your TRS-80 or other audio based computers. Library 100— $49.50 The Library 100 was de¬ signed to fulfill your general TRS-80 Level II programming needs. Using advanced Level II techniques and rigid quality control, The Bottom Shelf has been able to make available 100 programs on five guaranteed-to- load cassettes, which load over a wide range due to advanced recording techniques and methods designed by engineers for The Bottom Shelf. The programs include applications in five areas: Business and Finance, Education, Graphics, Home and Games. As an added bonus, you get Tiny PILOT, the first new high- level language for the TRS-80. It’s perfect for teachers, parents, students and sales trainees. Using only six of Tiny PILOT’S commands, even a child can program in minutes. TBS Pad System— $19.95 set of five Programmers pads, 11 VY'x . 17". Punch for insertion and storage in a standard three ring notebook binder. All nec- • essary indexes and numbers for your programming con¬ venience on a 16 x 64 CRT. Systems Extensions—$3.00 Systems Extensions is published and marketed by TBS, creatorsof the LIBRARY 100. The articles published in Systems Extensions were written by our staff of TOP QUALITY PRO¬ GRAMMERS at TBS, to aid you with your computer. Also incorporated in this publication is a group of over 300 items designed to support your computer system. Partial Table Of Contents 1. Computers of the Past 2. Computers the Present and Next Two Years 3. Computers the Future and Next Ten Years 4. TRS-80 and the Business System Community 5. Standards for Professional Programming 6. Preparing for Programming A Business and Professional Application 7. Methods to Program Your System 8. Review of the Electric Pencil 9. Random Ramblings 10. Computer Aided Instruction 11. The Diskette Revolution 12. Level II Index 13. The Purchase, Care and Maintenance of A Business Computer 14. Your Computer and the Wall Socket System Doctor— $28.50 Now you can check your TRS-80 Level II computer and all it’s peripherals with this program. SYSTEM DOCTOR allows you to selec¬ tively test any function or peripheral or continuously test your system. Run this program once a week or when trouble occurs. Be your own computer diagnostician. The Basic Toolkit— $19.80 By F. Barry Mulligan sgra Basic Toolkit is a dream come true! This machine language program will do the following: • Search a basic program, and print out to screen or printer, an alphabetized listing of the variables used in the program and the line numbers in which they are found. • Search and print to screen or printer, a listing of all GOTO’s and GOSUB’s and the line numbers in which they appear. • Restore basic programs that have been accidentally lost (after typing NEW, or WHEN YOU GO TO DOS.) • Will check for bad memory in 15 seconds. • WILL MERGE PROGRAMS ON A CASSETTE BASED SYSTEM! j • Will search memory for all occurences of a specific byte and list the locations where it appeared. This program can be accessed at any time while you are programming by hitting SHIFT/BREAK. Be a participating TBS dealer. Phone: 404-939-6031 See your local TBS dealer, over 100 nationwide. Master Charge or Visa accepted. All orders plus $2.00 P & H. Add 4 % tax, if Georgia. Above software for TRS-80 LII. circle inquiry no. 9 The Bottom Shelf, Inc. P.O. Box 49104 Atlanta, Georgia 30359 Phone: 404-939-6031 UPDATE COMPUTERS TO PROCESS 1980 OLYMPIC RESULTS The results of more than 280 events at the 1980 Olympics will be handled by two ICL 2904 computers, soon to be installed in Moscow. These computers will be used to store the results of various Olympic events, provide editing facilities, and distribute information on these events to five international news services — Associated Press, United Press International, Reuters, Agence France Press, and TASS, the Soviet news agency. The two computers, valued at $1.74 million, are scheduled to be installed in Moscow in late April. ICL is providing a complete system design service to the 1980 Olympic Committee as well as technical ad¬ vice and support throughout the implemen¬ tation period and during the games. A sub-set of the Olympic results system will be tested during the Spartakiada Games which take place at the Olympic Stadium in Moscow in July this year. Spartakiada, an athletic event for Eastern European coun¬ tries, is expected to attract a great deal of European press interest because for the first time Western athletes will be invited to com¬ pete. The configuration of the two ICL 2904’s includes 96K words of store on each 2904, four EDS 60s, four magnetic tapes, two card readers, two line printers, two paper tape reader/punches, a 7502 terminal pro¬ cessor, and two modular protocol con¬ verters each with two asynchronous multi- line communications controllers. All peri¬ pherals are switchable between the two 2904’s, one of which provides a fail-safe facility. COMPUTERLAND TO SELL SOL COMPUTER LINE Computerland stores throughout the United States will sell and service the Pro¬ cessor Technology line of Sol microcom¬ puters, according to a joint announcement by Robert Marsh, president of Processor Technology, and Richard Graham, manager of marketing for Computerland. The Computerland franchises now include seventy stores throughout the United States. CALDISK PLANS ANNOUNCED Billings Computer Corporation has an¬ nounced plans for the floppy disk drive company which it acquired from CalComp (California Computer Products) earlier this year. According to company president, Roger E. Billings, the operation has been named CALDISK. “The major thrust of the division will be to continue to supply floppy disk drives to the OEM market,� he said. “In fact,� he emphasized, “CALDISK will re¬ main in California employing a majority of the same people who worked for CalComp before the acquisition.� Billings also said plans are underway to double production capacity within the next six months. The operation is presently ship¬ ping approximately 1600 single-sided, 8-inch drives per month. INDIANA CLUB FORMS A new computer club for users of all types of home computers has been formed in Evansville, Indiana. The group meets on the second Wednesday of each month at 7:30, usually at the Blind Association Building. Anyone interested in computers is asked to contact Robert Heerdink, National Share- data Corp., P.O. Box 3895, Evansville, IN 47737, (812) 426-2725. NEW ENERGY-SAVER An energy-saving solid state clock ther¬ mostat with digital readout of time and temperature has been introduced by Rapid- Circuit of Brooklyn, New York. The RC-3000 is completely electronic and requires little or no rewiring when it is used to replace a standard thermostat. It turns the heat down at night and back up at a preset time, allowing from a 9% to 30% energy savings. The time and temper¬ ature are alternately displayed by LEDs. The temperature can be displayed either in Far- enheit or Celsius. For details write to the RapidCircuit Corp., 5721 18th Ave., Brooklyn, NY 11204. Collect phone calls are accepted at (212) 837-2424. Ask for Edward Carr. FEELY ELECTED TO NATIONAL ACADEMY OF ENGINEERING American National Standards Institute President Frank J. Feely, Jr., has been elected to the National Academy of Engi¬ neers, the most distinguished honor that can be conferred on an engineer. The Academy recognizes those who have made important contributions to engineer¬ ing theory and practice or who have advanced technology in new and developing fields. Mr. Feely has been cited for his “Leader¬ ship in modernizing and strengthening na¬ tional engineering standards, and in devel¬ oping and applying petroleum technology.� Feely is vice-president and director of Exxon Research and Engineering Company. NEW BOOK OF “LAWS� John Peers, Chairman of Logical Machine Corporation, has compiled 1001 Logical Laws, Accurate Axioms, Profound Prin¬ ciples, Trusty Truisms, Homey Homilies, Colorful Corollaries, Quotable Quotes, Rambunctious Ruminations for All Walks of Life. John hopes that his efforts, besides providing pure entertainment, will enable his cohorts in the industry to see what life is really like “out there� where computers are daily office companions. The laws were collected in response to an advertisement run by Logical Machine soli¬ citing comments on life in general and life with business computers. Published by Doubleday the 189-page book costs $7.95. dilithiura Press has a plan... For the Microcomputer book market, that is... Now, there's a way for microcomputer dealers to bring our fast¬ selling dP titles into their stores with no cash investment and exceptional margin of profit. dP COME SEE US AT THE N.C.C. IN NEW YORK CITY BOOTH #90 IN THE SHERATON CENTER BOOTH #1017 IN THE COLISEUM The dilithium Press "PROFIT PLUS" Book Plan is just that . plus numerous other advantages. . profit Like to find out more? Write us at dilithium Press. P 0 Box 92, Forest Grove. Or 97116. or better yet, come by Bool #90 at the Sheraton Center Hi N.CC Personal Computing Exhibit, ( Matrix Publishers Booth #10.17 at Exhibit m the New York Coliseum free copy of one of our hottest the time to find out about the "Profi bonus, if you sign up for a dP Profit P concluded, we'll tack an additional 15% discount onto your initial book order So be sure to stop by and see us at N.C.C. or write us today dilithmm Press has a plan that works Why not let it work for you? 28 INTERFACE AGE JUNE 1979 FROM THE_ FOUNTAINHEAD By Adam Osborne Last year at the Second West Coast Com¬ puter Fair, I presented my first “White Ele¬ phant Award� for achievement in the micro¬ computer industry. I made the second an¬ nual award at the Fourth West Coast Com¬ puter Fair in May. The name “White Elephant Award� is whimsical, but not its intent; I wish to honor outstanding achievement. But in an industry where “Kentucky Fried Computers� can grow into a company the size of North Star, where smaller is better, and where amateurs working in garages frequently stand a better chance at success than established corpora¬ tions, it is only appropriate that my award also have a name with reverse connotations. My intent is as serious as the name is frivolous; my selections for the award are in¬ tended as the highest compliment that I can pay to a person or a product. The White Elephant Award consists of a printed circuit card on which is mounted the “chip� of the year; in this instance the year will be calendar 1978, and any chip that first became available in 1978 is eligible for the award. Last year, I presented the first White Ele¬ phant Award to Gary Kildall of Digital Re¬ search for the development CP/M, the de- facto standard operating system of the microcomputer industry. In 1977 usable software of any type was the critical problem facing the microcomputer industry and Gary Kildall did more to solve the problem than anyone else. But in 1978 we have encountered a new problem: the economic viability of com¬ panies which have grown from garage oper¬ ations to multi-million dollar undertakings without simultaneously advancing their financial stability or management ability. Entering 1979, the microcomputer industry faces problems that are far more critical than most industry leaders are willing to face up to. Within the next 12 months, we can ex¬ pect to see a large number of hardware manufacturers either go bankrupt or with¬ draw into a mode of restricted operations in consequence of cash flow shortages and mismanagement. Tandy, Commodore and Heath are major entries today. Tomorrow we can expect Texas Instruments, Atari and others to make their presence felt. These established com¬ panies have been and will continue to be successful for two reasons: their own best ef¬ forts and the negligence fo the pioneers who preceded them. Established companies entering this market have the management, economic resources, and experience to capitalize on the scenario as they encounter it. Unfortunately, they have received little or no resistance from the microcomputer manufacturers who pioneered this market, since these pioneers were unable to see the world change around them. Gone are the days when anything will sell, simply in con¬ sequence of being advertised. Gone are the days when for every seller there were a hun¬ dred buyers. Today, we are faced with an adequate supply of hardware manufacturers and a more sophisticated customer base which understands the difference between good and bad and has the options to exer¬ cise this understanding. In the summer of 1978 almost any viable microcomputer hardware manufacturer could have obtained sound financing and seasoned management. Few of them did be¬ cause they were too conceited or too ignor¬ ant to understand the true circumstances in which they were operating. Today, a few of the better microcomputer hardware manu¬ facturers can still obtain financing — if they are willing to accept sound management with the package. But time is running out, and with it, an era of the microcomputer in¬ dustry is passing. But there are notable exceptions; and it is to these exceptions that I turn to identify the individual who we should all honor for mak¬ ing the most significant contribution to microcomputing in 1978. Apple Computer Corporation is the com¬ pany that has done the most outstanding job of bringing professionalism, sound manage¬ ment, and a first class product to the micro¬ computer marketplace. Mike Markkula, the president of Apple Computer Corporation, more than any individual is responsible for this achievement. I therefore select Mike Markkula as the in¬ dividual who has contributed the most to microcomputing in 1978. Steve Jobs and Steve Wosniak designed and built the first Apple, but it was Mike Markkula who took an operation which could have withered into just another case of mismanagement, and turned it into the first class company that Apple has become today. In late 1976, Mike Markkula, then work¬ ing for Intel, cashed in his Intel stock options worth approximately $250,000; he took himself and his money into Apple. Since that time, Mike has brought in professional management, sound business planning, and more equity financing as and when needed. The entire microcomputer industry would have been better off if more people had had Mike’s foresight and understanding. Harry Garland at Cromemco deserves Honorable Mention for his achievements. Cromemco is a low-key company, perhaps reflecting Harry Garland’s low-key per¬ sonality. But like Harry, Cromemco is tech¬ nically superb and fiscally sound. When the dust of the coming 12 months settles, I ex¬ pect Cromemco will be doing as well as ever. I choose Intel’s 8086 as the Chip of the Year for 1978. As the first of the new 16-bit microprocessors, this selection was not hard to make. In fact, Intel consolidated its posi¬ tion as leader of the microcomputer industry during 1978. Certainly Intel deserves to be recognized as having given us the outstand¬ ing product of the year: the 8086, delivered on time.D FROM THE COUNTER TO THE BOTTOM LINE by Carl Warren & Merl Miller Shows simple, effective procedures for computerizing numerous functions in your line of business. $12.95 MAKING MONEY WITH YOUR MICROCOMPUTER by Carl Townsend & Merl Miller For the individual interested in putting that micro to work for profit! Ideas on supplying computer services in your community ... including some places you probably haven’t thought of. gg Write for our free catalogue to: dilithium Press P.0. Box 92 Forest Grove, Or. 97116 dilithium Press means Business with two new titles that can show you how to make your microcomputer your ’’silent working partner� JUNE 1979 CIRCLE INQUIRY NO. 23 INTERFACE AGE 29 By Leonard Tachner Attorney at Law THE PATENTABILITY OF COMPUTER SOFTWARE RELATED INVENTIONS — THE SUPREME COURT’S LATEST DECISION This article updates a June, 1978 piece by Mr. Tachner which discussed legal protection of computer software. Since that time the Supreme Court has made a decision, explained here, which changes the status of software related developments. Pamper Your Pet... MAYDAY! (Paul J. Breitenbach) imagine you’re the pilot of a private plane. Three miles from your destination you run out of gas. One thing is now certain: you are going down! Can you save yourself? Or will you crash and bum? That's the challenge of MAYDAY! An exciting game that tests your concentration, judgment, and agility, if02601, $9.95 CROSSBOW (Paul J Breitenbach) One cassette featuring a target game that teaches fractions in an exciting and competitive environment. Can be played individually or with up to 9 competitors. Three levels of play challenge all ages from 7 to adult. #02701, $9.95 GAME PLAYING WITH BASIC (Donald D. Spencer) Three cassettes featuring 27 recreational, educational, and skills programs. Tape 1 consists of 10 programs #00201, $9.95 Tape 2 consists of 9 programs #00301, $9.95. Tape 3' consists of 8 programs #00401, $9.95 , Available at your local computer store. HAYDEN — the software publisher! Hayden Book Company. Inc. 50 bssex Street, Rochelle Park, NJ 07662 CIRCLE INQUIRY NO. 31 A question of potentially great importance to the computer industry has again come to the forefront with the U.S. Supreme Court’s latest patent decision in Parker versus Flook. For many patent attorneys, Justice Stevens’ majority opinion of the six-to-three divided court creates more questions than it settles regarding the question of whether or not inventions relating to computer pro¬ grams are protectable by patent. This highly controversial and complex question became a substantial concern to the computer industry seven years ago when the U.S. Court of Customs and Patent Appeals (C.C.P.A.) decided In re Benson, a patent case in which the invention related to a method for converting one format of com¬ puter data into another format of computer data. The court found the Benson invention to be statutory subject matter even though the proposed patent claims included little or no physical apapratus associated with the method steps recited in the patent applica¬ tion. The Patent Office sought and obtained review by the U.S. Supreme Court. In November 1972, the Supreme Court reversed the decision of the C.C.P.A. hold¬ ing that the claims to a method for convert¬ ing one computer format to another were non-statutory subject matter. Unfortunately, the Supreme Court’s decision in the Ben¬ son case was ambiguous, as evidenced by the many conflicting interpretations of that decision. The major computer hardware manufacturers and their representative asso¬ ciations, who do not want patents granted on programs for their machines, interpret the Benson decision broadly as a proscrip¬ tion on patents for software and software related inventions. Software development firms, on the other hand, advocate patent protection for their inventions and interpret the Benson decision narrowly as applying to only the specific facts of that case. In the computer-program-related patent cases heard by the U.S. Court of Customs and Patent Appeals after the Benson deci¬ sion, it has been evident that the judges of the C.C.P.A. are also split in their interpreta¬ tions of the Supreme Court decision in the Benson case. The majority of C.C.P.A. judges has apparently sided with the soft¬ ware people by interpreting the fundamental rationale of Benson to be merely that a method encompassing all practical use of a mathematical formula and the involved algorithm constitutes non-statutory subject matter. In the series of software related cases decided after the Supreme Court Benson decision, the C.C.P.A. has apparently begun to set guidelines for software related inventions. In one such case, In re Flook, the invention related to a process for con¬ trolling at least one parameter of a catalytic hydrocarbon conversion process in which an alarm value is periodically adjusted as a function of the history of the actual value of the parameter and the adjustment is accom¬ plished by a computer in accordance with a mathematical control equation. The main claim of the patent application, which defines that the inventor believes to be patentable over prior art, recited a mathema¬ tical equation. Despite this, the C.C.P.A. found the claim to be patentable subject matter because it in¬ cluded post-equation solution activity in which the solution of the equation was ap¬ plied to a control system. Thus, it appeared that at least one of the guidelines the C.C.P.A. was attempting to establish (based upon its interpretation of the Supreme Court’s Benson decision) was that 30 INTERFACE ACE JUNE 1979 if an invention relates to a process involving a computer program, and is defined as in¬ cluding a data processing system in com¬ bination with an external system under the control of a computer, it is acceptable to in¬ clude the algorithm or mathematical equa¬ tion in the definition of the invention as long as there is some non-trivial post-equation solution activity and the claim or definition of the invention does not end merely with the solution of the equation itself. In the petition requesting review by the U.S. Supreme Court, then acting Commis¬ sioner of Patents and Trademarks, Lutrelle F. Parker, said that the decision of the C.C.P.A. regarding the Flook patent would have a debilitating effect on the rapidly ex¬ panding computer software industry and would require the Patent Office to process thousands of additional patent applications. This argument seems to have struck a nerve. The U.S. Supreme Court granted certiorari; in recent years, an extremely rare event in patent related cases. The Patent Office position, apparently un¬ disputed by the patent applicant, was that the only difference between known methods of changing alarm limits and the method described in the application was in the mathematical equation or formula, which allowed an operator to calculate an updated alarm limit once he knew the original alarm base and other parameters regarding operat¬ ing conditions of the catalytic conversion process. The court agreed and reasoned that the equation must be treated as though it were a familiar part of the prior art, whether it was in fact known or unknown at the time of the invention. The court ruled that the Flook claim was non-patentable subject matter and reversed the decision of the C.C.P.A. In a footnote to the decision, Justice Stevens summarizes the holding of the court, stating: “Very simply, our holding today is that a claim for an improved method of calculation, even when tied to a specific end use, is unpatentable sub¬ ject matter under Section 101 Justice Stewart, joined by the Chief Jus¬ tice and Justice Rehnquist in his dissenting opinion, criticized the majority for mis¬ interpreting the provision of the Patent Statute which relates to the question of what is patentable subject matter by holding, in ef¬ fect, that a claimed process loses its status of patentable subject matter simply because one step in the process is not patentable if considered in isolation. In effect, the dissent¬ ing opinion accuses the majority of confus¬ ing the question of novelty and inventive¬ ness with the question of what subject matter is protectable by patents in the first place. Thus the court appears to be saying that, at least as to patent protection for computer programs. . . Congress must act. . .by specifying. . .patentable subject matter. . . In any case, this latest decision of the U.S. Supreme Court regarding the protection of computer programs and computer program related inventions does not finally settle the question, except perhaps as to computer programs per se. The majority in Flook stated: “Neither the dearth of precedent, nor this decision, should therefore be in¬ terpreted as reflecting a judgement that patent protection of certain novel and useful computer programs will not promote the progress of science and useful arts, or that such protec¬ tion is undesirable as a matter of policy. Difficult questions of policy concerning the kinds of programs that may be appropriate for patent protection and the form and duration of such protection can be answered by Congress on the basis of current empirical data not equally available to this tribunal.� Thus the court appears to be saying that, at least as to patent protection for computer programs per se, Congress must act first by specifying that this is patentable subject mat¬ ter, before the Supreme Court will find it to be so under the current patent statute. However, the question of patentability of computer program related inventions, that is, those inventions that are not defined as mere programs alone, but systems that utilize pro¬ grams in conjunction with hardware, is still one of great importance that remains unsettled. For those who seek a definitive answer from the various court decisions on this question, interpret this latest decision as one more bit of information which helps set guidelines patent practitioners may use to draft patent claims to inventions that include or relate to computer programs. This one additional bit of information seems to be that a process which appears advantageous only because it includes a new method for calcu¬ lating that permits the application of a high speed computer to accomplish that calcula¬ tion, will not be patentable. In other words, for it to be patentable, there must be something more novel in an inventive process than merely a previously unknown equation especially suitable for solution by a computer. □ The material presented in this column is intended for the reader’s general ] y informa¬ tion. The author requests that the reader consult professional advisors prior to apply¬ ing this material to his or her specific situa¬ tion. Anyone seeking further information may contact the author at the Law Firm of Fischer and Tachner, 2192 Dupont Drive, Suite 210, Irvine, CA 92715. IS YOUR COMPUTER SAVING YOU 6$ THE MONEY ITWAS MEANT TO? HOW MUCH ENERGY IS YOUR HOUSE REALLY USING? PLUG YOUR HOUSE INTO YOUR COMPUTER AND SEE WHAT’S HAPPENING. YOUR COMPUTER CAN LISTEN TO YOUR HOUSE 24 HOURS A DAY. % $ s % s Our DAM SYSTEMS modules give your computer the ability to sense and measure the world around it. Our AIM 16 provides 16 channels of analog input. Connect pots, joysticks, or whatever appropriate sensors you have. Each of the 16 analog inputs, in the range of 0 to 5.12 volts, is converted to a decimal number be¬ tween 0 and 255 (20 millivolts per count). Conver¬ sion time is 100 microseconds. Special modules allow direct plugin to your PET, KIM, TRS-80, APPLE or Motorola D2. Write today for our latest catalog of Data Acquisition Modules. C CONNECTICUT microCOMPUTER , Inc. m 150 POCONO ROAD C BROOKFIELD, CONNECTICUT 06804 TEL: (203) 775 9659 TWX: 710-456-0052 * $ JUNE 1979 CIRCLE INQUIRY NO. 14 INTERFACE ACE 31 your microcomputer can become a development system for only $190 PRAGMATIC DESIGNS’ NEW DBM-1 FEATURES: • 2048 BYTE EPROM EMULATOR • EMULATE 2708, 2758, 2716, TMS2716 EPROMS • S-100 CARD FORMAT • HARDWARE ADDRESS TRAP DBM-1 helps you simplify program development for dedicated applications. It is a shared memory card which looks like RAM to an S-100 computer and like EPROM to an applications computer. Programs for the application computer are developed using the S-100 system, the program is loaded into the DBM-1, and the two computers are connected by one or two 24 line dip cables. DBM-1 now looks like the application computer’s program memory. During debugging you use the S-100 computer’s monitor or debugger to make program changes, so the program can be completely debugged before you place it in EPROMS. DBM-I’s hardware address trap can be set to trigger whenever the application computer reaches a specific point in the pro¬ gram. This trap signal turns on a trap LED and generates signals which can be used to halt or hold program execution. --then you can develop programs for our new $125 computer! CPU-1 IS A COMPLETE CONTROL COMPUTER ON A SINGLE 4.5 X 7 CARD: • 8085 MICROPROCESSOR WITH 256 BYTES OF RAM • 22 I/O LINES; SERIAL I/O PORT • PROGRAMMABLE COUNTER/TIMER • SOCKETS FOR 1-4K OF EPROM • USE 2708, 2758, 2716, or TMS2716 EPROMS • WIRE WRAP AREA FOR SPECIAL FUNCTIONS The system I/O and control signals are bussed to pads adjoining the wire wrap area, allowing you to easily customize CPU-1 for your application. The card is also laid out with space for you to add an on board power supply. For larger applications CPU-1 A has all the features of CPU-1 expanded to 512 bytes of RAM, 44 I/O lines, and two program¬ mable counter/timers. PRICES' DBM-1 $190 KIT, $270 ASSEMBLED AND TESTED. CPU-1 $125 KIT, $175 ASSEMBLED AND TESTED. CPU-1 A $160 KIT, $210 ASSEMBLED AND TESTED. 24 LINE DIP CABLE FOR USE WITH DBM-1 (1 OR 2 REQUIRED), $10 EA. CRYSTAL OPTION FOR CPU-1 and 1A, $10. Please add $2.00 for shipping and handling. California residents add 6% sales tax. Phone, VISA and MASTERCHARGE orders accepted. ORDER NOW AND START USING DBM-1 AND CPU-1 TO HELP YOU DEVELOP YOUR OWN MICROCOMPUTER BASED SYSTEMS. pragmatic designs 711 Stierlin Road Mountain View, CA 94043 (415) 961-3800 MICRO MEDICINE] By Wm. V. Weiss, M.D. Professional Engineer I was recently discussing back problems with an associate who does occupational medicine for a large brewery where back prob¬ lems present 30% of all employee injuries and are most costly in terms of lost productivity and suffering. Since we had begun to con¬ sider this problem at the same time, I suggested he have his com¬ pany commission a review of the subject. At the same time we initiated the study of back problems, I hap¬ pened to catch an advertisement on television showing medical research work being done on back problems in Chicago. The TV ad was most intriguing, showing a conceptualized line drawing via computer graphics simulation of a human spine during various dif¬ ferent maneuvers. The ad left the impression that someone was real¬ ly on the track to quantifying and characterizing the puzzling prob¬ lems of back disease. I began to feel somewhat optimistic that light lay ahead at the end of the “back problem� tunnel. After considerable effort I finally identified the principal investi¬ gator, a Professor Albert B. Schultz (Professor of Mechanical Engi¬ neering) of the University of Illinois at Chicago Circle. I wrote him inquiring into the nature of his investigations and the type of system he was using for his simulations. Before returning to Professor Schultz let’s digress a moment and discuss the back and spine. Even presently this is a poorly under¬ stood structure. The development of the vertebrates spans some 500 million years, and that of modern man about 40,000 genera¬ tions. The evolution from four-footed animal to upright man resulted in the original “bridge structure� rotating upwards into a “column structure.� Until very recently (1960’s) the only knowledge medical people had of the spine was the qualitative anatomical descriptions of the anatomists. Most of this material was not truly representative of the living organism as it had developed from cadaver studies. Even our anatomical studies are incomplete due to the incredible complexity of the various spinal elements strung together in a web not unlike the rigging of a “tall ship.� The most elaborate “biodynamic models� to date are only simple approximations of the various static and dynamic forces at play. Instrumentation of the spinal vertebral elements (the bony sections) has been extremely difficult in the living body and thus the “yield strenghts� of most tissues and bones comes from cadaver studies, and are approximate at best. In humans, one of the great puzzles has been that the mechanism of injury (disks primarily) is not always related to trauma, straining, or other obvious “unusual� force, as 35-40% of all disk problems occur in sedentary individuals without obvious cause. Returning to my correspondence, Professor Schultz was most gracious in his reply. He informed me that his aspirations ran parallel to mine, with prevention and prognostication high on the list of practical applications, but that there were still enormous gaps in the basic theory required to understand the physical limiations of the various tissues and that many years of empirical work was yet re¬ quired to determine the tensile, rotational and shearing forces that the spine can sustain in normal life. Then, of course, further study would be required of man in the infinite variety of postures “working man� finds himself before the data base would be adequate for valid mathematical formulations. 32 INTERFACE AGE CIRCLE INQUIRY NO. 53 JUNE 1979 ONE PACKAGE DOES IT ALL Includes these Application Programs . . . Sales Activity, Inventory, Payables, Receivables, Check/Expense Register, Library Functions, Mailing Labels, Appointments, Client/Patient Records RANDOM, MULTI-KEY RECORD RETRIEVAL under CP/M, CDOS, IMDOS, ADOS ... SELECTOR III ALLOWS INSTANT RECALL OF ANY RECORD USING ANY IN¬ FORMATION ITEM IN THE RECORD. That statement deserves re-reading, be¬ cause that ability makes SELECTOR III the most powerful Date Base Man¬ agement System in micro¬ computers today! With SELECTOR III you can... • define a record format, assign retrieval keys, and begin entering data in min¬ utes. • create sorted pointers to records matching your spe¬ cif or range of requirements. • automatically generate reports with control-break summaries and unlimited variety. • bring an application on- line in hours instead of months. SELECTOR III comes com¬ plete with eight application programs that perform the tasks listed at top of page. And, since it’s distributed in source code form, you can easily add subroutines to do specific computations or file updates. SELECTOR III runs under CBASIC Vers. 1 or 2, and is priced at $295. SELECTOR III-C2 is dedicated to Vers. 2 only, runs about twice as fast, and costs $345. Both systems are available in a variety of CP/M, diskette size and density formats including IBM 8"; North Star; Micropolis; TRS-80; Pro¬ cessor Tech Helios II; Altair; iCOM; Dynabyte; Imsai; and others. CIRCLE INQUIRY NO. 41 | Available from computer stores nationwide: I LIFEBOAT Associates 2248 Broadway, Suite 34, New York, N.Y. 10024 • (212) 580-0082 Or order direct from MICRO-AP ■9807 Davona Drive, San Ramon, CA 94583 I | (415) 828-6697 His current work requires the vast computational power of the largest mainframe systems due to the number of equations run simultaneously. If one starts to conceptualize a model consisting of the forces of a moving human body with analogs of mass, springs, damping in three dimensions, it becomes obvious it cannot be run easily on a home computer. In order to build a mathematical model of the spine, extensive em¬ pirical measurements are necessary to develop some quantitive guidelines to the relationships between various postures and their respective spinal effects. Some of the most time-consuming ex¬ perimental work (with cadavers, primates, and human volunteers) requires the collection and analysis of stresses on many locations of the spine. Remembering that our spinal column has 24 mobile bones (vertebrae) with seven in the cervical or neck area, 12 in the thoracic or chest region, and five in the lumbar or low-back region. The normal spine is somewhat “S� shaped with the degree of curvature (in the anterior-posterior plane) a function of fitness and genetic endowment. As one can imagine, almost every posture and position of arms (and load) creates a panorama of changing stresses at various levels. To confuse the issue even more is the variability of response of human tissues to seemingly similar conditions. A perfect example is the “slipped disk.� This is a misnomer as the disk rarely moves, but rather, some of the central gel material extrudes outwards through a weakened portion of its containing wall, causing local pain and “re¬ ferred pain� if it presses on one of the spinal nerve “roots.� Why is it that of two different people of seemingly similar physical character¬ istics (height, weight, build, sex, age, etc.) one can suffer a “herni¬ ated� or “ruptured� disk lifting a newspaper and the other does not? Although biological characteristics are more or less similar, there is no comparison to inanimate materials like steel where the tensile strength is a highly predictable characteristic for similar alloys. Thus, it appears that genetically some people have “tougher disks� than others, and this must explain the wide variation in tolerance to dif¬ ferent work conditions. Obviously, when one considers the variety of positions a worker, or even a gardener, subjects himself to in the course of an activity it is almost impossible to compare two victims of back strain. Thus, prognostication is extremely difficult. It suffices to comment that it is good that there are investigators patient enough to slowly pick away at all of the unknowns in this field. Hopefully a “sample� of the infinite numbers of stresses at play will allow accurate predictive models in a reasonable time frame. I can plead guilty to perhaps expecting too much as I briefly saw these marvelous spinal segment graphics simulations flexing and bending in response to electronic forces on the screen last year. My second mistake (wishful thinking) was to assume my associate would turn up some good news in his literature review, in spite of my disappointment at the rate of “model� or mechanics develop¬ ments. At present it seems there is no reliable method of predicting who is most likely to suffer back problems (work related or other¬ wise). Worse still, there is no way of preventing such problems even in sedentary workers, and “back training clinics,� and “lifting in¬ struction� have had very little impact on the rate of new injuries. X-ray of potential employees, once thought to be useful in weeding out some potential back injuries, is now considered a waste of money as a screening technique. At this point, we can only promote general fitness, try and tailor the likely stresses a person might en¬ counter to the appropriate body-build and capacity, and gradually “engineer� the work environment such that peak spinal stresses will be avoided. To end on an optimistic note, I hope that in the near future research will have had advanced to the point where a short “Back Program� for home comptuers can be produced. Starting with some input data such as age, sex, height, weight, girth at chest, hip and waist, one might carry on a “dialogue� which will ask what type of physical tasks you are anticipating and, based on certain addi¬ tional data (load to be lifted, various positions, etc.), will tell the inter¬ rogator the limits his personal capacity imposes if he wishes to avoid back injuries. Later versions would hopefully include some graphics for greater clarity. □ Dr. Weiss can be contacted at Biolithics, 600 Sherbourne Street, Suite 803, Toronto, Ontario M4X 1W4. CALL FOR ARTICLES INTERFACE AGE is seeking articles on hardware and software, particularly concerning Apple, TRS-80, Atari and Heath computer systems. Other areas of interest include medical and educational applications, special functions of microprocessors, telecommuni¬ cations and video graphics, both on screen and hardcopy. The payment rate for articles ranges from $20 to $50 per pub¬ lished page. Pieces describing company projects or products will carry the company byline, but no payment is offered. Submittals should include an abstract, outline and stamped return envelope. Manuscripts should be typed, double spaced with 1 -inch mar¬ gins. Minimum length is four pages, unless programs are included. Photos should be numbered and have a brief description attached. Tables, listings, etc. should be on separate pages. Computer listings should be printed using a new ribbon to assure good reproduction. Authors are requested to submit a statement of their background and expertise. The publisher assumes no responsibility for artwork, photos or manuscripts. No acknowledgement is made unless accom¬ panied with a stamped return envelope. For article submission or more information, contact Carl War¬ ren, Editor-in-Chief, INTERFACE AGE Magazine, 16704 Mar- quardt Ave., Cerritos, CA 90701. Please do not phone. TUNE-UP YOUR PET®...$109.95 enclosure $134.95 • Exact Pet keyboard layout • Double-shot keytops with graphics legends • Duplicate Return, Space and Shift keys on numeric pad for programming ease • Added function key which can be hard wired as a system reset • Flexible cable and connector supplied ■8U1BK ■■■■■■a ars- ?. t ? *«■■■■■■■■■■- -.mm ? i? ii s an? a Century Research & Marketing, Inc. 4815 W. 77th St. Mpls., MN 55435 Erhardt & Jost Electronics Rossligasse 2 CH 4450 Sissach Switzerland • TM of Commodore Business Machines. Inc. 34 INTERFACE ACE CIRCLE INQUIRY NO. 40 JUNE 1979 MATHEMATICIAN By Dr. Alfred Adler PROGRAM CONVERT In the March issue this column presented a HEX to decimal con¬ version chart which greatly simplifies many programming tasks. However, since such conversions may be needed during program execution, this month we are presenting a short routine (written in PolyMorphic BASIC, Version A00), that will convert binary, octal, decimal, or HEX to binary, octal, decimal, or HEX. There are many ways in which such a general conversion pro¬ gram can be written. If we had attempted to make direct conversion from any of the four systems to any other of the four, 12 separate conversion algorithms would have been needed. If on the other hand we take all conversions through decimal, that is, whichever number system is used for the input, it is first converted to decimal (unless it is already decimal) and then converted from decimal to whatever output is required (unless decimal output is required), then only six separate algorithms are needed. This is the approach taken for Program CONVERT. The algorithms needed to make these various conversions follow directly from a consideration of the structure of the various number systems. Starting with the binary system, note that the least signifi¬ cant bit tells us how many ones, the next significant bit tells us how many twos, the next how many fours, then how many eights, etc., doubling each time we move to the next most significant bit. In order to convert this binary representation to decimal we must therefore multiply each bit by two to the z power, where z equals one less than the column number, counting left from the least significant bit. Thus the 1 in binary 1000 equals 1 times 2 3 , since the 1 is in the fourth column from the left and three is one less than four. Each bit is con¬ verted in turn and the results added. This algorithm appears in state¬ ment numbers 210 to 235 of the program. To convert octal to decimal, note that again the least significant digit tells us how many ones, but now the next significant digit tells us how many eights, and the next how many sixty-fours, and so forth. In order to convert this octal representation to decimal we must multiply each digit by eight to the z power, where z again equals one less than the column number, counting left from the least significant digit. Thus the 4 in octal 3421 equals 4 times 8 2 , since the 4 is in column three and two is one less than three. This algorithm appears in statement numbers 305 to 330 of the program. To convert HEX to decimal, note that now each successively more significant digit tells us how many ones, sixteens, two- hundred-and-fifty-sixes, etc. To convert the HEX representation to decimal we multiply each digit by sixteen to the z power, where z is the same as before. An additional problem arises, however, Sup¬ pose we want to convert 5FC3 to decimal. The F in HEX cannot be converted to decimal until we change the F into a number. We all know that it equals 15 decimal, but the computer doesn’t know it. A quick and easy way to take care of this problem is through the use of the ASC function in BASIC, as is done in statement numbers 425 and 430 of the program. If the ASC function is not available in your particular BASIC, statement numbers 425 and 430 must be replaced by the less elegant but equally serviceable statement numbers 425 to 455 shown in Figure 2. The complete algorithm for converting HEX to decimal appears in statement numbers 410 to 480 of the program. * * MOTOROLA M6809 EMULATOR RUN 6809 SOFTWARE BEFORE THE CHIP IS AVAILABLE! E6809 is a 6800 machine language program that will emulate all of the functions of the Motorola 6809 third generation micro¬ processor. Developed for use on any 6800 computer system, the program allows software development and debugging prior to 6809 availability. 6809 object code may be placed in the 6800’s memory and executed or single-step traced by E6809. The 3K byte program is complete with a 6809 mini¬ monitor and console I/O routines for ease of use. A fully commented source listing is included. Specify Smoke Signal Broad¬ casting or FLEX™ disk, or KCS cassette. $49.95 TH mo©G^§> Master Charge I BankAmericard DIPT K, P.O. IOX IIIO, DIL MAR, CA 92014 (714) 756-2687 ^ CIRCLE INQUIRY NO. 46 g' opoooooootflaoooofloooit oBooooooooocttOooooooopttoiiaogiooooaooixuioflo oooojooooooooooBOoiKtooooo ^. 1 TRS-80 means business! ! ! ...with CP/M, CBASIC2, i & applications software. | C'P/M (“the software bus") & 0BASIC2 (the stan- | tlard lor business software) bring new power and | versatility to the TRS-80 for practical use. I CP/M Operating System (w/Editor, Assembler, Debugger, Utilities & 6 manual set).SI 50 1 CBASIC2 Comoiler (w/manual).$ 95 | DESP00L Print Spooler (w/manual).S 75 1 *Osborne & Assoc. PAYROLL W/C0ST 1 ACCTNG.$250 | *Osborne & Assoc. ACCTS. RECEIVABLE & ACCTS. PAYABLE.$250 *Osborne & Assoc. GENERAL LEDGER.$250 *=CBASIC2 source programs; add $15 (each) for applicable O & A book. APH - Self-administered Automated Patient History.$175 Write/call for additional software available & FREE "CP/M Primer'". CA residents add 6% tax. Visa, M/C,M/O,Check OK. 9 VlBlEiRfNlElT '* C S (714) 848-1922 804 1 NEWMAN AVENUE • SUITE 208 • HUNTINGTON BEACH. CAUEORNI A 92647 JUNE 1979 CIRCLE INQUIRY NO. 18 INTERFACE AGE 35 Your TRS • 80 Apple 11 Micropolis Vector MZ Exidy Sorcerer Cromemco CBasic-CP/ M Microsoft Computer WILL SAVE YOU THOUSANDS! ,0fl V s WITH OUR BUSINESS SOFTWARE A FLEXIBLE STARTER SYSTEM EASY TO UNDER //STAND & USE GENERAL LEDGER • • ACCTS. RECEIVABLE ACCTS. PAYABLE • INVENTORY • PAYROLL Buy simple, effective programs designed specifically for your machine. Call us once for same week delivery on a product you can use the day you receive it, and two years from now when your company is twice as big. And ask about MICROMAX - our computer output videotape system. TRS # 80: $100/each. CBASIC-CP/M: $200/each. Apple II, Mi¬ cropolis, Vector, Exidy, Cromemco, and Microsoft: $140/each. Order today by U.P.S. COD, or with Visa, Mastercharge, or your personal check—well pay postage and handling. [415] 321-2881 505 Hamilton Ave. Palo Alto, CA 94301 . iSOCIATES. INC. CIRCLE INQUIRY NO. 10 ""PASCAL ENGINE Not just a machine that emulates one. The Pascal engine doesn't merely interpret P-Code, its instruction set is P-Code This powerful computer runs the full UCSD Pascal Operating System and includes all of the following items: • Pascal microengine™ with 32 bit FLOATING POINT instructions including floating point MULTIPLY & DIVIDE with provision for expanding instruction set to include double precision. • 64K bytes (32K words) of RAM expandable to 128K bytes. (64K words) • FLOPPY DISC CONTROLLER with direct memory access (DMA) switch selectable for: — single, or double density — 8" floppy or mini floppy — 1 to 4 drives (same type) • Complete UCSD Pascal Operating System —PASCAL compiler —File Manager —BASIC compiler —Screen oriented editor —GRAPHIC package —Debugger • Two RS-232 asynchronous ports (110-19.200 baud) • Two 8-bit parallel ports • Auto test microdiagnostics • Documentation $2600 Complete with stylized low profile housing and power supply CUTTING EDGE OF TECHNOLOGY,. Inc. 19th floor. 61 Broadway. New York. N Y. 10006 212-480-0480 Now that our binary, octal, or HEX number is nearly converted to decimal, we must be concerned with converting the decimal number into binary, octal, or HEX, as required. Once again the algorithms follow directly from a consideration of the structure of the various number systems. Considering the first conversion of decimal to binary, we will assume that the binary number will be no more than sixteen bits long, since most of us are limited to 64K address lines. We proceed from left to right, that is, from most significant bit to least significant bit, essentially reversing the procedure we followed above in con¬ verting to decimal. Whereas before we multiplied each bit by two to the z power, we will not divide each bit by two to the z power, where z is still defined as before. Since we are only interested in whole values of the division, we INTEGER the quotient. We then decrease the decimal number by the product of the integered division and the current value of z. For example, to convert 24617 decimal to binary we proceed as follows. Since we are dealing with a sixteen bit binary number, the most significant bit tells us how many 2 ,5 s we have. We therefore divide 24617 decimal by 2 15 and INTEGER. The result is zero. This says that there are no 2 15 s in decimal 24617. Therefore we place a zero in the leftmost column of the sixteen digit binary number. We then divide by 2 14 and INTEGER. The result is a one. This tells us that there is one 2 14 in decimal 24617, therefore the second digit from the left in the binary number is a one. Now we must subtract 2 14 , which equals 16384 decimal, from 24617. This leaves decimal 8233 which we now divide by 2 13 and INTEGER. The result is a one. We place a one in the third column from the left of the binary number and subtract 2 13 from 8233. The process is continued until either the remainder is reduced to 0 deci¬ mal or until we have divided by 2° (which equals one). This latter operation will coincide with the right hand most column of the binary number; that is, the least significant bit. This algorithm ap¬ pears in statement numbers 60 to 80 of the program. Conversion from decimal to octal is done in a similar manner with two exceptions. First, the octal number need only be six digits long to correspond to a sixteen bit address. Second, since we are now us¬ ing a base eight number instead of a base two number, we use eight to the z power instead of two. For example, to convert 24617 decimal to octal we first divide 24617 by 8 5 and INTEGER. The result is zero, telling us that there are no 8 5 s in decimal 24617. We place a zero in the leftmost column of the six digit octal number. We now divide by 8 4 and INTEGER. The result is a six, telling us that there are six 8 4 s in decimal 24617. We place a six in the second from the left column of the octal number, subtract 6 times 8 4 (24576) from 24617 and proceed. The algorithm for conversion of decimal to octal appears in statement numbers 100 to 120 of the program. Conversion from decimal to HEX is again similar, with three dif¬ ferences now. First the HEX number need only be four digits long. Second, we must use sixteen to the z power, since we are dealing with a base sixteen number. And third, any quotient exceeding nine must be converted to a letter between A and F, in accord with the hexadecimal conventions. For example, to convert 24570 to HEX we first divide by 16 3 and INTEGER. The result is a five, which becomes the first digit of our four digit HEX number. Subtracting 5 times 16 3 from 24570 we are left with 4090 decimal. We divide this by 16 2 and INTEGER, ob¬ taining 15, which is really the second digit of our HEX number. Since it would be quite confusing to try to use a two digit symbol to represent a single digit, convention requires that we express the 15 as an F. The algorithm for making such changes appears in the pro¬ gram in statement numbers 165 to 173. The complete algorithm for converting decimal to HEX appears in statement numbers 150 to 180. In use, the operator will be asked to state the input base, the out¬ put base, and the input number. The program will respond with the input number converted to the new base, and will recycle awaiting a new request. Sample runs are presented following the listing.□ Alfred Adler can be contacted at 10360 Flintlock Trail. Tucson. AZ 85715. Program Listing Follows 36 INTERFACE AGE CIRCLE INQUIRY NO. 17 JUNE 1979 ^SSeglS^ Quantity 1 Price Complete System includes: ★ 10 MILLION CHARACTER HARD DISK STORAGE ★ DISK OPERATING SYSTEM & EXTENDED BASIC ★ POWERFUL 16-BIT CENTRAL PROCESSING UNIT ★ VIDEO DISPLAY TERMINAL ★ 150 CPS LINE PRINTER AND PRINTER STAND ★ DESK ENCLOSURE basic Lime 1215 E. El Segundo Boulevard El Segundo, California 90245 213/322-4435 JUNE 1979 CIRCLE INQUIRY NO. 5 INTERFACE AGE 37 WORLD SIMULATION by James L. Murphy, Ph.D. A fully interactive ecologic model. Allows manipulation of all system variables. Plots 15 variables in 3 different graphs on any standard printer. Begins in the year 1900 and projects all values at any interval up to selected ending year. Seven variables (Birth Rate, Death Rate, Pollution Ratio, etc.) may be dynamically al¬ tered at selected dates within each program run. All variables and their behavior are fully compatible with Jay W. Forrester’s Model WORLD2, as described in World Dynamics (Wright-Allen Press, 1971). Variables graphed: POPULATION NAT RESOURC POLLUTION RATIO QUALOF LIFE CAP INVESTMENT POLLUTION GENERATED FOOD RATIO LIFE EXPECTANCY BIRTH RATE CROWDING RATIO MATERL STD OF LIV NAT RFSOURC USAGE CAP INVEST RATIO CAP INVEST RAT AG. CAP INV AGRIC FRACT Two different versions provided on each diskette, both with complete source listings, and manual. Manual only, with source listings.$8.00 5%� Diskette-North Star BASIC.$28.00 8� Diskette-CBASIC.$32.00 At your computer store, or from Berkeley Medical Data Associates, inc MICROCOMPUTER CONSULTANTS P.O. Box 5279 Berkeley, California 94705 (415)653-6707 PROGRAM LISTING >>Lisr 1 HEM<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>> 2 REM 3 HEM<<<<<<<< PROGRAM CONVERT A REM '5 REM<<<<<<<<<<<<<< VERSION 1.1 <<<>>> MAY 197d >>>>> 6 REM 7 REM<<<<<<<<<<< WRITTEN BY - ALFRED A. ADLER PHD > b HEM 9 DIM B(16),W(17),B$(1b) 10 INPUT "STATE INPUT BASE :B,G,D,H : ",I$ 15 INPUT "STATE OUTPUT BASE :B,O t D,H :",K$ 20 IK I$="B" THEN 200 25 IK I$="0" THEN 300 30 IK I$="H" THEN 400 35 REM I$="D" ^0 INPUT "STATE DECIMAL NUMBER 2" ,N(1) 4^ IK K$="H" THEN 150 50 IK E$ = "O" THEN 100 53 IK F$="D" THEN !N(1)\!\G0T0 10 55 REM K$="B" 60 KOR K=1 TO 1b b5 M = 2**(16-K) 70 B(K)=INT(N(K)/M)\N(K+1)=N(K)-B(K)*M 75 !B(K), 80 NEXT 85 ! \ ! \GOTO 10 96 HEM K$="0" 100 KOR K=1 TO b 105 M*8~(6-K) 110 0(K)=INT(N(K)/N)\N(K+1)cN(K)-0(K)*M 115 !0(K), 120 NEXT 125 !\!\GOT010 145 REM K$="H" 150 KOR K =1 TO 4 155 M=16~(4-K) 160 H(K)=INT(N(K)/M)\N(K+1)=N(K)-li(K)*M 165 Q$="ABCDEK" 170 AsH(K)-9 173 IK A = >1 THEN !" ",Q$(A,A),\G0T0 160 175 !H(K ) , 180 NEXT 190 !\ ! \G0T0 10 200 REM I$="B" 205 INPUT "STATE BINARY NUMBER :",B$ 210 D=0\J=LEN(B$) 215 FOR K=1 TO J 220 M=2~(J-K) 225 IF B$(K,K)="0 M THEN 235 230 D=D+M 235 NEXT 240 N(1)=D 243 IK K$="B" THEN 60 245 IK K$="0" THEN 100 250 IK K$ ="H" THEN 160 255 !D\!\GOTO 10 295 REM 0$="0" 300 INPUT "STATE OCTAL NUMBER :",0$ 305 D = 0\J = LEN(0$) 310 FOR 'C=1 TO J 315 M=8"(J-K) 320 0(K)=VAL(0$(K,K)) 325 D=D+0(K)*M 330 NEXT 335 GOTO 240 400 REM I$="H" 405 INPUT "STATE HEX NUMfaEh :",H$ 410 D=0\J=LEN(H$) 416 KOR K=1 TO J 420 KsltT(J-K) 425 H(K)=ASC(H$(K,K))-55 430 IK H(K)=<9 THEN H(K)=H(K)+7 475 D=D+H(K j *M 480 NEXT 485 GOTO 240 >>KUN STATE INPUT BASE :b,O t D,H : D STATE OUTPUT BASE : B,0. D,II :H STATE DECIMAL NUMBER :65535 F K K K STATE INPUT BASE :B,0,D,H : il STATE OUTPUT BASE :B,0,D,H :D STATE HEX NUMBER :KKFK 65535 STATE INPUT BASE :B,0,D,H : D STATE OUTPUT BASE :b,O f D,H :U STATE DECIMAL NUMBER :b5535 1111111111111111 STATE INPUT BASE :B,0,D,H : b STATE OUTPUT BASE :B,0,D,H :H STATE BINARY NUMBER :0101010101010101 5 5 5 5 - ' Branched to Page 40 38 INTERFACE ACE CIRCLE INQUIRY NO. 7 JUNE 1979 / TRS-80 OWNERS\ ' AVAILABLE FOR IMMEDIATE DELIVERY 1 CASSETTE SOFTWARE DISKETTE Package # 1036 (Level II). ..$495.00 COMPLETE SMALL BUSINESS - This program is a complete small business program that was tailored to work for most small business applications. The program includes such things as Accounts Receivable, Accounts Payable, Invoicing, Inventory Control, Payroll and General Ledger. Package # 1038 (Level II). .$ 99.95 ACCOUNTS RECEIVABLE Package # 1039 (Level II). .$ 99.95 ACCOUNTS PAYABLE Package # 1044 (Level II). .$125.00 INVENTORY CONTROL Package # 1045 (Level II). .$ 99.95 INVOICING Package # 1046 (Level II). .$ 99.95 PAYROLL Package # 1047 (Level II). .$ 99.95 MAILING LIST Package # 1024 Package #1026 (Level II, DISKETTE). .$24.95 (Level II, DISKETTE).$24.95 Includes the following: Includes the following: SPACEWAR I - BANNER - UFO ATTACK - PILE UP - SPACEWAR II - CIVIL WAR - TRAP THE TRIBBLE - BIORHYTHM - AUTO RACE and WORDS. LIFE - KNIGHT - CONCENTRATION and LUNAR LANDER. OVER 150 EXCITING PROGRAMS ★ MORE EVERY DAY ★ EDUCATION ELECTRONICS MARKETING Also available for PET and APPLE. All SOFTWARE-80 programs are guaranteed. Programs available in Level I and Level II Basic. All of our business programs will operate with printer; custom programs also available. With certified check or money order, all orders shipped within 24 hours. Personal checks allow 2 weeks. Send for our complete catalogue. — ■SOFTWARE-80 ■18228 Cabrillo Court Fountain Valley, CA 92708 s__ ALL PRICES AND PROGRAMS ARE SUBJECT TO CHANGE WITHOUT NOTICE ^ JUNE 1979 CIRCLE INQUIRY NO. 95 INTERFACE AGE 39 Graham-Dorian Software Packages are turn-key programs. We supply the source... you tailor for your customers. And save months of tedious work! Here are sophisticated programs that meet the information processing needs of the business professional. Graham-Dorian packages are fully documented, including source code in each package and easily understood operator instructions. All programs compatible with any Z-80 or 8080 CP/M® system, and can be ordered in standard eight-inch disk either double or single density, or mini-floppy disk. Each package contains a disk with CBASIC-2 compiler, CBASIC-2 run command, XREF command, the Graham-Dorian software program in INT and BAS file form, plus a user’s manual and hard copy source listing. Average 185K of programs per package. • Inventory Package — Can be connected with cash register for point of sale inventory control. Number of on-line items limited only by disk space available. • Cash Register Package — Creates daily sales reports containing information on gift certificates, paidouts, overrings, refunds, and how much in each category a salesperson sold. • Payroll Package —■Handles 100% of all necessary payroll functions including state income tax tables for your state. Ideally suited for both large and small companies. • Apartment Package — Said one user, “Obviously, this was developed by apartment owners.� The package fills virtually all the needs of apartment owners and managers. Ideal for projects with 75 units or more. $695.00 for any package listed above. Any single package order includes free CBASIC-2. Send for detailed packet of information explaining capabilities of each program and sample runs. Or, phone our software technicians. Watch for new Graham-Dorian Software Program releases. Attractive dealerships available. Graham-Dorian Software Systems programs are copyrighted and require licensing agreement. :> a BB Visa and Master Charge accepted. . * Graham-Dorian Software Systems A Division of Graham-Dorian Enterprises _ B 211 N. Broadway / Wichita, KS 67202 a (3i6) 265-8633 Vectored from Page 38 STATE INPUT BASE :B,0,D,H : H STATE OUTPUT BASE :b,0,D,H :b STATE HEX NUMBER :AAAA 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 STATE INPUT BASE :B,0,D,H : B STATE OUTPUT BASE :B,0,D,H :0 STATE BINARY NUMBER :1010101010101010 1 2 5 2 5 2 STATE INPUT BASE :B,0,D,H : H STATE OUTPUT BASE :B,0,D,H :0 STATE HEX NUMBER :FFFF 17 7 7 7 7 STATE INPUT BASE :B,0,D,H : 0 STATE OUTPUT BASE :B,0,D,H :D STATE OCTAL NUMBER :76543 32099 STATE INPUT BASt :B,0,U,H : Interrupted in line 10 >> LISTING 2 Substitution for statement numbers 4?5 and 430, for Basic interpreters that do not contain the ASC function. 425 IF H$(K , K ) r 11 A" THEN H(K)=10\G0T0 475 430 IF H$(K,K)="B" THEN H(K)=11\G0T0 475 435 IF H$(K,K)="C" THEN H(K)=12\G0T0 475 440 IF H$(K,K)="D M THEN H(K)=13\G0T0 475 445 IF H$(K,K)="E" THEN H(K)=14\G0T0 475 450 IF HlfK^Jr-'F 1 ' THEN H(K)=15\G0T0 475 455 H(K)=VAL(H$(K,K)) 40 INTERFACE AGE CIRCLE INQUIRY NO. 30 JUNE 1979 New and prospective users of small business computers frequently become confused with some of the concepts and terminology thrown at them while shopping for a system. Some of these concepts are ex¬ tremely important to the person shopping for a business system. In my experience, one of the hardest things for a neophyte to comprehend is the difference between operating systems, lan¬ guages, monitors, and application programs. These four terms are bandied about by computer dealers as if the prospective customer had used them all his life. Even more confusing to some buyers is the conceptual separation between the hardware (the actual com¬ puter system, terminals, printers, etc.) and software (which includes all programs to be run on the machine). More confusing still is the fact that small systems are usually a col¬ lection of different products which have been combined together to form a complete system. It is not unusual to see a system consisting of, say, a Cromemco C-3 computer, a Hazeltine 1500 printer, a Texas Instruments 810 printer, a D.C. Hayes & Associates Modem, CP/M, and two or three other suppliers’ software. (This particular combination is used strictly as illustration.) So, if you newcomers to the wonderful world of computer jargon will hang on, I’ll try to quickly define some of these terms. First of all, hardware refers to anything which could be considered a machine. This will include the actual computer (or mainframe), the terminals, or the printer. Hardware in itself can do no useful work. All hardware is controlled by programs, and these programs can be called by many various names. By the way, just to confuse the issue, some dealers will call hardware the “system� (I confess — I’ve done it, too. . .), while others will refer to the entire combination of hardware and software as the “system.� There are several types of “programs� which are used by your computer system. The first type of program, and the most basic, is usually called “firmware.� Basically, firmware is a small program which resides in ROM (or Read-Only Memory). This ROM type of memory does not lose the program when the power is turned off. Therefore, it is ideal for telling the computer how to do some very simple tasks when the power is first turned on. Usually, these tasks will include giving you some sort of message on your terminal, do¬ ing some very basic machine language programming, and getting your disk drives started. This very simple program, or firmware, is called a “monitor� or “system monitor.� It is necessary to let your computer know that it is a computer, and what to do first whenever the power is turned on. The next level of program usually is loaded into the computer and run by the monitor. It is called an “operating system.� The operat¬ ing system handles all the basic details of your computer’s opera¬ tion. It has all the routines for storing information on the diskette drives and loading information from them into memory. It has the routines for driving your printer. It also allows you to manage several other types of programs and data. Sometimes the operating system is called an “executive� or on larger computers, a “job-control system.� One of the popular operating systems for microcomputers is CP/M by Digital Research. At the next level of programs, we find “languages.� A language is a program which affords us humans some kind of common ground with the computer. Computers think in binary, or base two. The only thing that a computer can recognize is whether a particular spot in memory contains an “on� or “off� state. To a computer, the letter ‘G’ is composed of eight “switches,� called “bits,� and looks some- THE PERFECT COMBI¬ NATION OE 1000 VIDEO TERMINAL The Video 100 is designed to meet your monitor needs for both personal and business use. It is compatible with a wide range of computer systems, and with a band width of 12 MHz it is capable of displaying up to 80 characters per line on the 12" B/W CRT. The solid state circuitry assures a stable, & sharp display. The front panel controls include power, contrast, horizontal and vertical holds. Adjustments for height, vertical linearity, and width control are located on a rear panel. All the above features for only $139. The OE 1000 Video Terminal provides you with a low cost means to communicate with your computer. The OE 1000 will display 16 lines of 64 characters on a monitor or modified TV. The terminal will generate and display the full 96 ASCII character set (upper and lower case) plus 32 special characters (Greek letters and math symbols). The terminal will also erase to end of line, erase to end of screen, scroll, and it has full X-Y cursor movement. Interfacing to your computer requires a full duplex, serial, RS 232 or 20 mA loop I/O port at the rate of 110 or 300 baud. The OE 1000 sells for $350 assembled or $275. in kit form. Master Charge, Visa, accepted. COD Extra. Add $5 per unit, $10 both units, shipping handling insurance. The perfect low cost combination of the OE 1000 and Video 100 are available from OTTO ELECTRONICS PO BOX 3066, PRINCETON, NJ. 08540 or call (609) 448-9165 JUNE 1979 CIRCLE INQUIRY NO. 51 INTERFACE AGE 41 THE TRS-80 ASSEMBLY LANGUAGE DEVELOPMENT SYSTEM (A STEAL AT TWICE THE PRICE) A short time ago, Microsoft introduced TRS-80 FORTRAN— a complete ANSI-standard FORTRAN with macro assembler, linking loader, and text editor, all for only $350. The response has been overwhelming. Many TRS-80 users even told us, "The assembly language development software alone is worth that price." We think they're right, of course, but we've made it an even better deal. ANNOUNCING: THE TRS-80 ASSEMBLY LANGUAGE DEVELOPMENT SYSTEM FOR $175. For half the price of the TRS-80 FORTRAN Package, you can buy the TRS-80 ASSEMBLY LANGUAGE DEVELOPMENT SYSTEM, including: EDIT-80 A fast, random access text editor that's easy to use and loaded with features. Lets you insert, replace, print or delete lines; edit individual lines; renumber lines in a file; and find or substitute text MACRO-80 The best Z80 assembler anywhere. MACRO-80 supports a complete Intel-standard macro facility plus many other "big computer" assembler features: comment blocks, octal or hex listings, 8080 mode, titles and subtitles, variable input radix (base 2 to base 16), and a complete set of listing controls. LINK-80 Loads your relocatable assembly language modules for execution and automatically resolves external references between modules. CREF-80 Gives you a complete dictionary of program symbols, showing where each is defined and referenced. The Microsoft TRS-80 FORTRAN Package is still available for $350. Or, for HALF PRICE, get the TRS-80 ASSEMBLY LANGUAGE DEVELOPMENT SYSTEM. Either way, it's a steal. TO: Microsoft, 10800 N.E. 8th, Suite 819, Bellevue, WA 98004 □ Send me the works! TRS-80 FORTRAN Package for $350. □ Send me half the works! TRS-80 Assembly Language Development System for $175. □ Check enclosed □ Master Charge □ VISA CARD NUMBER EXP. DATE CARDHOLDER’S SIGNATURE NAME -AAj ADDRESS : jjj CITY STATE ZIP' Dealer Inquiries Invited 42 INTERFACE ACE JUNE 1979 thing like 01000111. Humans tend to go slightly batty when trying to think in this type of code for periods longer than ten or twenty or minutes. So languages were invented to sort of “bridge the gap.� Languages range in complexity and structure all the way from “machine language� (in which you might specify the letter ‘G’ as 47H) through BASIC, in which you give the computer instructions in English-like commands such as <100 A = B + C : PRINT “THE ANSWER IS �,A>. Whenever most folks talk about programming a computer, they are talking about using a language in order to teach the computer how to perform some task. Some common languages are BASIC, COBOL, RPG/II, APL, SNOBOL, LISP, FORTRAN, PASCAL, and JOVIAL. The highest level of programs are called “application programs.� These are the ones that a businessman is really interested in. These are programs that will allow the computer to do tasks such as your inventory control or general ledger. If you are buying a computer for business, these type programs should be the deciding factor on which computer you buy. The other term that sometimes confuses is “software.� Software is any type of program other than firmware. Sometimes 1 think that half the effort in learning computers went into mastering the jargon. THIS MONTH S SOFTWARE - A.S.I. & MICROTEX One of the reasons that I wanted to discuss terminology this month is that is directly relates to the software I am reviewing. Almost everyone has heard of the CP/M operating system, and it is pretty much a de-facto standard for microcomputer users. The accounting packages reviewed this month run under the OPUS language? operating system from Administrative Systems Inc. in Colorado. One is a complete Clinical Accounts Receivable and Billing package from A.S.I. The other is a General Contractor’s accounting and job costing system from Microtex of Houston, Texas. Both of these packages are designed especially for a specialized market. ADMINISTRATIVE SYSTEMS INC. Administrative Systems started in 1973 with a mind to put to¬ gether some business packages using the then-new microcomputers such as the Altair 8080. They were impressed with the capability of the machine and saw a great future in store for micros and business. No one had released a good extended disk BASIC in 1973, so the people at A.S.I. decided to write a high-level language expressly designed for business applications programming and soon OPUS was bom. It started off as a BASIC language, but soon outgrew many of the restrictions inherent in BASIC. Over a period of several years they have improved and expanded it until OPUS has become an extremely powerful language, and one that a professional programmer can really appreciate. However, it is so flexible that a novice can get into trouble designing large pack¬ ages with it. Consequently, most of the work currently being done with OPUS is being done by serious, professional programmers, and most of the packages available to date have been aimed toward a specialized market. OPUS would be termed a “semi-compiler� language. In other words, after a line of code has been entered, it must be compacted and put into a format more suitable for the machine’s operation. OPUS does not compile its code completely down to machine lan¬ guage such as COBOL or FORTRAN, so it and languages like it are called semi-compilers. A couple of the nice features of OPUS are a simplified operating system called FORTE, which is designed to handle only the running of programs, and a complete time-sharing operating system called TEMPOS, which is upward-compatible from OPUS. Versions of OPUS and FORTE are available for most diskette or cassette based systems. TEMPOS requires the use of some addi¬ tional hardware, and I would suggest that a dealer set up a TEMPOS system. It can be a little too much for a new user. A.S.I. Clinical Accounts Receivable and Billing This package is designed to handle the billing and receivables for medical or dental clinics. It was originally designed and implemented on a DEC PDP-11 in 1974. Since that time, it has been converted to run on 8080 based microcomputers under A.S.I.’s OPUS. It has under¬ gone several revisions and additions since its original conception. The CAR/B system is a large, complex series of programs and currently is being offered only through authorized dealers. It will re¬ quire that a dealer perform a great deal of software modification to We are the first manufacturer to offer you a complete family of add-on disk drives for your TRS-80. Select from single head or dual head units. Each comes complete with Power Supply and Chassis. H SINGLE HEAD DRIVES TF-1X Choose Pertec FD-200 or MPI $379 TF-3 Shugart SA 400 $389 DUAL HEAD DRIVE TDH-2 Dual Headed minifloppy, includes cable $699 CABLES TFC-2 two drive cable $25, TFC-4 four drive cable $35 TRS-80 PERIPHERALS & SUPPLIES PRINTERS LP779TR Centronics Model 779 with tractors $1179 LP1 Centronics Model PI $399 Integral Data w/tract. $949 Cables (Centronics) $39 MEMORY 16KM 16K RAM Kit $74 NEW PRODUCTS AC-1 A.C. Line Interference Eliminator $18.95 NKP Numeric 16-Key Pad Kit $68 TRS-80 Disk $1 69 Small system RS232 $49 DISKETTES VERBATIM 5� Soft sector $3.59 TRS-80 SOFTWARE BRAND NEW DOS + Special With utilities Intro Price * Accounts Receivable $39 Inventory Control $39 Job Entry/Status $75 SEND FOR FREE PRODUCT CATALOG BUY IT ALL... HARDWARE/SOFTWARE... FROM ONE SOURCE ■TWO LOCATIONS TO SERVE YOU MICROCOMPUTER APPARAT, INC. TECHNOLOGY INC. 6000 E. Evans Ave. Bldg. 2 2080 S. Grand Ave. Denver, CO. 80222 Santa Ana. CA. 92705 303-758-7275 714-979-9923 ORDERING INFORMATION: Cash, check, Money Order or Credit Card (MC or VISA). COD’S require 20% deposit Orders will be processed and shipped within 3 to 10 days of receipt of order Customers will be notified of any delay over 30 days. JUNE 1979 CIRCLE INQUIRY NO. 43 INTERFACE ACE 43 Tarbell 32K RAM Memory ★S-100 BUS ★ ★300ns★ ★ FULLY STATIC MEMORY ★ ★ALL ADDRESS & DATA LINES BUFFERED ★ ★ EXTENDED ADDRESSING (Bank Switching) ★ ★EACH 4K BLOCK INDIVIDUALLY ADDRESSABLE ★ ★PHANTOM LINE ★ *20 PAGE OPERATING MANUAL ★ ★ FULL 1-YEAR WARRANTY ★ 32K ASSEMBLED AND TESTED AT 4MHz.$625. SAME BOARD WITH ONLY 16K INSTALLED.$390. Please send check or money order. No CODs or credit will be accepted on this item. Califor¬ nia residents please add 6% sales tak. 950 Dovlen Place • Suite B • Carson, Calif. 90746 <213) 538-4251 (213) 538-2254 CIRCLE INQUIRY NO. 62 MICROPOLIS SOFTWARE, mod„) WHY Do you need the CCA DATA MANAGEMENT SYSTEM? BECAUSE With this powerful system, You’re in control ■YOU decide on the files you need (Name & Address. A/R, A/P, Payroll. Inventory. Customer Lists, etc.). ■YOU choose the names for the files and all of the data fields in the files. ■YOU let the DMS assist you in maintaining your files using YOUR field names. Records can be added, updated, deleted, Inspected, or scanned for in any file. ■YOU let the DMS sort your files as needed. •YOU select the report or mailing label format, selecting title, fields, totaling, sub-totaling, editing and more. Stay in control! Order the CCA Data Management System today! Only $150.00 - Comprehensive Documentation Dealer Inquiries Invited Creative Computer Applications 2218 Glen Canyon Road Altadena, CA 91001 (213) 798-4529 set it up for a specific clinic. Most of this modification is involved with setting up the proper files and formatting specialized reports, in¬ cluding up to five separate insurance forms. Information kept on file by the system includes all of the following: 1. Doctors file — includes name, address, personal information. 2. Client file — name, address, activity history, financially re¬ sponsible party, billing information, and receivables status. 3. Services file — contains detail of all services offered by the clinic and charges for said services. 4. Diagnostic file — contains detail of most diagnoses normally incurred. 5. Transaction file — contains daily records of activity, and is used to post to all other files. 6. Miscellaneous file — several miscellaneous files are kept con¬ taining information such as messages to be printed on state¬ ments, etc. One of the strongest points of this system is the ability to not only control the billing of a small to medium sized clinic, but to provide reports of all billable activity within the clinic by service, doctor, or just about any other categorization desired. The CAR/B system automatically generates the patients’ monthly statements, insurance forms, and activity reports. Statements may also contain special messages, selected by payment type. Payment types include cash, insurance, and open accounts, and the user may define other payment types if desired. Included with the CAR/B system is an inquiry system which allows the operator to access any information on file and define the format of specialized reports. A typical use of the inquiry function would be to obtain a list of all patients who have had lab work done in the last three months. All in all, this system is difficult to describe in a vest-pocket review. If you are interested in this system, I would recommend that you call A.S.I. at (303) 755-9694 and ask for the name and number of the nearest dealer. GENERAL CONTRACTOR S ACCOUNTING PACKAGE The Microtex General Contractor’s Package designed by Gary Boucher was written especially for the contracting industry. The GCP is a complete accounting system consisting of a General Ledger, Accounts Payable, and Job Costing Journal. The entire sys¬ tem is menu-driven and all the inputs are error-checked. The system is brought up under OPUS or FORTE by typing ‘LOAD, “MAIN�, RUN’. After that, all processing options are selected by choosing the number of that function from a menu of functions displayed on the CRT screen. I may be partial to this package, because Mr. Boucher’s programming style is almost ex¬ actly like my own. He incorporates things I like, such as extensive screen formatting using direct cursor positioning, menu selection, and data-entry procedures designed for persons without computer experience. The entire data entry process in any portion of the package is completely self-explanatory. And, if a mistake is made during entry, the user has two chances to correct it before it is processed. The first is the ability to back up to a previous entry is a mistake was made. Then, after all data has been input, the system prompts the user to check the information entered, and asks if any changes are needed. If changes are required, the user specifies which piece of data needs correcting, and the program goes to that portion of the screen to allow for corrections. This may sound complicated on paper, but it produces two beauti¬ ful results. The first is that many people are initially overwhelmed by the speed and clarity in which data is displayed and input, and the second is the fact that an operator can enter data very quickly and with a good deal fewer mistakes than if the system did not do screen formatting. All transactions are posted to the system through the Transaction Journal. The user defines whether the input is an Invoice, a Check, a Deposit, or a Journal entry. From this point, the system distributes the information to the appropriate journals automatically. Also, the Transaction Journal employs line-item entry, which I find very help¬ ful. Line-item accounting refers to the process in which a transaction such as a check or invoice will be broken down into several different amounts and those portions posted against different accounts. The Transaction Journal allows up to 10 lines to be entered under each separate transaction. 44 INTERFACE ACE CIRCLE INQUIRY NO. 15 JUNE 1979 TEST DRIVE ONE TODAY! If you're in a big business, you know you can't operate without a computer. If you're in a small busi¬ ness, you think you can't afford one or that you can't afford to hire computer people to run it. Voila! Enter MICROSTAR, the affordable small business computer. Put your own complete system to work in your office for under $10,000, or lease one for under $300 per month. Hire no computer experts - let your secretary learn to work the system in hours. Eliminate all that tedious, time-consuming manual accounting work. With MICROSTAR you can fully automate your accounts receivable, accounts payable, general ledger, payroll, inventory, and order entry. There's even a word processor to simplify your com¬ munications. Just think-no waiting for days, weeks, or months to check the color of your accountant's ink. You start guiding your P& L daily instead of monthly. Of course, there are other microcomputers, but there is only one MICROSTAR. It's the computer with a single-board instead of the customary 6 or 8 printed circuit boards. And that gives you reliability and maintenance confidence not possible with other systems. Ask us about such MICROSTAR features as: STARDOS, UPDATE, and CP/M compatibility. Let us explain the MICROSTAR multi-user capability that allows you to utilize simultaneously additional video display terminals and one line printer. Find out how easily our dealers can develop specific pro¬ grams for your particular business. So if you are a small businessman who never expected to computerize in 1979, call today for the name of your nearest MICROSTAR dealer. He's got a system just waiting for you to test drive. Dealers: Join the Micro Five Dealer Drive!" micros; MICRO V CORPORATION, 17777 S.E. Main Street, Irvine, California, 92714, Phone: (714) 957-1517, Telex: 678401 TABIRIN TM-MICROSTAR is a trademark of MICRO V CORPORATION. CP/M is a trademark of Digital Research, Inc. JUNE 1979 CIRCLE INQUIRY NO. 42 INTERFACE ACE 45 SWITCHCD-ON TftS- SYSTEMS. SOFTWARE Using the Radio Shack TRS-80 as our base, we provide a full line of business-oriented soft¬ ware, plus products with the follow on support necessary to insure a.success- ful installation and ongoing operations **••. Our program costs $100 for the docu- . mentation, an additional $50 for the software on magnetic tape, and/or ****** another $100 for the software on diskette . Wt highly recommend that you subscribe on one form of media. In adopting this ap¬ proach, vVe're going straight for the Jugular (so to speak). Within the next year, we anti¬ cipate a very competitive market for busi¬ ness software relating to the TRS-80, and wish to establish ourselves immediately in a dominant position In doing so, we are presuming over 1,000 participants in BIZ-80 Pricing accordingly, we're sure BIZ-80 will become such a fantastic bargain that few serious businessmen intending to use a TRS-80 could possibly pass up the value of¬ fered. Really how could you pass this up? We're sure you must ested in just what getting ... SUPPORT... everything you need 1 Within the year, you’ll receive a disk based Inventory system, Accounts Receivable system, Ac- . j . counts Payable system. General Ledger system. Sales and Payroll At the same time, all six subjects will be covered for a tape-based sys¬ tem Yes 1 Provisions have been made so that as your system upgrades, your data base will follow with a minimum of dif¬ ficulty We're not talking about stripped- down systems, either. Elements of BIZ-80 are already prepared and have been sold to satisfied customers for • as much as $150 The Name/Address system requires an entire diskette it- \ self (over 50,000 bytes) with some op¬ tional subroutines relegated to yet an¬ other disk Our magazine. SoftSide, has proven it tan be done significant software can be offered at ex¬ traordinary prices, attracting a sufficient fol¬ lowing to make the effort profitable BIZ-80 is not only competitive, but will set the standard by whit* value will be compared, and that standard will be hard to meet. The object of BIZ-80 is to develop systems that are easy to use, well-documented and include simple error-correction routines, will be inexpensive; can be used by the cus¬ tomer without the need for sophisticated com¬ puter-oriented personnel, existing employees and management can easily learn to ojjerate. CXjr goal is to uhimateiy provide the complete computer system with 1. Basic business programs on subscription basis 2. Special applications business programming on contractual basis The systems are professional quality products developed for the businessman utilizing a TRS-80 microcomputer - they are well-documented from the customer's point of view; they all tie together, i e . Order Processing feeds Ac¬ counts Receivable, etc . and they work all the time Rerun, operation and backup procedures, as well as start-up and first time run instructions are covered in detail, from the perspective of the first-time user Easily followed step-by-step instructions guide you through a sample run with dummy data (provided with every system) Start running your system at once, without the need to stumble through it try¬ ing to create a file in order to understand how to use it Periodically, we upgrade the documentation to reflect improvements and/or changes in the system caused by TRS-80 enhancements The enhancements will be available at a nominal charge to cover distribution expenses Updates are FREE to BIZ-80 subscribers. Programs and systems are only as good as the documentation and people behind them. Participants in the one-year (max ) contract will receive '12 Systens-6 tape/6 disk 'Support 'Updates 'Newsletters Our software products are oriented to four levels of TRS-80 systems: System S-a stand alone 16K Level II with one cassette tape System l-a 32K with DCfe. op¬ tional printer (CRT oriented) and one disk drive System ll-a32K with DOS. line printer and two disk drives System 11 l-a 48K with DOS, line printer, RS232 interface and three-plus disk drives Remember, all these business systems tie together They're add-on modules developed to complement one another, the building blocks of your complete business microcomputer system The TRS-80 is a powerful tool for business management. We want to help you use this tool to Tiir best advantage. C|RCLE | N Q(j IR Y NQ 94 BIZ-80 17 Briar Cliff Dr Milford, NH 03055 603-673-5144 TERMINALS FROM TRANSNET ( PURCHASE FULL OWNERSHIP AND LEASE PLANS PURCHASE PER MONTH DESCRIPTION PRICE 12 MOS 24 MOS 36 MOS. LA36 DECwriter II. . SI,595 ! S 152 $ 83 S 56 LA34 DECwriter IV. . 1,295 124 67 45 LA120 DECwriter IIL KSR ... . 2,295 219 120 80 LSI20 DECwriter III, R0 .... . 1.995 190 104 70 LA180 DECprinter 1, RO. . 1.995 190 104 70 VT100 CRT DECscope . . 1,695 162 88 59 TI745 Portable Terminal .... . 1,875 179 98 66 TI765 Bubble Memory Term. . 2,795 267 145 98 TI810 R0 Printer . . 1.895 181 99 66 TI820 KSR Printer . . 2,395 229 125 84 ADIV13A CRT Terminal. 875 84 46 31 QUME Letter Quality KSR.... . 3,195 306 166 112 QUME Letter Quality R0. . 2.795 268 145 98 HAZELTINE 1410 CRT . 895 86 47 32 HAZELTINE 1500 CRT . . 1,195 115 62 42 HAZELTINE 1520 CRT . . 1,595 152 83 56 Dataproducts 2230 . . 7,900 755 410 277 DATAMATE Mini Floppy. . 1,750 167 91 61 FULL OWNERSHIP AFTER 12 OR 24 MONTHS 10% PURCHASE OPTION AFTER 36 MONTHS ACCESSORIES AND PERIPHERAL EQUIPMENT ACOUSTIC COUPLERS • MODEMS • THERMAL PAPER RIBBONS • INTERFACE MODULES • FLOPPY DISK UNITS K PROMPT DELIVERY • EFFICIENT SERVICE Trans Net Corporation 2005 ROUTE 22. UNION. N.J. 07083 201-688-7800 J The General Ledger system provides the user with the customary Profit/Loss, Balance Sheet, and General Ledger detail. These reports can be generated at any time during the month. The Job Costing system allows several different job sites to be run at any time. Any transaction in the Transaction Journal can be posted against a particular job site. The Job Costing system allows up to 40 different general categories of costs to be kept. In addition, most transactions can be posted against a General Ledger account and a Job Costing account. The Job Costing system allows the user to enter initial cost projections for a particular site, and all costing reports show the projected amount (can be used as budget), the ac¬ tual amount to date, and the percentage deviance. The Accounts Payable system keeps track of all outstanding pay¬ ables. It will allow the user to select which accounts and invoices to pay, or the user can have the system generate the payables auto¬ matically. The Payables system will print out the checks if desired. Overall, I was very favorably impressed by the GCP package’s design and operation. It is lacking a payroll system at this point, but I have the assurance of Microtex that one is coming. This package can be set up by the end user, but I would still suggest that a dealer do the installation. CONCLUSIONS We will see more and more complete software systems designed for specialized markets in the months to come. Both of the packages reviewed this month were designed by persons working in the fields for which they were created. The end user can be confident that the programmer at least understood what is needed for his business. Even most custom microcomputer packages are not designed by programmers familiar with the business in which the program is to be used. Both the CAR/B system by A.S.I. and the GCP system by Micro¬ tex were very carefully thought out and perform well. The GCP package is designed to be easily installed by most dealers or experi¬ enced micro users and should find a very large market. The CAR/B system still requires a great deal of work during installation by a dealer, and is only available through authorized dealers. Both packages are extensively field tested. A.S.I. is located at 1642 S. Parker Road, Suite 300, Denver, CO 80231, and they may be reached at the number above. Microtex is located at 5925 Sovereign Drive, Suite 101, Houston, TX 77036, and they may be reached at (713) 780-7477. THE RATING CHART This is a rating chart devised for use in this column. It is to serve as a rough guideline on several key points of interest to the business user. For an explanation of the categories, see the April issue of INTERFACE AGE. CAR/B GCP 1. System Interchangeability 8 9.5 2. Program Interfacing 7 8 3. Maintainability 8 8 4. Documentation 4 9 5. Ease of Installation 2 8.5 6. User Lock-In 9 8 7. User Interaction 4 10 8. Input Error Checking 4 8 9. Error Recovery 9 7 10. General Design 7 10 Cumulative Total 62 86 All categories are on a scale of 1 10, 10 being the best.D Carl Heintz and Bob Johnson will be alternating as authors of this column. Software vendors who are interested in having their product reviewed can contact Carl Heintz at 2540 Huntington Dr., San Marino, CA 91108. Bob Johnson can be contacted at 7228 W. Reno St., Rt. 5, Oklahoma City, OK 73108. 46 INTERFACE ACE CIRCLE INQUIRY NO. 64 JUNE 1979 THE MIN REVOLUTION By Merl Miller Last month I proposed some basic ideas about an “attitudinal revo¬ lution, M showing how man and machine have taken separate but parallel paths. This month I would like to take the discussion of these systems a step further and look at some specific examples. The United States can be used as an example of how things change in a social structure. During the past few years there has been a variety of inputs into the political system that have caused enormous changes. The inputs are, of course, the various movements: civil rights, peace, women’s rights, Proposition 13, etc. These movements are really the interplays of opposing forces: the government policies vs. some ideal, the status quo forces vs. the im¬ petus for reform, caution or reform vs. change, etc. They all involve robotic opposing forces in action as their mode or principle of ac¬ tion. From a systems viewpoint and a social viewpoint some of these movements have been successful far beyond what normally could be expected. It has already begun to show that majority interest, or the will of the people, can change government. Think about the peace movement during the Viet Nam war. It was really impossible to imagine the people (rather than the leaders) stop¬ ping a major war and changing our national policy. It offers a beacon of light that major or global wars may be outlawed by ordi¬ nary people. Next, consider the civil rights movement. It was as difficult to ima¬ gine that someday all people would be equal and, though it’s not true yet, the possibility exists because the laws have been changed. There is a gleam of hope that all people will become socially equal with the same economic opportunity. It has already begun to show that majority interest, or the will of thk people, can change government. It has always been true on the local level and the impact is being felt on both state and national levels. In recent years the United States has been criticized for lacking law and order, for being a weak leader and for not taking a hardline approach in diplomacy and military postures. These criticisms are really given without foundation. The United States is actually leading the world in a new revolution — the “attitudinal revolution.� The government is no longer an open-loop machine that governs by brute force. Instead, it is becoming a closed-loop machine, or “intellectual robot,� that reflects about its own performance. This revolution may make the U.S. a true democracy. The current situation in Iran can serve as a model of what can hap¬ pen when a feedback system overreacts. For years, Iran has been operated as an open-loop society with the populace having little or no input in government. As the people became better educated and more socially aware, the disenchantment with the government grew until the government was overthrown. Unfortunately, the change was too radical. The people may have exchanged one open-loop r FREE Catalog 1 New 4-way relief from problems with minicomputer supplies and accessories. 1. One-stop shopping. I nmac (formerly known as Minicomputer Accessories Corporation) has a catalog of over800 products. Every¬ thing from racks and line- printer paper to connectors and cables. Each designed to help keep your minicom¬ puter or word processing system up and running. 2. Hassle-free ordering. I nmac lets you order by mail or phone. So keep our Summer 79 catalog close. It makes those once-tough tasks like ordering magnetic media easy, fast and foolproof. 3. Fast shipment of just the quantity you need. I nmac ships your order within 36 hours from centers in California and New Jersey. In a bind? Call us for many special services that insure you get your order to your installation within 24 hours. Call now and give us a chance. 4. Field-proven quality means precision performance. I nmac guarantees every product in these 70 pages for at least 45 days. And even some for up to ten years. jUp fnrrvfi#* Solve problems, send for your FREE Inmac catalog. • 130 S. Wolfe Rd. P.O. Box 9004 Sunnyvale. CA 94086 (408) 737-8700 © 1979 International Minicomputer Accessories Corporation CIRCLE INQUIRY NO. 34 HOW TO BUY A BUSINESS COMPUTER WHEN TO BUY • WHEN NOT TO BUY • HOW TO CHOOSE CONSULTANTS#DATA GATHERING •PACKAGED VS CUSTOM SOFTWARE •CONTRACTS • FINANCING • WARRANTEES AND MAINTENANCE •INSTALLATION MANAGEMENT AND MUCH MORE. "SUPER BOOK!" DP Consultant, Mercer Island, Washington. "I wish I'd had this book before I bought my computer!"TV Station General Manager, California. "It's the best book I've seen on the subject. Send me 5 copies to send to my clients!" CPA, Orange County, California. "I really learned something from this book and I'm in the business. I'm recommending it to my clients." DP Consultant, Alhambra, California. "Here's a straight forward approach to business computer purchase and installation. It will save you time and money." ORDER NOW! If not completely satisfied, return within 30 days for a full and immediate refund. 8Y2XII Softbound ■178pp. ■$12.95 Credit Card Orders 1-805-964-7448 DDC PUBLICATIONS 5386 Hollister Ave., Santa Barbara, CA 93111 Ru sh copies of "Winning The Computer Game" at $12.95 per copy. (CA residents add 6% sales tax) NAME._ ADDRESS__ CITY/STATE/ZIP_ □ Check DMasterCharge DVisa DP.O. Enel. Card No. ____ Exp. Date_ JUNE 1979 CIRCLE INQUIRY NO. 19 INTERFACE ACE 47 CALL FOR ARTICLES INTERFACE AGE is seeking articles on hardware and software, particularly concerning Apple, TRS-80, Atari and Heath computer systems. Other areas of in¬ terest include medical and educational applications, special functions of microprocessors, telecommunica¬ tions and video graphics, both on screen and hardcopy. The payment rate for articles ranges from $20 to $50 per published page. Pieces describing company projects or products will carry the company byline, but no payment is offered. Submittals should include an abstract, outline and stamped return envelope. Manuscripts should be typed, double spaced with one-inch margins. Minimum length is four pages, unless programs are included. Photos should be num¬ bered and have a brief description attached. Tables, listings, etc. should be on separate pages. Computer listings should be printed using a new ribbon to assure good reproduction. Authors are requested to submit a statement of their background and expertise. The publisher assumes no responsibility for artwork, photos or manuscripts. No acknowledgement is made unless accompanied with a stamped return envelope. For article submission or further information, contact Carl Warren, Editor-in-Chief, INTERFACE AGE Magazine, 16704 Marquardt Avenue, Cerritos, CA 90701. Please do not phone for information about submissions. system for another. The essence of any closed-loop system is that it works with small but significant changes. These are all principles that can be applied to any operating sys¬ tem. For instance, in Capede’s classic R.U.R., the robots overreact to the system and provide the means to their self-destruction. But where does this leave us in our discussion of robots? What can we expect to develop and what kinds of safeguards should we take? Here’s an interesting concept — the broadminded robot. The robot is a relatively simple system model. Using this model, with the aid of simple algebra, we can mathematically prove that this great scientific creation has many human qualities, e.g., it can be broad¬ minded, even tempered, agile, stable, visionary, resolute and reliable. There are a lot of other implications. For example, if a robot receives a “command,� nature does not allow the effect or response to be identical to the command. Rather, the effect only approximates the command and it has both positive and negative overshoots. Doesn’t this sound rather familiar in light of what we’ve discussed before now? A robot is really the creation of numerous contributors. Partly be¬ cause it is the cumulative effort of a large number of contributors and partly because the engineers and applied scientists are quite sloppy in their documentation, almost no engineering textbooks give references or credit to the creators of the robot. People who design robots assume the design information is a common body of knowledge. Even though robots are to be used as the workhorse of industry, few people use the term. Instead, they use a variety of terms such as “feedback circuits,� “feedback system,� “automatic control system,� and “servomechanism.� They seldom think of robots in human terms, but of optimal operations. I believe we can assign some human qualities to a robot that can be mathe¬ matically derived from the robot’s simple systems model. How do you feel about this? Is the robot a cold, calculating machine similar to a typewriter or is it something like C3PO? Is it possible to have machine intelligence similar to biological intelligence or are we forever stuck with 11101 + 10111 = 110100? And, if we are, so what? We don’t know how the human mind works, but who is to say it doesn’t operate in a similar fashion?D TRS-80* BUSINESS SOFTWARE OSBORNE & ASSOCIATES PAYSOFT PAYROLL SYSTEM ADAPTATIONS • FIELD PROVEN - Systems throughout the U.S. • SIMPLIFIED OPERATOR INTERFACE Complete Business System No training required Fast - minimal system operation time • AUTOMATED REPORTS • ACCOUNTS PAYABLE $75.* Check writer/complete paystub Employee summary - company summary • ACCOUNTS RECEIVABLE $75.* Check register • GENERAL LEDGER $75.* Federal deposit record Quarterly & annual federal forms (optional) •EDITING FEATURES A SMALL BUSINESS SYSTEM CAN MAKE • BONUS PAY ENTRY FEATURE A BIG DIFFERENCE •END-USER DOCUMENTATION - End-user support Forms and Check Available •PAYSOFT DISKETTE AND MANUAL $125.* ANNUAL REVISION SUBSCRIPTION OPTIONAL Master Charge, VISA/BankAmericard Accepted ♦California residents add 6.5% sales tax (TV /7I BUSINESS UWUOWPRODUCTS A DIVISION OF THE READY CORPORATION P.O. Box 2798 • Livermore, CA 94550 • (415) 443-4876 Please send $2.00 for Sample Reports TRS-80 is a registered trademark of Radio Shack 48 INTERFACE AGE CIRCLE INQUIRY NO. 54 JUNE 1979 R.1LI). real handy data By Robert H. Distler BUILDING ON THE SCHEMA In the two previous issues, general schema to be used in the con¬ struction of the database were developed. This month, the sub¬ schema or how the application will interface with the general schema will be discussed, in relationship to the format of the data within the fields._ The point is determining how detailed an examination you will be making of your data, and the smallest detail you will be looking for. I’ll start with the two easiest fields to work with of the eight de¬ scribed last month. These are the five digit zip and the two-character state abbreviation. The zip code field, Figure 1, contains in all cases five numeric characters. As a result it becomes unique to the record because it may be treated either as a numeric field or a string depending upon the desires of the application programmer. This field may also be considered a sub-key to the record since there is a high probability that you will want to sort the record based on the contents of the zip code field. _ ! 9 ! 0 ! 5 ! 0 ! 5 ! Figure 1. Example of zip code field with five sub-fields. The input variable for this field may be defined, again depending upon the programmer’s desire, either as Z for an all numeric field in¬ put or Z$ to indicate a string input. The BASIC program can also be constructed in such a manner as to check for a valid input based on the length of the field. It may be desirable to use the string input due to routing numbers used in other countries such as Canada that use both numerics and alpha characters in the number. However, for our purposes we will assume that all zip codes will be five numeric characters and will contain no alpha inputs. The next field is the two character state field, Figure 2. This field will always contain alpha characters and be no longer than two char¬ acters. Even though the application may print the final result as CA., the period (.) is not entered at the time the record is built. This is done to cut down on the number of key strokes it takes to enter a record and to conserve memory, a period takes as much space as any other letter. ! C ! A ! Figure 2. An example of the two character state field. FREE FLOPPY STORAGE The KAS-ETTE/10 library case provides an ideal storage unit for standard and mini floppies. FREE KAS-ETTE/10 with purchase of Scotch Brand™ Diskettes. Standard 8� Scotch Brand" Diskette Stock no. Price/Box 740-0K IBM Compatible $45.00 740-32K Shugart - 32 Sector 48.00 Mini 5V*� Scotch Brand" Diskette Stock No. Price/box 744-OK Soft Sector 44.00 744-10K 10 Sector 44.00 744-16K 16 Sector 44.00 Take advantage of this limited offer - NOW! ttlpha Supply Company ^ 9625 Mason Ave., Chatsworth, Ca. 91311 / (213) 882-9818 J CIRCLE INQUIRY NO. 2 New UVS-11E EPROM Erasing System Performance and Reliability at an affordable price! Now available ... the newest member of UVP’s growing family of quality EPROM Erasing Lamps. The UVS-1 IE Short Wave UV Lamp was designed specifically for the small systems user and computer hobbyist. It’s compact, easy-to-use, and will erase up to 4 chips at one time. It even features a special safety interlock system for complete safety. This is the first UV erasing system to offer simple operation and foolproof safety features at an affordable price. Like all UVP products, the UVS-1 IE is quality-built and backed by 45 years of UV technology. Order now from your local authorized UVP stocking dealer. Or write today for more information and name of nearest dealer. ULTRA-VIOLET PRODUCTS, INC.nrF 5100 Walnut Grove Avenue, San Gabriel, CA 91778 U.S.A. vyj JUNE 1979 CIRCLE INQUIRY NO. 65 INTERFACE ACE 49 This field may be defined in the BASIC program as S$. Again the program can check for length of the field and if desired check a state table for a valid state input. The phone field is similar in nature to the zip code field in that it contains only numerics consisting of 10 digits. The first three sub¬ fields contain the area code, but for local areas may be filled either with zeros or the local area code by the program. For this situation, the program will look at the first three sub-fields, determine if they are blank and either fill them or leave them blank — it becomes dependent upon the programmer. The actual phone number begins at sub-field 4, and contains no spaces, periods, dashes, or other punctuation. When the program prints the field, it will add the necessary enclosures and dashes, i.e. (213) 926-9544. The construction of the phone field is shown in Figure 3. ! 2 ! 1 !3!9!2!6!9!5!4!4! Figure 3. Example of phone field with 10 sub-fields. Like the other fields, this field may be defined as P in the BASIC program. It may be desirous to treat this field as unique and as a possible sub-key for sorts on phone fields. Now let’s look at the fifteen character city field, Figure 4. The first character of the city name will always be at position #1. Any remain¬ ing characters after the city name will be filled with spaces. The name will be allowed to contain spaces, i.e. San Diego. If a name re¬ quires abbreviations, periods will be allowed. The end of this field is padded with spaces, differing from the zeros used to pad the begin¬ ning of the phone field. This padding is to maintain our fixed length field and data within that field in known format. The two name fields will be allowed to contain capital letters, lower case letters, periods and punctuation. However, last names It’s in the bag. What is? The biggest and best selection of microcomputer software anywhere. And the list grows bigger every day. CP/M configured for the most popular 8080/Z-80 microcomputer systems and other terrific software, now available. Call or write for our latest literature. Lifeboat Associates, Suite 504, 2248 Broadway New York, N.Y. 10024/(212) 580-0082 !C!E!R!R!I!T!0!S! ! ! ! ! ! ! Figure 4. Fifteen character city field with example of padding. like “MacDonald� will not be separated. Suffixes at the end of names, i.e. Jr., Sr., Co., will be followed at all times by a period. This will be used later to determine last names within a field. All unused character positions in these two fields will be filled — padded — with spaces. The twenty character address field becomes more complex be¬ cause it can contain both alpha and numeric data. However, by us¬ ing predefined rules we can simplify the complexity. The street number will always start at character position #1, and end with a space. Immediately following this space an optional street direction letter may be inserted. This letter, if used, must be followed with a period. A space is optional between the period and the first character of the street name. The name may contain both numeric and alpha characters. For example, 10th would be entered “10th� without a space between the 0 and the t. The street name is ended with a space. If a suffix such as Ave. or St. is used, it must end with a period, so that later the street name can be found within this field. All unused character positions in this field will be filled with spaces. The last field is most important of all. This field must be an ab¬ solute unique identification for each record. No two records can have this field being the same. For our purposes, we will limit this field to five digits and a check digit. Keeping this in mind we will be able to create the customer identification number. The five digits can be 0 through 65500. The check digit will be generated by the system at the time a new customer record is entered. From that time on the system will require all six digits to be entered when creating a customer number. The first five digits are used to test the check digit, thus reducing errors in the ‘id’ number at entry time. THE WHY OF THE CONSTRUCT The zip and city fields will primarily be used for mailings to take advantage of discounts for bulk mailing. These fields can also be used as sort keys to define a sales area or to monitor sales performance for a sales report — but more on this as our schema and sub-schema definitions grow. More importantly the sorted data can be used for selective advertising mailing. The reason for all the rules in the address field is to allow for the location of an address by: street name, and type. Plus it gives the capability of resolving the lists to specific street numbers if desired. Definitive resolution, such as this, would find application in a real estate office to announce an open house within a given area, or to set up a sales campaign within a specific area. The remaining fields provide the ability to sort data into more useful formats for specific day to day needs. Even though the customer name and company name fields are the same with regards to the length and rules applied to the data, they are unique in them¬ selves. This uniqueness gives the ability to establish ideal keys to sort the data into two distinct lists. Unfortunately, all the fields mentioned so far do not give the ab¬ solute database resolution that is necessary. Resolution of a database can be compared to a landscape picture. How much detail can you see within the picture: Can you see a tree? Can you see the leaves on the trees? And so on. The point is determining how detailed an examination you will be making of your data, and what is the smallest detail in them that you will be looking for. These points of resolution of the data are satisfied by our customer number. The customer number is unique to each record within the data file. This number allows us to directly locate a single record. This means, of course, that the application can locate a given record check for specific detail and manipulate it. Also the resolution pro¬ vided by the customer number or, if you will, record locator, gives the cross reference needed to link other databases or schemas. Next month, I will discuss the input format of this database so that you can begin building it up on the media.□ Do you have a specific question regarding data handling or data base management? Then write to R.H.D. care of Robert H. Distier, P.O. Box 6376, Oxnard, CA 93031, or call (805) 487 7422 . 50 INTERFACE AGE CIRCLE INQUIRY NO. 38 JUNE 1979 Ask Eliot Janeway Interview by Terry Costlow, Assistant Editor The price of energy is affecting every industry. Do you think Carter’s oil plans will change anything? JANEWAY: He has no oil plans. He’s just acquiescing. I’m glad you asked the ques¬ tion, because it’s the basic question. Oil is the lowest common denominator of all acti¬ vity. When it goes up, everything goes up. In the past few months, you have been a supporter of the uranium-bear¬ ing South African gold stocks. Do you think the nuclear problem in Pennsyl¬ vania will affect these stocks? JANEWAY: I think it’s a phony. You think the problem is being blown out of proportion? JANEWAY: Oh, sure. The Nuclear Regulatory Commission has a vested in¬ terest in proving that nuclear is unsafe. Why would they want to say it was un¬ safe? They’d be putting themselves out of work. JANEWAY: I don’t know that it would put them out of work. It would put them in the driver’s seat. They’re part of the en¬ vironmental lobby. They need to justify their arbitrary action of having shut down five nuclear plants in March, just when the oil ripoff was starting. So the Pennsylvania acci¬ dent, the Middletown accident, was pro¬ vidential from their viewpoint. Do you think it will slow down the growth of the nuclear industry? JANEWAY: There’s no growth in the United States. The only growth has been over¬ seas. The rest of the world is going nuclear by leaps and bounds and we’re stranded in a dead stall, doing nothing about it. You have a real test now of whether nuclear is safe or not. Countries with technology that can’t match America’s — from Korea to Fin¬ land — are going forward, led by Japan. If any country could be expected to be gun- shy about nuclear, it’s Japan. But they’re going forward. Libya’s going nuclear; Russia’s doing it. So my point to you is that if the rest of the world makes it work and we don’t, then clearly we have a problem. One of the concerns people there seem to have is that the people who run the nuclear plants are not being completely honest with them. . . JANEWAY: Do you want a scoop of great importance to the computer industry? There’s been a very serious lapse on the part of the nuclear industry. The lapse is that there has been no standardization. So if you start locating this plant and then ask what went bad, you have to go through 16 blue- books to identify the part that went wrong. If something goes bad on a 727 airliner, or a 747, you know immediately what to do about it. It’s all standardized. But nuclear plants aren’t standardized. Now maybe the manufacturers will com¬ plain that it’s the fault of the anti-trust laws. I don’t know what they’ll say. But there should have been an alert requiring standar¬ dization. And by God, that’s what you’ve got these regulators for! The regulators have JUNE 1979 their noses in everybody’s business; they’re telling everybody what to do and what not to do; but the most rudimentary standard of regulatory precaution has not been met. Could you tie that into your comment about the computer industry? JANEWAY: I tie that into the computer in¬ dustry because obviously it’s a challenge and a market for the computer industry to standardize all these plants. They’ve got enough problems of their own trying to standardize the computer industry. JANEWAY: Well, that’s right. Tell them, let them read about it. I think it’s bullish for the nuclear industry to have a confrontation with the regulators. Who do you think will win in this battle? JANEWAY: The industry. You don’t see any effect on the uranium-bearing gold, because of this? JANEWAY: No. From an investment standpoint, what’s bad for uranium is bad for the dollar. What’s bad for nuclear power is bad for the dollar. What’s bad for the dollar is good for gold. If there’s going to be a retardation of nuclear expansion, and if that is bad for uranium, mines producing both commodities will still benefit because gold will benefit. Gold has no value. Gold swings with the market. Today the stock market is down $9, I guess on the evidence that there’s no government. So that’s bad for the dollar, which is good for gold. Switching to politics, do you think that Jimmy Carter has much of a future? JANEWAY: He’s gone. He’s a loser. He’s the first lame duck in history to spend two years in office quacking. Who do you think will be the Demo¬ cratic candidate in 1980? JANEWAY: Kennedy will run. He can have it if he runs. And my impression is that he will want it. And on the Republican side, do you think Ford will try again? JANEWAY: No. He’ll never be nomi¬ nated. I think Conally’s running away with the Republican nomination. Do you think his ties with the Nixon administration will be much of a drawback? JANEWAY: It’s a liability. But on the other hand, you can’t have it both ways against him. If you say: “You worked for Nixon,� which I consider a liability — I’m a Democrat — you can’t then say: “You’re not a Republican.� The answer is: “If I worked for Nixon, I’ve sure paid my dues as a Republican. That was some sacrifice to pay for showing that I’m a Republican.�□ Questions for this column should be sent to Ask Eliot Janeway, P.O. Box 1234, Cer¬ ritos, CA 90701. One question per letter, please. Personal replies are not possible. The comments expressed in this column do not necessarily reflect the views of this magazine or the microcomputer industry. —The editor RADIO SHACK COMPUTER Memory Expansion Kits (Eight 16 -Kilobit Chips) $79 Each Kit consists of: 8 Memory Chips, Jumper Blocks, and Complete EASY TO FOLLOW Instructions. Expands 4K TRS-80 up to 48K (3 sets) SPECIAL TRS 80FL0PPY Disk (SA 400) Add On COMPLETE Ready to use with power supply and case $389 ADD to your APPLE or S100 Bus Computer $79 - Set of 8 250 NS $89 - Set of 8 200 NS S100 BUS EXPAND0RAM KITS* Complete Kit Prices (Chips. Board, Sockets. Manual, etc ) No. 4116 200 NS (w/16K Chips). 16K. $239: 32K. $325: 48K. $410; 64K. $495 No. 4115 (w/8K Chips). $189; 16K. $229: 24K. $269: 32K. $309 ASSEMBLED. TESTED AND BURNED IN - ADD $75 •Expand NOW or LATER to 64K (32K for 8K Chips) 8K Chips: S40/Set of 8 28-Pin Sockets; 7-Digit. 7-Segment Displays; Photo Cells. Your Choice. 8 Per SI 00 NEW MICRO COMPUTER INSTRUMENT Sensational new electronic invention functions as lie detector, ESP training aid, bio-feedback device, provides for direct communication with plants and the sub¬ conscious mind. The PSYCHE-TRON, fea¬ turing an internal microcomputer and ultra-sensitive detector, brings the power of micro-electronics technology to the challenge of electronic thought detection, yet is amazingly low-priced at $59.50 for this introductory offer only. Call or write for free details MONEY BACK GUARANTEE FULLY WARRANTED FOR 6 MONTHS Master Charge — VISA C O D. (25% with order) — Money Order California Residents add 6% Sales Tax Shipping Charges $2.00 Microcomputer World 9649 Longden Ave., Temple City, CA 91780 P.O. Box 242, San Dimas, CA 91773 12131 286-2661 Call 24 Hours Toll Free: Opr 518 824 7888 (Nat I) or (800) 852-7777 (Cal ] CIRCLE INQUIRY NO. 78 INTERFACE ACE 51 SPECIALIZING IN QUALITY MICRO¬ COMPUTER HARDWARE INDUSTRIAL EDUCATIONAL SMALL BUSINESS PERSONAL ELECTRONIC CONTROL TECHNOLOGY 763 RAMSEY AVE. HILLSIDE, N.J. 07205 ( 201 ) 686-8080 BUILDING BLOCKS FOR MICROCOMPUTER SYSTEMS, 2K ROM 2 K RAM 3 SERIAL PORTS 1 PARALLEL PORT TABLE TOP MAINFRAMES RACKMOUNT CARD CAGES POWER SUPPLIES, CPUs, MEMORY, OEM VARIATIONS CIRCLE INQUIRY NO. 24 r OMSI . PASCAL Reliable, efficient, production Pascal compiler for the DEC PDP-11 family, including the LSI-11 Full Language All 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, RT11, 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 I6K words (32KB). translates thousands of lines per minute. Produces compact PDP-11 code that runs circles around interpretive or threaded languages. Proof In production use since 1975 — now at more than 300 customer sites. Warranted for I year after purchase. Write for information, demonstration, manuals, and benchmark. 2340 SW Canyon Road Portland, Oregon 97201 (503) 226-7760 TWX 910-464-4779 DEC. POP. RSTS. RT-11. RSX. IAS. and LSI-11 are trademarks of Digital Eq. Corp. A PROPELLED DROPLET PRINTER Ink-jet printing, as seen in IBM’s TV commercials, is a relatively new form of printing in which tiny droplets of ink are ‘fired’ at the paper to form dots which, when fired at the appropriate positions, form the desired characters. One of the many advantages of this form of printing is that with simple changes in the character-generat¬ ing ROM any form or styles of characters may be produced at camera-ready quality. This means the quality of type that you nor¬ mally see in magazines. I do see a problem with the current state of ink-jet printing, how¬ ever. Of the two currently available forms, that of ‘ink-on-demand’ and what can best be described as ‘steady stream,’ both require that the printing element be moved back and forth across the page, just like conventional dot matrix printers. The ‘ink-on-demand’ form fires the droplets only when needed to produce a dot. The ‘steady stream’ approach fires droplets continuously but deflects into an ink reservoir those droplets which are not needed. Wouldn’t it be nice if the printing element could be held stationary so that the only part that moved would be the ink droplet itself. Such a device would print faster and require less maintenance. . . This latter form, which was the first to be developed, has the add¬ ed problem that the unused ink must be cleaned by a special filter and recycled by a special pump back to the ink-jet stream. The ma¬ jor problem, however, with each of these methods is that the printing element, the device that actually shoots the ink at the paper, must be moved back and forth across the paper. Wouldn’t it be nice if the printing element could be held stationary so that the only part that moved (other than the normal movement of the paper) would be the ink droplet itself. Such a device would print faster and require less maintenance due to fewer moving parts. And here is how I believe it could be done. FIGURE ONE We take a piece of tubing cut to the width of a piece of paper. A slot is cut the entire length of the tube. Inside the tube we position a metal plate opposite the slot. This plate we will call the electrostatic 52 INTERFACE ACE CIRCLE INQUIRY NO. 50 JUNE 1979 deflection plate. Around the outside of the tube we position in¬ dividually addressable electro-magnetic coils, each of which has a slot cut into it to correspond to the slot in the tube. We will call these propulsion coils . Taranto & Associates is setting the standards for quality in innovative Small Business Software TARANTO & ASSOCIATES provides a complete spec¬ trum of quality, in-depth software specifically directed to the small business segment. Our uniquely devel¬ oped, sophisticated keyed accessing and sorting tech¬ niques provide major system capabilities at the most practical of levels ... at the most economical of costs. As the incredible market for personal and small business computers expands, you will find TARANTO & ASSOCIATES at the forefront of inno¬ vative programming. TRS-80 conversions of OSBORNE & ASSOCIATES systems: FIGURE TWO At the open end of the slot we mount a platen which moves the paper past the slot. Also shown in this cutaway end view is a single ink droplet in the center of the propulsion tube. ACCOUNTS PAYABLE I ACCOUNTS RECEIVABLE V $99.95 EACH GENERAL LEDGER f ON DISKETTE PAYROLL Now we are looking at an overhead cutaway view with the platen removed. The cutaway portion of the propulsion coils are shown cross-hatched. The open slot in the propulsion tube and coils faces downward. In Figure 3a we see that a charged droplet generator has been added at the left side of the propulsion tube. This device is very much like the steady stream ink-jet printer in that it ‘fires out’ electro¬ statically charged ink droplets, yet it is also like the ink-on-demand Add $3.00 per order for shipping, handling. 6% sales tax in California. Mastercharge, Visa accepted. Dealer Inquiries Invited. Associates P.O. Box 6073 San Rafael, CA 94903 (415)472-1415 CIRCLE INQUIRY NO. 63 Computer Lab of New Jersey Computer Lab sells the best S-100 Bus products at the best possible prices. Not only are our prices great, so is our deliv¬ ery. We offer a 10% discount on most major lines, plus a 5% additional discount for a cash purchase. OUR LIST CASH PRICE PRICE Godbout 8K Unkit $139.00 $118.00 Godbout 16K Unkit $295.00 $252.00 Thinker Toys Super RAM 16K Kit $299.00 $255.00 Vector Graphic 8K Assembled $245.00 $209.00 Problem Solver 16K Assembled $429.00 $366.00 Subject to available quantities. Prices quoted include cash discount. Shipping and Insurance Extra Cut-off Date July 15 Call for our prices on: Cromemco, Dynabyte, Godbout, Integral Data Systems, IMC, Ithaca Audio, Meca, Micropolis, Mountain Hardware, Mullen, Oliver, SSM, Soroc, Tarbell, TEI, Teletek, and many other fine products. Computer Lab of New Jersey 141 Route 46 • Budd Lake, N.J. 07828 Phone: (201) 691-1 984 HOURS: Monday & Friday: 12 to 6, Tuesday-Thursday: 12 to 9 Saturday: 10 to 5 Call or write for our free catalog & price list JUNE 1979 CIRCLE INQUIRY NO. 13 INTERFACE AGE 53 the marriage of the electric pencil " to TRS-80' NOW! The Word Processor you've The well known Electric Pencil, which has been in use for over two years with most popular microcomputers, has also been available for use on the TRS-80. We are now proud to announce immediate availability of The Electric Pencil Disk Version for the TRS-80, featuring the same fine capabilities that have made the Electric Pencil so popular. Full price for the TRS-80 version is only $100, and for the TRS-80 disk version, only $150. the electric pencil —a proven word processing system Extremely easy to use. The Electric Pencil lets you pro¬ duce mailing lists, business forms, large numbers of original correspondence, camera-ready copy for printing ... all on your TRS-80. The Electric Pencil is a character oriented word proces¬ sing system, which means you have maximum freedom and simplicity in the handling of text. No carriage returns or word hyphenations are necessary. Line formatting is done automatically by The Electric Pencil. The Electric Pencil combines features found in more expensive systems with many capabilities you won't find anywhere. Right margin justification, page numbering and titling, and many combinations of line length, page length, and line and page spacing are always under your control. Text editing capabilities eliminate guesswork when input¬ ting. The text appears on the video monitor as you insert it, and you can view text whenever you wish using the bidirec¬ tional variable speed scrolling feature. You can insert, de¬ lete, or relocate any text using simple keyboard commands. The Electric Pencil has been designed to work with both Level I (16K system) and Level II models of the TRS-80, and with virtually any printer you choose. Level II *TRS-80 is a product of Radio Shack, Div. of Tandy Corporation owners will want the TRS-80 disk version, which is supplied on cassette. Transfer of the Electric Pencil to your own disk is as simple as entering a command. Upgraded Versions The Electric Pencil TRS-80 Disk Version is fully inter¬ active with the DISK READ, WRITE, DIR, and KILL rou¬ tines of TRSDOS 2.1. Any version of The Electric Pencil may be upgraded to accomodate new equipment. For instance, if you are already using The Electric Pencil and have added a floppy disk to your TRS-80 system, simply return the original cassette to Michael Shrayer Software, along with the price difference between your present Elec¬ tric Pencil and the upgraded version, plus $15 for handling. Demand a Demo from your Dealer! Your dealer will have a manual and descriptive litera¬ ture for you to see, and can demonstrate The Electric Pen¬ cil to you, on one or more of his demonstration microcom¬ puters. Look the manual over carefully, and note the explicit instructions which lead you easily through The Electric Pencil operation. The manual was produced using The Electric Pencil which will enable you to see its many capabilities for yourself. Then try it out on your dealer's demo unit . . . most any microcomputer will do. If, for some incredible reason, he's unprepared, demand it! or write: m MICHAEL SHRAYER SOFTWARE, INC. 1253 Vista Superba Drive 'f ss Glendale, CA 91205 54 INTERFACE AGE JUNE 1979 printer in that it fires droplets only when instructed to by the controll¬ ing hardware (or software). At the right-hand side of the propulsion tube there is a droplet detector. This is not a droplet recycler. When an ink droplet reaches the detector its presence may be detected (probably by a simple LED/ light sensor arrangement), but it is not recycled. In its simplest form it would be a sponge which would be discarded when full. But that is quite all right because very few droplets ever reach the detector. Let’s start at the top with these drawings (Figure 3a). At this point an electrostatically charged ink droplet has been ‘fired’ out of the droplet generator. The controlling software now takes over (3b) by sequentially energizing and de-energizing the individually addressable propul¬ sion coils. It is similar to a linear accelerator which is used in atomic research to move electrons and other charged particles. The ink droplet moves down the propulsion tube through the properly con¬ trolled magnetic fields of the propulsion coils. In Figure 3c the droplet has reached the position where we want a dot placed on the paper. The propulsion coils are turned off and the deflection plate is immediately charged with a strong electrostatic charge of the same type as the droplet. This deflects the ink droplet towards the paper and a dot is accurately positioned on the paper. FIGURE FOUR Here is a perspective view of a typical setup for this system. Notice that the paper is printed one line at a time. This is similar to the way in which a CRT monitor works. Assuming that each character to be printed is actually made up of a series of dots, the top row for all characters on a given line is printed first. The paper is then rolled up one dot’s height and the second row of dots for all characters on the line are printed. It might even be possible to have more than one ink droplet travel¬ ing down the propulsion tube at the same time simply by dividing the deflection plate into several individually addressable sections. Continued below TM PERSONAL COMPUTING SOFTWARE FOR APPLE®, PET®, AND TRS-80® APPLE • COMMODORE • POWERSOFT GRT • PERSONAL SOFTWARE • RD.I.* SOFTAPE EXCLUSIVELY AT ALL PARTICIPATING ComputerLand STORES. CIRCLE INQUIRY NO. 12 The function of the droplet detector is to periodically check to en¬ sure that droplets are properly traveling down the propulsion tube and at the correct velocity. Every once in a while the controlling soft¬ ware will fire a droplet down the entire length of the tube and test to make sure that it gets there in the expected amount of time. If it doesn’t get there, then it knows that it is out of ink or there is a fault with the droplet generator. If the drop is too slow or too fast, it will know to compensate by charging the deflection plate appropriately. The final result, then, is a printer with only two moving parts: the platen and the ink droplets. There may, of course, be problems with propelling the droplets for any great distance. The width of normal computer print-out paper (14�) might be too much. A possible solu¬ tion might be to have a propelled droplet printer for each half of the paper width which, of course, would double the printing speed. Such a device might also be utilized on hand-held calculators, providing them with simple printing capabilities and replacing the thermal printers which require special paper.□ The author can be contacted at: Inventor’s Sketchpad, 16 Grin- nell Street, Jamestown, Rl 02835. JUNE 1979 INTERFACE AGE 55 PASCAL For Greater Power Potential With Your TRS-80 PASCAL, the powerful, general purpose language developed for large and complex programs is now available for your TRS-80. This new, Industry standard language avoids many errors normally encountered when using older languages. Although it is relatively easy for beginners to learn and use, it provides added potential to cover most problems of practical programming. The UCSD PASCAL Compiler allows long variable names, and block structured control statements. The FMG/UCSD PASCAL System opens a new generation of value for your TRS-80. Package Includes Operating System Screen Editor Z80 Macro Assembler Debugger Pascal Compiler Utilities and System Reference Book $150.00 Requires 48K System with 2 Drives Available without Macro Assembler Linker and Debugger $100.00 Available “Microcomputer Problem Solving Using PASCAL’’ By Dr. K.L. Bowles $ 9.95 PASCAL UCSD Pascal Reference Manual Version 2.0 $19.95 Books Pascal User’s Manual & Report By I.C. Jensen & N. Wirth $ 9.95 CBASIC A commercially oriented BASIC compiler-interperter designed for use with the CP/M disk operating system. The compiler features □ Variable Length Files l Double Precision Numbers □ Optional Line Numbers “While. . . End� □ Structural Group □ Long Variable Names (up to 31 characters) □ Multiline User Defined Functions □ 98 Page Manual $99.00 (Manual only $25.00 TEXTWRITER II Textwriterll is a text formatting program that prints files created by an editing program. Form letters can be printed from a mailing list file and per¬ sonalized with automatic name and address insertion any¬ where in the body of the text. $130.00 Manual $25.00 FORTRAN Comparable to compilers on large mainframes and minicomputers. All of ANSI Standard FORTRAN X3.9-1966 is included except COMPLEX data type. Therefore, users may take advantage of the many applications programs already written in FORTRAN. Package includes: □ FORTRAN Compiler □ Macro Assembler (Z80) o Linker □ Library □ Lib Manager (Not in TRS-D0S version) Price $350.00 Manual $25.00 (Specify TRS-DOS or CP/M versions) MAC MACRO ASSEMBLER Compatible with new Intel Macro standard. Package in¬ cludes complete guide to Macro Applications: MAC Dis¬ kette and Manual $150.00 MACRO ASSEMBLER A relocatable Macro Assembler for both 8080 and Z80 op¬ codes. Incorporates most big computer assembler features without sacrificing speed or memory size. Package in¬ cludes: □ Comment Blocks □ Full Intel Standard Macros □Lib Manager (not included in TRS-DOS version) □Linker □Library $219.00 (Included in FORTRAN) Manual $25.00 (Specify TRS-DOS or CP/M versions) TEX® TEXT FORMATTER Powerful text formatting capa¬ bility using CP/M Editor. TEX Diskette and Manual $125.00 Manual $25.00 CP/M OPERATING SYSTEM Editor, Assembler, Debugger and Utilities for 8080 and Z80 Systems. Up to four floppy disks. Package includes: jCP/M System Diskette 5V4" □CP/M Features and Facilities Manual □CP/M Editor’s Manual □CP/M Assembler Manual □CP/M Debugger Manual □CP/M Interlace Guide $150.00 (Set of 6 manuals only. $25.00) SID® SYMBOLIC INSTRUCTION DEBUGGER □Symbolic Memory Reference □Built-in Assembler/ Disassembler □SID Diskette and Manual $125.00 Manual $25.00 Call or Write for Complete Information FMG for HIGH LEVEL LANGUAGES BASIC FORTRAN COBOL and now PASCAL CP/M is a registered trademark of Digital Research Corp. TRS-80 is a registered trademark of Radio Shack. / FMG P.O. Box 16020 • Fort Worth. TX 76133 • (817) 294-2510 56 INTERFACE ACE CIRCLE INQUIRY NO. 27 JUNE 1979 B$ &j$#Qrner, Senior Editor Southeast^' From what was intended to be an elaborate garage door opening device, a Chicago resident has ended up with a house that can be run almost entirely by computers from anywhere in the world. This surprising combination of the garage door opener, a computer and a telephone paging system came about in part through the work of employees, of Gimix, Inc., a company that specializes in manufacturing telephone devices and microprocessing equipment that is based on the Motorola 6800 and the SS-50 bus. The product is called the “house control system.’' The house control system is actually the commercial adap¬ tation of a computerized control system that has been con¬ trolling several Chicago area homes for several years. Architect Stanley Tigerman was selected to design the house, which was to be “different.� Just how different was a source of concern for the owner’s wife. He wanted a futuristic MACHINE IN THE GARDEN. She was more interested in a “white brick country villa,� and was less than enthralled with the glass and stainless steel cladding that was proposed. Eventually, though, everybody agreed to the duller pewter¬ like finish of aluminum in place of stainless steel. The glass and aluminum structure nestled beneath the snow covered trees at the end of a long curved driveway is truly impressive. The only regret of the owners is'that perhaps less glass and slightly lower ceilings might have been better. The house sits atop a 1.5 acre cliff overlooking Lake Michigan. The floor plan derives its unusual configuration from the decision to have rooms overlooking the lake, and the desire to provide space and privacy for each of the five family members. There are several unique features, such as the two walkways that run the full length of the house along the windows on the east and west walls. This eliminates the necessity for other house members to interrupt guests while “passing through.� The house also has a radiant-heated in¬ door pool and an observatory where the owner can enjoy one of his many hobbies — star gazing. The owner, who prefers anonymity, took a much larger in¬ terest in the planning and construction aspects than normally occurs. In fact, he acted as the general contractor for the prefab custom house and included extra features such as in¬ stalling guidance cables in the floor for a computerized serv¬ ing cart. Much to my disappointment, and also to several re¬ cent visitors from Japan, the cart has not yet been assembled. The house was built using techniques very similar to those used in constructing a warehouse. The roof is supported en¬ tirely by joists that are themselves supported by columns built into the outside walls. To use the more technically correct ar¬ chitectural terms, the house is described as “. . .being de¬ signed using a structural mullion system of tally columns on 5 foot centers, which carry 35 foot long open web steel joists. The interior space is a structurally uninterrupted space approximately 35 feet wide and 100 feet long. . This, for “non-architects,� simply means that none of the interior walls hold up the roof, and the 35 by 100 foot in¬ terior space can be redesigned without tearing down the outer walls or the roof. One of the many features of the house is its four-car garage with separate roll-up garage doors. And for a house overlooking Lake Michigan, that can be handy in mid-Janu¬ ary. Apparently, the owner seems to like warmth, so he tried to order a radio controlled garage door opener. No problem, as long as you don’t want a radio controlled garage door opener that will control each door separately and independently from the others. One suggestion was to use four separate systems. The “engineer� who suggested this overlooked the problem of having the correct transmitter in the right car. When asked how to solve this problem, the “instant� solution was to buy is. . .that makes irge glove com- up with two or ? would the cor- >ptable solution, give in. Armed Id be controlled vent looking for ?ner. Eventually wizard, Robert :sign, build, and door opener for Dor opener, but ?n expanded) of 'ansmitters with ally be used to use control sys- tern. All of the house’s normal “environmental control� systems are connected to the computer system that Bobby designed and installed. These functions include the house heating systems, the air conditioning system, and lighting systems. In addition, the stereo, TV, some kitchen equip¬ ment, the security systems, etc. are also connected to the house control system. According to Bobby, most control systems place very ex¬ pensive receivers inside the equipment to be controlled, and make the transmitters extremely simple. Bobby feels that the transmitters should contain more logic, so that the receiver in each device can be the simpler (and less costly) device. This would allow a single transmitter to control many different devices, rather than having to have a special transmitter and receiver pair for each device. The 21 telephones throughout the house are also multi¬ function devices. Each has a four-digit readout device that Micros Join in the Conservation Battle By Terry Costlow, Assistant Editor While energy prices and technological advances race each other into the 1 980s, a Southern California businessman is using one to defeat the other. Bill Mandl, president of Hometech Computers, has created an interactive computerized control unit to keep the cost of powering the home to a minimum. In addition to managing the power consumption, the prototype home in the hills near Los Angeles features a security system, timing controls for a variety of equipment and priority scheduling of some other appliances. The system is designed for installation in any home costing $100,000 or more. Mandl put his $7,000 computer system into the $350,000 three-bedroom home last December as construction was finishing and has since been testing the operation of his Intel 8085-based machine. By publication time, it is hoped that the test system will be removed and the company’s new production-line model will be installed. That vital step comes when the house is sold. An important detail for the prospective homeowner is the energy savings of up to 50% which the com¬ puterized system offers. The timing control unit man¬ ages a sunshade closing system by sensing the amount of light coming through the many picture windows. The heavy shades will be opened or closed, depending on whether the heating or cooling mode is operational. “With the sunshade controller, we meet the stan¬ dards for the state energy conservation tax rebate. That allows the buyer to get back up to $3,000 against the price of our unit. That’s nearly half the cost of the com¬ puter. And with the energy savings on top of that, it’s saving you money from the beginning,� the electrical engineer says. Water is conserved via sensors in the lawn which tell the computers to turn on the sprinklers only when necessary. A zone temperature system keeps heating and cooling costs at a minimum by circulating air when possible. The computer also has a security system that turns on the lights, sounds a horn and, with an optional dialer, calls the police or a neighbor. When someone attempts to break in and all those systems go into ac¬ tion, the description of the area where the door or win¬ dow is being opened is displayed on the CRT screen, allowing anyone at home to avoid the thief or go to the scene of the problem. The security also hooks into smoke detectors for fire protection. As with the alarm system, it will tell the user the area of the alert. In addition, the zone temperature control is commanded to turn off all the fans and close the vents to slow the circulation of smoke throughout the house. As with most power control systems, there is a prior¬ ity shutdown for all appliances when the emergency reaches a hazardous point. To facilitate operations throughout the house, there are RS232 ports in most rooms. The owner can plug in a terminal and monitor any room, change any of the timers or reprogram parts of the control package. But to make the system easy to run, Mandl has made most of the controls self-supporting. The home can operate without manual adjustments most of the time. And when changes are desired, menus and com¬ plete programming instructions are printed on the ter¬ minal screen. Because there is little need for reprogramming, there is only 1 K of RAM or memory. The system uses 8K of ROM now, but there is room for up to 15K. The additional ROM will probably be used when food pro¬ cessing is expanded from timed coffee making and other simple chores now being done in the kitchen. Hardware alterations and software filtering allow the computer to distinguish quick noises and power surges such as those that occur when a doorbell rings from legitimate commands. Each section of the control unit has specific safeguards so it is not affected by ex¬ traneous information. To keep on track, the system also goes through a self-recovering recycle every 24 hours. To avoid potential tampering, the computer lines are run independently from the electric lines. While controlling the temperature, turning on the lights when the home is being burglarized and starting a cup of coffee when the alarm clock goes off aren’t dramatic innovations by themselves, Mandl feels his computerized system will soon become standard in new houses because the functions work together. “If you have other things like timers running differ¬ ent things, they still won’t be interactive like this com¬ puter. By the time you get all the separate controllers and the priority shutoff and the phone dialer and the closing air vents and the rest, if you pile all that stuff on your house it would cost you more than our interactive unit,� Mandl explains.□ 58 INTERFACE AGE JUNE 1979 continuously displays the time. Since all phones in the house are also used as computer input devices, the entire house can be controlled from any pushbutton phone, either in the house, or for that matter, in the world. (To control the house from outside the house, two things must be known — the telephone number and the security number used to access the computer.) The inside telephones are also part of a phone-to-phone intercom or a housewide paging system. Even the radiant heating system in the indoor pool area can be remotely controlled. The owner emphasized very strongly, however, that no machinery that could be consid¬ ered dangerous can be turned on from anywhere other than the immediate area of that device. Any of the 200 ceiling lights (there are no floor or table lamps) can be turned on or off, in any combination and with a choice of brightness levels. This allows a house occupant to “pre-program� any mood desired, and to cause the room to assume that “mood� with a single command. Any number of “moods� can be stored in the system and retrieved on command. Even after a “pre¬ set� mood has been commanded, individual lamps may be independently controlled to further adjust the mood. A snow-melting system installed under the driveway is also controlled by the computer. The outdoor sprinkler solenoid control valve is also connected to the computer. This allows the owner to turn on the sprinkler system from inside the car as he leaves for work each morning. Any of a number of de¬ vices could be used to turn off the water, including the sim¬ ple method of noting what time the water was turned on, and turning it off a half-hour later. The house control system also makes it easier to conserve energy and yet not hamper or restrict the homeowner’s life¬ style. The GIMIX house has two completely separate heating systems — a radiant heat system in the floor and a forced air heating system that blows warm air in from ceiling diffusers. The radiant heat system has enough capacity to raise the house temperature 50-60 degrees above the outside temper¬ ature. In the fall and spring the boiler water temperature is set to 120°. During the winter the water temperature is set to 140° to provide extra system capacity. The burner is a modulating gas valve, which provides only enough heat to maintain the water in the boiler at a constant temperature. The garage and utility area are on a separate radiant heat sys¬ tem, which is currently set to maintain the normal tempera¬ ture in those areas at 40 to 50 degrees. The forced air heating system is currently broken up into five separate zones, each controlled by its own thermostat. The thermostats are connected as part of the computer OUTPUT devices. The owner emphasizes safety, and he feels that to tamper with any part of the furnace control system is courting disas¬ ter. As a result, the computer merely controls the power to the thermostat, never the output. This way if the computer system should fail, the worst thing that could happen is either the thermostat controls the heat in the normal way or that the heating system is totally shut down. The safest method for temperature control is also the most economical. To have several preset temperatures, the owner selects one or several thermostats, Again, the “fail safe� feature is that should several be selected at the same time, the room temperature would not rise above the setting of the highest thermostat. When the house is unoccupied, the forced air system is totally shut down, leaving only the radiant heat system active. This allows the house temperature to fall to approximately 60°, conserving heating costs. The computer can be com¬ manded remotely through the use of a standard pushbutton phone, making it possible to switch the forced air system on just before leaving work. This provides the best of two worlds, energy conservation and a nice, warm house to come home to. Several security devices are also implemented; fire and burglar alarms, electric eyes in the driveway and entrance walkway. The house also has a closed circuit TV that shows approaching visitors. As the power to the closed circuit sys¬ tem is also controlled by the computer, it is automatically turned on whenever someone enters the premises. All of the security systems devices are direction sensitive — they are triggered by approaching vehicles or people, but not by anyone leaving the premises. In the GIMIX house, a car coming up the driveway will signal the house, and if it is dark out, the driveway lights will go on automatically. This is also true of the garage lights — at night they are turned on when the garage door is opened. Inside, lights and other equipment can also be controlled by the computer. The house really controls the wall outlets that various equipment is plugged into, rather than to modify the equipment for remote control operation. This proved to be the undoing of a very clever idea for controlling the owner’s sons’ stereo equipment. The three teenage boys each had their own stereo. Old “dad� figured that when the sound got too loud, he could key in the “off� command for the wall outlet that the offend¬ ing unit was plugged into. This worked for about a week. One son started playing the stereo loud, then Number 2 joined in, and finally all three boys were playing the stereos full bore. Dad punched the off button for the wall outlet — nothing happened. He turned off another wall outlet — still nothing. He commanded the computer to shut off the power to the room — still nothing happened. He figured that he had a computer failure, and started for the boys’ rooms. As he approached, he noticed a long exten¬ sion cord coming. . . They knew that he would try to shut the power off. So they got power from the kitchen via a long ex¬ tension cord. CONTROLLING THE UNIT The computer receives its commands in a number of ways: by pressing small switches throughout the house or by dialing a code using one of the telephones, or even by using one of the garage door remote control transmitters. Each room can also be controlled manually through the use of small pushbuttons located on the doorjam of each room. These buttons control the remote control relays direct¬ ly, and do not require computer assistance. This is done for safety, in case the computer should ever fail. Pushbuttons on any of the house’s 21 “control panels� or on the portable transmitters direct the computer by means of a three-digit code. As currently programmed in the prototype system, the computer can understand up to 999 different commands. The system is set up so that the first button in each series of three specifies a different section of the house. The second digit asks for a general function, such as turning on all the lights. The third has a more specific function. For instance “123� could mean turn on the third (“3�) light (“2�) from the window in the living room (“1�). “423� JUNE 1979 INTERFACE AGE 59 could mean the same thing, but in the family room (“4�). If a command starts with a star (“*�), it identifies not a command for a specific device, but instead it identifies a string of commands for the computer to follow. “*10� could mean turn on all the living room lights according to the pre¬ programmed sequence “121,122,123�. The owner of the house said there were some unexpected savings that he attributed to the computer. Because room light controls are readily at hand for any room, the lights are seldom left burning when not in use. Lighting levels them¬ selves are no higher than needed. When the computer con¬ trolled lighting is first switched on, it is turned on at a low¬ brightness level; for more light you must press the button again. The end result is that bulbs last longer, and less power is consumed. Several other techniques were used to conserve power. In the laundry room, for example, the wall outlet for the iron is on the same circuit as the ceiling lamp — no light, no iron. Apparently his wife seldom leaves the room lights on, but will forget and leave the iron on. The dressing area in the master bedroom is lit by fluores¬ cent lights. The owner had four tube strips installed, but had two tubes in each fixture wired to one circuit, and the remain¬ ing two wired to a separate circuit. This way when a tube burns out, all he has to do is switch the lighting control to the other circuit. Now he can change the burned out tube when he has time.D Controlling the GIMIX Home Most homes are wired by running 110 volts from the light being switched to a wall switch and then to the circuit breaker or fuse panel. However, if you want two switches to control the same light or wall outlet then you must run an extra 1 10 volt wire in conduit from each switch. In addition you must use a special wall switch. If you want to control the same circuit from more than two places, the cost becomes prohibitive. In addi¬ tion, very few electricians know right off the top of their heads how to wire a circuit requiring control from more than two points. (Figure 1) Relay control becomes desirable at the two switch control level, and they become necessary when you want control from more than two places. A relay can be controlled from any number of switches. Wire the light to the relay and the relay to the panel us¬ ing 110 volt wire, in conduit as necessary. The control wiring to activate the relay is 24 volts, and uses or¬ dinary bell wire. Low voltage wiring is not required to be in conduit. Therefore, the cost of installing a single circuit can actually be less using the relay, when the cost of conduit and labor are also considered. (Figure 2) The G.E. RR8 relay draws power only at the time of switching to either an “on� or an “off� state. It then stays mechanically latched at the ON or OFF position, until it is positively commanded to go to the other state. If the relay is on it will stay on until it receives an off signal, and any further ON signals will not cause anything to happen. Each relay can control up to 20 amps and up to 277 volts. The G.E. RR8 relay is U.L. approved and they have been in use for over 20 years. They are available through electrical supply houses and cost around $12 each. Since all power for lights and other electrical items must be connected back to the breaker panel, the most convenient location for the relays is next to the breaker panel. Since the relays have four screw based termi¬ nals — two on the line side (breaker panel) and two on the load side (light or wall outlet), they are convenient for terminating several lights to each breaker. Only one wire is needed from the breaker to one of the relays on that breaker. The power can be run in a daisy chain fashion from relay to relay to feed the power from the breaker. (Figure 3) To dim the lights we suggest using an extra relay in series with the light’s relay. Place a diode, or a rotary Figure 1. Figure 3. RELAYS BA ON — FULL RELAY B ON ONLY — DIMMED B ACTS AS ON/OFF SWITCH Figure 4. 60 INTERFACE AGE JUNE 1979 dimmer if preferred, across the line and the load side. When the relay is off, current flows through the diode creating a dim condition. When the relay is on, the diode or dimmer is shunted, and the current path is unimpeded. (Figure 4) The low voltage side of the G.E. relay has four wires: the blue is the common, and the red wire is used to switch the relay on, while the black wire is used to switch the relay off. The fourth wire, yellow, is used for a pilot light to indicate remotely the status of the relay. The GIMIX relay driver board terminal strip has con¬ nections for all four leads, plus it provides terminal tie points for wiring ON and OFF switches to each relay as desired. When switches are wired directly to the board, you then have a normal low voltage switching system, providing a “fail safe� method of controlling your lights, even when the computer is down or pow¬ ered off. There is no limit to the number of switches that can be directly wired to each relay, as all manually controlled switches are wired in parallel with each other. Normally open, push to close, pushbutton switches must be used as the manually operated remote control switches. The GIMIX relay control board has several unique features, one of which is that it only requires two pairs of wires to communicate with the computer. One pair is used for communication from the computer to the relay driver board, which is generally located near the circuit breaker panel. The second pair of wires is for communications from the relay driver board back to the computer. These messages can either be relay status messages (relay 1 on, relay 2 on, relay 3 off, etc.) or error messages (last command had a parity er¬ ror, relay won’t respond, wrong board or relay re¬ sponding, etc.). The relay driver board is an intelligent device and can be commanded to constantly scan all attached relays (it does this by interrogating the blue wire to the G.E. RR8 relay). Each relay driver board can control 31 20-amp cir¬ cuits. Each computer port can control four relay driver boards, for a total of 124 controllable circuits per port. Obviously the only limit is the speed of the computer and the number of serial current loop I/O ports the computer will support. GIMIX also has a complementary opto-coupler board, which will accept 34 ON/OFF input circuits. In addition the corporation also markets a touch-tone receiver circuit, used to convert touch-tone signals into 8-bit ASCII characters for processing by any CPU. Both the opto-coupler board and the 2-wire tone receiver circuit interface to the CPU through an 8-bit parallel input port. Application notes and examples of home automa¬ tion are available from GIMIX Inc., 1337 W. 37th Place, Chicago, IL 60609, (312) 927-5510.D no one has your floppy disks in stock ♦ ♦ ♦ here’s a new letter word to use: The word is Kybe. Because Kybe can ship any model floppy disk, data cassette or mag card in only two days. You’ll get the same high performance products sold by 3M, BASF, Memorex and other brand name suppliers. The same we’ve built for OEM’s for years. The full line is competitively priced, backed by an unconditional 90 day warranty and inventoried for fast delivery. Dealer inquiries invited. circle inquiry no. 37 (800)225-8715 KYBE KYBE CORPORATION 132 Calvary Street, Waltham, Mass 02154 Tel. (617) 899-0012; Telex 94-0179 Offices & representatives worldwide JUNE 1979 INTERFACE ACE 61 irchild Technology Enhances e Living Environment A hundred years ago our ancestors were living in homes heated by wood burning fireplaces and lighted by kerosene lamps or candles. They cooked over wood burning stoves and communicated with friends and relatives through the mail or by messenger. Home entertainment revolved around good books and lively conversation, or in some cases, the family piano. Times have changed. The 1970s have revolutionized the American home. Electricity is king, and it has given birth to the 70s phenomenon of the “total electric home/’ Through the magic of a little thermostat on the wall, we can heat our homes in the winter and cool them in the summer. We cook our meals in an electric oven or we can zap a meal in minutes with a handy microwave. Iceboxes can only be found in antique stores these days; our modern refrigerators and freezers can store enough food for a year, make an endless supply of ice cubes, keep themselves frost free and generally do everything but walk the dog in the morning. Communication has taken on a whole different meaning as well. The revolutionary little device Alexander Graham Bell gave us a century ago has been the breakthrough in the communications barriers. Today, we can pick up the kitchen phone in Kansas and be casually chatting with a friend in Japan within seconds. Through the wonder of the phonograph (there’s an out¬ dated word) we’re able to listen to Beethoven, Bach or the Rolling Stones without ever leaving the comfort of our living rooms. World events are brought to us on television as they are happening. The list goes on and on. Technology has brought us an in¬ credible distance in the span of a century. It will take us even further during the next decade. The computer society we live in today has been recently chronicled by experts and observers alike. The phenomenon of electricity is being overshadowed by its offspring, the com¬ puter. As little as 15 years ago, computers were only found in high technology businesses and in futuristic fantasies such as the film “2001.� Today they are commonplace; we have computerized cash registers in fast food markets, kids have computerized calculators to help them through math and an increasing number of Americans have computers in the home just for fun. With this rising popularity comes an increased competition among manufacturers to produce affordable computer pro¬ ducts for home use. A consistent leader in this field has been Fairchild Camera and Instrument Corporation of Mountain View, California. With its 9440 Microflame™ microproces¬ sor, which allows a programmer to execute a minicomputer instruction set with minicomputer performance; the Fairchild SHI 549 hybrid tuner control/memory for multi-station AM, FM and TV tuners; the Channel F Video Entertainment Sys¬ tem; and more recently, the Fairdial™ telephone repertory dialer, the company has made its name something of a house¬ hold word in the home computer arena. The Fairdial component set has given Ma Bell a run for her money since its introduction in the latter part of 1978. It is a kit of 10 semiconductor components that can be used to construct a telephone repertory dialer with the capability to store up to 44 telephone numbers of 12-digit length. The kit is based on an Isoplaner NMOS telephone con¬ troller circuit designated as the CET 200. It includes two MOS 1 K RAMs, two CMOS gate circuits, and five TTL cir¬ cuits in addition to the controller circuit. In a prototype dialer designed by Fairchild to demonstrate the capabilities of the component set, 40 numbers are stored in a “telephone book� memory, two are stored in scratch pad memory, one is stored in a “last number dialed� mem¬ ory and one is stored in an entry buffer memory. The component set can be interfaced with standard 7-seg¬ ment LED displays to display the number being entered or dialed. Telephone numbers are automatically formatted into groupings of area code, prefix and station number. Photos courtesy of Fairchild Camera and Instrument Corporation One of Fairdial’s biggest appeals is its offer of pushbutton dialing economy with pulse type signaling. The Bell Sys¬ tem Touch Tone offers the convenience of pushbutton dial¬ ing, but the feature is not available in all parts of the country. Incorrect dialing has long been a frustration associated with the standard rotary dial. Miss one digit and you have to begin the slow dialing process all over again. With Fairdial, dialing the correct number is speeded up several ways. First, entering the telephone number is a separate process from dialing the number. Although the entire number is entered through the keyboard number keys, it is not transmitted to the telephone line interface until the DIAL key is pressed. If the caller enters an incorrect digit, he need only press the CLR key to re-enter the number. With the Fairdial it is also possible to call a number a sec¬ ond time without having to re-enter it. The last number dialed is automatically stored in a separate memory register until another is entered. If the number dialed is busy or is not answered, the caller can redial it at any time by pressing the LND (last number dialed) key. He can verify the number by pressing the LND while the telephone is on the hook. The number appears on the display but dialing doesn’t take place until the receiver is lifted. The Fairdial also contains a telephone-book memory for a collection of those numbers the individual or family most fre¬ quently calls. The memory, which has a 40-number capacity, is configured into two pages of 20 12-digit numbers. The loca¬ tions are associated with a specific control button so that when the receiver is off the hook and the associated button is pressed, the number stored in the memory is copied into the display and dialed. The caller differentiates the two pages by a page- select function, which is activated either by a separate control switch or a two-position pushbutton. The numbers loaded in the memory remain until they are placed or cleared. The Fairdial is compatible with telephone systems using either old or new pulsing systems. It is capable of signaling the central office at the standard 10-pulse-per-second rate or the newer 20-pulse-per-second rate currently available in some areas of the country. For the sophisticated home computer buff, Fairchild offers the 9440 Microflame 16-bit 19MHz microprocessor. Ac¬ cording to Dr. Thomas A. Longo, vice president and chief technical officer at Fairchild, the device is the industry’s first to bring full minicomputer capabilities to the microprocessor world in a variety of applications. The company offers an introductory kit consisting of the 9440, sixteen 4.096-bit memories, the SSI/MSI compo¬ nents required for memory control, along with introductory software and manuals. The kit enables users to construct a working system at the board level in their own board format. The 9440 Microflame is a complete minicomputer CPU on one chip, packaged in a 40-pin DIP, and can execute the Data General NOVA 1200 instruction set. It is based on Fair- child’s Isoplaner integrated injection logic (l 3 L)™ technology and is designed to operate with power supply and perfor¬ mance-compatible TTL dynamic memories. The TTL dy¬ namic memories also are fabricated with an l 3 L technology. Data and instructions are stored in external memory and a 16-bit wide three-state information bus carries both data and addresses between the CPU and other computer circuits. Intrinsic memory capacity of the 9440 is 32,768 16-bit words, and the I/O ports can serve up to 63 peripheral de¬ vices using programmed I/O, interrupt-driver I/O or direct memory access. According to Dr. Longo, the l 3 L technology used in the 9440 Microflame TTL dynamic memories combines Fair- child’s Isoplaner dielectric isolation techniques with inte¬ grated injection logic circuitry, enhancing both speed and density. These devices can achieve switching speeds com¬ parable to low power Schottky TTL devices and packing density up to 250 gates per square millimeter. Just when the old folks were getting used to television and its usurping of their old radio programs, along came TV video games. This latest technological handiwork was ori¬ ginally intended for the youngsters in the household, but it soon became apparent that the kids would have to edge their parents out of the way before they could play. Fairchild is in the forefront of the video game market with the Channel F™ Fairchild Video Entertainment System. Seventeen Videocart™ interactive game cartridges, offering 30 games with over 500 variations, are now available in this system. For the masters of war, there are combat games such as Desert Fox; for the sports addict, baseball; and for the more intellectually oriented, Memory Match. The components for the system include a game console, a pair of eight-way hand controls, an adaptor box and the op¬ tional game cartridges. The adaptor serves as an interface permitting a player to switch from normal television viewing to video game and back again. Incorrect dialing has long been a frustration. Miss one digit and you have to begin again. The heart of the Fairchild system is an F8™ microproces¬ sor. Both the microprocessor and its associated 16K RAM are incorporated into the game console, making this system the first truly programmable game center. The instructions for the various games available are re¬ tained in ROM program stores. Instructions for hockey and tennis are contained in ROMs within the console while pro¬ gram stores for other games are mounted on printed circuit boards within the Videocart cartridges. Data in the ROMs establishes operating parameters for the microprocessor and loads preliminary data into the RAM. Additional transient data are supplied by the five selector control buttons on the console and by the hand controls. The games are produced on the TV screen through interaction of the ROM, RAM, microprocessor and controls. The player has the opportunity to select one of four diffi¬ culty modes, one of four time limits and with some cart¬ ridges, variations of a particular game. The system allows players to “freeze� the game action for an indefinite period of time, then resume play where they left off. After the action has been frozen, the Channel F system can be reprogrammed for a new time limit, difficulty mode or both. The Fairchild video game system can be used with any make or size of television set, either black and white or color.□ 64 INTERFACE ACE JUNE 1979 4 New Boards & the SDS-200 join State-of-the-Art SD Technology Versafloppy II-IXiaJ Sided, Dual Density, Single Density, Single Sided, 5-inch and 8-inch flexible drives. Controls up to four drives simultaneously, any and all com¬ binations. Extremely powerful SDOS oj)erating system. MPB-100-Z80 Central Proces¬ sing Unit S-100 Bus Compatible. Front panel useage optional. 2MHz or 4MHz operation speeds. Power-on jump to 4K boundaries. On board Sockets for up to 2K PROM. ' 1 H It'• a u 1 * VtM ExpandoRAM II - Expandable from 16K to 256K Bytes. Page Mode operation allows up to 4 boards in use simultaneously on the same S-100 Bus for multiple users. Compatible with 8080, 8085 and Z80 CPU’s. PROM- 100-Programming board for PROM/EPROM (2708 • Intel 2758, 2716, 2732 • T.I. 2516) 25VDC Programming Pulse gen¬ erated on-board. Software pro¬ vides for reading of object file from disk or PROM. The New Expandable Capacity SDS-200 Features: On-line RAM from 64K to 256K (Expandable) • Over 2,000,000 bytes of on-line diskette storage (expandable to over 4,000,000 bytes) • Over 8,000 bytes of available PROM • 12-inch Video Screen (24 lines of 80 characters) • Z80 CPU • Parallel and RS-232 Serial Input/Output Ports • Full upper and lower case key¬ board • Numeric pad and cursor controls • 256 characters available on video display • Blinking, Underlining, Reverse and protected field enhancements • Key-lock power switch • Power-on bootstrap • Pro¬ grammable Baud Rates • Addressable cursor • Compatible with C-Basic, E-Basic, Cobol, Disk Fortran, Microsoft Disk Basic, SDOS, CP/M and hundreds of compatible software packages. Operation speeds to 4-Megahertz • flicker free video display. For product information & the location of your local SD Systems Dealer: Call or Write P.O. Box 28810, Dallas, Texas 75228. 800- 527-2304; 214-271-4667; TELEX 73-0151. State-of-the-Art Computer Boards VDB-8024 Video Display Board The on-board Z80 gives a new dimension to video technology. Utilizes on-board RAM and ROM. Assembled & Tested or Kit versions are available. SBC-100 Single Board Computer Z80 Micropro¬ cessor, RAM, PROM, 4 channel Coimter/Timer, S- 100 Bus Compatible, Serial and Parallel I/O’s. Versafloppv Flexible Disc Drive Controller for up to four drives simultaneously: Mini’s, full size, one or two sided, single density. IBM3740 Compatible. ExpandoRAM expands from 8K to 64K on the same board. Switch selectable banks & Write Protect The SDS-200 is the technological leader of microcomputing. Flexibility and expandability give you a computer that will grow r with you whether your application is a total business system, scientific analysis or process control. Operator ease and operator interaction have been designed into the SDS-200. Softw are compatibility is unprecedented. The Ran¬ dom Access Memory capacity and operation speeds allow' the use of high level languages. The SDOS operating system is the most pow erful in the industry' giving unheralded flexibility 7 and compatibility'. The SD Systems Business Softw are packages interact with the operator to give you complete accounting control. The features of the SD Busi¬ ness Software provide for multi-level and multi-company accounting. Clerical costs are reduced, work improvement is realized through or¬ derliness, accuracy and consistency 7 , management supervision is re¬ duced and management reports are provided on a timely basis. The Z80 Starter Kit by SD Systems uses the powerful Z80 microprocessor as the heart of the complete micro¬ computer on a single board. Learn a step-by-step in¬ troduction to microcomput¬ ers with a keyboard and dis¬ play, audio cassette interface, PROM programmer, wire- vvrap expansion area, 4-chan- nel Counter Timer and on Board RAM and PROM. Complete Operation and In¬ struction Manual included. ZBUG Monitor in ROM JUNE 1979 CIRCLE INQUIRY NO. 92 INTERFACE ACE 65 Electronic Games The First Step to Home Computers By Terry Costlow, Assistant Editor Until recently, the word computer brought thoughts of a hard to use machine that would take away jobs and dehuman¬ ize society. During the last few years many things have changed, and home systems have begun making the pre¬ dicted inroads towards “a computer in every home.� While fears about computers have not completely dissi¬ pated, sales of home units continue to increase. Many peo¬ ple have learned that computers can save time by doing things more efficiently. Adults have learned to cope with the new technology. For the younger set, computers are just another fact of life. And as children bring computerized toys into the home and adults discover that home computers are not as difficult to use as they once were, the systems will enter the home more rapidly during the near future. Two of the leaders in producing equipment for large con- sumer markets are Texas Instruments and Mattel Electronics, a division of the huge toy manufacturer. Mattel Electronics has already jumped form the realm of com¬ puterized toys into preliminary production of a home system. Texas Instruments is currently staying with its line of toys, calculators and the like, although officials don’t deny persis¬ tent rumors that the company is working on a home system. Tl has become a mainstay in the field of designing educa¬ tional games for children. Beginning with the mathematical challenger, Little Professor, in 1976, Tl has introduced sev¬ eral games for elementary and pre-school children. As are most of the company’s toys, the Little Professor is based on the TMS1000 four-bit microcomputer. The four- ounce, hand-held unit is programmed with over 1,600 math problems, which are broken into four levels of difficulty so the child won’t outgrow it rapidly. During the 1976 Christmas season, the Little Professor was almost alone as a computerized toy. But after it proved fairly successful, other companies joined in. During the 1977 holiday season, there were about 12 computerized toys on the market. Tl’s entries included another math- oriented game, DataMan. Their novelty brought high sales. “The initial toys went over like gangbusters. Everyone saw how well they did and next year some of the major toy manu¬ facturers got into the act,� says Jim Mullen, director of technical communications for Texas Instruments. The 1978 Christmas season made history. Shoppers couldn’t pick up a major magazine or newspaper without seeing either an ad or a story about the “new� type of toys. And the toys sold so rapidly that reading about them was as close as many people every came to having one. Mattel’s Updated Football while the traditional toy manufacturers designe games that were geared mainly towards entertainment for either adults or children, Tl stuck with educational games for younger children, including the popular talking Speak ’n’ Spell. And they don’t plan to change that strategy. “We plan to continue with educational toys because they make the best use of our existing resources. We’re geared mainly toward the watch, calculators and specialty devices,� Mullen says. In addition to their own line of toys, the Dallas corporation is selling TMS1000 chips to several toy manufacturers. Col- eco is currently designing an astrological toy that uses the chip. Milton Bradley uses it in a computer-controlled dump truck and Parker Brothers is combining chip technology with a standard board game format for a detective game. A major question for those designing home computers is “Will the success of computerized toys translate into increased interest and acceptance for full-blown home systems?� “Absolutely,� Mullen says enthusiastically. “In that regard, it behooves the big companies to explain to the peo¬ ple how these machines operate. We’re trying to explain the technology of the machines to the buyers. Many people be¬ lieve that it’s electrical just because it uses a battery. “We’re trying to explain that it isn’t just an electrical device. It’s a programmable computer, and the same type of chip is used in the home computers. The only difference is in the software. It’s all in what you program the computer to do.’’ Mattel Electronics officials also feel that toys will pave the way for the futuristic ideal of a computer in every home. They feel that the success of their games will help people overcome their thoughts that Mattel is a toy company, not a serious electronic organization. Mattel joined the computer revolution with hand-held toys, including football and a TV-takeoff, Battlestar Galactica. Those two toys were big hits during the computer Christmas last year. With an update of football and a new baseball game being added to the lineup, Mattel again hopes to score heavi¬ ly in the realm of technological toys. They also hope to parlay their acceptance as a computer- oriented company into further success with a new home system, Intellivision. Although the decision to design a home computer system was made in 1976, the success of the hand-held games did nothing to hold the designers back. The resulting hardware modules and software cartridges will be marketed with a multi-million dollar advertising cam¬ paign this fall, just in time for Christmas. The unit, which is made of two separate modules selling for about $250 each, connects to a standard television set. The modular concept is designed to keep the cost acceptable. “We don’t think that most families are ready for a $500, one-shot investment, so we’re offering them the chance to get started with just one component and then expand when they think they can,� says Jeffrey Rochlis, president of Mattel Electronics. The modules include a master controller which is designed mainly for entertainment and a 64-key keyboard component that can be used for more standard uses of home computers. During the designing of the computer, Mattel officials made full use of the company’s huge research and develop¬ ment department to find out what the “average consumer� thought a home computer should do. Intellivision was created to reach this mass audience. “The computers that are on the market now are, from the consumer’s point of view, solutions looking for a problem. We are a consumer-oriented company. We looked at those people’s needs and geared our product towards them,� Rochlis said. To avoid the problems of teaching people how to program the computer, Mattel put all the game software on ROM cart¬ ridges and others on cassettes. “Our system may not be accepted by the computer afi¬ cionado. We deliberately eliminated the programming so it would be simple enough for any member of the family to use. The consumer doesn’t want the burden of learning a language or the burden of learning to program. To them, the systems that are available now require a disproportionate amount of learning time,� Rochlis says. Some of the software Mattel has put on cassette includes income tax prepartion, menu and exercise planning, and for¬ eign language studies. The foreign language tapes utilize four tracks on the tape. One on each side holds the programming, while the other two tracks are for verbal recordings. The tape allows the user to record his or her voice to see how their pronunciation compares to the computer’s. By designing the software to appeal to all members of the family from preschoolers to both parents, the company planned to help make the computer enjoyable to all members of the family to enable the purchaser to justify his expenditure. After the initial sales at Christmas, Mattel plans to send out flyers detailing new software developments to all who send in warranty cards. Rochlis sees home computers coming of age during the eighties, but not without an ongoing educational process. “It will take several years of use before the computer is considered to be a standard household appliance. But as we looked at consumer electronics, we saw a large market for computers that would continue to grow. I can see one day in the future when hardware costs only about $100 and is a utility that’s installed like a telephone.�□ 10 VOLTS BATT (SEE TEXT) Cl,2,4 Electrolytic 25V C3,5,6,7,8 Ceramic Disc 25V All resistors V4watt except where noted J2 is edge connector on MPU board Figure 1. Power Supply and Interrupt Timer. COM FERRITE BEADS Capacitors are ceramic disc 25V All resistors Vi watt J2 is edge connector on MPU board KEY SWITCH (OPT.) Figure 2. Typical Input Connection i Home a— Applications for the 6800 By David E. Shambaugh This article deals with a Motorola MEK 6800 D2 kit, which sells for about $225. The “D2� kit comes with several capabilities: an MC6800 MPU; three MCM6810 RAMs (128x8 each); two MC6820 Peripheral Interface Adapters (PIA); one Asynchronous Communication Inter¬ face Adapter (ACIA); one MC6871 Clock Generator and one MCM6830 ROM with JBUG monitor. When assembled, the kit consists of these parts separated on two boards, the MPU board and the display board. The display board contains the six 7-segment displays, the key¬ board and the audio cassette circuitry. This allows the ACIA and second PIA available to the user in the event that the user has access to an RS-232 TTY terminal. Wire wrap space is available for up to twenty 16-pin DIP packages for user designed circuitry. The kit as built with the JBUG ROM, is a very powerful device which can be used for all sorts of applications around the home. This article tells you how to take a D2 kit and make: A Digital Clock. Hours, minutes, and seconds will be continuously displayed on the six 7-segment displays. The circuit in Figure 1 is a timer which replaces the 60 cycle line frequency during power failures. Thus the dock keeps run¬ ning when the power is out, assuming that the battery back up system shown in Figure 2 is added. Another feature is that by changing data in two memory locations, as shown in the program listing, the 1 2-hour clock can become a military 24-hour clock. A Burglar Alarm. This alarm, wired as shown in Figure 3, is unique in that is is an “adaptive� alarm system. This is done by having the MPU look at the state of the alarm switches and “memorize� each one. The MPU then comes back a few seconds later and looks at all of the switches again. If any switch(es) has changed, the alarm is triggered for an adjust¬ able period of time. At the end of this time the MPU shuts off the alarm and looks at the state of the switches again. This state is now accepted as the “new� condition and the entire cycle starts over. With this system a switch can fail, be de¬ stroyed, be tripped or whatever and the rest of the alarm is not disabled. A Timer/Control. The wiring for the timer output is shown in Figure 4. Each time the clock program updates the hour count, it checks to see if the program wants the timer output turned on. If it does, it turns the output on, then checks every minute count to see if it has been on for the desired time. If the time is up, the output is shut off. This out¬ put will control a sprinkler system or other home device. HARDWARE AND SUPPORTING SOFTWARE As stated, Figure 1 shows the interrupt timer and power supply. The power supply uses four each Gates rechargeable lead acid cells at 2 volts each. This 8-volt source is regulated down to +5 volts with a 3-terminal voltage regulator (MC 7805). The batteries are supplied with a charge as long as 60 Hz power is present by using a 12.6 volt, 2 amp trans¬ former and full wave bridge rectifier with a 1000 ^f capacitor. This produces 10V DC, with battery loading the circuit and is within specifications supplied by battery manufacturer. The interrupt timer (also in Figure 1) uses a 555 timer wired in the astable mode. The oscillation rate is slightly faster than 60 Hz (the period is approximately 1 7 msec and the pulse is approximately 150 /isec), which is more than long enough for recognition by the MPU as a valid interrupt. Figure 2 shows a typical input connection. An MC 1 4049 inverter buffer is used to protect the PIA from noise and volt¬ age spikes on the input lines because of the length of the wire going to the switches. There are also numerous pull ups, pull downs and bypass capacitors for elimination of false triggers. There are also other ways of designing around noise problems. Ferrite beads are used in some places to get rid of the interference caused by CB enthusiasts and their 1 KW linears. The switch connection is shown, and can be wired in the Normally Open or Normally Closed configura¬ tion. It is shown wired Normally Closed in this figure because it also shows the use of a Key Switch which is used to short the switch for entering the premises without tripping the alarm. 68 INTERFACE AGE JUNE 1979 C6 220 . 01 K 1 H ZED . ! XI P J2 is edge connector on MPU board Figure 3. Typical Output Connection. Figure 3 shows a typical output connection. The outputs from the PIA are also protected by an MC 14049 inverter buffer as on the inputs. The outputs are not as critical for noise problems as the inputs, so are much simpler. ♦ S VOLTS o-c| -WV-*|-1 K3 150, LEO ^7 OPTIONAL *»•“ < 0PT ‘ Key Switch & LED are mounted together on switch panel. Figure 4. Optional Security Indicator. Shown in Figure 4 is a latching relay circuit used in the system for a special feature. The relay latches through a Nor¬ mally Closed reset push button every time the alarm is sounded. When the relay is energized, it lights a solid state LED mounted on a switch panel with a key switch by the door used for entering. This is important in that it will tell if the alarm system was triggered while no one was in. If the LED is on, be cautious in entering the premises in case an intruder is still present. Now on to some explanations on the supporting software. The main program, which is the digital clock, works in this way. It first looks for an interrupt which is present out at PIA location HEX 8006. When this input goes high it checks the validity by also reading the MSB of the input at HEX 8006. This bit is also high when the interrupt occurs. When the MSB is high it means a minus number is there. This is ac¬ cepted as a valid interrupt and it updates the SSEC ac¬ cumulator which keeps track of the ] / 6 o second count. If the data is not a minus number, it goes back and looks for another interrupt. This is a noise eliminating check. The pro¬ gram counts sixty interrupts and updates the seconds ac¬ cumulator. It then jumps to the display subroutine in the JBUG ROM and updates the display. Every time it counts sixty seconds, it updates the minute accumulator and jumps to the display routine in the JBUG ROM again and updates the appropriate display. This happens with the hour ac¬ cumulator in the same way at every hour. Every time the display is updated the program jumps to the timer subroutine starting at HEX 009B and checks to see If the hour accumulator, HEX location 0003 and the Hour Set- point, HEX location 0009 are the same. If they are the same, it compares the Minutes Accumulator, HEX 0004 and the Minutes Setpoint, HEX 000A. If they are the same, it sets the timer output high and also sets the Timer Triggered Flag, HEX 0007, and returns to the main program. Once the Timer Triggered Flag is set, the program compares the Minutes Accumulator, HEX 0008, with Delay 1, HEX 000B, and when they are the same will turn the timer output back low again and clear the Timer Triggered Flag. Every time the program updates the second count it jumps to the Alarm Subroutine at location HEX 00CE. In this rou¬ tine, it compares the PIA locations at HEX 8004 and 8006 to the two Alarm Status Registers at HEX 000F and 0010. In the first few steps of the main program the data at these two PIA locations was loaded into the two Alarm Status Registers. When the Alarm Subroutine compares the PIA location with the appropriate Alarm Status Register, it should see no difference unless a switch condition was changed. Jf a difference occurs in either place, the delay register is in¬ cremented and compared to the delay which was input at location HEX 00DE. Once this seconds count is finished and the condition is still present, the alarm output is set high and the Flag 1 register, HEX 000E is set. This delay eliminates noise and false triggers. Once the flag is set, the program counts sec¬ onds in the Delay 3 register, HEX 000D and compares them with the delay put in at location HEX 0102. This the alarm on time. Once this delay is counted out, the alarm output is turned back low and the PIAs (HEX 8004 and 8006) are read and loaded into the two Alarm Status registers. This puts the new data in the registers for future comparisons. This means if a door or window is opened, the alarm sounds for an adjustable time and scares the intruder off. When the alarm is reset, the window or door left opened is taken as a normal condition. The alarm will sound off again if another door or window is opened or if the opened door or window is closed. A HEX entry of 01 at 0102 will disable the alarm.□ Location Load 0003 Present Hour 0004 Present Hour 0005 00 0006 00 0007 00 0008 00 0009 Hour you want timer on (00-23) 000A Minute you want timer on (00-59) 000B Minutes you want timer to be on (00-FF) 000C 00 000D CO 000E (|0 000F 00 0010 00 007F 12 for 12 hour clock — 24 for 24 hour clock 0083 01 for 12 hour clock — 00 for 24 hour clock 00DE 01 for 1 second delay 1 0102 Alarm on time (00-FF) 2 01 disables alarm 'Anv HEX number from HEX 00-FF can he put in here, but 01 is the best number for noise eliminat on and fast recognition of intruder and will allow alarm to trigger after 1 second. 2 Any HEX numbtr from HEX 00-FF can be put in here also HEX 00 gives you 256 seconds of < larm time. HEX 01 will disable alarm. Any other HEX number will provide the appropriate alarm on time. Program Listing Follows JUNE 1979 INTERFACE ACE 69 c to !- a — UC CL X X 0J •CD CJ X 3 : U :-i : Ll! DC Ui 5—: o *~i o CD .V T~i Ll r-i iH 04 ill & r-i ?-* in •u sr iil t* i — : i—i -J ->o 3-» CO n to r XL CD s a: h- H X X X X XXX X X 4= *— X =? X X X X X X «? Cl. 5- Ll X a. d d d < % 4 X f0 X 0 X X O' O' CD O' CD O' CD r-4 X t-i ro O' 04 O- > 04 04 O O' 04 04 X X X X X 04 X O 04 04 X X X ro cs 04 X X •^r '0 CO CD CD O C\i Ll fx O' d X X Li. r^ IO ui rx o* •X X Ll T-i 'O X X X Ll th ro 5 7 d X Ui © 2 5 CO CO CO 05 CO O' O' O' O' O' O' O' O' O' d X (J X u LL © •H oi ro I 0 04 ro lil X rx 10 o © T-i 04 ro Ll X |X. CO O' o © © © © © © © © b TT T-i T-i r-i T-i T-i T—. T-i T-i r-i 04 r -4 04 04 04 CD 04 04 04 04 ro ro ro ro IO ro ;*o M rO ro vJ © © © o © © © © © o o © o © o © © s© © © o © © © © © © © o © o © o © © © O © © QC © © © o © o © © © © o © © o © © © o © © © © © © o © © O © o © © © © o © © © © 0. © © © © © © © o o © o © © © © © © © © o © © O O © © © O © o © © © © © © © © © ft ft ft ft ft c ft! r-4 C-4 Ll1 »-M* r-i LlI iH ft ft 1—i *5- *~: ft ft M 00 & 00 X ft * X ft LL - ft 2 : ft 2 : ft LlJ ft ft h- ft ft h- ft 2 2 : ft J- ftc H- h- i—; 2 l- ft ft ft H- j-c 2 : h* 2 : u ft t i—i CJ ft (0 •V ft z ft Z ?j ft ft cj ft ft o co -J i-5 CJ ft CO ft 00 ft ft c 00 ft ft ft 00 ft c 00 ft fti Cs X rs x CO X >0 X S3 ft S3 S3 S3 S3 i-i Ui o S3 O o o o O o © O o O c ft r-4 n ft o ft o ft r-4 CO o o r -4 o ft r-4 rs i-c ft ft O ft o o © o ft O CJ o o o o T“! o 03 IS T~i rs o ft o CO o CO o o o o ft o CO ft 03 o o CO © 00 rs -r-i o /S rs *0 ft T-i rs rs cs “0 0" S3 o- T-I rs O ft cs S3 <1 rs S3 CJ T-i rs IS S3 JS cs S3 o tx ft ft S3 rs >0 o rs cs o fc—i r-4 CS - 2 2 l-< ft iff ft 03 ft 03 ft 03 21 CJ �3 2 : ft ft :ft r-i ft ft ft CJ “3 ft ft CO ft ft CJ ft: ft ft ;J3 CJ ft U ft ft CO CJ ft ft C Cl:' r-4 H- h- 2 2 ill o -^r O' O' -0 ft S3 ^r ^r O' O' O' O' o- O' O' O' n n n hi hi b*3 n hi hi n S3 S3 S3 >o S3 S3 "O S3 S3 S3 fs rs rs fs rs fs rs fs rs fs O o o c- o o o o o o o o o O o O o o O o o O O o o O O C O O o o o o o O o O o rj o o o o o o o o o o o o o o o O o o a o o o o o o o o o o o o o o o o o o O o O o o o o o {J o o o o o o o a o O rs o o o o o o o o o o o o c o o o o o o o o o O JUNE 1979 INTERFACE AGE 71 Speech Synthesis with Linear Predictive Coding By Larry Brantingham Texas Instruments, Inc. INTRODUCTION The earliest speech synthesizers were essentially mechani¬ cal models of the human vocal tract. Today’s computers use two basically different methods to digitize speech. Waveform coding methods produce an output signal that looks like the original voice signal while voice encoder (vocoder) methods use parameters developed from analysis of the speech wave¬ form to simulate the human vocal tract and produce an out¬ put that sounds like the original. One of the vocoder methods, linear predictive coding, is used in an electronic learning aid for spelling produced by Texas Instruments. The Speak & Spell contains a three-chip system consisting of a ROM, a controller, and a speech syn¬ thesizer chip. A multistage digital filter, which is part of the synthesizer chip, models the human vocal tract to produce natural sounding speech. In addition to teaching aids, the single-chip speech synthesizer, which is designed to inter¬ face with most microprocessors, can be used in communica¬ tions equipment and consumer products for home and business. DIGITAL SPEECH CODING In order to produce electronic speech, digital data repre¬ senting the spoken word must be first encoded and stored in a memory. The memory then contains information represen¬ ting words or phrases which are used to reconstruct human speech. The method of encoding employed determines the amount of data needed to represent the speech input and thus affects the size of the memory required for the system. Since many speech coding techniques are used in digital voice communications systems, the data rate used in transmitting information is a convenient means of comparing the data re¬ quirements for the different encoding methods. Actually, data rate can be used to mean the rate at which data is trans¬ mitted for voice communications or the rate at which data is transferred from memory to the speech synthesizing circuitry. Current voice waveform coding methods include pulse code modulation (PCM), differential pulse code modulation, adaptive predictive coding, delta modulation and continu¬ ously variable slope delta modulation (CVSD). These meth¬ ods attempt to reconstruct the original speech waveform by digitally representing the amplitude of the voice signal while the signal varies with time. The primary objection to all of these methods is the high data rate necessary for high quality speech coding. Pulse code modulation has the highest data rate with approximately 64 to 100 kbits per second and con¬ tinuously variable slope delta modulation reaches a low of 16 kbits per second. Among the vocoder systems currently being used or de¬ veloped are the channel vocoder, the cepstrum vocoder and the formant vocoder which all utilize models that simulate the human vocal tract with parameters developed from an analy¬ sis of the speech waveform. In normal speech, air passing the vocal cords is filtered by the human vocal tract, which in¬ cludes the mouth, throat and nasal cavity. Voiced sounds, such as the sound of E in “she,� are pro¬ duced as the vocal cords vibrate. The rate of vibration deter¬ mines the pitch of the sound generated. Unvoiced sounds, such as the F in “fish,� occur when the vocal cords are held open and air is forced past them to the vocal tract. Vocoder systems thus include parameters relating to amp¬ litude, pitch, stress, and whether the sound is to be voiced or unvoiced. The channel vocoder, for example, uses bandpass filters to divide the speech input into frequency channels. Amplitude, pitch and voiced/unvoiced parameters then con¬ trol a group of output filters. The cepstrum vocoder uses a Fourier transform to separate the vocal tract resonances from the vocal cord vibrations, while the formant vocoder involves parameters relating to the position of the peaks of the speech frequency spectrum. The advantage of these three frequency based systems is that they have a lower data rate requirement than the waveform coding systems. LINEAR PREDICTIVE CODING Computer simulations of the various speech digitization methods have generally shown that the linear predictive meth¬ ods of digitizing speech can produce speech having greater voice naturalness than the previous vocoder systems. Linear predictive coding, LPC, is a time-based vocoder method that can produce high quality speech with a data rate that is less than 2400 bits per second. LPC uses a recursive filter as a model of the human vocal tract. The basic elements of an LPC voice synthesizer system are shown in the block dia¬ gram of Figure 1. The multistage digital filter receives an ex¬ citation signal which consists of random pulse sequences representing unvoiced sound or periodic pulses representing voiced sound. As the number of stages in this filter is increased, the speech generated by the system becomes more and more natural sounding. For the TMC 0280 speech synthesizer chip, the digital filter has 10 stages. Tenth order LPC or LPC-10 72 INTERFACE ACE JUNE 1979 can synthesize speech which is virtually indistinguishable from actual human speech. With a low data rate of 2400 bits per second, the LPC-10 speech analysis/synthesis technique is currently being used for voice communications. The TMC0350 phrase ROM contains addresses of coded digital data stored in the parameter ROM in the TMC0280 speech synthesis chip. These parameters, which relate to pitch, amplitude, voiced or unvoiced sounds, and filter co¬ efficients, kj through k 10 , are necessary to model the human vocal tract. Pitch and voiced/unvoiced parameters deter¬ mine whether random or periodic data is supplied to the digital filter. The amplitude or volume of the output signal is determined by an amplification factor that adjusts the con¬ stant amplitude signal from the excitation sources. In modeling the human vocal tract, the excitation signal mimics the function of the vocal cords while the digital filter represents the vocal tract which filters the sounds produced by the vocal cords. The filter coefficients, ki through k 10 , may be thought of as representing the shape or resonances of the vocal tract during speech. Since the vocal tract is con¬ stantly changing to produce different sounds, the filter coeffi¬ cients are also changed or updated periodically. The digital filter outputs a signal which is converted to a synthesized speech waveform by a digital-to-analog converter and this is then connected to a speaker. DATA STORAGE The speech synthesizer’s design is based on a 50 Hz frame rate, which is the rate at which new speech data is ob¬ tained from the phrase ROM. Twelve synthesis parameters, which include the ten filter coefficients, pitch, and amplitude, are stored in the ROM. In order to produce the highest quality speech with the lowest data storage requirements, each of the twelve parameters is allowed to have a certain maximum number of possible values as shown in Table 1. Parameter TABLE 1. Number of Number of Number Parameter Allowed Values Code Bits 0 Amplitude 15 4 1 Pitch 32 5 3 ki 32 5 4 k 2 32 5 5 k 3 16 4 6 k 4 16 4 7 ks 16 4 8 k 6 16 4 9 k? 16 4 10 ks 8 3 11 k 9 8 3 12 kio 8 3 total 48 bits A full set of parameters for each frame would require a data rate of 50 Hz times 48 bits or 2400 bits per second. Three special cases, in which a full frame is not necessary, allow the data rate to be considerably reduced. First, the vocal tract changes shape relatively slowly, so it is often possible to repeat previous coefficients. To accomplish this, a control bit (parameter number 2) is added to each frame. If the control bit is a logic one, no more data is accessed from the phrase ROM and the previous kt through k 10 coefficients are retained. Second, unvoiced speech requires fewer coefficients. When the pitch parameter is zero, corresponding to unvoiced sound, only k ^ through k 4 are stored in the ROM. Third, natural speech has some pauses between words or syllables. To indicate these pauses, the amplitude parameter is made equal to zero and no other data is required. The combined effect of these three special cases reduces the average data rate to only 1500 bits per second. This low data requirement allows the 131 kbit ROM to store enough data to synthesize approximately 165 words. THE MULTISTAGE DIGITAL FILTER The ten stage digital filter, shown in simplified form in Figure 2, has the excitation signal, U(i), applied at the input of stage ten and produces digital data representing synthe¬ sized speech at the output of stage one. Each stage of the filter contains two multipliers, two adders, and a delay circuit, which consists of a shift register. The timing of events within the filter relates to the 10 kHz sample rate used in sampling the original speech. Within the 100 ^s sample period, each stage of the filter must perform two multiplications and two additions for each digital sample to be generated. The calculations performed in each stage are represented by the illustration of stage 9 in Figure 3. The first equation shows that the filter coefficient, k 9 , is multiplied by the output of the delay circuit and the resulting product is then sub¬ tracted from the input, Y 10 (i), to yield the output, Y 9 (i). This output is used as part of the feedback to stage ten. To obtain the feedback, Y 9 (i) is multiplied by k 9 and the product is sub¬ tracted from the output of the delay circuit, b 9 (i-1), to yield b 10 (i). Equations for the various stages are summarized in Table 2. JUNE 1979 INTERFACE ACE 73 indicated by a subscript while the relative time period in which the data is generated is indicated by the number in parentheses. The timing of the events within the filter is complicated by the fact that an add operation takes one time period to com¬ plete while a multiply operation requires eight time periods or 40 microseconds. In order to insure that a calculation result will be available at the output of each stage of the filter every time period, a pipeline multiplier is used to initiate one multiply operation every time period. If only one add opera¬ tion and one multiply operation are to be initiated during any 5 fis time period, a delay period must be inserted between an add operation and the subsequent multiply operation. This is the reason for the delay circuit shown in Figure 2. With the proper timing, operations in all the stages of the digital filter are performed concurrently and appropriate intermediate results become available as needed. The lower output from stage 10 of the digital filter is the intermediate result, b n , which is not used in the operation of the filter. Thus, in this stage, one multiplier and one adder could be deleted. The multiplier, however, is used to control the amplitude of the output signal. The excitation signal for the production of voiced or unvoiced is scaled by an amplifi¬ cation factor, A. During the time that the product, k 10 • Y 10 (i), (which is part of b n ) would otherwise be calculated, the amplification factor is multiplied by the excitation data. Table 3. Multiplier One Time Period Multiplier Inputs from k stack Data Bus Output & One Adder Input Other Adder Input Period Adder Delay Output Output Shift Register Output Y Latch Output Ti -k 2 b 2 (i-i> -k.o*bio(i-1) Up) b 2 0-1) b 3 p-1) b„p-1) Y.P-1) t 2 -k. b.0-1) -k 9 *b 9 (i-1) Y 10 O) Y.oP) bjp-1) b.oP-D • t 3 A E(i +1) -k.*b,(M) Y 9 p) Y 9 p) Y 10 P) • • t 4 k, Y,0) -k 7 *b 7 (i-1) YsP) YsP) Y*p) • • t 5 ks Ys(i) -k 6 »b 6 (i-1) Y 7 (i) Y 7 p) YsP) • • t 6 k 7 YtO) -k 5 *b s (i-1) Yjp) YsP) Y»p) • • T 7 ks YsO) -k 4 *b 4 (i-1) Yap) YsP) YsP) • • t 8 k 5 Y 5C1) -k 3 *b 3 (i-l) Y 4 p) Y«P) Y«P) • • t 9 k 4 Y 4 0) -k 2 *b 2 (i-1) Yap) Yjp) YaP) • • T.o k 3 Y 3 (i) -k.*b|(i-1) Y 2 p) Y a P) Y 3 p) • • Tn k 2 Y 2 (i) U(i+1) 0 Y,P) Y 2 p) b.oP-1) • T,2 ki Y|(i) k 9 «Y 9 (i) b 9 p-1) Up+1) Y.p) bjp-t) • Tij -kio bio(0 ks«Y a (i) bsP-1) b.oP) Up + 1) baP-1) • T 14 -k. b 9 (o k 7 *Y 7 (i) b 7 p-1) b 9 p) bio(i) baP-D • T.s -ks bs(i) ks*Y 6 (i) baP-1) M) b»P) bsP-D • Th -k 7 b 7 (i) k s «Y 5 (l) bsO-D baP) baP) b 5 p-1) • T,7 -k 6 bs(i) k 4 *Y 4 (i) b 4 p-1) baP) . baP) baP-1) • T.S -kj b 5 (i) k 3 *Y 3 (i) b»0-l) bs(0 b«P) b 3 p-1) • T„ -k 4 b 4 (i) k 2 • Y 2 {1) b 2 p-1) b 4 p) baP) b 2 p-1) • T 2 0 —1*3 b 3 (i) k,*Y,p) b,p-1) b 3 P) b 4 (i) b.p-1) Y.P-1) T, -k 2 b 2 (i) -kio*b.o(i) Up+t) b 2 (i) b 3 (i) Up + 1) Y.P) Table 2. i Stage Equation 10 Y.op) = Y.,p) - k, 0 b( 0 p-1) 9 Y,p) = Y 10 p) - k 9 b 9 (i-1) b.oP) = b 9 p-1) + k,Y,p) 8 YsP) = Y,p) - kgbgp-1) ,bjp) = bgp-1) + kgYgp) • • • • • • 1 Y.p) = Y 2 p) - kgb.p-l) b 2 p) = b.p-1) + k.Y, b.p) “ Y.p), which is the output of the filter. In the operation of the filter, the 100 /us sample period is divided into 20 5f*s time periods, T ^ through T 2 o- The opera¬ tions in each of the 10 stages cannot be accomplished simultaneously since Y 10 must be calculated before Y 9 , which must be calculated before Y 8 , etc. during any given time period. Also, the b 10 through b ^ data must be calculated during the same time period and stored in the delay circuit of each stage for use during the next time period. In Figure 3 and Table 2, the stage in which the Y and b data are used is 74 INTERFACE ACE JUNE 1979 DIGITAL FILTER OPERATION The equivalent of a 10 stage digital filter, when imple¬ mented in MOS large scale integrated circuitry, has the form illustrated by the block diagram in Figure 4. The filter coeffi¬ cients, kj through k t o, and the amplification factor are stored in the k-stack. The k-stack consists of 10 shift registers each of which has 10 stages so that each of the 10 coefficients can be circulated for 10 time periods. This insures that the cor¬ rect coefficients for each multiply operation are always avail¬ able. The pipeline multiplier performs the multiplications for each stage of the filter. The multiplier receives kt through k 10 and A from the k-stack and it receives Y and b data from other parts of the filter via the data bus. The multiplier initi¬ ates a new multiply operation once every five microseconds. Since each of these operations requires 40 microseconds to complete, the multiplier has eight stages. Digital multipli¬ cation is accomplished by a series of addition and shift opera¬ tions as the data propagates through the eight stages. Since a new multiplication operation is initiated every five microsec¬ onds, there are eight multiplications in progress at any given time, and the multiplier completes one operation each 5 ^s time period. The various intermediate results occurring in the different parts of the digital filter are listed in Table 3. The transfer of data from one part of the filter to another is controlled by logic switches which are illustrated by mechanical switches in Figure 4. The multiplier receives two inputs; one is from the k stack while the other varies according to which of the switches S2, S3, or S4 is closed. At time period T1, the mutliplier receives an input from the adder/subtractor circuit via switch S2. At time period T2, S4 is closed and the multiplier receives an input from the Y latch. At time period T3, the multiplier receives the excitation signal, E(i + 1), via switch SI. During time periods T4 through T12, the multiplier’s in¬ put is the output of the one period delay circuit and from T13 through T1 of the next cycle, the multiplier’s input is the output of the adder/subtractor circuit. The adder/subtractor circuit receives two inputs: one from the multiplier and, depending on the time period, one from switch S5, S6 or S7. During time periods T2 through T10, the adder receives its own output as an input via switch S5. From T12 through T19, switch S6 connects the output of the shift register to the input of the adder; and at time period T20, switch S7 connects the output of the Y latch to the add¬ er. The output of the adder is 14 parallel bits which is de¬ layed one time period and then applied to the shift register. The shift register circuitry actually consists of 14 shift regis¬ ters to accommodate the 14-bit wide data from the one period delay circuit. Each shift register consists of eight stages which provide eight time periods of delay required for the multiply operation. The synthesized speech output of the filter is the output of the shift register at time period T20. The Y latch stores this output for one cycle so that it is available as an input to the adder via switch S7. THE SPEECH SYNTHESIZER CHIP In addition to the digital filter, the TMC0280 speech syn¬ thesizer chip contains a parameter storage RAM, a decoding ROM, excitation logic, interpolation logic, timing logic, in¬ terface circuitry, and a digital-to-analog converter. The excitation to the digital filter may take two forms. Sounds which have a definite pitch, such as vowel sound or voiced fricatives (Z, B, D, etc.) require a periodic input func¬ tion. Unvoiced sounds (S, F, T, Sh, etc.) require a white noise source. For voiced sounds, a 5 millisecond chirp is ap¬ plied to the input of the filter at a time interval equal to the pitch period. The chirp is stored in a 50 x 8 chirp ROM which is addressed by the pitch period counter. During a voicing transition and prior to the start of speech, special pro¬ visions are made to zero the pitch counter. For unvoiced sounds, the excitation has a constant magnitude of 0.5 and a random sign, which is provided by a 13-bit shift counter with three Exclusive OR feedback circuits. In the operation of the system, speech parameters are transferred from the TMC0350 phrase ROM to the speech synthesizer where they are stored. One complete set of 12 parameters, which are used as target values during parameter interpolation, is stored in the parameter RAM. This RAM has a variable word length in order to accommodate the speech parameters; as shown in Table 1, the pitch parameter re¬ quires five code bits, while the filter coefficients may have three, four or five bits. Data is supplied to the RAM via the parallel outputs of a serial shift register which accepts data from the phrase ROM. The parameter RAM outputs are used as inputs to the parameter ROM. The frame of data stored in the parameter RAM consists of 12 codes or pointers which select 10-bit parameter values from a 216 x 10 bit ROM. Each speech parameter in this synthesizer system requires its own lookup table, so the para¬ meter ROM is organized as 12 ROMs of 2 n bits where n is the number of code bits for a given parameter. The 10-bit parallel output of the ROM is applied to the inputs of a par- allel-to-serial converter, which is loaded according to timing signals generated by the interpolation logic. In most cases, it is desirable for the speech parameters to vary smoothly from frame to frame rather than to be updated only at the 20 ms frame period. The TMC0280 chip con¬ tains logic circuitry to do an approximately linear interpola¬ tion of all 12 parameters at eight points within the frame or once each 2.5 ms. The parameters are interpolated one at a time as selected by the parameter counter. To conserve area and eliminate errors, the interpolation logic calculates a new parameter from the present value and the next or target value stored in code in the parameter RAM. As the speech parameters are decoded and interpolated, they are used in the operation of the digital filter. The output of this filter must be converted to analog form before being connected to a speaker. The chip contains an 8-bit digital-to- analog converter with an accuracy of one half the least signi¬ ficant bit. The circuit also contains low-pass filtering and 100-mW push-pull speaker drivers, which eliminate the need for an external amplifier. During the operation of the circuit, the output of the filter (Y1) is updated every 100 jus. The direction of current flow in the 100-ohm speaker is determined by the sign of Y1, which accomplishes the D-to- A conversion for the most significant bit. Filtering is provided to eliminate effects of the 10-kHz sample rate and to de- emphasize the output signal in compensation for the pre¬ emphasis applied in the analysis of the original speech. CONCLUSION The design goals for the TMC0280 speech synthesizer chip included the capability to produce high quality speech at a low data rate, low system cost with minimum external com¬ ponents, use of a low-cost fabrication process such as metal gate PM05, flexibility to process data internally,and a simple external interface. All of these goals have been achieved and while talking computers are not yet a household item, this speech synthesizer chip brings us one step closer.D JUNE 1979 INTERFACE AGE 75 S-100 Memory for peanuts, Artec has slashed its prices! 32K for $620,16K for $315-Assembled. No matter what your needs, Artec has a memory board for you. You can start with 8K of Tl 4044 memory on a 5.3" x 10" card and work your way up to a full 32K in 8K increments. The access time is only 250ns. The memory is addressable in 4K blocks and is perfect for SI00 and battery aug¬ mented systems. The Artec 32K Expand¬ able Memory has four regulator positions, bank select and plenty of room for all necessary support hardware. It uses less than 1 amp per 8K of memory (3.9 for 32K), and only +8 volts. BOARD_ KIT ASSEMBLED 8K Memo ry_ $150 _ $175 16K Memory $26 5_ $315 24K Memory $400 $475 32K Memory $520$620 Add-ons: $135—Chips alone: $7.00 GP100—$20.00 Maximum design versatility along with standard address decoding and buffer¬ ing for SI 00 sys¬ tems. Room for 32 uncommitted 16 pin IC’s, 5 bus buffer & decoding chips, 1 DIP address select switch, a 5 volt reg¬ ulator and more. High quality FR4 epoxy. All holes plated through. Reflowed solder circuitry. WW100—$20.00 A wire wrap bread¬ board, similar to the GP100. Allows wire wrap of all sizes of sockets in any sizes of sockets in any com¬ bination. An extra regulator position for multiple voltage appli¬ cations. Contact finger pads arranged for easy pin insertion. Buffering Kit—$12.65 All the necessary components to bootstrap any Artec board into your system. Buffering I/O, DIP switch heat sinks and every support chip you need. TO ORDER: Use your Mastercharge or BankAmericard. Or just send along a money order. We can accept only U.S. currency. Please include $3 handling on all orders. California residents add 6.0% sales tax. FOR MORE INFORMATION: For more in¬ formation about these or any of Artec’s com¬ plete line of circuit boards or for either indus¬ trial or personal use, please call or write. A catalog will gladly be sent. i Please send me: (Include Quantity) J_32 K _GP100 _WW100 i □ I’ve enclosed a money order. i □ Mastercharge No._ I Exp. Date ! □ BankAmericard No_ Exp. Date I Name___ * Address _ • City-State-Zip_ J Calif. Res.add 6 % Sales Tax $3.00 Handling End. 4RT€C€LeCTROnia,IMC. 605 Old County Rd.,San Carlos, CA 94070 (415) 592-2740 76 INTERFACE ACE CIRCLE INQUIRY NO. 4 JUNE 1979 BUSINESS SECTION Software Design for Small Business Systems -By Robert C. Mooney " The two major problems encountered in custom software generation are: the user does not know, is not sure, or can* not specify what he wants; and programmers often begin coding of the program immaturely without adequate plan¬ ning, or get unnecessarily involved in details. Although software design is referred to as the “fun� job, anyone who has done a large amount of programming will know that it is not always as easy as it seems. Once the desired hardware and systems software have been selected, we may proceed with the assumption that the user has at least a general idea of what goals and objectives he wishes to implement by means of the computer. These system objectives should be considered in light of the power of the hardware. Costly extravagances should be eliminated and decisions made as to what must be implemented imme¬ diately and what expected improvements will come later. It is important that the system operate in a manner that the end user can understand and is familiar to him. The end user is the one who must operate and live with the system, not the programmer. DEFINE AVAILABLE INPUTS AND DESIRED OUTPUTS The inputs which are to be available to the system must be outlined and defined. If appropriate forms are currently in use, samples should be obtained to aid in the definition of in¬ puts. If there are no forms available, the general format of in¬ put data should be drafted in interaction with the user. If there is a manual accounting system in operation, begin with the operation of the manual system. Even if the existing system has deficiencies, it will at least provide a basis for the programmer’s understanding of the operation. Decide what improvements need to be made, but do not attempt to make drastic reorganizations all at once. What printed reports are desired? What are the screen dis¬ plays desired? The desired outputs must be determined as completely as possible so that the necessary data items may be incorporated into the design of the file structure. FILE STRUCTURE DESIGN The general file requirements will become clear as the in¬ puts and outputs are finalized. When dealing with the small to medium sized system, it is necessary to precisely define re¬ quired file sizes and record sizes within the files. This is be¬ cause required files (including program files) must be organized on a finite amount of mass memory. Most systems on the market today employ the magnetic disk as the primary mass storage media, and the required file sizes will determine what computer functions may be on-line simultaneously and what functions will require the exchange of the disk media. If the disk is hard sectored or if utilization of random access files is made, the sector size or logical block size of the related disk drive and DOS should be considered. At least a reasonable effort should be made to cause each record to oc¬ cupy an integral number of blocks or sectors; or for small records, to ensure that a block will contain an integral num¬ ber of records with a minimal waste of storage space. For example, if there are 512 bytes in a block and the rec¬ ord size is 22 bytes, there will be 23 records in each block with six bytes remaining unused at the end of each block. File structure tables are the most important form of docu¬ mentation for both the coding of the program and for future software modifications, especially when the coding is to be done by more than one person. A file table shows each of the data items contained in a record of the file and the data type and estimated length in bytes of each data item. In order to obtain the required output reports, all required data must be stored in the logical file. It is often a good idea to store as much of the input data as possible even though there is no immediate requirement, storage permitting, of course. AN EXAMPLE As an example of program design, we may consider the implementation of a simple purchase order system. The out¬ comes expected from the purchase order system are as follows: •To maintain strict control and recordkeeping of payments made to vendors. •To provide for a numerical listing of purchase orders show¬ ing the total amount owing. •To provide for a purchase ledger file showing all expendi¬ tures for year-to-date and for the current period by ledger account number. What are the given inputs? Obviously, there is input of purchase orders. We visit the user’s site and obtain copies of his purchase order, or establish preliminary designs for the purchase order form. Another input which will be required is input to a checks file for payments to vendors. It may be desirable to review the purchase order file, determining which amount will be paid now and which amounts will be deferred. Or it may be desir¬ able to enter the amounts to pay directly by the vendor or purchase order identification. The desired outputs will be the Open Purchase Order Register , the Disbursements Journal which shows all pay¬ ments during the period, and the Expense Ledger which shows all purchases for the current period and year-to-date by ledger account. We then determine that there are four files which will be re¬ quired: •Purchase order file •Checks or disbursements file •Ledger file •Paid purchase order or expense history detail file Adjustments may have to be made with the expense history detail file. If the disk or mass storage facilities of the system are limited, the expense histories may be printed in hard-copy form periodically and the pages filed manually. If an accounts payable system is incorporated, it may be desir¬ able to list all expenditures by each vendor identification. In a system with moderate disk capacity it should be possible to maintain a complete year’s history of expenses. We see that the possible program functions which will be required will be: •Enter purchase orders •Verify goods received •Enter payments (checks) •Print checks •Open purchase order report •Disbursements journal print •Expense ledger listing JUNE 1979 INTERFACE ACE 77 BUSINESS SECTION If the system is to be menu structured, we now have the preliminary'menu display for the purchase order system. Then, beginning with the Purchase Order file, we create a file structure table as follows: Purchase Order File Description P.O. number Invoice number Originated by Date of P.O. Approved by Goods received (Y/N) Vendor name and address Description of purchase Ledger account number Amount paid Amount outstanding Discount amount Terms Total bytes Maximum Length 7 7 3 6 3 1 90* 20 7 7 7 7 20 185 This purchase order file requires 185 bytes for each P.O. item on file. Since the disk drive and DOS of the target system is structured in 256 byte blocks for random files, (which may or may not be the case depending upon the ac¬ tual hardware used) this leaves 256 - 185 = 71 bytes wasted at the end of each block. In order to make more efficient use of this disk space, the decision is made to eliminate the vendor name and address* from the P.O. file, inserting instead the vendor name (30 bytes) and leaving the vendor address to be found from a vendor file or mailing label program to be added to the system. This reduces the length of the purchase order record to 125 bytes per P.O. Since the DOS for our system will in¬ sert two records into one 256 byte block, the 6 unused bytes in each block may be tolerated. OPTIMIZATION Of course, a reasonable effort should be made to make the software system as efficient as possible. The programmer is cau¬ tioned, however, to refrain from spending too much time on software optimization at this stage. Invariably changes will be discovered that must be made before the job is done, and some of the most elaborate schemes may have to be redone anyway. It is more important to strive for working software and keeping things simple. The simpler the design, the easier it will be for the coding of the program and the subsequent debugging of the software. You will find eventually that the system will become complicated all by itself because even the simplest form of real life is intricate. Avoid wasting time on unnecessary extravagances. The cost of coding some complicated enhancements may out¬ weigh the benefits to be achieved. Also remember that the software system must be easily understood by the personnel who operate it. It is better to have a few simple programs which are frequently used than an expensive myriad of seldom used software. Note that the example P.O. file contains a flag to be in¬ serted as Y(yes) to verify that the ordered goods have been received. It may be desired to enter the vendor’s invoice number in the field provided when the items are received, leaving the invoice number equal to zero or null to indicate that the goods have not yet been received. This will further reduce the P.O. record length by one byte. The P.O. file also contains the facility for entering an ap¬ plicable discount amount for the P.O. and two fields for amount paid and amount outstanding. The paid and out¬ standing items will provide for the possibility of making par¬ tial payments. The addition of amount paid and amount out¬ standing and discount amount (-) gives the total amount of the P.O. A similar design is used for the ledger file: Ledger File Description Maximum Length Ledger account number 7 Description 30 Month to date amount 8 Year to date amount 8 Annual budget amount 8 Total bytes 61 This provides for four ledger account entries per block with 12 bytes unused. The amount items are each 8 bytes in length. This provides for a dollar amount of $999,999.99 (if stored without the punctuation) or up to one million dollars, which should be sufficient for most applications. The checks (disbursements) file, and the history detail file then follow: Detail File Description Ledger account P.O. number Check number Date Vendor name Amount Total bytes* Maximum Length 7 7 7 6 30 _7_ 64 And finally, the file requirements of the purchase order system is determined as follows: Purchase order file: 128 bytes times 50 P.O.’s = 6400 Checks file: 64 bytes times 50 checks = 3200 Ledger file: 64 bytes times 50 accounts = 3200 History detail file: 64 bytes times 600 items = 38400* File storage bytes total: 51200 This provides for up to 50 P.O.’s and checks per month with a complete year’s disbursements detail history stored on the disk and printed out and cleared at year’s end. There is also ample space remaining on the disk for program storage, and spares for last minute changes. At a later date a vendor file and another history detail file may be included by vendor number as well as by ledger account number on the same disk. Now the program functions may be outlined in more detail. The programs which will be required are: •Enter Purchase Orders •P.O. inquiry to verify goods received, O.K. to pay, etc. •Review open P.O.’s entering amount to pay, generating checks file •Print checks •Print disbursements journal (check register) removing paid P.O.’s from open P.O. file, entering checks to detail his¬ tory file •Print open purchase order report • Ledger account inquiry •Expense ledger listing The first two items may possibly be combined and the fifth item may be broken down into two separate phases to pro- *By the use of ASCII or radix 50 packing techniques, the detail history file item may be reduced to a length of 32 bytes each, thus doubling the number of transactions which may be stored. However, this will significantly increase program storage requirements and program development time and is not recommended unless disk storage is at a severe premium. 78 INTERFACE ACE JUNE 1979 BUSINESS SECTION vide for verification of the checks file before the updates are made to the open P.O. file and the detail history file. A pro¬ gram to print the detail history file (probably in ledger ac¬ count number order) and to clear the transactions from the history file and zero out the year-to-date totals in preparation for the next year will be required. The next project is to determine the finalization of report format specifications to ensure that all required data items will be entered and stored in the proper files. DOCUMENTATION The generation of good documentation is essential to the programming process. The principles of operation of the software should be considered very carefully and everything should be written down. Even if you are to be the sole pro¬ grammer on the project, you will often forget how the pro¬ gram works if program changes are required months or even years later. Do not attempt to begin the actual coding of the program until the design has been considered and reconsidered very carefully. The preliminary documentation generated at this stage will greatly ease the actual coding of the program and future program changes, especially if multiple programmers will be working on the job. CODING THE PROGRAM If the system design has been done properly, the actual coding of the program is the easiest part of the job. It is im¬ portant to use accepted good programming techniques. Simple straight-line programs are easier to debug and main¬ tain than “tricky� programming. Commonly used logical procedures should be organized into subroutines or even separate program overlays. It is not possible to take the file structure tables devised during the software design phase and fill in the actual variable names to be used in the program code. If at all pos¬ sible, the same variable names should be used for the same data items throughout the entire software to avoid confusion. In some systems the length in bytes of each data item stored on disk is very critical. The programmer must ensure that this length is controlled to guarantee compatiblity of data files generated by each program. Try to stick to your original plan when coding the pro¬ gram. You will only confuse yourself by trying to change the designs of the software while doing the coding. If you must make changes in the initial program design, each change must be considered carefully to determine the full extent and effects of the change. Remember to keep your documenta¬ tion up to date. The best way to do this is to change the documentation first. Use remark (comment) statements in the programs as much as available memory permits, and again, do not spend excessive time making the programs optimal; you will get in¬ volved in details and lose sight of the general plan of the pro¬ gram. First the program must be operative, then gradually the inefficiencies may be weeded out. In the simple purchase order system, the addition of an ac¬ counts payable system with vendor files at some future date has been anticipated. Therefore, it is necessary to bear in mind that the vendor name and address in the P.O. file may be replaced by the vendor number only, with the vendor name being determined by reference to the vendor file. To facilitate this future link to the accounts payable system, remark (comment) statements should be inserted in the pur¬ chase order programs to indicate the location of anticipated reference to the accounts payable files. DEBUGGING AND SYSTEM INTEGRATION If the programming was structured into logical modules, the checkout phase will be much easier. Program segments and subroutines may be tested independently as the code is written. During the testing phase, the program should pro¬ vide for the printout or display of critical data as the program operates. Breakpoints or halts may be temporarily inserted into the program so that its operation may be verified at critical points. Also, cross-checks may be coded into the pro¬ gram so that some errors are automatically detected. A testing curriculum should be established'so as to check the entire software as completely as possible. For large pro¬ grams it may be desirable to document a detailed acceptance testing procedure. The final phase of program checkout in¬ cludes the complete verification of the software with live user data. This is essential for proper programming because the problems which may arise in real life operation can never be approximated by hypothetical test cases. As the debugging phase nears completion and the pro¬ gram appears operative, the system integration phase may begin. Operations manuals and documentation on all phases of the system must be drafted and operator training initiated. Some installations may require several levels of documenta¬ tion: beginning user, experienced user, and detailed software descriptions for future software changes. Good documenta¬ tion is essential so that someone unfamiliar with the system will be able to operate it if necessary. Also, you as the pro¬ grammer may avoid being constantly disturbed by unneces¬ sary questions if adequate documentation is provided. ADDITIONAL SUGGESTIONS FOR BETTER PROGRAMMING All data inputs should be checked by the computer for pro¬ per data type (alpha or numeric) and proper length of data and immediate operator feedback generated in case of error. The operator should be given the opportunity to check in¬ put transactions data and acknowledge that all items are cor¬ rect before updates are made in the files. Audit listings of all transactions should be generated and kept on file for backup reference and as a constant record of system operation. If the same variable names are used for the same data items in all programs, common subroutines may be used in different programs with no confusion. A file maintenance program should be provided for each file in the system. This program should include the capability of listing the entire file on the printer, display of the file on the display screen, or to display an individual item of the file to make corrections in the record, delete records from the file, or add new records to the file. The operator should be provided the means of halting the operation of any program at any time and returning to the mas¬ ter menu selector without having to re-boot the entire system. FINAL NOTES It is generally accepted that all large programs contain minor bugs which may show up periodically. Often the in¬ convenience caused is so trivial that it is not worth the time required to locate and correct it. The process of software development may continue over a long period of many tests and adjustments, and software enhancements sometimes continue to be developed over a period of years. Users and programmers should consider all proposed software changes carefully and avoid making spurious changes until all possible aspects have been considered. Often it may be necessary to retest and recertify the entire software after mak¬ ing a seemingly small change. BACKUP PROCEDURES Backup copies of both data and program files should be made on a regular basis. A man-year investment in software should be well worth the small cost of backup copies. It is often desirable to maintain a third backup copy of the system at a secure site separate from the primary computer installation.□ JUNE 1979 INTERFACE ACE 79 By Jim Schreier, Adding an addition or remodeling is much less expensive than moving into a larger home. Lumber and building materials are expensive, but sharp shoppers can reduce the sting of inflation. This program can help. It was designed to show that those with microcomputers can save expense and energy with accuracy either as a businessman or consumer. LUMBER calculates board footage, square footage, cost per both 100 and each of 35 items; figures respective costs, adds sales tax and dray and gives a net total. The program is presented in the format of a lumber and materialman’s bid, similar to bids lumberyards give on house or remodeling packages. Since the format is general in nature, even Associate Editor calculating the board footage and cost of home woodwork¬ ing projects is as fast as entering the information at a ter¬ minal. Other lumberyards may wish to adapt this format to their needs, while contractors will be able to double check bids for accuracy. Standard arithmetic procedures utilized by most lumberyards are used within the program. PROGRAM LAYOUT LUMBER is about 5400 bytes and is written in SWTPC’s standard 8K BASIC. Effort was made to use only a mini¬ mum of the SWTPC BASIC features to allow hassle-free con¬ version to other string-handling BASICs. About 2500 bytes 80 INTERFACE ACE JUNE 1979 BUSINESS SECTION are reserved in the DIM statements with string length set to 28 (Line 70). If your BASIC does not have the capacity of setting string lengths, additional RAM may be necessary. Formatting is based on the SWTPC CT-64 terminal system using 16 line x 64 columns. Two clear screen and home up commands are used at lines 40 and 250. These lines cur¬ rently call for a control Z and control B. Alter these lines to meet any specific needs. LUMBER has three divisions: Introduction, printout and calculations. Line 70 formats maximum column length (LINE=120) as well as 2 digits to the right of the decimal point (DIGITS = 2). Both statements are optional. DIGITS = 2 may be formatted with PRINT USING statements found in other BASICs. Line 60 calls for FUNCTION A to format digits in justified columns. To use LUMBER without the bid headings, remove lines 80-130, 260-390 and 660-780. The printout occurs from lines 400-790. You may wish to direct this section to a printer. It is currently programmed on¬ ly to be displayed on the CRT. This section may be adapted to store the bid information on floppy disk as well. The five calculations are found at lines 800-1830. Which is cheaper, 40 2x4 #2 studs at $1.89 each or at $250 per M board feet?* The cost per each is simple multi¬ plication. Actually, so is board footage. The purpose of board footage is to reduce any given lumber to a constant one foot of material one inch thick. Although a century ago lumber was a full inch thick, today it is reduced to about 3 A It is nevertheless calculated as if it were an inch thick. The formula for conversion is: BF = LxW x LF 12 with L being the length, W being the width and LF being the lineal or running footage. The LxW/12 produces a constant conversion factor. A 2x4 has the factor of .666666, a 1 xl 2 is 1.0, etc. Lineal footage is calculated by multiplying the number of pieces by the length. It should be noted that length is usually figured by rounding up from the nearest six inches. A 93%� 2x4 is figured as a full eight feet. LUMBER calculates each board footage ratio rather than using DATA/READ statements. This not only saves memory but allows for odd and more unusual board footage calculations. Traps are located in lines 900 and 910 to pre¬ vent entering a full sized tree by accident. The program balks at a 100x100 entry for good reason. Of course, the user has final say, however, as the program calls the unusual size to his attention. The operator must decide if the correct input has occurred. The trap is sprung if the ratio is less than .1666667 or greater than 8.0. Most lumber is sold in even length units. Lumber less than six feet, greater than 24 feet or in odd footage sizes is de¬ signed to spring another trap (Lines 860-880). The coding to determine odd or even footage is: IF X/2<>INT(X/2) THEN . . . Again, there is the option of overriding the length trap. Board footage (BF) and board footage through lineal foot¬ age (LF) will handle most lumber calculations, however, *The price per M is $22.35 cheaper, but don’t always assume that the price per M is cheaper This program puts you on th«> samp Ipvpl as a lumberyard so you can know for sure. additional calculations are necessary for other building materials. Paneling, sheetrock (also known as plasterboard, etc. depending on what part of the country you call home), insu¬ lation, plywood, hardboard, building board and particle board are calculated by square footage (SF). The two most common sizes are 4x8 and 4x12. The program allows for any figure and does not support traps. The main reason for this is because insulation comes in a variety of square foot- ages per roll. Framing hardware, nuts, bolts, screws and mouldings are generally sold in units of 100, (C). Most everything else is sold by single units (EA). With these five calculations identi¬ fied we may now start the bid. The program as written may be used directly by lumbermen and contractors to make or check bids. A bid usually consists of two parts, an estimate of materials to be used and a cost quote that will be guaranteed for a limited period of time. LUMBER assumes the estimate of materials has been made. PROGRAM OPERATION LUMBER starts by requesting the name, address and job location of the customer. This section may be defeated by hitting RETURN if desired. The first choices are to STOP the input which then prints the bid, TAX which allows a percent¬ age of sales tax and amount of dray to be entered or hit RETURN. Hitting RETURN allows you to select board footage (BF), board footage calculated from lineal footage (LF), square footage (SF), price per C (C) or each (EA). Failing to enter the correct code will cause the sequence to be repeated. After the printout the question CONTINUE is asked. This means should the program continue entering more informa¬ tion. Answering “N M concludes the program. The method of inputting data was selected to provide the user with flexibility. Any number up to 35 calculations, tax or dray amounts may be entered, examined and re-entered prior to making the final formatted output. Five questions are asked during the calculations: 1. NUMBER OF P.C. requests the actual full count which should be entered as a whole number. 2. SIDE 1, SIDE 2 requests the dimensions of each side of lumber separated by a comma. For example, a 2x4 is entered 2,4. 3. LENGTH requests the proper even length. 4. DESCRIPTION is a string that will identify the item. For example, you may wish to enter an item as 2x4x10 #2 HF S4S. 5. ENTER PRICE PER M requests the price per 1000 board or square feet. Lesser quality lumber ranges around $200/M while clear lumber may be around $2500/M. The program’s output includes a column for a line number, the number of pieces, the description, the calcu¬ lated footage and per unit basis, the price per unit basis and the total cost for the given item. Care should be taken so as to not confuse unit basis for a dissimilar unit price. To calcu¬ late the 40 2x4 #2 studs at $1.89 remember to select EA and not BF. This program was written for actual construction applica¬ tions. With minor alterations it should prove useful under dif¬ ferent types of lumber and building material applications. The straightforward program layout may be easily modified to any number of specific uses.D Program Listing Follows JUNE 1979 INTERFACE AGE 81 82 INTERFACE ACE JUNE 1979 PROGRAM LISTING 0610 REN LUMBER FIND MATERIAL BID V 2. 0 0640 FOR X9—1T03 : PRINTCHRt-<26> : NEXTX9 : PRINTCHR$<2> 0056 DIM H$<35>, G$<35>, I<35>, J<35>, K<35>, L<35> 0066 DEF FNA < J > —LEN< STRt < I NT (. J > > ) 0670 LINE- 120 : STRING-28 : DIGITS-2 : F'R I NT 0086 INPUT "MATERIAL ESTIMATE FOR WHOM"#At 0098 INPUT "ADDRESS",B* 0106 INPUT "ClTV, STATE AND ZIP",Ct 0110 INPUT "JOB ADDRESS", D$ 0126 INPUT "ESTIMATE BV: ", E$ 6130 INPUT "DATE",Ft 6146 INPUT "ENTER CSTOP 3 C TAX 3 OR HIT RETURN ", X* 0156 IF Xt^’STOP" GOTO 258 0160 IF X#—"TAX" GOTO 1770 6170 INPUT "UNIT: BF, LF, SF, C, EA ", Gt 0186 IF G$*"BF" THEN G-G+l:Gt(G>=G$:GOTO 866 0196 IF G$~"LF" THEN G-G+l:Gt-"BF":Gt-Gt:GOTO 1120 0206 IF Gt-"SF" THEN G-G+l:G$(G)~G$:GOTO 1356 0216 IF Gt~"C" THEN G=-G+l: Gt-G* : GOTO 1510 0226 IF Gt—"EA" THEN G-G+l:G$(G)~G$:GOTO 1640 0236 PRINT- TAB<5>; "> INPUT ERROR. PLEASE RE-ENTER" 0240 GOTO 140 6250 FOR X9~lT03:PRINTCHRt<26>:NEXTX9:PRINTCHRt<2> 0266 PRINT :PRINT 0276 PRINT TAB<15>; "JACK'S LUMBER AND MATERIALS" 6286 PRINT TAB< 18>; "ROUTE 1 BOX 123456" 0296 PRINT TAB<17>;"CANVON, ARIZONA 85989" 0316 PRINT :PRINT 0326 PRINT TAB<13>;"MATERIAL ESTIMATE AND PRICE QUOTE" 0336 FOR X9-1T033:PRINTTAB<13 >; " - "; :NEXTX9 0346 PRINT 6356 PRINT "NAME : "; TAB<10>; At; TAB<45>; Ft 0366 PRINT "ADDRESS: "; Bt 6370 PRINT TAB<16>;Ct 0396 PR I NT " JOB : "; Dt; TAB < 45 > j " EST. BV : "; Et 0460 PRINT :PRINT 6410 PRINT "LINE"; TAB<6>; "AMT"; TAB<15>; 6420 PRINT "DESCRIPTION";TAB<38>; "FT/UNIT"; TAB<49>; "PRICE" 0436 PRINT TAB<57>; "TOTAL" 0440 FOR X9-1T064 PRINT"-"; :NEXTX9:PRINT 0456 FOR X-1TOG 6460 DIGITS— 6 0470 PRINT X; 0480 PRINT TAB<9-FNA>); I ; TAB<10>;Ht; 0496 IF J=0 THEN 516 0956 LET J-- INT 0966 LET J < G >-J 6970 INPUT "ENTER PRICE PER M ", N6 6980 LET K < G >-N6 6990 LET L—< N6/1666 ) * < J > 1000 LET L-INT/166 1610 LET L-L 1620 LET T-T+L 1036 GOTO 140 1046 PRINT TAB<5>; "> INPUT ERROR. VOU HAVE ENTERED AN UNCOMMON" 1056 INPUT "SIZE. PLEASE VERIFV SIZE, C V 3 OR C N 3. ", Xt 1066 IF XtO"V" THEN 816 1076 RETURN 1680 PRINT TAB<5>; "> INPUT ERROR. VOU HAVE ENTERED AN UNCOMMON" 1696 INPUT "LENGTH. PLEASE VERIFV LENGTH, C V 3 OR C N 3. ", X* 1106 IF XtO"V" THEN 810 1116 RETURN 1126 REM BOARD FOOTAGE CACULATION THROUGH LINEAL FOOTAGE 1136 PRINT 1146 INPUT "LINEAL FEET ", 03 1150 LET I < G >-03 1166 INPUT "SIDE 1, SIDE 2 ",01,02 1176 LET 05-01+02/12 1186 IF 05C 166666 GOSUB 1316 1196 IF 05>8. 6 GOSUB 1310 1206 INPUT "DESCRIPTION ", Ht 1216 LET Ht-Ht 1220 INPUT "PRICE PER M ", K 1230 LET K < G > —K 1246 LET J-1NT<03+05+. 5> 1250 LET J < G > —J 1260 LET L—< K/1006 > * J 1276 LET L--1 NT < L+160+. 5>/100 1286 LET L-L 1296 LET T—T+L 1306 GOTO 140 1310 PRINT TAB<5>; "> INPUT ERROR. SIDE 1 AND SIDE 2 ARE" 1326 INPUT "UNUSUAL. PLEASE VERIFV l V 3 OR i N 3. ", X* 1336 IF XtO"V" THEN 1130 1346 RETURN 1350 REM SQUARE FOOTAGE 1366 PRINT 137© INPUT "NUMBER ", P3 1386 LET I< G >-P3 1396 INPUT "SIDE 1, SIDE 2 ", PI, P2 BUSINESS SECTION JUNE 1979 INTERFACE ACE 83 6500 0516 0520 0530 0540 6550 0560 0570 0580 0596 0600 0610 0620 0630 6640 0650 0660 6670 0680 0690 0760 0710 072© 073© 0740 0756 0766 0770 0786 6790 6800 0810 6820 6830 6840 6856 6860 0876 6880 6890 0900 0910 6920 0936 0946 PRINT TRBC42-FMR>>; J < X >; TAB < 43 >"7"; G$ C X >; GOTO 526 PRINT TAB<43>; G*CX>; DIGITS- 2 PRINT TAB<55-FNfl>>; KCX>; TABC63-FNACL>>; L NEXT X PRINT PRINT TAB<41>; "DRflV "; TABC63-FNA >; T2 PRINT TAB<41"TOTAL "; TAB<63-FNA C T > >; T LET M1-CM*T>7160 LET Ml—INT 7166 DIGITS- 0:PRINTTABC41>; "TAX "; M; "X"; DIGITS— 2:PRINTTAB C 63-FNA < Ml>>; Ml PRINT TAB<41 >; "TOTAL"; TABC55>; TAB<63-FNA >; Ml+T PRINT INPUT "CONTINUE ", X$ IF X*=-"V" THEN 146 PRINT :PRINT INPUT "SUBJECT TO REVIEW AFTER ", W$ INPUT "BEGIN SHIPPMENT BV ", US INPUT "COMPLETE SHIPPMENT BV ", VS PRINT TABC3>; "INPUT ERRORS ARE SUBJECT TO CORRECTION. IF OUR" PRINT "ESTIMATORS HAVE ARRIVED AT THE QUANITV OF MATERIAL SHOWN" PRINT "THEY HAVE MADE THE ESTIMATE TO THE BEST OF THEIR ABILITY. PRINT "JACK'S LUMBER CANNOT GUARANTEE THAT THE MATERIAL ESTIMATE* PRINT "WILL FIJLFULL YOUR REQUIREMENTS COMPLETELY. JACKS'S LUMBER’ PRINT "AGREES TO FURNISH MATERIAL LISTED AT THE UNIT PRICE" PRINT "SHOWN IF SHIPPMENT IS BEGUN BY ";US;" AND COMPLETED " PRINT "BY ";VS;". QUOTED PRICES ARE SUBJECT TO REVIEW " PRINT "AFTER "; WS; ". " END REM BOARD FOOTAGE CACULATION PRINT INPUT "NUMBER OF PC. ", N3 LET ICO ~N3 INPUT "SIDE 1, SIDE 2 ", Nl, N2 INPUT "LENGTH ", N4 IF N4/201 NT C N472 > GOSUB 1686 IF N4<6 GOSUB 1686 IF N4>24 GOSUB 1680 LET N5-N1*N2/12 IF N5<. 1666666 GOSUB 1646 IF N5>8. 6 GOSUB 104Ei INPUT "DESCRIPTION ", H^ LET HtCG)~H$ LET J~CN3*N4>*N5 1400 INPUT "DESCRIPTION ", H* 1410 LET H$(G)-H$ 1426 LET J-INTC*P3+. 5> 1436 LET J—J 1440 INPUT "PRICE PER M ", P6 1450 LET K < O-P6 1460 LET L-< P6/1000> *< J > 1476 LET L-INTCL*106+. 5>7100 1480 LET LCO-L 1490 LET T=-T+LCG> 1506 GOTO 140 1510 REM PER 100 1526 PRINT 1530 INPUT "TOTAL ", R1 1546 LET ICO -Ri 1556 INPUT "DESCRIPTION ", H * 1560 LET HSCG>^H* 1570 INPUT "PRICE PER C ", K 1580 LET K C O —K 1596 LET L- * C Rl> 1606 LET L- : I NT C L*160+. 5 >7166 1610 LET L -L 1626 LET T~T+LCO 1636 GOTO 140 1646 REM PER EACH 1656 PRINT 1666 INPUT "QUANITV ", I 1670 LET ICO-I 1680 INPUT "DESCRIPTION ", H$ 1696 LET H*CO--H* 1700 INPUT "UNIT PRICE ", K 1716 LET K —K 1720 LET S—I+K 1736 LET S=-INTCS*180+. 5>7166 1746 LET L < O —S 1756 LET T-T+L 1766 GOTO 146 1770 REM ENTER TAX & DRAY 1786 PRINT 1790 INPUT "ENTER X OF SALES TAX ",M I860 INPUT "DRAY: ", T2 1810 LET T-T+T2 1820 GOTO 256 1830 END BUSINESS SECTION SERVING SYSTEM SELLERS & DEVELOPERS t?lime tMicufitocetoot ne TSA SOFTWARE 39 WILLIAMS DR. MONROE CT 06468 203-261 -7963 NCC PERSONAL COMPUTING FESTIVAL BOOTH IA2 CIRCLE INQUIRY NO. 60 When you “talk�... “listen. With our new IEEE-488 Interface Our popular series 40 printers are now available with an IEEE-488 compatible interface or an industry standard Buffered Parallel interface. Both interfaces include a line buffer and software addressability. Featuring our famous commercial quality construction, the new models start at $585 in singles. Other models available are the low cost Parallel ASCII starting at $425 and an RS232/Current Loop interface begin¬ ning at $575. Generous OEM discounts are available. All models are complete stand-alone units with a 40 column impact dot matrix printer and a 64 character ASCII set. Includes power supply, casework and interface electronics. For more information write to: MPI 2099 West 2200 South. Salt Lake City. Utah 84119 or call (801) 973-6053 COMING NEXT MONTH As schools across the country close for the summer, INTERFACE AGE picks up some of the slack with a new monthly feature, The Learning Center. This section of the magazine will consist of a varie¬ ty of educational functions of micros, whether the student in the world of computing is a novice or an old hand. Subjects will range from scholastic uses to learning how the computer works to July’s feature on using the micro to com¬ municate with dolphins. The who, what and why of OEMs will also be examined next month. Along with the Original Equipment Manufacturers, the makers of com¬ puter system furniture will be in¬ vestigated. And the newest of the INTER¬ FACE AGE tutorials will begin. The Pascal Notebook, by Associate Editor Henry Davis, starts with some of the history and theory of this powerful new programming language. And last but not least, there are the usual columns, hardware and software features that make INTER¬ FACE AGE the magazine for the microcomputing enthusiast. 84 INTERFACE ACE CIRCLE INQUIRY NO. 39 JUNE 1979 Ik For your SWTP 6800 Computer... FLOPPY DISK SYSTEM the 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. PERGOM TM PERCOM DATA COMPANY, INC. Dept. I 211 N. Kirby Garland, Texas 75042 (214) 272-3421 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 .$17.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’ n w JUNE 1979 CIRCLE INQUIRY NO. 52 INTERFACE ACE 85 Megamouse. It’s mighty for its size. In fact, the Series 5000 is the first small system offering over a megabyte of integrated mini-floppy capacity. You can start off with just one 5-inch disk drive, if you prefer, then add two more as you need them. And you have a choice of either single-sided or double-sided drives, both double-density. What’s more, our memory management shatters the old 64K limitation myth. You can install better than 300K of RAM in either desk or desktop versions. The Series 5000 is made by v Industrial Micro Systems — built strong i like our name suggests. It features the same kind of 3 rugged reliability that goes into our big, ^ 8-inch disk drive enclosures and computer systems. And it incorporates the same kind of refined quality found on our mil quality memory boards. In the final analysis, the smallest thing about the Series 5000 is the price. Call or write today for full details. Dealer/ supplier inquiries answered promptly. INDUSTRIAL MICRO SYSTEMS,INC The great unknown. 628 N. Eckhoff St., Orange, CA 92668. (714) 633-0335. 86 INTERFACE AGE CIRCLE INQUIRY NO. 33 JUNE 1979 Interfacing A Numerical Processor Chip to the TRS-80 — Bv James The advantage of numerical processing chips is that they can perform number crunching rapidly using minimal mem¬ ory. Such a feature may not seem important to many TRS-80 users because this microcomputer comes with soft¬ ware math routines in the Level II BASIC on a ROM and these operate at speeds sufficient for most games and busi¬ ness applications. However, the widespread availability of this micro and the expected operating system support for more sophisticated applications suggests that there may be a significant number of scientific computations which could benefit from this numerical enhancement in a low-cost system. The concept presented here is to retain the ROM BASIC for I/O and formatting and then use the USR, PEEK and POKE commands to communicate with machine language routines which utilize the features of the numerical pro¬ cessor. As an example, the author uses microcomputers for teaching-exercises in physiology, including graphic simula¬ tions of the nerve action potential. To do this in high-level language required about two minutes for 256 computed points on the graph, a time so long that it discouraged stu¬ dent participation. However, this time was reduced to a very reasonable ten seconds by using BASIC to ask for stimulus parameters such as amplitude and duration, then transferring these values to a machine language routine which did the computations and plotting. This latter routine called the arithmetic processor functions from a set of short servicing subroutines in a logical sequence that paralleled what would have been written in BASIC commands. The AM-9511, made by Advanced Micro Devices, inter¬ faces easily with the Z-80 through the TRS-80 expansion- port edge connector and requires only a power supply, 2-MHz clock, and one decoding circuit to be implemented. In addition, this arithmetic processing unit (APU) uses a binary 4-byte floating point format that is very similar to that used in Level II BASIC, making it particularly easy to pass arguments between the two kinds of programs. This article describes the interfacing circuit, compares the two floating point formats involved, and gives a representative APU rou¬ tine. For simplicity and clarity the treatment will not include the error flags nor will it discuss interrupt information which is available from the APU. The reader should acquire detailed specifications and algorithm details from the manufacturer. This chip currently costs $200 in unit quantities but it ap¬ proaches the speed and accuracy of $10,000 floating-point processors used with minicomputers a decade ago. THE AM-9511 NUMERICAL PROCESSOR CHIP This 24-pin chip requires + 5 and + 12 volts at about 100 ma each and communicates with the TRS-80 through 8 bi¬ directional data bus pins. The remaining pins accept control signals to determine the direction of information transfer and also provide signals which could activate an interrupt when a computation has been completed. Data, commands, and er¬ ror information are transferred in 8-bit bytes between the data bus lines available on the TRS-80 rear connector and the data pins of the APU chips. I/O port commands from the Z-80 microprocessor in the TRS-80 can be used to execute these transfers. When a data output command is issued, the byte in the accumulator is pushed onto the top of a stack of E. Randall —.— —.- ■16 8-bit registers within the APU. Conversely, a data input command pops the top byte from the stack and transfers it to the accumulator. An appropriate output command from the Z-80 initiates the math operation coded in the accumulator using the stack bytes as operands. The arithmetic operations treat the bytes on the stack in one of three different ways: single precision integer math in¬ volves two successive bytes as a 16-bit integer; double preci¬ sion using four bytes as a 32-bit integer; and floating point using four bytes, one for the exponent and the signs of expo¬ nent and of mantissa, the remaining three bytes form a 24-bit mantissa normalized for a minimum value of 0.5. The opera¬ tions themselves include the four functions, a wide range of transcendental functions, and also means for conversion be¬ tween the three different forms. In use, the computer would push the bytes for operand(s) onto the stack; give the code for the desired math operation; test the status bit until the computation is completed; and then pop the result from the stack for use by the computer itself. The overall efficiency is increased if the operands for successive math operations can be left on the APU stack thus reducing the time required for pushing and popping and memory transfers. Figure 1 gives the decoding circuit and interconnections required to connect t he AM-9511 to the TRS-80 interface connector. The APU CHIP SELECT (pin 18) is enabled by decoding seven of the address lines (A1-A7) according to the port number being used, and also by either a Z-80 INPUT or OUTPUT command as signaled by the TRS-80 IN* or OUT* going low. The port number which would be selected in the schematic would enable the APU chip for the Z-80 commands: IN A,(64) IN A,(65) OUT (64),A OUT (65),A Note that for testing purposes these could be implemented by BASIC commands, though the overhead would defeat any timing advantages. The A0 line, connected directly to the APU pin 21, deter¬ mines whether the byte transferred on the data bus is a com¬ mand or data. Odd port numbers (65 in this case) have this JUNE 1979 INTERFACE ACE 87 pin high for Z-80 input and output commands and the data bus is treated as either an opcode or status information. Even port numbers, such as 64, indicate that data is to be either pushed onto or popped off of the APU internal stack. Two other pins determine the direction of these command/data transfers. When the Z*80 issues an out put the c onnector pin OUT 1 " goes low which places the APU WRITE (pin 19) low and the computer accumulator goes to the APU, either to start a specific math operation or to push the byte onto the stack. When an input command is issued the TRS-80 IN* signal brings the APU READ (pin 20) low and this sees that the byte transfer is from the APU to accumulator, either status and error information or a data byte popped from the stack. Table 1 outlines the different possible combinations of these signals. The author found that data, address, and con¬ trol lines were sufficiently buffered internally in the TRS-80 for direct connection to the APU and also to a UART used to drive a printer. FUNCTION LEVELS ACTIVATED BY AM-9511 C/D READ WRITE Z-80 BASIC TRS-80 A0 IN- OUT* COMMAND HI HI LO OUT (65),A OUT 65,C STATUS. ERRORS HI LO HI IN A,(65) S = INP(65) PUSH DATA LO HI LO OUT (64),A OUT 64,D POP DATA LO LO HI IN A,(64) D = INP(64) Table 1. Numerical Processor Control Signals Another signal, PAUSE on APU pin 17, is connected directly to the TRS-80 WAIT* terminal. This allows the APU to place the Z-80 in a wait state until information has been transferred from the internal registers to the data pins; when the pause goes high the Z-80 continues and places the byte into the ac¬ cumulator. The APU RESET (pin 22) should be pulled high to initialize that chip. This can be done by inverting the TRS-80 SYSRES* which goes low on a power up or when the reset button is pushed. Pin 23 of the 9511 requires a clock but since this does not have to be synchronous with the Z-80 any RC circuit near 2 MHz seems to function properly. The remaining pins are not involved in the present application. Once the interface has been wired, its function can be checked using the Level II input and output commands. The following routine will push the numbers 1 through 16 onto the APU stack and then pop them off and print them. FOR I-1 TO 16; OUT 64,1: NEXT I FOR 1 = 1 TO 16; PRINT INP(64);: NEXT I. The testing of math commands using OUT 65,X requires some knowledge of how the bytes on the APU stack are used 128 THEN POSITIVE EXP 70 Z = PEEK(VARPTR(X) + 3): IF Z = >128 THEN OUT 64,(ZAND 63) + (PEEK(VARPTR(X) + 2)AND128): GOTO 100 80 ’IF LAST BYTE <128 THEN NEC EXP; USE 7 BITS 90 OUT 64,Z + (PEEK(VARPTR(X) + 2)AND 128) 100 FOR 1 = 0 TO 3: PRINT INP(64): NEXT I Lines 30 and 40 push the least and middle significant bytes without modification. The APU format requires that the most significant byte of the mantissa always have the high bit set, this is done in line 50. Line 70 tests the BASIC exponent byte, if the high bit is set it keeps the mantissa sign and the low 6 bits of the exponent. The negative exponent, handled by line 90, keeps the low 7 bits and picks up the mantissa sign. MACHINE-LANGUAGE PROGRAMMING The format conversion subroutines written in machine language occupy about 30 bytes each and are entered with one register pair (HL) set to the memory location of the source format and another pair (DE) set to the location of the designation format. These subroutines will not be given here but they involve transferring the two least significant bytes unchanged and setting the correct sign bits in the other two. The following machine-language routine could be called by the BASIC USR(0) function with the BASIC variable X already poked in the four locations starting at 32256. This routine converts the variable into APU format, pushed it onto the stack, does a sequence of math operations, pops the result, converts it to BASIC format, then returns to BASIC. The BASIC routine would pick up the results and, perhaps, print them. The greatest advantage of the numerical proces¬ sor chip is realized when the math operations are extensive and the shuffling to BASIC is minimal. 100 ;Z-80 MACHINE LANGUAGE 110 BASVAR EQU 32256 ;BASIC FORM 120 APUVAR EQU 32260 ;APU VARIABLE 130 ;CONVERT BASIC TO APU FORMAT 140 LD (HL),BASVAR ;FROM 150 LD (DE),APUVAR ;INTO 160 CALL BASAPU ;CONVERT 170 ;PUSH ONTO APU 180 LD (HL),APUVAR ;POINTER 190 CALL PSHFLT ;PUSH 200 ;DO MATH OPERATIONS AS REQUIRED 210 CALL EXP ;EXP(X) 400 ;NOW POP OFF STACK INTO MEMORY 410 LD (HL),APUVAR ;POINTER 420 CALL POPFLT ;POP TO MEM 430 ;CONVERT TO BASIC FORMAT 440 LD (HL),APUVAR FROM 450 LD (DE),BASVAR INTO 460 CALL APUBAS CONVERT 470 ;RETURN TO BASIC 480 RET 490 ;MATH SERVICING ROUTINE EXAMPLE 500 EXP CALL BUSY APU DONE? 510 LD A,16 OPCODE 520 OUT (65),A EXP(X) 530 RET 540 ;CHECKS APU STATUS BIT 550 BUSY IN A,(65) STATUS,ERRORS 560 AND 128 HI BIT 570 JR NZ,BUSY LOOP TILL LOW 580 RET 590 END Figure 2. Such machine language programming is tedious to write and debug when there is only cassette tape for mass storage but no doubt disk editors and assemblers are in the offing for the TRS-80. In any case, if rapid number crunching is re¬ quired, the hardware effort is minimal and the software development is a good investment. No doubt future versions of high-level languages will be designed to take full advan¬ tage of numerical processing chips.□ APPLICATION SOFTWARE from OMEGA MICRO Finally, Extensive yet Inexpensive Application Programs for Microsoft*—Disk Extended BASIC and CP/M* GENERAL LEDGER • MENU DRIVEN • AUTOMATIC DOUBLE ENTRY SYSTEM • COMPLETE G/L FILE MAINTENANCE • THROUGH G/L DETAIL (AUDIT TRAILS) • AUTOMATIC CHECK ENTRY PROGRAM Allows ease of entry of pre-written standard or payroll checks. • MAINTAINS EMPLOYEE PAYROLL DEDUCTIONS • FINANCIAL RETORTS AVAILABLE ANYTIME • UP TO 150 G/L ACCOUNTS • OMEGA DFD* PROGRAM SPECIFICATIONS Diskette $88.00 Manual $10.00 APARTMENT MANAGEMENT • MENU DRIVEN • MULTI-PROJECT MANAGEMENT CAPABILITY • COMPLETE TENANT RENT PAYMENT RECORD • THOROUGH TENANT FILE MAINTENANCE • UPDATES RENTS AT ANYTIME • APARTMENT MANAGEMENT REPORTS Vacant Apartment Report Tenant Rent Due Report Tenant Rent Roll Report Tenant Master File Report Etc. • HANDLES UP TO 300 UNITS PER DISKETTE • DFD* PROGRAM SPECIFICATIONS Diskette $98.00 Manual $10.00 PAYROLL • MENU DRIVEN • AUTOMATICALLY COMPUTES WAGES: Salary, Hourly or Combined • MULTI-DIVISION COMPANY PAYROLL CAPABILITY • COMPLETE EMPLOYEE FILE: (MTD. QTD.and YTD) Earning and Deduction Totals. • COMPENSATION REPORTS • EMPLOYEE MASTER FILE REPORTS • PRINTS W 2 and 941 FORMS • PAYROLL CHECKS: Allows for Automatic printed or Manually written checks. • UP TO 76 EMPLOYEES PER DISKETTE • DFD* PROGRAM SPECIFICATIONS Diskette $98.00 Manual $10.00 MEDICAL BILLING » MENU DRIVEN » PATIENTS RECORD FILES: Automatically Creates and Updates » COMPLETE PATIENT FILE DATA BASED MANAGEMENT • MENU DRIVEN • CUSTOM DATA FILES: May be set up and maintained without need of additional programming. • CUSTOM RETORTS: May be structured or changed anytime • LINKED DATA FILES: Custom files may be accessed by users programs. • SELF DOCUMENTING: Creates complete file documentation on custom files created by user. • DFD* PROGRAM SPECIFICATIONS Diskette $98.00 Manual $10.00 SYSTEM HARDWARE REQUIREMENTS 8080 or Z-80 Computer System with 48K RAM or greater Dual Disk Drives Digital Research CP/M Disk Operating System 132 Column Printing Device 80 Column by 24 line screen display . I Microsoft Disk Extended BASIC Designed For Dummies MICROSOFT DKSK EXTENDED BASIC $350.00 dealer inquiries invited WE’VE GOT HARDWARE TOO! alpha micro 4 VECcOR 0 WHC (apple computer OMEGA MIQFO GOMPUTEFS 3535 TORRANCE BLVD.. SUITE 10 TORRANCE. CALIFORNIA90503 • (213)370-9456 HOURS: MONDAY THURSDAY 10-« FRIDAY 9-C SATURDAY 10-S SUNDAY CLOSED FOR QUICK RESPONSE CALL OR WRITE US DIRECT. MAIL ORDERS WEiCOME JUNE 1979 CIRCLE INQUIRY NO. 83 INTERFACE ACE 89 System of the Month The Sord Mark II Series By Tom Fox, Systems Editor One of the newest entrants into the fields of business and personal computers is a Kansas City-based firm called Sord U.S.A. This company, which is an extension of Sord Elec¬ tronics of Japan, has begun offering their line of computers to the U.S. marketplace with a great deal of earnest during the past several months. Although the first introduction of the system was in May of 1978, the firm did not begin to actively market it in the United States until late in 78. This was primarily due to prob¬ lems in setting up an adequate system of importing the units, and establishing a dealer network. During the last four months, Sord U.S.A. has permeated the computer field, which up until now has been dominated by U.S. firms. They have also been setting up contracts with outside software firms for the development of application software specifically geared to the Sord equipment. Their plans are to be offering a complete system with software soon. This is possible, according to company officials, due to the high technology of the system and the fairly rapid develop¬ ment of applications software for several specific businesses. THE BASIC SYSTEM PHOTO 1 M223 Mark II At the top of the Sord line is the Model M223 business system (Photo 1). This system comes complete with two Micropolis dual density floppy disks, CRT, keyboard, and 64K bytes of memory. The system has a total memory capa¬ city of 128K bytes which is set up for the user and system. The system is designed around the popular S-100 bus and the backplane has four slots, one of which is used for the 64K memory board and the others free for future expansion such as A/D converters, OCR readers and separate inter¬ faces. Even though the backplane may appear small in com¬ parison to other S-100 bus systems, it is more than sufficient when all of the built-in options are considered. These options include the keyboard, which provides all ASCII characters for input, including graphic characters and a numeric keypad plus special function or option keys. These keys allow the operator to set up special repetitive functions and leave the machine alone to perform the data processing work. These special function keys are something new that have been added and came about as a result of exten¬ sive research on what businessmen and particularly secre¬ taries, wanted in a machine. The CRT, although an integral part of the system, can be considered a built-in option due to its flexibility. The CRT provides the ability to display up to 1920 characters in an 80 character by 24 line display. Complete graphics include moving graphics and reversible characters. The built-in Micropolis mini-disks give up to 315K bytes of user storage and the advantage of being a well known and easily serviced brand. 90 INTERFACE AGE JUNE 1979 Along with these options are two RS-232 ports and an audio cassette port. The ports are controlled from the front panel, allowing selection between the cassette or RS-232 port. The other serial port is for MODEM operation. In our test laboratory this was used both with a Lear Siegler ADM 1 terminal and a TELECOM 300 baud acoustic coupler to talk to the INTERFACE AGE answering system. The port for this experiment was handled completely under program control. Figure 1 shows an example of how the system is configured for the ports. Both serial ports maybe configured for separate baud rates by two DIP switches located on the main board. Figure 2 is an example of how these switches may be set up. OFF t ON B F F 9 4 2 1 6 3 1 1 CD68420051 00000000 0 0 0 0 (SWITCHES LOCATED ON MAIN SYSTEM BOARD) Figure 2. SOFTWARE Any computer system is only as good as the software. The software supplied with the system consists of an operating system that provides for total interactivity of the system plus the same high level of activity as a CP/M type system does. The operating system is not CP/M and currently no plans are set up to provide CP/M. The Sord operating system can control up to four disk devices. The disk drives may be part of the built-in drives or add ons. Sord is currently working on a release to use hard disks and floppies at the same time. With the operating system comes Sord extended BASIC plus. This BASIC is an interpreter but the company will be releasing a compiler version in the near future. The Sord BASIC does offer speed and higher accuracy than some of the currently available BASICs. Also scheduled to become avail¬ able are: FORTRAN IV, COBOL and text processing software. For the most part the software that is currently offered maxi¬ mizes the power of the Z-80 processor and the 2.5 MHz operating speed of the system. Care has been taken to allow the software — BASIC — to communicate to even the slowest of peripheral devices without inhibiting the rest of the system. COMING ATTRACTIONS Because Sord has made a major commitment to service the growing business and personal computer markets, they have a number of developments underway or already available. One of these new developments is the Model 203 per¬ sonal computer which offers the same power as the M223, but in a lower cost range. This system (see Photo 2) is de¬ signed to fit the needs of the personal user and can be pur¬ chased with or without disks, but is readily expandable. PHOTO 2 M203 Mark II Along with the smaller system Sord is developing bus compatible PROM writers, real time clocks and in circuit emulators. According to Bob Chambers, vice president of marketing, there are a number of developments that will be available in the fourth quarter of this year, one of which is the availability of a hard disk system. COSTS AND CONFIGURATIONS The Sord systems are offered in a number of configura¬ tions dependent upon the user’s needs, including application software requirements. Basically the M223 Business system with a printer sells for under $7,000 including system soft¬ ware. The M203 personal system sells for less although at press time the actual price ranges were not available. The applications packages currently being developed range from real estate to general ledgers. Each application offers a unique approach in that the supplied documentation includes a C.A.I. (Computer Assisted Instruction) diskette to guide the user when first learning the system. Because Sord is just now making a concentrated effort to reach the business market, they are interested in hearing from businessmen regarding specific applications. Sord may be contacted by calling or writing Sord U.S.A., 8300 NE Underground Drive, Kansas City, Missouri 64161, 1-800-821-5436. DOCUMENTATION The one area where Sord is weak is in their current docu¬ mentation. However, a new systems manual and language manuals are under development by a U.S. firm. Sord is plan¬ ning the issuance of the new manuals sometime by late sum¬ mer or early fall. Even though the current system documen¬ tation manual does not come up to par with the rest of the system, it does cover all points of the system, plus offer many useful programming and hardware hints.□ OFF 1 ON JUNE 1979 INTERFACE AGE 91 C R T- __ Monitor Design Using the Intel 8275 By Arthur A. Carapola INTRODUCTION Several semiconductor manufacturers have introduced LSI-CRT controllers. These integrated circuits replace most of the MSI and SSI needed for the implementation of a CRT display. Their extreme flexibility allows programming such functions as the number of characters in a line and the number of character rows on the screen. In addition, such items as cursor format and position, inverse video, blinking fields and highlighted characters can be provided with little or no additional hardware. This article describes the Intel 8275 CRT controller, along with ideas on how to implement a sophisticated computer monitor using it. RASTER SCAN CRT Most people are familiar with the basic television raster scan technique (Figure 1). The picture is formed by sweep¬ ing the electron beam across the face of the picture tube. This sweep starts when the television receiver receives a hori¬ zontal sync pulse. During the retrace time, the electron beam is turned off (blanked). The time for one complete horizontal line is 63.5 microseconds. Of this, 53.5 microseconds is us¬ able display time, the rest is for retrace. As the electron beam sweeps across the screen horizontally, the vertical sweep de¬ flects it from the top of the screen to the bottom. The vertical sweep operates at 60 Hz giving 262.5 lines in one frame. The same way that the horizontal sweep returns to its starting point, the vertical sweep returns to the top of the frame. Dur¬ ing vertical retrace the screen is blanked for 1250 microsec¬ onds leaving 242 usable lines in each frame. A complete picture consists of two frames of information — interlaced scanning. This provides thirty pictures per second and 484 lines per picture. During the time that the electron beam is scanning across the screen, it is the video information that tells it whether a particular position on the screen should be on or off. This in¬ formation is usually sent in serial form from the CRT con¬ troller board. A block diagram of a typical raster scan television display controller is shown in Figure 2. When a character is accessed in the refresh RAM, it selects the appropriate dot pattern in the 2513 character generator. This pattern is then loaded in¬ to the 74165 8-bit shift register. The data is shifted out of the 74165 one bit at a time to be displayed on the TV screen. The function of the Dot Counter is to allow a precise number of clock cycles to go to the shift register. The example utilizes a -*-7 dot counter. Using a 5x7 character generator gives the 5 desired horizontal patterns plus two spaces. When the dot counter counts its specified number of clock cycles, it reloads the shift register and increments the Char¬ acter Counter . The character counter counts the number of characters in the line. The outputs of the character counter are used as part of the refresh address to RAM. These out¬ puts, along with the row counter outputs yet to be described, provide an exact coordinate in memory for the desired dis¬ play position. Due to the horizontal nature of the video sweep, a specific character must be considered as being composed of several 92 INTERFACE ACE JUNE 1979 PIN CONFIGURATION BLOCK DIAGRAM PIN DESCRIPTION DB*-r BI DIRECTIONAL DATA BUS LC.-> LINECOUNTER OUTPUTS DRQ DMA REQUEST OUTPUT LA. . LINE ATTRIBUTE OUTPUTS DACK DMA ACKNOWLEDGE INPUT HRTC HORIZONTAL RETRACE OUTPUT IRQ INTERRUPT REQUEST OUTPUT VRTC VERTICAL RETRACE OUTPUT RD~ READ STROBE INPUT HLGT HIGHLIGHT OUTPUT WR WRITE STROBE INPUT RVV REVERSE VIDEO OUTPUT A© REGISTER ADDRESS INPUT LTEN LIGHT ENABLE OUTPUT CS CHIP SELECT INPUT VSP VIDEO SUPPRESS OUTPUT CCLK CHARACTER CLOCK INPUT GPA.-. GENERAL PURPOSE ATTRIBUTE OUTPUTS CC-. CHARACTER CODE OUTPUTS LPEN LIGHT PEN INPUT MEMORIES SYSTEM BUS D B o 7 ^ I MEM R IOW MEMW IOR CS HRQ HACK 8257 DMA CONTROLLER DRQ DACK Ao DBo WR ~RD CS IRQ 8275 CRT CONTROLLER LCo-j CHARACTER GENERATOR -0 _ } 5 CCo« CCLK K 5 VIDEO CONTROLS DOT TIMING AND INTERFACE VIDEO SIGNAL -► HORIZONTAL SYNC -► VERTICAL SYNC -► INTENSITY -► 8275 SYSTEMS BLOCK DIAGRAM Figure 3. JUNE 1979 INTERFACE ACE 93 horizontal lines of information. Therefore, along with the ASCII representation of the desired character, the character generator must also know what line of information is being displayed. This is the function of the Line Counter. The out¬ puts of the line counter are sent to the character generator line input. Each time the character counter has completed a complete line of characters, the line counter is incremented. When the line counter overflows indicating that specific row has been completed, the Row Counter is incremented. The line counter is usually set to overflow about three lines higher than the maximum number of lines in the character. This gives us the space between rows. The function of the row counter is to count off the number of rows on the screen. Its output completes the screen refresh address to RAM. As can be readily seen, an MSI video display requires a great amount of counters, gates, and a special purpose chip. To add such functions as a cursor, blinking characters, inverse video, and graphics capability would require much more hardware and would greatly increase the burden on the CPU. THE INTEL 8275 CRT CONTROLLER The 8275 CRT controller is an MOS-LSI single chip de¬ vice designed to interface CRT raster scan displays to micro¬ computer systems. Its function is to refresh the display by buffering information from main memory and keeping track of the display position on the screen. The 8275 is program¬ mable to a large number of display formats. It provides raster timing, display row buffering, visual attribute decoding, cur¬ sor timing, and light pen detecting. The 8275 is designed to interface to a DMA controller such as the 8257. The output of the 8275 goes to a character generator ROM such as the 2513 or equivalent. Dot timing and interface circuitry must be provided external to the 8275. A block diagram of an 8275 is shown in Figure 3. General Operating Characteristics When using the 8275 in a microcomputer system, a specific section of memory would be set aside for the CRT screen. The 8275 provides what can be thought of as a win¬ dow into this portion of memory. It has two row buffers. While one row is being displayed, the second buffer is being filled with the next row of characters. The row buffers are filled using Direct Memory Access (DMA). The DMA burst length and spacing are programmed during initialization. Special codes are included to reduce DMA overhead. There are four special codes available: 1. End of Row — The end of row code activates Video Sup¬ pression (VSP) and holds it to the end of the line. 2. End of Row-Stop DMA — This code causes the DMA control logic to stop DMA for the rest of the row when it is written into the row buffer. 3. End of Screen — This command will activate VSP and holds it until the end of the current frame. 4. End of Screen-Stop DMA — This code causes the 8275 DMA control logic to end the DMA for the remainder of the frame. The display is affected the same way as End of Screen. An important note in programming the 8275 is that if Stop DMA is not the last character in a particular burst, the DMA will continue until the next character is read. Before the start of a frame, the 8275 requests DMA and fills its first row buffer. As the first horizontal sweep begins, characters are output from the row buffer just filled to the character generator. At the same time DMA begins filling the second row buffer with the next row of characters. After buf¬ fer number one is scanned once for each line in the row, the roles of the two buffers are reversed and the process is repeated. This procedure is repeated until all character rows are displayed. The number of rows on the screen and the number of characters per row are programmable during initialization. This allows easy interface to a large number of display types. Since the 8275 displays each row of characters one line at a time, it must provide data to the character generator as to what line in the character is being displayed. This is done via the line counter outputs LC 03 . The 8275 character generator interface is shown in Figure 4. The number of lines in a row is programmable from one to sixteen. This is sufficient for both upper and lower case letters and underlining. Special Visual Attribute Codes are provided to cause special action or symbols on the screen without the use of a special character generator ROM. These will be discussed later. The 8275 has outputs for horizontal and vertical retrace. These signals can be combined with the final video informa¬ tion to interface to a CRT monitor or home television receiver. The timing of these signals is programmable during initialization. SCREEN FORMAT The 8275 can be programmed to display from one to eighty characters per row and up to sixty-four rows per frame. The maximum number of characters possible per row for a specific CRT monitor can be calculated from the fre¬ quency response of the vertical amplifiers. For example, sup¬ pose you desire to have a full eighty character line. The dot counter is designed to divide seven (five character dots plus two spaces). Then there are 560 dot positions per line. By using our original television receiver specification of 53.5 fisec of usable display time per line, we can calculate the minimum required frequency response for our CRT vertical amplifiers. f3db = (560) 1 = 10.46 MHz 53.5 x 10 1 2 3 4 * 6 We can generate a formula for the calculation of the number of characters possible on a line for a specific CRT monitor. (usable display time (fisec)) (f3db)MHz)) = # of characters/line max (# dots/character) Vertically we have 242 usable lines per frame. If one wanted to evenly divide this number, it would give us a maxi¬ mum of 22 eleven line rows. The line count is held stable while outputting the ap¬ propriate characters during each horizontal sweep and in¬ cremented during horizontal retrace. This procedure is repeated until the entire character row is displayed. The output of the line counter can be programmed to be in one of two modes. In mode 0 the output of the line counter is the same as the line number. In mode 1 the line counter is offset by one from the line number. Mode 0 is used for character generators whose first line is at row ad¬ dress zero. Placement of the underline is also programmed in during system initialization. RASTER TIMING To function properly, the CRT controller must provide sig¬ nals informing the CRT monitor when to start horizontal and vertical sync. As with all other possibly varying functions, the sync durations are programmable by the host processor. 94 INTERFACE AGE JUNE 1979 After the character counter has completed a full line of char¬ acters, it starts the horizontal retrace interval. This interval can be programmed to be from two to thirty-two character clocks in duration. This process is repeated until the entire frame has been displayed. The row counter counts the num¬ ber of complete rows on the screen. The vertical retrace in¬ terval is programmable for up to four complete rows (up to 48 lines). Both horizontal and vertical retrace signals are output from the 8275. These signals must be synchronized with the video signal to the CRT display using the dot timing circuitry. DIMA TIMING The 8275 can be programmed to request burst transfers of one to eight characters. The interval between bursts is also programmable (from 0 to 55±1 character clock periods). This allows the designer to tailor his DMA overhead to fit his particular system environment. If, for any reason, there is a DMA underrun, a flag is set in the status word. The DMA is usually initialized for the next frame at the end of the current frame. INTERRUPT TIMING The 8275 can be programmed to generate an interrupt re¬ quest at the end of each frame. This can be used to reinitial¬ ize the DMA controller. If the 8275 interrupt enable flag is set, it will issue an interrupt request at the beginning of the last display row. Interrupt request will go inactive after the status register is read or a reset command is issued; however, it is not recommended to issue a reset command to the 8275 during normal service. An alternate method of reinitializing the DMA controller is to have the DMA controller itself interrupt on terminal count. When using this method, be sure to disable the 8275 inter¬ rupt enable flag. Upon power up, the 8275 Interrupt Enable Flag may be set. The user’s power up routine should always write a reset command to the 8275 before system interrupts are enabled. OUTPUT CIRCUITRY The question now arises, “What else is needed in addition to the 8275 to produce a working CRT display?� For the most part, the interface to the computer side has already been defined. A DMA controller such as the Intel 8275 is re¬ quired to fetch the data. Additionally, a section of memory equal to the total number of characters to be displayed plus any attributes and special codes is needed. It is important to understand, at this point, that a specific location on the screen of an 8275 controlled CRT display does not have an absolute address in memory as our original MSI controller had. This is because visual attributes (blink¬ ing, reverse video, etc.) are stored within the actual display character field. For example, if you wanted half of a particular row to blink and half not to blink, the attribute character which tells the 8275 to start a blinking field is placed after the last character in the non blinking field. This will make the memory field for that row one character longer, offsetting the addresses in the next row. This will require a certain amount of extra software to han¬ dle screen updates but far less than if the CPU had to gener¬ ate the blinking effect itself. Special hardware can be de¬ signed to get around the problem and will be described later. On the CRT side of the 8275 we do not get away quite as simply. Figure 5 is a basic diagram of the 8275 output cir¬ cuitry. We will, of course, need a character generator (u2) and an output shift register (u3) to convert the ASCII character information from the processor to the serial dots to be displayed on the CRT screen. A dot counter (u4) is also needed to count the exact number of dots to be shifted out onto the screen before loading. The output of this dot counter, once again, has three functions: it increments the character counter position, it reloads the shift register and shifts out the characters. Intercharacter spacing is a function of the dot counter and length of the shift register. Some special circuitry will be required to make use of the many features of the 8275 such as blanking, reverse video, blinking characters, highlighting, underlining and limited graphics capability. To make use of the blanking pulses sup¬ plied by the 8275 (video suppression pulses), we must pro¬ vide circuitry that will synchronize this level to the loading of the shift register. This could be a simple D-type register, as shown, clocked by the shift register load pulse. Reverse video is easy to accomplish on any CRT display. All that is necessary is to place an exclusive-or gate in line with the video information. If the reverse video control line (RVV) is a zero, information will pass through the gate un¬ changed. If it is a one, the information will be inverted. Blinking characters are automatically taken care of by the 8275. The video suppression line is used to blink the char¬ acter or field at a frequency of ] / 32 of the refresh rate. Underlining is accomplished by the light enable signal (LTEN). Its position in the character block, as has already been explained, is programmed during system initialization. This signal is synchronized and or’ed with the actual video signal (u5 and u6). Intel has provided another useful feature for field distinc¬ tion. This is the Highlighting output. Its purpose, as de¬ signed, is to make certain characters or fields brighter than the rest of the screen. This is done in the video combiner or modulator circuit. If one does not wish to use it in this man¬ ner, it is available for other purposes such as color control if a color monitor is being used. Visual Attributes, Special Codes and the 8275’s Limited Graphics Capability The characters processed by the 8275 are eight bit quanti¬ ties. Since the character code outputs from the 1C are only seven bits wide, the eighth bit (MSB) is used to determine if it is a normal display character (MSB = 0) or if it is a visual at¬ tribute or Special Code (MSB = 1). There are two types of Visual Attribute Codes. They are Character Attributes and Field Attributes. CHARACTER ATTRIBUTE CODES Character Attribute Codes are codes that can be used to generate graphics symbols without the use of a character generator. This is accomplished by selectively activating the Line Attribute output (LA 01 ), the Video Suppression output (VSP), and the Light Enable output (LTEN). The dot timing and interface circuitry uses these signals to generate the de¬ sired symbols. Character attributes, like normal characters, can be programmed to blink or be highlighted. The form a character attribute byte must take is given below. JUNE 1979 INTERFACE AGE 95 Table 1. Character attributes were designed to produce the following graphics: CHARACTER ATTRIBUTE CODE "CCCC� OUTPUTS SYMBOL DESCRIPTION LA, LAo VSP LTEN 0000 Above Underline 0 0 1 0 r~ Top Left Corner Underline 1 0 0 0 Below Underline 0 1 0 0 0001 Above Underline 0 0 1 0 1 Top Right Corner Underline 1 1 0 0 Below Underline 0 1 0 0 0010 Above Underline 0 1 0 0 Bottom Left Corner Underline 1 0 0 0 Below Underline 0 0 1 0 0011 Above Underline 0 1 0 0 Bottom Right Corner Underline 1 1 0 0 Below Underline 0 0 1 0 0100 Above Underline 0 0 1 0 i Top Intersect Underline 0 0 0 1 Below Underline 0 1 0 0 0101 Above Underline 0 1 0 0 H Right Intersect Underline 1 1 0 0 Below Underline 0 1 0 0 0110 Above Underline 0 1 0 0 Left Intersect Underline 1 0 0 0 Below Underline 0 1 0 0 0111 Above Underline 0 1 0 0 1 Bottom Intersect Underline 0 0 0 1 Below Underline 0 0 1 0 1000 Above Underline 0 0 1 0 Horizontal Line Underline 0 0 0 1 Below Underline 0 0 1 0 1001 Above Underline 0 1 0 0 Vertical Line Underline 0 1 0 0 Below Underline 0 1 0 0 1010 Above Underline 0 1 0 0 Crossed Lines Underline 0 0 0 1 Below Underline 0 1 0 0 1011 Above Underline 0 0 0 0 Not Recommended * Underline 0 0 0 0 Below Underline 0 0 0 0 1100 Above Underline 0 0 1 0 Special Codes Underline 0 0 1 0 Below Underline 0 0 1 0 1101 Above Underline Illegal Underline Undefined Below Underline 1110 Above Underline Illegal Underline Undefined Below Underline 1111 Above Underline Illegal Underline Undefined Below Underline 1 Character Attribute Code 1011 is not recommended for normal operation. Since none of the attribute outputs are active, the character Generator will not be disabled, and an indeterminate character will be generated. Character Attribute Codes 1101, 1110, and 1111 are illegal Blinking is active when B = 1. Highlight is active when H = 1. 96 INTERFACE AGE JUNE 1979 Character Attributes: MSB LSB 1 1 CCC B H I— HIGHLIGHT -BLINK -CHARACTER ATTRIBUTE CODE A listing of Character Attribute Codes is given in Table 1. The additional circuitry required to produce graphics from the Character Attribute signals is shown in Figure 6. u3, u4, and u5 are used to select either the character generator out¬ puts or the decoded graphics information. u6, u7, and u8 are used to actually decode the Character Attribute outputs. FIELD ATTRIBUTES The Field Attributes are control codes utilized by the 8275 to provide special visual characteristics to the display. They become effective at the character immediately following the control character and remain active up to and including the character which precedes the next field attribute code, or up to the end of the frame. All field attributes are reset during vertical sync. There are six field attributes: 1. Blink — characters will blink at a frequency equal to the refresh rate divided by 32. 2. Highlight — characters will be highlighted by utilizing the highlight output. 3. Reverse Video — character and background colors are reversed. 4. Underline — characters are underlined. 5, 6. General Purpose — These two 8275 outputs act as general purpose, independently program¬ mable field attributes. They are active high out¬ puts and can be used for whatever purpose the designer wishes. The software configuration of a field attribute byte is given below. Field Attribute Code: MSB 1 O U R GG B H the miero ^ Cojnpjater Theatre FEATURE ATTRACTIONS Cromemco System Three FGatUreS... i-i lill • Z-80A Micro Processor • 32K RAM • Dual 8� Disk Drive, Easily Expandable to 4 Drives. • RS 232 and Printer Interface. List $5,990. Our Price $4,995. ; Cromemco System Two Features... • Z-80A Micro Processor • 32K RAM • Dual 5� Wangco Drives • RS232 and Printer Interface. List $3,990. Our Price $3,095. Pre-paid orders are shipped with any software package FREE (specify) _ EXIDY SORCERER 16 K $1,150?^ 0 a Extra Xl*GC! 16 K Memory Ripple II16K $1,195. free! 32 K Memory BUY A PET 16 K RAM FOR ONLY $950. AND RECEIVE « A CASSETTE RECORDER 1CC * [ cippkz n > $259. automodem n for the | a special introductory offer. Here’s an there’s an ^appte (or any other remote computer, large or small) and the automodem will combine the two to establish a total data communication system TM the applestick The NEW Applestick Joystick / Game Paddles Combination. Introductory price $ 34.95 Hours: Tues-Fri 11:00 AM to 8:00 PM-Sat 10:00 AM to 6:00 PM (Closed Sun, Mon) Master Charge, VISA, BofA are accepted. No COD. Allow two weeks for personal check to clear. Add $1.50 for handling and postage. For computer systems please add $10.00 for shipping, handling and insurance. California residents add 6% sales tax. of South Bay MICRO computers • personal /small business 15818 Hawthorne Boulevard . Lawndale, California 90260 (213) 370-4842 JUNE 1979 CIRCLE INQUIRY NO. 71 INTERFACE ACE 97 SYBEX LEADER IN COmPUTER EDUCATION INTRODUCES THE 6502 SERIES PROGRAMMING THE PROGRflmmiNG THE 6502 By Rodnay Zaks 320 pp, ref C202 $10.95 An Introductory programming text for the 6502. Does not require any prior programming knowledge. From arithmetic to interrupt-driven input-output techniques. It has been de¬ signed as a progressive, step by step course, with exercises in the text designed to test the reader at every step. 0402 - 6502 GflfTlES $13.95 From piano to tic tac to©, including many popular games, and how to program your own. To be published. 6502 APPLICATIONS BOOK by Rodnay Zaks 275 pp, ref D302 $12.95 Presents a series of practical (hardware & software) applica¬ tions for any 6502 board. Applications can be used as experiments - or implemented at minimal cost. A few ex¬ amples: morse generator, elec¬ tronic piano, digital clock, home alarm systems, traffic controller....and more! TO ORDER By phona: 415 848-8233, Visa, M.C., American Express. By mall: Include payment. Shipping charges: add 65C per book 4th class - allow 4 weeks - or $1.50 per book for U.P.S. Overseas add $3.00 per book. Tax: in California add tax. AVAILABLE AT BOOKSTORES, COMPUTER, AND ELECTRONIC SHOPS EVERYWHERE See You At NCC Booth 31 Dept. IA6 2020 Milvia Street Berkeley, CA 94704 Tel 415 848-8233 Telex 336311 NAME POSITION COMPANY ADDRESS CITY STATE/ZIP □charge my: □Visa DM.C. □American Express □C202 DD302 DG402 s Number Exn. date Sianature V- □Send Free Catalogue / The 8275 can be programmed to provide either visible field attributes or invisible field attributes. If the chip is pro¬ grammed in the visible field attribute mode, all field attributes will occupy a position on the screen. The VSP line will be ac¬ tivated and a blank will appear at the position. Whatever field attribute was selected will appear immediately following the blank. An example of visible field attributes is given in Figure 7. ABCDE FGHIJKLM NOP QRSTUV 12345 6789 V_ _ J EXAMPLE OF THE VISIBLE FIELD ATTRIBUTE MODE (UNDERLINE ATTRIBUTE) Figure 7. When the 8275 is programmed in the invisible field attri¬ bute mode, the 8275 FIFO is activated. Each row buffer has its own FIFO. These FIFO’s are 16 characters long, limiting the total number of Field Attribute changes in any one line to 16. This is what is considered by many engineers in industry to be the major drawback to the 8275. During DMA, when the row buffer is loaded with a field at¬ tribute character, the 8275 recognizes it and places the next character in the FIFO. During the display time, when a field attribute is put in the buffer output controller, the 8275 recognizes it again and puts the character in the FIFO on the character code outputs. The chosen attributes are also ac¬ tivated. A special word of warning is necessary here. Since the FIFO is only 7 bits wide, the MSB of any characters put into it are stripped off. Therefore, a Special Code or Charac¬ ter Attribute must not follow a field attribute code. If it does, it will be displayed as a normal character. An example of invis¬ ible field attributes is given in Figure 8. ABCDEFGHI J KLM NOP QRSTUV 123456789 V _ J EXAMPLE OF THE INVISIBLE FIELD ATTRIBUTE MODE (UNDERLINE ATTRIBUTE) Figure 8. 98 INTERFACE AGE CIRCLE INQUIRY NO. 59 JUNE 1979 CURSOR CHARACTERISTICS The cursor position is determined by the current row and position registers which are loaded by the host processor. The cursor can operate in four modes: 1. a blinking underline 2. a blinking reverse video block 3. a non blinking underline 4. a non blinking reverse video block. The cursor blink frequency is equal to the screen refresh frequency divided by 16. LIGHT PEN DETECTION As if all of the features discussed so far were not enough, the engineers at Intel have included a light pen detection cir¬ cuit. A light pen consists of a micro switch and a tiny light sensor. Circuits for a typical light sensor have been devel¬ oped and will not be repeated here. When the light pen is pressed against the CRT screen the micro switch enables the light sensor. When the raster sweep crosses the light sensor, it signals the CRT controller. The 8275 stores the row and character position coordi¬ nates in a pair of registers which can be read by the host pro¬ cessor. The 8275 has a bit in its status register which corres¬ ponds to the detection of a light pen input signal. The LPEN input must be a 0 to 1 transition for proper operation. Due to the internal delays of the circuitry, the character position co¬ ordinates will be off by at least three positions. This must be corrected in software. IMSAI • Cromemco • SWTPC • Lear-Siegler • Problem Solvers • RCA • North Star • Verbatim • ALPHA Micro Systems and others Fast, off the shelf delivery. Give us a call TOLL FREE 800 / 523-5355 PROGRAMMING THE 8275 The 8275 has three internal registers which are of concern to the designer. These are the command (CREG), parameter (PREG), and the status (SREG) registers. The command and parameter registers are used to set up the operational charac¬ teristics of the 8275 while the status register contains the in¬ ternal status of the device. Two points to remember are that the command register can only be written into and the status register can only be read from. The addressing structure for these three registers is given below: AO OPERATION REGISTER 0 READ PREG 0 WRITE PREG 1 READ SREG 1 WRITE CREG The sequence used to program the 8275 is to first give it a command followed by 0 to 4 parameters, depending on what command was just issued. If you do not give it the proper num¬ ber of parameters before issuing another command, a special status flag is set indicating an improper command sequence. 8275 INSTRUCTION SET The 8275 will respond to eight commands. They are: 1. RESET 2. START DISPLAY 3. STOP DISPLAY 4. READ LIGHT PEN 5. LOAD CURSOR 6. ENABLE INTERRUPT 7. DISABLE INTERRUPT 8. PRESET COUNTERS The Reset Command After receiving a reset command, the 8275 will stop any DMA requests. The interrupt is disabled and video output is MARKETLINE SYSTEMS, Inc. 2337 Philmont Ave., Huntingdon Valley, Pa. 19006 215/947-6670 • 800/523-5355 Dealer Inquiries Invited CIRCLE INQUIRY NO. 77 Z80 CPU.6.85 Z80 PIO.4.96 Z80 CTC.4.96 Z80 A CPU.8.95 • 5 6 �n T s 0 ec LV 2716 EROM 23.95 16K RAMS 250 NSEC MOSTEK 8 chips . . . 47.50 For use with the Z80 * TRS-80 Expansion! F8 CPU 3850 . 8.50 F8 PIO 3871 . 8.50 F8 SMI 3853. 8.50 □ I iKSBR □ Q0 DTMF 1 — 101 — 1 358 Touch Tone Generator Chip 2.60 Jumper Options: ., O-WE O-VPP 1KX8 RAM 2716 EROM COMPATA8LE 17.50 Z60 PROGRAMMING MANUAL — 300 pages, detailed explanation of each instruction.3.95 F8 3870 PROGRAMMING MANUAL — 300 pages detailed explanation of each instruction.3.95 Z80 DATA BOOK — hardware manuals on Z80 CPU PIO CTC SIO.1.00 F8 3870 DATA BOOK — hardware manuals on F8 CPU PIO DMI SMI PSU 3870 3872 .1.00 TEXAS INSTRUMENTS TM 990/100M 16 Bit Microprocessor Compatable Boards: TMS-TDC Floppy Disc Controller Board TMS-VDC Vidio Display Controller Board TMS-GPIO General Purpose I/O Board TWS-WWB Wirewrap Board FREE^!thevT^rder?Ipagrpocke^80MICRaSlEFRENC^ANUA^ All components shipped immediately with full data sheet. All parts are new date codes. Return any defective parts within 30 days for free replacement Master Charge. Visa, or personal checks accepted. Include $3.00 for shipping and handling. California residents add 6% sales tax. Mail orders to: STARTEK Electronics 1100 Quail - Suite 200 Newport Beach. CA 92660 JUNE 1979 CIRCLE INQUIRY NO. 88 INTERFACE AGE 99 NO FRILLS! NO GIMMICKS! JUST GREAT DISCOUNTS MAIL ORDER ONLY 1400 . $ 679.00 1500 . 995.00 Mod 1 . 1495.00 CENTRONICS 779-1 954.00 779-2 . 1051.00 700-2 . 1350.00 761 KSR tractor .... 1595.00 703 tractor. 2195.00 NORTHSTAR Horizon 1 assembled. 1629.00 kit. 1339.00 Horizon II assembled. 1999.00 kit. 1599.00 Disk System. 589.00 TELETYPE Mod 43. 995.00 IMS 16K Static Memory.. 459.95 DIGITAL SYSTEMS Computer. $4345.00 Double Density Dual Drive. 2433.00 IMSAI VDP 80/1000 . $5895.00 VDP40. 3795.00 VDP42 . 3895.00 VDP44 . 4195.00 16K Memory assem.. 399.00 PCS 80/15. 679.00 15% off on all other Imsat products CROMEMCO System III $1000 off 4990.00 10% oft on all other Cromemco products TEXAS INSTRUMENTS 1 810 Printer. 1595.00 CENTRONICS MicroPrinter 495.00 Most items in stock for immediate delivery. Factory-fresh, sealed cartons. DATA DISCOUNT CENTER P.0. Box 100 135-53 Northern Blvd., Flushing, New York 11354, 212/465-6609 N.Y.S. residents add appropriate Sales Tax. Shipping FOB N.Y. I BankAmericard, Master Charge add 3%. COD orders require 25% deposit. CIRCLE INQUIRY NO. 90 AT LAST A GOOD Z80/8080 DISASSEMBLER REVAS disassembles both 8080 and Z80 code, allowing you to analyze undocumented programs or modify and relocate software. With 23 commands, you are always in complete control. You may stop, restart, return to your system monitor, or review a disassembly on the console before printing it. REVAS accepts your choice of real labels, and will display the symbol table or a symbol cross-reference listing at any time. It even dis¬ tinguishes between instruction and data areas! REVAS supports 3 output devices and ITS OUTPUT IS SUIT¬ ABLE FOR REASSEMBLY. REVAS runs in less than 4K of memory (Z80 code does it), and is RELOCATABLE. REVAS operates in any Z80 system, with your monitor or under CP/M. Try it - you will wonder how you ever got along without it. AVAILABLE ON: North Star disk, Horizon disk, North Star-CP/M disk, Micropolis-CP/M disk, 8� CP/M disk, Exidy Sorcerer Cassette, or Tarbell Cassette. All Ver¬ sions $50.00 each, including complete 23 page User’s Manual. Manual Only, $5.00. BYTE SHOP OF LAWNDALE 16508 HAWTHORNE BLVD , LAWNDALE. CA 90260 PHONE (213) 371-2421 HOURS TUE FRI 10-7, SAT 10-6, CLOSED SUN & MON WE RE 3 MILES SOUTH OF THE L A INTL AIRPORT, 3 BLKS SO OF SAN DIEGO FWY blanked, using the VSP output from the 1C. The HRTC and VRTC (Horizontal and Vertical retrace) outputs continue to run, however, until the host processor initializes the 8275, HRTC and VRTC timing is random after power up. The format of the Reset Command is shown in Table 2. Table 2. Operation AO Description Command Write 1 Reset Command 00000000 Parameter Write 0 Byte 1 SHHHHHHH Parameter Write 0 Byte 2 VVRRRRRR Parameter Write 0 Byte 3 UUUULLLL Parameter Write 0 Byte 4 MFCCZZZZ The designations given in the parameter blocks are explained below. 1. Spaced Rows (S) S Function 0 Normal Rows 1 Spaced Rows 2. Number of Horizontal Characters/Row (HHHHHHH) HHHHHHH # of Characters/Row 0000000 1 0000001 2 • • • • • • 1001111 80 1010000 UNDEFINED 1111111 UNDEFINED 3. Vertical Retrace Row Count VV # of Rows/VRTC 00 1 01 2 10 3 11 4 4. Vertical Rows/Frame (RRRRRR) RRRRRR # of Rows/Frame 000000 1 • • • • • • 111111 64 5. Underline Placement (UUUU) UUUU Line # of Underline 0000 1 0001 2 • • • • • • 1111 16 6. Number of Lines per Character Row (LLLL) LLLL # of Lines/Row 0000 1 0001 2 • • • • • • 1111 16 7. Line Counter Mode (M) M Line Counter Mode 0 Mode 0 (non-offset) 1 Mode 1 (offset by 1 count) 8. Field Attribute Mode (F) F Field Attribute Mode 0 Transparent 1 Non-transparent 100 INTERFACE ACE CIRCLE INQUIRY NO. 69 JUNE 1979 9. Cursor Format (CC) CC Cursor Format 00 Blinking reverse video block 01 Blinking underline 10 Nonblinking reverse video block 11 Nonblinking underline 10. Horizontal Retrace Count TUI # of Character Counts/HRTC 0000 2 0001 4 • • • • • • 1111 32 The Start Display Command This command enables the interrupts and video. DMA re¬ quests begin and the video and interrupt enable status flags are set. Data Operation AO Description MSB Bus LSB Command Write 1 Start Display 001 SSS BB Burst Space Code = SSS Burst Count Code = BB # of Character Clocks Between DMA Bursts # of DMA Cycles per Burst 000 0 00 1 001 7 01 2 010 15 10 4 011 23 11 8 100 31 101 39 110 47 111 55 The Stop Display Command This command disables the video, the interrupts remain enabled, HRTC and VRTC continue to run, and the Video Enable Status Flag is reset, the “Start Display� command must be given to re-enable the display. Data Bus _Operation AO Description MSB_LSB Command Write 1 Stop 010 000 00 Display The Read Light Pen Command This command signals the 8275 to supply the contents of the light pen position registers in the next two read cycles of the parameter. During the first read cycle, the character num¬ ber within the row is given. During second read cycle, the row number is given. Do not forget that software correction of the character position is necessary due to the internal delays. Data Bus Operation A0 Description MSB LSB Command Write 1 Read Light Pen 01100000 Parameter Read 0 Character # (Char. Pos. in Row) Parameter Read 0 Row Number (Row Number) Load Cursor Position The load cursor position command conditions the 8275 to put the next two parameter bytes into the cursor position registers. Data Bus Operation AO Description MSB LSB Command Write 1 Load Cursor 10000000 Parameter Write 0 Char. Number (Char. Pos. in Row) Parameter Write 0 Row Number (Row Number) JUNE 1979 B1T5 - ! 1 I\1 Y.VV .•» 7 (WTE5 * Microcomputer Service * Specialized Hardware Integration * Hardware and Software Designs * Software Development Systems to your Specifications * Business System Hardware for Resale * Major Manufacturers (IMSAI Industrial Microsystems, North Star, PerSci, Soroc Tarbell, Xitan, Vector Graphic) Equipment Stocked BITS N BYTES College Business Park 679 “D� S. State College Blvd. Fullerton, Calif. 92631 (714) 879-8386 NEW HOURS! 11 A.M. - 6 P.M. M-F 12-5 P.M. Sat. Our Representative In San Diego! Jim Farthing (714) 421-1041 CIRCLE INQUIRY NO. 68 CIRCLE INQUIRY NO. 74 INTERFACE ACE 101 CENTRONICS MODEL 700 LINE PRINTER W/WIDE CARRIAGE, TRACTOR DRIVE, 2 CHANNEL VFU, PAPER EMPTY LIGHT, AUDIBLE BELL, LINE FEED AND FORM FEED SWITCH, MOTOR ON/OFF CONTROL AND CONNECTING CABLE $1550 SHUGART*PERTEOMPI DISK DRIVES W/2 DRIVE CONNECTOR CABLE, POWER SUPPLY $399 AND CABINET (DRIVE 0 EQUIV.) SHUGART*PERTEC*MPI DISK DRIVES W/POWER SUPPLY AND CABINET (DRIVE.1,2,3 $ 3/5 EQUIV.) 16K OF 200ns NEC MEMORY FOR TRS-80 KEYBOARD $95 16K OF 200ns NEC MEMORY FOR TRS-80 EXPANSION INTERFACE $93 ALL ITEMS CARRY A 30 DAY WARRANTY MASTERCHARGE*VISA*BANKAMERICARD ACCEPTED FOR FAST SERVICE OR MORE INFORMATION, CALL (714) 893-2311 Enable Interrupt The Enable Interrupt Command enables the interrupt enable status flag and interrupt. Data Bus _Operation AO Description MSB_LSB Command Write 1 Enable 10100000 Interrupt Disable Interrupt Command The Disable Interrupt Command resets the interrupt en¬ able input status flag and disables the interrupt. Data Bus _Operation AO Description MSB_LSB Command Write 1 Disable 11000000 __Interrupt_ Preset Counters Command The Preset Counters Command sets the internal registers to the display in the left, uppermost corner. Two character clocks are required for this operation. The counter will stay in this state until any other command is given. This command is useful for system debug and synchronization of clustered CRT displays on one CPU. Data Bus _Operation AO Description MSB_LSB Command Write 1 Preset 11100000 Counters Hns ADVANCED MICROCOMPUTER SYSTEMS 13771 UNIVERSITY • WESTMINSTER. CA • 92683 CIRCLE INQUIRY NO. 67 TRS-80 2 DISK SYSTEM Payroll 125 Employees Accts. Pay. 225 Vendors Accts. Rec. 225 Customers Gen. Ledger 200 Accounts Job Cost 25-45 Jobs 3 Disk Double Quantities Utility Billing TRS-80 $240.00 each IBM 5110 INDEXED FILES Farm Payroll Gen. Payroll Fruit Packer Payroll Accounts Payable CPA Gen. Ledger Accounts Receivable Job Costing Utility Billing IBM-5110 $520.00 each ALTOS $410 each IMMED I A TE DELI VER Y ALL SYSTEMS LICENSED For sample reports send $6.00 to cover postage & handling. First time user cookbook documentation. Money Order, VISA, Master Charge only, Please. COMPUTER SYSTEMS DESIGN, INC. P.O. Box 735 Yakima, Wa. 98907 Call 1-509-575-0320 THE STATUS REGISTER The status register is a register within the 8275 which con¬ tains operational information on the unit. The read command as well as a description of each flag are shown in Table 3. Table 3. Data Bus Operation A0 Description MSB LSB Command Read 1 Status Word 0 IE IR LP 1C VE DU FO IE — (Interrupt Enable) This flag is set or reset on command. It en¬ ables the vertical retrace interrupt. IR — (Interrupt Request) This flag is set at the beginning of the last row of the frame if the interrupt enable is set. LP — (Light Pen Detection) This flag is set when the light pen input (LPEN) is activated and the light pen registers have been loaded. 1C — (Improper Command) This flag is set when a command para¬ meter string is too long or too short. VE — (Video Enable) This flag indicates the CRT is enabled for video operation. DU — (DMA Underrun) This flag is set whenever data underrun occurs during a DMA operation. When the 8275 gets a DU, the screen is blanked until the next vertical retrace interval. FO — (FIFO Overrun) This flag is set when the internal FIFO overflows. THE 8275 MEMORY ARCHITECTURE The 8275 operates in two modes, the Visible Field Attri¬ bute mode and the Hidden Field Attribute mode. The Visible Field Attribute mode is easy enough to handle in software. When a field attribute change is desired (for instance, if you want to start underlining characters), the code is placed in memory at the location of the attribute change. During dis¬ play the location of the attribute change starts at the next screen position. This gives a nice one to one correspon¬ dence between memory locations and screen locations. The Hidden Field Attribute mode, as previously described, requires the desired field attribute change to be located at the boundary of the fields. However, no blank position is left on the screen. This means that there is one more memory loca¬ tion required per screen attribute change per line. One to one correspondence between screen locations and memory locations is no longer possible, and more elaborate software is required to support the display. This problem can be over¬ come by complicating the hardware to a certain degree. 102 INTERFACE ACE JUNE 1979 INTRODUCING — LOUMAR MANAGEMENT SYSTEMS SOFTWARE 4 programs to give you a comprehensive package for business management The Loumar General Accounting System is a versatile, fully integrated software package designed for small and medium sized businesses. It is also suitable for CPA’s and bookkeeping service films. The complete software system is composed of four main modules: GENERAL LEDGER, ACCOUNTS RECEIVABLE, ACCOUNTS PAYABLE AND PAYROLL. Each module may be used separately or in combination with any other module. Supplied on disk as run-time modules. Source not available. All software is written in CBASICII and utilizes the powerful CP / M operating system. General system features include: Automatic posting to general journal • Strict error detection • Report production on demand • Consistent operating procedures • User oriented. No previous computer knowledge required • Designed by accounting professionals • Comprehensive, well pre¬ sented reports and manuals • Single or multiple client capabilities. HARDWARE SPECIFICATIONS The end user’s microcomputer must satisfy the following require¬ ments: 48k RAM Dual floppy disk system Printer with tractor. All printing is done in 80 col. format CRT with at least a 64 character by 16 line display CP/M and CBASIC II PAYROLL: Up to 500 employees - $550. ACCOUNTS RECEIVABLE: Up to 1000 customers and 1000 monthly transactions - $550 ACCOUNTS PAYABLE: Up to 1000 vendors and 1300 monthly transactions - $400 GENERAL LEDGER: Up to 200 accounts with 2000 entries - $450 Write for our brochure — Dealerships still available Contact: Distributor MISSION CONTROL • 2008 WILSHIRE BOULEVARD, SANTA MONICA, CA 90403 • (213) 829-5137 JUNE 1979 CIRCLE INQUIRY NO. 96 INTERFACE ACE 103 visit the APPLE ll Experts THE APPLE II Available at: Computer Components of Orange county 6791 Westminster Ave. Westminster, CA 92683 (714) 891-2584 Complete sales and Service Most Complete Line of Hardware and Software for the apple ll computer CIRCLE INQUIRY NO. 97 SUBSCRIPTION APPLICATION FORM PAYMENT MUST ACCOMPANY FORM SUBSCRIPTION FEE: $18 1 Year, $30 2 Years U.S.; $20 1 Year, $34 2 Years Canada/Mexico; $28 1 Year Surface, $50 1 Year Air Mail Foreign. Must be In U.S. funds drawn on a U.S. bank. Make check payable to: istarnr /imp Aar m — . nuicniMLC « 13 C Magazine P.O. Box 1234, Cerritos, CA 90701 Name_Date_ Title_ Company _ A _ Home Address_ City_ State _Country _Zip._ Signature __ □ CHECK □ MONEY ORDER LJM/C □ B/A □ AM/EX Account #_Expires_ Figure 9. Flow Chart for the Special Purpose DMA Controller. To allow for correspondence between screen locations and screen data locations in refresh memory in the hidden at- ! tribute mode, it is necessary to create a second block of | memory for attributes equal in length to the screen data memory. In other words, for each screen data location in memory there is a corresponding screen attribute location. Each time the 8275 issues a DMA request to the DMA con¬ troller, special logic checks to see if the attribute at that loca¬ tion is the same as the last location. If it is, the data is written into the 8275 line buffer and the DMA counter is incre¬ mented. If it is not, the attribute is sent to the 8275, the DMA counter is not incremented, and the logic sends the data on the next DMA request. A flow chart for this function is pre¬ sented in Figure 9. The DMA controller function was includ¬ ed in this flow chart since it seems natural to combine the two functions into one. A block diagram of one possible implementation of this function is shown in Figure 10. A 2911 microprogram se¬ quencer is used to control program flow while two 8223 32x8 PROMs hold the actual instructions. When the DMA 104 INTERFACE ACE JUNE 1979 controller addresses screen memory, data is latched into an 8-bit register, the new attributes are latched into a second register while the old attributes are transferred from the sec¬ ond register to a third. A comparison is made between the two sets of attributes, and the result is gated into the S 0 and Si inputs of the 2911. According to the 2911 data sheet, if So and Si are both logical “0�, the microprogram counter is selected. If S 0 and Si are both logical “1�, the direct address inputs are used (as in a branch instruction). This gives the ability to jump if the attributes are equal. The Carry In (Cn) input to the 2911 is used to hold the se¬ quencer on an instruction while we are waiting for a DMA re¬ quest from the 8275 or HLDA from the 8080A. If Cn is low, the microprogram address is not incremented. If it is high, the address is incremented by one. All other functions of the DMA controller are handled by the outputs of the PROMs. These include gating information onto the bus, incrementing the DMA address counter, and supplying control signals to the 8080A and the 8275. Since a DMA controller is always required by the 8275, the additional logic added when using this method does not add significantly to the size of the system. It may even reduce the cost when one considers the price of the 8257 DMA controller suggested by Intel. SCROLLING THE DISPLAY Scrolling, when using the 8275, is simple. Each time the 8275 finishes a refresh of the screen (sixty times a second), it interrupts the 8080A microprocessor. At this time the 8080A must re-initialize the DMA address counter. All that is required to scroll up one line is to change this initialization by the number of locations in one line. This feature allows scrolling both up and down, allowing inspection of what has already gone off the screen. SOME SOFTWARE HINTS To define the location of a character on the screen, two pointers, row count, and column count are created in mem¬ ory. Row count represents the position of the first character in a given row. For the first row, a row count equals 0000H. For the second row, row count equals 0050H (0080D) for an 80 character line. Column count represents the column in which the character is located. Character position on the screen can be calculated by adding the row count to the col¬ umn count. There must be a relationship between the row and column count pointers and the 8275 cursor X and Y position regis¬ ters. Cursor X will be exactly the same as column count. Cursor Y will be equal to row count divided by the number of characters in a row for your particular system. There is one last parameter needed to complete the dis¬ play memory addressing procedure. This parameter is called TOP and is the address in memory for the upper left hand character on the screen. All that is necessary to locate a character in memory is to add its row number, character number within the row, and location of the start of display memory (TOP). The parameter TOP is the value which is modified when scrolling is desired. For an in depth discussion of setting up a CRT routine refer to “CRT Terminal Design Using the Intel 8275 and 8279“ by John Murray and George Alexy (Intel Application Note #AP-32). SUMMARY I have attempted to present a detailed explanation of the 8275 with enough system information to allow an experi¬ enced experimenter to use one in his system. The 1C is easy to use and available now. A great deal of creativity is possible in the actual system design and none of the designs I have shown are necessarily the only way of implementing the desired function.□ software^ from RAINBOW PIE TEXT EDITOR Machine language, cursor-based text editor for 16K Apple. • Features format capabilities of most text editors. • All commands are control characters. • Enables you to define your own function commands. Order PIE on cassette: $19.95.on diskette $24.95 HIGH RESOLUTION CHARACTER GENERATOR Machine Ian guage program for 16K Apple. • Define your own character set and graphic shapes. • Complete English upper/lower case character set. • Complete Greek Alphabet with upper/lower character set. • Scroll, vary window size, invert characters, switch back and forth between two character sets. Order on cassette $19.95.on diskette $24.95 FORTE Music Interpreter in Machine Language for 16K Apple. • Handles six voices. • Single step capability. • Full editing features. • Trace line numbers or notes. • Print words of any song. • Save songs on cassette or diskette. Order FORTE on Cassette.$19.95 Call or write today for your FREE Apple Software Catalog. B/A and Mastercharge accepted. Sorrv, no CODs. Add $1.25 Shipping & Handling. California residents add 6% sales tax. We ship promptly on receipt of your ppd. order. Order from: RAINBOW COMPUTING INC. Garden Plaza Shopping Center, Dept. 61F 9719 Reseda Blvd., Northridge, CA 91324 Telephone (213) 349-5560 CIRCLE INQUIRY NO. 86 HOW TO START YOUR OWIM SYSTEMS HOUSE A practical guide for the small EDP entrepreneur. 213-page manual covers all aspects of start¬ ing and successfully operating a Small Business Computer company. From the contents: • The Systems House Industry • Hardware, Software or Both? • Market Selection & Evaluation • Industry Applica¬ tion Opportunities • Equipment Selection • Becoming a Distributor • Product Pricing • Getting Your Advertising Dollars Worth • The Selling Cycle • Financing For The Customer • Questions You Will Have To Answer Before The Customer Buys • Solving The Service Problem • Protecting Your Product • How To Write A Good Business Plan • Raising Captial • Send $36.00 (check, VISA or Mastercharge) to: Essex Publishing Co., Dept. F 285 Bloomfield Avenue Caldwell, N.J. 07006 Credit card orders: Send card #. date exp. Add $2.00 for rush, air mail shipping. N.J. residents add 5% sales tax. For faster shipment on credit card orders, phone (201) 783-6940. JUNE 1979 CIRCLE INQUIRY NO. 25 INTERFACE AGE 105 The Pascal Notebook Chapter 1 By Henry Davis, Associate Editor PREFACE For many years compiler writing has been a secret ritual practiced by few programmers. Because few people write compilers, there is often an air of mysticism surrounding a compiler and the compiler writing task. Writing a compiler for a language like Pascal really isn’t difficult because the programming techniques are simple. What sets compiler writing apart from other programming tasks are the size (the one presented in this series is about 5,000 lines of code), the variety of programming techniques used, and the high visibilty that the implementation has with other programmers. These factors require that good pro¬ gramming practices be used throughout the implementation. Additionally, the compiler writer understands not only the mechanics of the language but also the programming philo¬ sophy and intent of the language designer. Because implementation of Pascal requires much more than a simple understanding of the language, there is no bet¬ ter way to learn the full meaning and impact of the language. Throughout this series we’ll look at the “whys� of compiler writing and in most cases the “hows� will fall directly out. The compiler will be presented in a top-down manner so that the implementation details get pushed to last. This is done so you will know where you’re headed and can meas¬ ure your progress. SERIES OUTLINE Because Pascal is a language, the concepts of syntax and semantics are presented first. Even though the mathematics may seem difficult at first, a basic understanding of these sub¬ jects will aid greatly in understanding Pascal. However, don’t be scared off by the formal language material because it is shown in a practical manner later. Next the subject of parsing is considered and a general parsing algorithm is developed. The purely theoretical material is concluded with a section on BNF notation, syntax graphs and using these tools to write language specific parsers. The actual introduction of Pascal begins with program¬ ming equivalents of the syntax graphs and then continues in¬ to basic data structures and how they are defined. As a pre¬ lude to discussing the actual compiler and the fine points of Pascal, a complete syntax definition is presented in both BNF and syntax graphs. The compiler is presented in pieces beginning at the highest level of abstraction and then filling in the details. Topics presented in order are: 1. Outer compiler structure and initialization 2. The scanner 3. Blocks and declarations 4. Constants, types, id search 5. Parameter list, field list 6. Code generation 7. Type checking, statements 8. Expressions 9. Control structure 10. Intrinsic functions 1 1. Interpreting the compiled code 12. Native code generation Each new programming technique is explained at the time of usage so your knowledge of Pascal will grow with your understanding of compiler writing. In particular, the subtle¬ ties of Pascal must be explicitly dealt with in the compiler. Not all of the material in this series is easy to master, but once understood it will improve your programming skills. To get the most out of each chapter first read the material all the way through, marking points you don’t understand. Then re¬ read the chapter and attempt to answer your questions. Finally proceed to any program examples and follow them in depth. You will find the material easier as the series progresses so don’t be discouraged at the beginning if the going gets rough. If a point eludes you, after careful study, my address and phone number are included at the end of each chapter. Road Map — Chapter 1 Historical Background page 107 Syntax and Semantics page 107 Alphabet page 107 Vocabulary page 107 Language page 107 Parse page 108 Production rules page 108 Parsing algorithm page 108 Backtracking page 109 Null string problem page 109 106 INTERFACE AGE JUNE 1979 INTRODUCTION Programming languages have traditionally been intro¬ duced to the programming community on a “mechanical� basis. That is, the languages have been presented on a “how to use it� level. Part of the reason for this ad hoc approach is that most languages, before Pascal, have been designed without must regard for the compiler writer, or how the pro¬ gramming techniques can be explained to the user. This isn’t to say that other programming languages are poor. These languages have filled a need, and usually perform well in their intended application. Programming languages have evolved from basic assem¬ bly language to Pascal in less than thirty years. As good as Pascal is, there is, and will be, room for improvement as we learn more about the “art of programming.� To learn more about Pascal, we’ll start with the motivating circumstances and include a little theory. The final goal of this series is to detail a Pascal translator, written in Pascal, so that you can implement your own compiler. Additionally, you’ll know enough about language design to specify your own. HISTORICAL BACKGROUND In 1968 a preliminary version of the programming lan¬ guage Pascal (named after the 17th century mathematician Blaise Pascal) was drafted. Similar to ALGOL-60 and AL- GOL-W, Pascal is based to a large extent on the contribu¬ tions by E.E. Dijkstra and C.A.R. Hoare. Dijkstra’s work Notes on Structured Programming 1 formally presented a programming methodology that put “science� in the “art.� Hoare’s work, Axiomatic Basis of Computer Programming, 2 showed that the properties of programs could be rigorously proved by using mathematical reasoning. These papers focused on methods of representing algorithms by program text. Additional papers 3 ’ 45 ’ 6 applied these same techniques to data structures. Continued work by Niklaus Wirth and others at ETH, Zurich, Switzerland, resulted in an opera¬ tional compiler in 1970 and a revised report in 1973. SYNTAX AND SEMANTICS The job of a compiler is to translate from one language (source code — in this case Pascal) to another (object code or some intermediate language). Any programming lan¬ guage is simply a concise and unambiguous way to express a method of doing a task. In fact, a programming language is a highly restricted subset of natural language (like English) which usually uses a compact representation (like mathe¬ matics) for common notions. In many ways, programs are like cooking recipes; each uses terminology and form specific to the application. Be¬ cause programming languages are a restricted form of natural language, it makes sense to use linguistical tools to learn as much as possible about Pascal. Understanding the fundamentals of languages and how they impact both lan¬ guage design and compiler implementation will greatly aid in understanding Pascal and compiler writing in general. Pascal, like all programming languages, can be described by means of formal languages and analyzed using language theoretic techniques. Each language is based on a set of symbols called a vocabulary. In ordinary language, like English, the symbols of the lan¬ guage are words. Because these words are the most basic and elemental pieces of the language, formal languages refer to them as “terminal symbols.� The number of symbols in a vocabulary (also called an alphabet) is arbitrary but always finite. This means that it makes sense to talk about the ith element (word) in the set. A sentence “over an alphabet� is a collection of symbols from the alphabet composed as a string. The string must be of finite length or no length. A sentence with no length (having no symbols) is called the empty sen¬ tence. A space is not an empty sentence since it has a length, one. A language, like English, is just a set of sentences. Mathematicians and computer scientists use a shorthand representation for these and other definitions. Lest the ter¬ minology and symbology of the “high priests� of program¬ ming languages intimidate you, example eight reduces all the following theory to practice. However, reasonable effort should be expended in attempting to understand the theory, since it is the theory which motivates Pascal. Languages are referred to by using a capital L, possibly with subscripts when talking about different languages. An alphabet or vocabulary is usually written as a capital V. V is a set of symbols so it makes sense to talk about some proper¬ ties based upon operations on the set. V* is used to repre¬ sent the set of all sentences formed using symbols of V. The empty sentence, E, is included in V*. As an example of this notation: let the vocabulary have symbols: THE,BIG,DOG,SAT,QUIETLY or V = THE,BIG,DOG,SAT,QUIETLY The possible sentences are: THE,BIG,DOG,SAT, QUIETLY, THE DOG SAT, . . . or V* = THE,BIG,DOG,SAT,QUIETLY,THE DOG SAT, . . . When the language is a subset of V* say: THE DOG SAT or L = THE DOG SAT Another language Lj = THE BIG DOG SAT, THE DOG SAT QUIETLY Sometimes it is convenient to exclude :he empty sentence, E, from consideration, so we write V + = V* - E, meaning the set includes all sentences except the null string (empty sentence). To summarize in mathematical definitions (an exampie follows): D.1 Let a language L = L(V,N,P,S) be defined by (a) a vocabulary V of terminal symbols (b) a set of N non-terminal symbols (“grammatical categories�) (c) a set P of productions (syntactic rules) (d) a start symbol S which is from N D.2 The language L is a set of sequences of terminal symbols £ (verbalized as Xi) that can be generated (produced) from S according to D.3. Mathematically: L = {£ | S4 £and £EV*} verbalized as “the language L is a set of Xi such that S generates Xi and Xi is an element of the complete set of sentence.� D.3 A sequence o n (verbalized as sigma sub n) is gener¬ ated from a sequence o 0 if and only if there exist se¬ quences o 1 ,o 2 ,...,o n . 1 such that every o s is directly generated from o M according to D.4. Mathematically, verbalized as “sigma sub zero generates sigma sub n if and only if sigma sub (i-1) directly generates sigma sub i for all i from 1 to n.� D.4 A sequence o is directly generated from a sequence if and only if there exist sequences such that: (a) o t = a a,’ ft (b) o = a o’ /3 (c) and P includes the production Oj-* o’ To illustrate what these definitions mean, let’s consider an example from ordinary English. English teachers used to in¬ clude sentence diagrams as a fundamental part of an English course. The sentence “The big dog sat quietly� can be dia¬ grammed as in Figure 1. To produce the diagram, the sen¬ tence is parsed (analyzed, or traced according to the generat¬ ing steps) by first noting that it is a “sentence� (indicated by ). JUNE 1979 INTERFACE ACE 107 The sentence is further broken down into a noun phrase, “The big dog,� and a verb phrase, “sat quietly.� Now break the noun phrase into its basic parts; the singular noun, “dog,� modified by the adjectives, “The,� and “big.� Fur¬ ther parse the verb phrase into the singular verb, “sat,� and the advert, “quietly.� The result yields exactly the diagram of Figure 1. The production rules, “P�, that we used in parsing this sentence can be written as: El .1 -+ El .2 -*■El .3 -► El .4 -► El.5 -► The El .6 -+ big El .7 -► dog El.8 sat El.9 -► quietly The meaning of these lines is: 1. A “sentence� is formed from a “main phrase� and a “verb phrase.� 2. A “noun phrase� is formed from an “adjective� and a “noun phrase.� 3. A “noun phrase� is formed from an “adjective� and a “singular noun.� 4. A “verb phrase� is formed from a “singular verb� and an “adverb.� 5. An “adjective� is the word “The.� 6. A “adjective� is the word “big.� 7. A “singular noun� is the word “dog.� 8. A “singular verb� is the word “sat.� 9. An “adverb� is the word “quietly.� The arrow in these rules means that the item on the left can produce or generate the item on the right. The names of the parts of the sentences are enclosed in brackets to avoid confusion with the English words. These syntactic categories ( etc.) are the nonterminals, N, of this language. The actual words, “The,� etc., are the terminals, V. The relations defined by the rules are the productions, P, in¬ cluding a set of productions that generates exactly the termi¬ nals of the language. is the start symbol. Within the framework of the definitions D.1: L = L(V,N,P,S) V = {THE,BIG,DOG,SAT,QUIETLY} N = {, VERB PHRASE>, , , , } P = the set of rules El .1-El .9 S= D.2 L is an infinite set, one element of which is the sen¬ tence we have considered. Note that “BIG BIG BIG THE DOG SAT QUIETLY� is also a grammatically correct sentence in the broadest sense of the mean¬ ing. The key here is that we have dealt only with syn¬ tax (structure) but not with meaning (semantics). D.3 generates “THE BIG DOG SAT QUIETLY�, since there is a sequence of productions which terminates in this sentence. D.4 - QUIETLY and -► THE BIG DOG are examples of direct generation. Note that a language and its associated grammar can be used to both recognize (parse) and generate sentences. The fundamental task of language translators in general, and compilers in specific, is to recognize, not to generate, sentences. To recognize a sentence it is necessary to recon¬ struct the productions which resulted in that sentence. The complexity of this task directly relates to the type of produc¬ tions which define the language. Historically, compiler writers have been handed a lan¬ guage definition and forced to implement exactly that lan¬ guage. Pascal was based on an easy algorithm of syntax analysis. At this point let’s follow Wirth’s work and define an efficient algorithm for parsing, and then see what class of lan¬ guages can be handled. In order to meet the basic requirement of efficiency, the production rules are restricted to those which depend only on the present state of the parsing algorithm and the value of the next symbol. This means that it is not necessary to “stack up� information waiting to make a decision. Along the same line of reasoning, once at a step it must not be necessary to revoke that or any other previous deci¬ sion. These two requirements are known collectively as one- symbol-lookahead without backtracking. An example of backtracking is found in FORTRAN: DO 10 J-1,10 Until the comma between 1 and 10 is found, it is impossible to determine if DO 10 J is a variable or the beginning of a DO statement. Many compilers assume one or the other and go back if the wrong decision was made. The basic methodology we will pursue is called Top-Down Parsing. This technique consists of trying to reconstruct the production from its start symbol to the final sentence. The sentence is successively partitioned from the top down, us¬ ing the most general rule appropriate at each step, until no productions are left. To develop a parsing algorithm, let’s start with Example 1 and see how the sentence is formally parsed. The problem we must solve is whether or not the sentence belongs in the language. Definition 2 requires that any sentence be produced from the start symbol. In this case it must be generated from the start symbol . Rule E1.1 states that a sen¬ tence is only valid if it is a noun phrase followed by a verb The big dog sat quietly Cnoun phrasec The big dog sat quietly The big dog sat quietly The Cnoun phrase> big dog sat quietly The Csing. noun> big dog sat quietly The big Csing. noun> Cvb. phrase> dog sat quietly The big dog Cverb phrase> sat quietly The big dog Csing. verb> Cadverb> sat quietly The big dog satcadverb> quietly The big dog sat quietly Figure 2. 108 INTERFACE AGE JUNE 1979 phrase. At this point two sub-tasks have been defined: analy¬ sis of the noun phrase and verb phrase. First determine if any portion of the sentence can be generated from the symbol . By applying rules El .2 and El.4 “THE� can be generated. By continuing in this fashion and marking each generated symbol off the input sentence, the sentence is accepted. Ac¬ ceptance occurs when the input sentence is completely pro¬ cessed. Figure 2 illustrates the steps in the parsing proce¬ dure. This example actually illustrates the backtrack princi¬ ple. In particular, there is no way to decide between El.2 and El .3 by simply looking at the next symbol. The decision is made by looking two symbols ahead. As a procedure, this is effected by following one of the possible paths and backing up to the previous decision point if no further progress is possible. In general, there is no up¬ per limit on the number of backtracks which may have to be made. Because of the inefficiencies associated with back¬ tracking, language structures that lead to backtrack require¬ ments must be identified and avoided in good programming languages. The restriction barring backtracking is manifest in the condition that alternate right parts of productions have different initial symbols. This restriction can be stated as follows: Rule R1 Given the production A | & | ... S n (this is shorthand for writing each £ as A—£, for i = 1 to n, the bar is verbalized as “or�) the sets of all initial symbols of all sentences produced from each Si must be disjoint. To show the full impact of the backtracking problem, let’s consider an example. Example E2 E2.1 S-Z|Y E2.2 Z-XZ|P E2.3 Y-XY|R In parsing the sentence XXXR it is impossible to decide whether to apply E2.2 or E2.3 by looking at the first symbol. Rule R1 has been violated since X is the first symbol in the right side of both E2.2 and E2.3. By finding an equivalent set of productions, it is possible to parse Example 2. One such set is: Example E3 E3.1 S-AIXS E3.2 A—P|R Now the sentence XXXR can be parsed in the following manner: Step 1. We know that S—XS (E3.1), and that we may apply this rule repeatedly if necessary. Applying it once gives us S—XS, twice S~*XXS, and three times S—XXXS. In these applications we are simply substituting the definition of S for the X in XS. Step 2. We now have S—XXXS. If we apply the other half of E3.1, S—A, we produce S—XXXA. Step 3. Applying E3.2, A—R, now produces S—XXXR. While Rule R1 eliminates the backtracking issue, another difficulty known as the null string problem crops up. In this situation a dead end is reached in the parsing procedure due to the way in which a rton-terminal produces E, the null string. Example E4 illustrates the effects of the null string problem. Example E4 E4.1 S-BX E4.2 B-X|E where E represents the null sequence of symbols, and X is a sentence in this language. In parsing the sentence X, a dead end can be reached as follows: Step 1. Starting with S—BX and applying E4.1 pro¬ duces S—XX Step 2. There is no way to further parse this statement without backtracking, because of the production of an extra X. This leaves a generated terminal symbol without a corresponding input symbol. The problem occurred because the production B—E should have been used instead of B—X. In order to avoid the null string problem, which occurs only for non-terminal sym¬ bols that can generate the empty sentence, we add a second restriction to the allowable language. Rule R2 states that every non-terminal which generates the empty sentence must have initial symbols different from the set of symbols that are allowed to follow the non-terminal. Example E4 violates Rule R2 because X can both precede and follow B. Rules R1 and R2 combine to prohibit produc¬ tions that are known as left-recursive. Such productions are termed left recursive because the non-terminal used in the recursion is the left-most symbol in the right hand side of the production. The real problem stems from not knowing what symbols are to the right of the recursive non-terminal. By re¬ writing E4.1 as S—X|A the problem of left recursion is avoided and the definition is known as right recursive. Another way to define production is to extend the symbol¬ ism of the meta-language to include facilities to define repli¬ cation of a symbol. As we will see later, BNF includes such an extension.□ The author can be contacted at American Microsystems, Inc., 3800 Homestead Road, Santa Clara, CA 95051. Phone (408) 246-0330, extension 874. All references will be published in the final chapter. ultUfe's YOUR North Star ★ Computers PROGRAMMING SPECIALISTS! You can look to us for innovative and imaginative programs ** Intertec Intertubes now available - *874°° ea. ** Double Density 600K Thinker Toys 8" Disk Drives for North Star Computers with controller and connecting software ♦1149°° Additional Drives *795°° Many different and diversified computers systems available. All include full access to Program Library. Systems start at $ 4,995 00 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 8- 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 Specify CPU clock speed and Release 4 or Release 5 BASIC (Single or Double Density) Micro Mike s. Incorporated 905 BUCHANAN AMARILLO, TEXAS 79101 806/372-3633 JUNE 1979 CIRCLE INQUIRY NO. 79 INTERFACE ACE 109 IN THE HIGH STOKES GAME OF BUSINESS SOFIWARE, MicroSource™ is becoming the chosen business software producer. For all the right reasons. For example, before you ever see one of our applications, it’s field tested and refined. Another reason is our Operations Manuals. They’re called the finest in the industry . . . you never need special training to use MicroSource. One more reason: versatility. MicroSource works with different terminals and printers. You can use your favorite terminal, and choose between speed or print quality in a printer. Add in the rest of the story — like support, enhance¬ ments, low cost — and you get the picture. If your dealer stakes his business on MicroSource software, can you afford to do less? MoneyBelt — The Money Manager™ A modular in-house bookkeeping package with gen¬ eral ledger, accounts payable and receivable, and payroll. Buy at your own pace . . . one at a time or all at once. Less than $8000 (under $200/mo. on a fi¬ nancing lease) for all hardware and first module (sugg. list). Horizon and other North Star disk based systems. LedgerPlus — The Company Bookkeeper™ Also modular, with all the accounting modules of MoneyBelt, plus inventory, check reconciliation and mailing list. Each interacts with the others, but stands alone, too. A first for Vector Graphic, MZ, Apple and Micropolis disk based systems. Less than $8000 (under.$200/mo. on a financing lease) for all hardware and first module (sugg. list). Other business software packages by MicroSource: AutoScribe — The Paperwork Manager™, Bookkeeper — The Office Accountant™, Timekeeper — The Time Accountant™. Aiicrosource 1425 W. 12th Place • Tempe, Arizona 85281 • (602) 894-9247 • Cable: MICROAGE Telex: 165 033 (MICRO AGE TMPE) The following are trademarks of The Phoenix Group. Inc.: MicroSource, Autoscribe, Bookkeeper, MoneyBelt, LedgerPlus, TimeKeeper. DEALERSHIPS STILL AVAILABLE 110 INTERFACE ACE CIRCLE INQUIRY NO. 80 JUNE 1979 National Technical Schools Mini-Series of Basic Electronics Unit 4 By Walter F. Stephens Assistant Chief Instructor National Technical Schools, Los Angeles, California Copyright © National Technical Schools Truth Tables and Boolean Functions. TABLE OF CONTENTS .Ill Logic Circuits . .115 Product Terms and Maxterms. .Ill Table of Combinations . .116 Truth Tables. .Ill Flip-Flops. .116 Derivation of Boolean Expression. .112 Flip-Flop Circuits. .116 Derivation of a Three-Input-Variable Expression .114 Transistor Flip-Flop Circuits. .116 Karnaugh Maps. .114 Flip-Flops Using 1C Logic Gates. .118 Qualities of Boolean Algebra. .115 Introduction to Logic Families. .120 Part 1 of Unit Three presented us with an overview of operational essentials such as number systems, binary arith¬ metic and logic elements. Unit Three concluded with a discussion of Boolean algebra. This month, simplification of logic circuits will be explained along with the discussion of flip-flops, basic circuitry and introduction to logic families. SWITCHING SIMPLIFICATION The complexity of a gating network can be reduced by use of four general reduction techniques: •Construction of a truth table and analysis of the table to see if there are any simple corrections that can be minimized. •Developing of a Boolean expression based on a truth table. •Reduction of the Boolean expression to its simplest form. •Graphic representation of the logical expressions to make simplification apparent. In the past, when logic circuits were composed of discrete (separate and distinct) components, great effort was put forth to minimize the number of components and gates in a logic circuit. In today’s world of integrated circuits, there are tech¬ niques combined with hardware (ICs) that are employed by the logic designer to quickly and simply produce the desired function. Among the choices of integrated circuits utilized to accomplish this are the “Data Selector� and READ ONLY MEMORY (ROM) Arrays. Since the use of these newer tech¬ niques require a more advanced 1C background than we have accrued here, an old standby, the Karnaugh method, shall be presented. MINIMIZATION BY THE USE OF KARNAUGH MAPS A Karnaugh map is a graphical device designed to aid in circuit simplification. It can be thought of as a convenient means for the visual representation of a two-state function, and is used to obtain a simplified Boolean expression from a truth table. The map method is usually employed to reduce a function of three or four variables. If the function has more variables, this method becomes unwieldy. TRUTH TABLES AND BOOLEAN FUNCTIONS Implementation of a circuit corresponding to a given Boolean function becomes a straightforward procedure. As a general rule, however, we are not given the Boolean func¬ tion; but rather, we usually begin with a verba! statement of a problem , or at most, a truth table. Two basic steps are involved in the determination of the simplest two-level logic circuit utilizing a given truth table: 1. Derive a Boolean function for the truth table in either sum-of-products or product-of-sums form. 2. Simplify this function. MINTERM AND MAXTERMS Consider the_followina two-variable Boolean algebra ex¬ pression: F = AB + AB. This form of Boolean expression is referred to as the “Sum of the products� (minterm) as each term contains all the variables whether they are inverted or not inverted and then all terms are OR’ed together, (the addition sign represents the OR operator). A second basic form of Boolean expression is the “Product of sums� (maxterm): F = (A + B) (A + B). Again each term contains all variables (inverted or not inverted) and each term then “anded� with the other terms (the multiplication sign represents the “AND� operator). PRODUCT TERMS AND MAXTERMS The maximum number of product terms, or maxterms, in¬ creases very rapidly with the increase in the number of vari¬ ables since the maximum number of product terms is equal to 2 n (two raised to a power equal to the number n, of vari¬ ables). In the previous example, we have two variables, so the maximum number of product terms is 2 n = 2 2 = 4. This number of terms is obtained by assigning the two pos¬ sible values 0 and 1, to each variable and combining these variables in all possible forms. TRUTH TABLES The study and derivation of logic expressions is facilitated by employing truth tables instead of multiplying each variable and its complement by the other variables. A truth table is a simplified manner to obtain and present the maximum number of product terms and to evaluate the expression for each of the possible combinations of the vari¬ ables in that expression. Then simplification can be attempted. How a Truth Table is Made Consider the expression A + BC. There are three variables in this expression, each of which can have the values 0 or 1. The possible combination of values may be ar¬ ranged in binary ascending order, as shown in Table 13. Notice in Table 13 that the variables in each row of this table may be combined to form a binary number, from 000 to 111 (from 0 to 7 in decimal numbers). JUNE 1979 INTERFACE ACE 111 Table 13 A B c 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 The table is formed by writing ones and zeros alternately down the first column at the right, writing ones and zeros in series of two down the seconaor center column, in groups of four down the third column, etc. For additional variables, double the number of ones^or zeros written in each group. In the expression A or BC, one of the variables, C, is com¬ plemented, so a column is now added to Table 13, listing values of C. This has been done in Table 14. Table 14 A A c c 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 0 Note in Table 14 that whenever C is one, C is 0 and vice versa. _ A column is now added (Table. 15) listing the values BC assumes for each value of B and C. This column will contain the value 1 only when both B and C are equal to 1. Table 15 A B c c BC 0 0 0 1 0 0 0 1 0 0 0 1 0 1 1 0 1 1 0 0 1 0 0 1 0 1 0 1 0 0 1 1 0 1 1 1 1 1 0 0 Now the logic addition of the values of “A� to the values which have been calculated for BC is performed in a final column (Table 16). This column will.contain the value 1 on¬ ly when “A� is equal to 1, when BC is equal to 1, or whejn both are equal to 1. The value of the expression A + BC Table 16 A B c c BC A+BC 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 1 1 1 0 1 1 0 0 0 1 0 0 1 0 1 1 0 1 0 0 1 1 1 0 1 1 1 1 1 1 0 0 1 could have been derived from Table 13, considering that C is 1 when C is 0 and vice versa. However, in the evaluation of more complex expressions as those containing_parejn- theses and multiplications, as for example (A + B) (A + B) it is easier to evaluate the complete expression, term by term, as explained above. DERIVATION OF BOOLEAN EXPRESSIONS When designing a logic circuit, the designer works from two sets of known values: 1) the various states which the in¬ puts to the logic network can take, and 2) the desired outputs for each input condition. The logic expression is derived from these sets of values. Consider a specific problem. A logic network has three in¬ puts: A, B and C, and an output Z. The relationship between inputs and outputs is to be as follows: It is now necessary to add another column to the table. This column will consist of a list of “product terms� obtained from the values of the in¬ put variables. The new column will contain each of the input variables listed in each new row of the table, with the letter representing the respective input complemented when the input value for this variable is 0, and not complemented when the input value for this variable is 0, and not com¬ plemented when the input value is 1. The terms obtained in this manner are the product terms of the variables. Table 17 Inputs Output A B c z 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 0 With three input variables, A, B and C, each row of the table will contain a product term consisting of A, B and C with A, B or C complemented or not depending on the input values for that row. Since the number of variables is 3, the number of product terms is 2 n = 2 3 = 8. Whenever Z is equal to 1, the A, B, and C product term in the same hori¬ zontal row is removed and formed into a “sum-of-products.� Therefore, the product terms in the first, third, fifth and seventh horizontal rows are written as follows: ABC + ABC + ABC + ABC. Table 18 Inputs Output Product Term A B c z 0 0 0 1 ABC 0 0 1 0 ABC 0 1 0 1 ABC 0 1 1 0 ABC 1 0 0 1 ABC 1 0 1 0 ABC 1 1 0 1 ABC 1 1 1 0 ABC There are now four sets of terms, each the product of three variables. The sum of these products is equal to the expres¬ sion desired. This type of expression is often referred to as a canonical expansion for the transmission function. The com¬ plete expression in normal form is: ABC + ABC + ABC + ABC = Z. 112 INTERFACE AGE JUNE 1979 WHAT’S SO GREAT ABOUT PASCAL? The Pascal programming language is a masterpiece of human creativity. Originated by Niklaus Wirth at the Swiss Institute of Technology in 1968, Pascal was intended to aid in the teaching of programming as a systematic discipline, where the fundamental concepts of algorithms could be clearly and naturally expressed. Pascal makes it easy for the user to implement virtually any algorithm reliably , at an abstract, human level, rather than having to perform the usual mind-bending contortions required by most other programming languages. The ele¬ gance of the language has resulted in an unprecedented wave of enthusiasm among Earth’s knowledgeable com¬ puter users, toward adopting Pascal as an international standard programming language . WHAT’S A MICROENGINE? The Pascal microengine™ is the world’s first production implementation of Pascal in hardware. It executes UCSD Pascal intermediate code (P-code) directly as its machine language , thus being the first true “P-machine�. The signi¬ ficance of this accomplishment should not be overlooked! The desktop computer includes the 16-bit Pascal micro¬ engine processor, 64K bytes of RAM memory, complete DMA control functions, fully-integrated floppy disk controller (switch selectable for single or double density, mini or 8� floppy, and 1 to 4 disk drives), two RS-232 serial ports, two 8-bit parallel ports, floating point hardware, built-in power supply, self-test microdiagnostics, and an ASCII console. The unit includes the complete UCSD Pascal operating system: Pascal compiler, BASIC compiler, file manager, screen-oriented text editor, program debugger, and a graphics package, all supported by thorough documentation. UCSD’s version of Pascal incorporates random access file capability in addition to the sequential access capability of the original Pascal, and also includes x-y graphics. For most business, educational, and personal applications, UCSD Pascal is a nearly ideal implementation tool. There are more users of UCSD Pascal today than users of all other versions combined. UCSD and Western Digital have agreed mutually to support this LSI implementation as the true UCSD standard. HOW MUCH? Khalsa Computer Systems offers the Pascal micro¬ engine™ alone at $2995, with peripherals available at extra cost. A typical complete system, included CRT, 80-column printer, and dual 8� floppy disk drives costs less than $7000. For those of you who want to build the brilliant machines of the future, the Pascal microengine™ chipset is also available separately for $195. We offer significant quantity discounts on all the above items. Please write or call for more information. The Journey Begins At ®®®(l)(D®® COMPUTER SYSTEMS INCORPORATED 500 South Lake Avenue, Pasadena, CA 91101 (213) 684-3311 Tuesday-Friday 12 noon to 8 pm, Saturday 12 noon to 6 pm Closed Sunday and Monday JUNE 1979 CIRCLE INQUIRY NO. 76 INTERFACE AGE 113 DERIVATION OF A THREE-INPUT-VARIABLE EXPRESSION Consider the following table expressing an input-to-output relationship for which an expression is to be derived: _ Table 19 Inputs Output A B c z 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 1 1 1 1 0 Two columns will be added at this time, one containing the sum-of-products and the other the product-of-sums terms. Table 20 Inputs Outputs Product Terms Sum Terms A B c z 0 0 0 0 ABC A+B+C 0 0 1 0 ABC A+B+C 0 1 0 1 ABC A+B+C 0 1 1 1 ABC A+B+C 1 0 0 0 ABC A+B + C 1 0 1 0 ABC A+B + C 1 1 0 1 ABC A+B + C 1 1 1 0 ABC A+B + C In Table 20, the sum of the products is ABC -l- ABC _+ ABC = Z, and product of the sums is (A + B + C) (A + B + C) (A + B + C) (A + B + C) (A + B + C)_= Z. The shortest sum of products expression obtained js AB + BC = Z, whereas the shortest product of sums is B(A + C). In some cases, the minimal sum-of-products expression will require fewer logic elements to construct; and in other in¬ stances the construction of the minimal product-of-sums ex¬ pression will require fewer elements. If the sole criterion is the number of logic elements, it is necessary to obtain both a minimal sum-of-products expression and also a minimal product-of-sums expression in order to compare the two. Referring to Table 20, we can also write the equation in its false output form: Z = ABC + ABC + ABC + ABC + ABC It is quite obvious the true output equation is the simplest to work with. To obtain the true output maxterm, invert the false output minterm. KARNAUGH MAPS To make a Karnaugh map, a Boolean function must be ex¬ pressed in a “sum of the products’’ form. Consider the CD AB 00 01 11 10 00 ABCD ABCD ABCD ABCD 01 ABCD ABCD ABCD ABCD 11 ABCD ABCD ABCD ABCD 10 ABCD ABCD ABCD ABCD Figure 86. following four-variable expression: F = ABCD + ABCD + ABCD. A four-variable Karnaugh map suitable for the prob¬ lem is shown in Figure 86. The variables are A, B, C, and D. Since each variable can represent two values, namely 0 and 1, there are sixteen combinations of ABCD from 0000 to 1111. The Karnaugh map is composed of sixteen squares, one for each possibility. The presence of a variable, A is represented as 1 while its absence is represented as 0. Thus, the square X in Figure 87 is interpreted as J 111 or ABCD. Similarly, square Y repre¬ sents 0101 or ABCD, and square Z represents 1000 or ABCD. To take a simple example of how this Karnaugh map works, assume it is required to complete, or make, a circuitjf one or more of the following conditions prevail: ABCD, ABCD, or ABCD. The corresponding Boolean algebraic expression is: ABCD -f ABCD + ABCD. 00 CD 01 11 10 00 > CD o Y 11 X 10 Z SUM OF PRODUCTS BOOLEAN FUNCTION F = ABCD + ABCD + ABCD Y = 0101 = ABCD X = 1111 = ABCD Z = 1000 = ABCD Figure 87. Boolean algebraic expression and corres¬ ponding Karnaugh map. The logic diagram configuration shown in Figure 88 is the realization of the Boolean expression. The following is the manner in which the simplification is accomplished through the use of the Karnaugh map shown in Figure 89. CD 00 01 11 10 00 AB 01 11 10 fj cl j 1000 1001 1101 F = ABCD + ABCD + ABCD F = ABC + A CD = AC(B + D) Figure 89. The simplified Boolean expression. To obtain a completed circuit for the conditions stated in the Boolean expression under discussion, start by placing a 1 in the three squares corresponding to the three terms in the Boolean expression. Next, adjacent squares are grouped. 114 INTERFACE AGE JUNE 1979 Two groups of two squares are possible, indicating that the preliminary Boolean expression containing two terms is pos¬ sible. Overlapping is permissible. With the horizontal grouping we see that, in the terms which correspond to this horizontal grouping, D can be either 0 or 1, so that the switching is independent of the state of D. Thus D.can be eliminated. The result is a term ABC instead of ABCD + ABCD. With the vertical grouping, formed by terms ABCD + ABCD, B can be eliminated. The resultingjerm is_ACD. The simplified Boolean expression then is ABC +_ ACD. With factoring, the expression becomes: AC (B + C). Accordingly, the simplified logic circuit can be drawn readily, as illustrated in Figure 90. This circuit will provide the desired switching, and it involves fewer gates than the cir¬ cuit of Figure 88. Figure 90. The simplified logic circuit. The following is a brief example of a more complex ex¬ pression. F = ABCD + ABCD + ABCD + ABCD + ABCD ABCD + ABCD + ABCD + ABCD + ABCD ABCD 00 AB 01 11 10 Squares must always be combined so that a group wil contain the greatest possible number of squares. However, groups size is limited to one, two, four, eight, and 16 squares. Three groupings of four adjacent squares are pos¬ sible as shown. As can be seen by observing the Karnaugh Map at A in Figure 91. A and B can be removed from all the expressions CD 00 01 11 10 r\ c 1 1 i) 1 0 r — 1 1 1 0 1 1 _ J i u 0 0 0 Figure 91. ending in CD^C and D can be removed from all expressions starting with AB. And A and D can be eliminated from all expressions containing BC. The simplified Boolean expres¬ sion is: CD + AB + BC. The equivalent logic diagram is illustrated in Figure 92. QUALITIES OF BOOLEAN ALGEBRA Boolean Algebra is a form of mathematics that is applic¬ able to situations in which “yes� or “no� answers are obtain¬ ed from a set of conditions, each of which can be either “true� or “false.� Thus, Boolean Algebra lends itself ad¬ mirably to switching circuits where the inputs can only be either “on� or “off,� and each output can be either “on� or “off.� The Boolean algebra possesses several outstanding qualities which may be enumerated as follows: 1. Since it is mathematical in nature, it is an exact science which leaves nothing to chance. 2. Its expressions can be shorthand notations of both the definition of the problem and its solution. 3. The mathematical expression can be converted to hard¬ ware by inspection. Thus it is one of the few systematic approaches to circuit synthesis. 4. It provides a means of minimizing the amount of hard¬ ware required to perform a switching function. The intent here has been not to treat simplification in an in- depth manner, but to show that there are pencil and paper methods to utilize, if one so desires. LOGIC CIRCUITS There are two basic classifications of logic elements: 1. Circuits whose output at a given time are dependent upon the conditions of the inputs at that given time are referred to as combinatorial circuits. 2. Circuits whose output is dependent upon the inputs at a point in time as well as the condition of the memory elements prior to receiving the inputs are referred to as sequential circuits. AND, OR and NOT gates are ex¬ amples of combinatorial circuits. In working with digital circuitry, we are dealing with steady d-c levels as well as pulses of d-c. The various logic elements are triggered (enabled) either by one or the other, or both. Figure 93 displays terminology associated with positive and negative going voltage transitions (changes). POSITIVE GOING ♦ 10V B C A (0V) APPROACHES B ( - 10V) ■NEGATIVE GOING (0V -* - 10V) C ( - 10V) APPROACHES D (0V = POSITIVE GOING (- 10V -»0V) 0V i \ A 0 A (OV) APPROACHES B ( + 10V) = POSITIVE GOING (OV -► ♦ 10V) C (+10V) APPROACHES 0 <0V * NEGATIVE GOING (+ 10V -»0V) > * / s. ' f ^ POSITIVE GOING p Figure 93. Positive and Negative Going Transitions. Logic Symbols Although there have been attempts to standardize the manner of logic element representation in drawings, some manufacturers either use their own symbols or modified ver¬ sions of the industrial control standards and military standard. MIL-STD-806B A small circle at the input of a logic element indicates that the relatively low (L) input signal activates the function. The absence of a small circle indicates that the relatively high (H) input signal activates the function. JUNE 1979 INTERFACE ACE 115 A small circle at the output of a logic element indicates that the output of the activated function is relatively low. The absence of a small circle indicates that the output of the acti¬ vated function is relatively high. Quite often one runs into indicators like those shown in Figure 94. A word of caution should be exercised here; ascertain how the manufacturer is using these flags._ A ^T’"' -»>■dD . - B_^ © Figure 94. LOGIC POLARITIES If the more positive or less negative potential (voltage) is considered to be a logic one (1), we have positive logic. If the more negative or less positive potential (voltage) is con¬ sidered to be a logic one (1), we have negative logic. In both cases a logic one is considered to be a high (H) and a logic zero (0) considered a low (L). TABLE OF COMBINATIONS Table 21 shows the logical equivalency that can prevail between two logic elements. For instance, considering posi¬ tive logic, inverting the input and output of an OR gate pro¬ duces the same output as that of an AND gate. Remember for positive logic a one is high and a zero is low. The logic circuits (gates) that have been studied all have one thing in common; their outputs at a given time are func¬ tions only of their inputs at that time. Circuits of this type are called “combinational logic circuits/’ There is another basic function that must be performed in digital computers, which is the retention of information until it is to be used. Circuits of this type are called “sequential logic circuits.� Memories and Registers In addition to the large-scale memory in which the data of the problem and the code of the operation to be executed are held, other computer units must also incorporate devices that retain information. Thus, the arithmetic unit must con¬ tain registers that receive information from the large-scale memory and retain it until the arithmetical operations have been completed; and the control unit must be able to hold each instruction of the code until it has been executed. Bistable Characteristic Generally, these storage functions are performed by high¬ speed circuits that have two distinct stable physical states (bi¬ stable elements). The bistable element represents one bit of information for each of its two stable states. The bistable multivibrator (Eccles-Jordan) or flip-flop is often used as a memory device, which is considered as being of the “static� type since in it the information does not change position. (Semiconductor dynamic storage devices or dynamic RAMs, are those in which the stored information must be constantly refreshed because they do not use a com¬ plete flip-flop to store each bit, but rather a capacitor. Since capacitor charges tend to leak away, semiconductor dynamic memories must be refreshed usually every 2 milliseconds.) Toggle Action The flip-flop is also known as a “toggle� since its opera¬ tion is very similar to that of a mechanical toggle switch, it is either on or off. We call these two stable states “set� and “reset.� The flip-flop, depending upon its logic function, is provid¬ ed with various synchronous or asynchronous controls to set the output to the desired state. Set (S or Sd) and Reset (R or Rd) inputs are direct or asyn¬ chronous controls. Other inputs such as J, K, Sc, and Rc, are synchronous inputs and depend upon a clock pulse to trans¬ fer logic information present on these inputs into the device. FLIP-FLOP CIRCUITS The majority of the flip-flops used in modern digital com¬ puters and microcomputers are incorporated in integrated circuits. However, in some equipment we still find flip-flop circuits using individual transistors. Also, since the operating principle of the 1C flip-flop is similar to those using discrete units, we will analyze first the operation of transistor flip-flop circuits. Transistor Flip-Flop Circuits In a flip-flop circuit, under steady state conditions, one transistor is always in the “on� state while the other is in the “off� state. Flip-flop circuits may be divided into two major groups; circuits designed with transistor switches saturated and circuits designed with transistor switches non-saturated. Saturated switches generally are not as fast as flip-flops us¬ ing transistors that do not saturate, because storage time of minority carriers in a saturated transistor adds additional delay time. With a given dissipation rating for a transistor, a saturated flip-flop can switch more current than one using non-saturated transistors. Also, for a given current level, there is less average dissipa¬ tion in the saturated flip-flop because the two operating points have low dissipation. On the other hand, the “on� point of a non-saturated transistor is a point of high dissipa¬ tion and represents a larger amount of lost power. Therefore, the switched current must be kept lower. Even so, a flip-flop using non-saturated transistors of higher dissipation can be used to switch the same amount of load power at a faster rate than a saturated flip-flop. Since the tran¬ sistor is never saturated, storage time is low; however, there is more lost power in the transistor. Lower power efficiency is the price for speed. NOTE: A switching transistor that is conducting heavily (maximum current) and whose collector to emitter voltage is close to zero volts, is generally considered to be “saturated.� 7 76 INTERFACE AGE JUNE 1979 MANAGE NATURAL LANGUAGE DATA BASE MANAGER FOR THE ALPHA MICRO SYSTEM Allows processing of files by sentences written in English, rather than by programs written in a computer language. For example, you may ask the computer to “List prospects whose in¬ terest is houses and whose price is between $60,000 and $90,000 by Zip Code as labels�. Definitional capability allows easy categorization of records into terms meaningful to the user. For example, telling the computer “DEF: Pasadena Residents: Mailing whose Zip Code is between 91101 and 91108 but not 91102� would allow subsequent processing using only the words “Pasadena Residents� to refer to that group. User defined terms are unlimited in form, length and number. Help messages are available throughout the system for user convenience. By simply entering a question mark, at any time, the system will respond with a message specifying the type of input MANAGE is expecting. Dual question marks will print the message in greater detail. Triple question marks will display a complete, menu driven user’s manual. Other special features include: user defined, unlimited length fields; access from user pro¬ grams via command files; passwords; background processing; and flexible output formatting. A new approach to memory management optimizes the mapping of data, and the loading of programs, for maximum operating speed in the amount of memory available in the user’s system. This is done automatically, and is transparent to the user. Thus thousands of records can be stored, ordered, categorized and otherwise processed in a matter of seconds, rather than in minutes or hours. Practical applications include: Real Estate listings Quality Control Records Telephone directory Reservation system Mail order management Library cross indexing Appointment scheduling Employment agency files Mailing lists Market analysis Inventory files Personnel files Customer listing Buyer’s Guide Budget Analysis Price lists A ready-to-use disk, with complete user’s manual, is priced at $1250. A demonstration disk, with a maximum capacity of 90 records, is available for $100. Manual only, $5.00. Enhanced versions, as they become available, will be available to all users for a copying charge of $25.00, including revised manual. The Byte Shop of Lawndale offers complete, turn-key systems with Video terminal, High speed printer, 48K memory, and a 10 Megabyte hard disk drive at prices starting at $15,750. BYTE SHOP OF LAWNDALE 16508 HAWTHORNE BLVD., LAWNDALE, CA. 90260 • PHONE (213) 371-2421 HOURS TUE FRI 10-7, SAT 10-6, CLOSED SUN & MON WE RE 3 MILES SOUTH OF THE L A INTL AIRPORT. 3 BLOCKS SOUTH OF SAN DIEGO FWY CIRCLE INQUIRY NO. 70 A switching transistor that is not conducting current and whose collector to emitter voltage is at or near VCC (supply voltage), is generally considered to be “cut off.� A switching transistor that is operating between the two ex¬ tremes is considered to be operating below cut-off and above saturation. Saturated Flip-Flop The basic flip-flop circuit using saturated transistors is shown in Figure 95. This circuit which is called reset-set (R-S) flip-flop or latch is stable in either of two states. To change from one state to the other, signals must be applied alternately at either the A points for base triggering or the B points for collector triggering. Either type of triggering re¬ quires pulses from two sources. One is the set (S) pulse and the other the reset (R) pulse. Vcc Non-Saturated Flip-Flop One technique for designing a non-saturated flip-flop cir¬ cuit is employing a Baker clamp to hold the transistors out of saturation, using a silicon diode as a reference diode and a germanium diode as a switching diode. This technique, ap¬ plied to flip-flop circuits, is shown in Figure 96 where clamp¬ ing reference diodes Dc have been added to the basic circuit of Figure 95. During the time that the transistor is “on,� diode DC clamps the collector voltage above the base voltage by the reference voltage of Db, thus keeping the transistor out of saturation. Diode Db is passing more than enough current to control the collector current and voltage. When the transistor is “off,� Dc does not conduct and Db still maintains a refer¬ ence voltage, but now passes only a very small current. r l : j 1 Vcc \ «L D C r k D C , 0- -VA- (T^_ Bk ¥ “ V BB , =0 # — wv — _rs) Figure 96. Basic Non-Saturated Ffip-Flop. FLIP-FLOPS USING 1C LOGIC GATES The R-S flip-flop of Figure 96, also called “latch,� as well as many other types of flip-flops, can be implemented using 1C NOR or NAND gates, as shown in A and B of Figure 97. Latch The R-S flip-flop or latch operates in the asynchronous mode (no clock pulse required). The NOR or NAND gates are connected in such a manner that the output of each gate provides an input to the other gate. The latch is controlled by two input steering lines called set (S) and reset (R). Figure 98 shows the arrangement, logical symbol and truth table for the clocked R-S flip-flop. This circuit has two separate sections with the flip-flop section being the same as in the R-S flip-flop shown in B of Figure 97. D-Type Flip-Flop Figure 99 shows the logical symbol and a truth table for the D-type (Data type) flip-flop. This flip-flop requires only 118 INTERFACE AGE JUNE 1979 INITIAL CONDITIONS SIGNAL INPUTS AFTER CLOCK PULSE 1 OUTPUT 0 OUTPUT SET RESET 1 OUTPUT 0 OUTPUT LO HI LO LO LO HI LO HI LO HI LO HI LO HI HI LO HI LO LO HI HI HI INDETERMINATE HI LO LO LO HI LO HI LO LO HI LO HI HI LO HI LO HI LO HI LO HI HI INDETERMINATE TRUTH TABLE Figure 98b. Clocked R-S Flip-Flop. one conditioning input, which can be either high or low and thus insures that there can be no indeterminate state in its operation. The single conditioning input is called “D� or “Data� in¬ put; and whatever information is present at the D input prior to and during the clock pulse propagates to the “1� output when the leading edge of the clock pulse occurs. Should the D input be high prior to and during a clock pulse, the flip-flop goes to the “1� state; if the D input should be low prior to and during a clock pulse, the flip-flop will go to the “0� state. “D� (A) LOGICAL SYMBOL INITIAL CONDITIONS D INPUT AFTER CLOCK PULSE 1 OUTPUT 0 OUTPUT 1 OUTPUT 0 OUTPUT LO HI LO LO HI HI LO LO LO HI LO HI HI HI LO HI LO HI HI LO (B) TRUTH TABLE Figure 99. D-Type Flip-Flop. Master-Slave J-K Flip-Flop The J-K flip-flop (Figure 100) is one of the most useful flip-flops in use because of the following features: A clock pulse will not cause any transitions in the flip-flop if neither the J nor the K input is enabled prior to the applica¬ tion of the clock pulse. If both the J and the K inputs are enabled before applica¬ tion of a clock pulse, the flip-flop will complement, or change state, when the clock pulse occurs. If a 1 is present before the clock pulse, a 0 will be present after the clock pulse. If 0 is present before the clock pulse, a 1 will be present after the clock pulse. Application in ICs The J-K flip-flops used in integrated circuits are master- slave types which trigger on the trailing edge of a clock (A) LOGICAL SYMBOL INITIAL CONDITIONS FINAL CONDITIONS OUTPUT INPUTS OUTPUT OUTPUT 1 0 J K 1 0 LO HI LO LO LO HI LO HI LO HI LO HI LO HI HI LO HI LO LO HI HI HI HI LO HI LO LO LO HI LO HI LO LO HI LO HI HI LO HI LO HI LO HI LO HI HI LO HI (B) TRUTH TABLE Figure 100. Master-Slave J-K Flip-Flop. pulse. The information present at the J and K inputs is trans¬ mitted to the master flip-flop on the positive-going leading edge of a high clock pulse, and there until the negative¬ going pulse, the flip-flop will complement, or change state, when the clock pulse occurs. If a 1 is present before the clock pulse, a 0 will be present after the clock pulse. If a 0 is present before the clock pulse, a 1 will be present after the clock pulse. FF - APPLICATIONS Register A group of flip-flops so connected for the storage of binary information (computer word or byte). Registers are not only Figure 101a. 4-Bit Shift Register PULSE Qc Q B Qa COUNT 0 0 0 0 0 0 1 1 0 1 0 2 0 1 1 3 1 0 0 4 1 0 1 5 1 1 0 6 1 1 1 7 Figure 101b. Binary Ripple Counter JUNE 1979 INTERFACE AGE 119 used for temporary storage but also for serial (a binary bit at a time) transfer of binary information. The flip-flops shown in Figure 101a are of the master-slave type. Counters Figure 101 b shows a binary “ripple counter.� The output of one flip-flop is tied to the toggle input of the following flip- flop. Figure 102 is a composite drawing which shows the rela¬ tions of the five basic Boolean operators. Figure 102 presents the Logic Functions and shows how they can be implemented using NAND gates or NOR gates. The implementation for the Comparator (Equality) function is not shown because it is the inverse of the Exclusive-OR. Note in Figure 102 that to obtain an AND gate using NOR gates, four of these gates are needed. On the other hand, to obtain an OR gate using NAND gates four NAND gates are needed. Also, to implement a NAND gate using NOR gates, five of these gates are needed; and to implement a NOR gate using NAND gates five of these gates are needed. Figure 102. Logic Functions and NAND/NOR Implementation. INTRODUCTION TO LOGIC FAMILIES Vast changes in digital equipment and technologies have taken place since the early 1950 Univac computer. These changes have been brought about by the continuing developments of semiconductor techniques. Among the first in the 1C logic family was RTL (Resistor Transistor Logic) and Diode Transistor Logic (DTL). Then TTL (Transistor Transistor Logic) made its appearance and is still here in a wide variety of components. After the advent of the discrete FET came Metal Oxide Semiconductor (MOS) and Complimentary Metal Oxide Semiconductor — CMOS. Among some of the newer types are l 1 2 3 4 5 L (Integrated Injection Logic) and Tri-state Logic. Why so many types? Costs and technical trade offs naturally, per application. Among these trade offs are: 1. Propagation time (speed) 2. Power dissipation 3. Noise margin 4. Fan in and Fan out capabilities 5. Last but not least, packaging density. Classification of packaging densities are: 1. Small scale integration (SSI) 2. Medium scale integration (MSI) 3. Large scale integration (LSI) 4. Very large scale integration (VLSI) NEXT MONTH Next month, the individual logic families will be discussed in greater detail, prior to looking at the microprocessor as a system component.□ SUMMARY/QUIZ TUTORIAL #4 1. The flip-flop is also known as (A) a divider; (B) an alter¬ nate; (C) a sequential; (D) a twin; (E) a toggle. 2. The Data type flip-flop requires (A) only one condition¬ ing input; (B) an even number of conditioning inputs; (C) an odd number of conditioning inputs but higher than five; (D) no conditioning input at all; (E) only four conditioning inputs. 3. A switching transistor whose collector to emitter volt¬ age measures VCC is (A) saturated; (B) cut off; (C) operating at its maximum point of power; (D) conduct¬ ing current heavily; (E) forward biased. 4. Circuits that include the retention of information until it is to be used are called (A) reserve circuits; (B) combi¬ national logic circuits; (C) complementary circuits; (D) sequential logic circuits; (E) dual circuits. 5. A Karnaugh map (A) is a graphical device designed to aid in circuits simplification; (B) is not a convenient means for the visual representation of a 2-state func¬ tion; (C) cannot be used to obtain a simplified Boolean expression from a truth table; (D) cannot be made from a Boolean function; (E) method is never used to reduce a function of three or four variables. 6. Circuits whose output at a given time depend upon the input conditions at that time are referred to as (A) se¬ quential circuits; (B) registers; (C) combinatorial cir¬ cuits; (D) flip-flops; (E) multivibrators. 7. One of the new types of logic developed is (A) DTL; (B) CMOS; (C) RTL; (D) l 2 L; (E) MOS. 8. The R-S Latch (A) operates in a synchronous mode; (B) produces a truth table that is the same as a J-K flip- flop; (C) operates in the asynchronous mode; (D) is controlled by one steering line; (E) has five inputs. 9. Which of the following is not a combinatorial element (A) NOR; (B) AND; (C) OR; (D) R-S Latch; (E) NAND. 10. If the lower of two voltages is considered to be a logic high (A) positive logic is being considered; (B) then zero volts represents a false output; (C) we have an in¬ valid operation; (D) negative logic is being considered; (E) the switching transistor is cut-off. 11. To make a Karnaugh map, a Boolean function must be expressed in (A) sum form; (B) sum of the product form; (C) product form; (D) product of sum form; (E) maxterm form. 12. The function (A + B) (A + B) (A) is expressed in max- term; (B) is considered a minterm; (C) is a sum of the products form; (D) cannot be expressed in any other form; (E) cannot be simplified any further. 13. Sum-of-the-products (A) is the same as product-of- sums; (B) is an expression that cannot be derived us¬ ing a table of input and output values; (C) is an expres¬ sion often referred to as a canonical expansion for the transmission function; (D) is the solution of theorem; (E) are minterms. 14. Please rate the fourth unit of the NTS/INTERFACE AGE Mini Series. (A) Excellent; (B) Good; (C) Aver¬ age; (D) Poor. 120 INTERFACE ACE JUNE 1979 *SP€CIM BONUS OFFERS , on the very affordable Icippkz computer We are offering the basic Apple II Computer with 16K of memory, PLUS the Applesoft Firmware Card—a $200 value— all for $1195. This offer is good for a limited time only: just place your order no later than August 15th. Our special offer includes the Apple II with 16K of memory, 2 remote controller paddles, the free Applesoft Firmware Card, operating software, demonstration graphics software on cassette, and operating manuals. Our photograph also shows many of the accessories available, at additional cost, to expand your Apple II later. Brilliant Color and High Resolution Graphics Plus Communication and Sound Capabilities EXPANDABLE: • Single or dual floppy disk drives • Printer • Monitor (or use your own color TV) • TV Modulator • Memory to 48K • Communications Interface • Accoustic Coupler • Voice Recognition unit APPLICATIONS: • Educational Programs and Games • Dow Jones Stock Market Analysis • Home finance Ask us about our new Apple Business Software package. Sunshine Computer Company 20710 South leopuiood Rve. Corson, California 90746 (213) 327-2118 *FREE Applesoft Firmware Card A $200 VALUE When you order a 16K Apple II Computer from Sunshine. Place your order today to receive your free bonus by filling out this coupon and enclosing your check or money order. But hurry! This free offer is valid ONLY until August 15, 1979. Yes, / want to order my Apple II with free Applesoft Firmware Card today. Enclosed is my check (or money order) for $1195. / understand that delivery is 3-5 wee/rs.(California residents add 6% state sales tax.) Name_ Street_ City_ . State. .Zip- All orders shipped FOB Carson, California. Sunshine Computer Co. reserves the right to specify shipper. Warning: Don't rely on reader service card . . . it'll arrive too late to take advantage of this free offer. Send in this order form, or dupli¬ cate on a plain piece of paper, to reserve your Apple II arid free Applesoft Firmware Card. Send to: SUNSHINE COMPUTER COMPANY 20710 S. Leapwood Ave., Carson, CA 90746 JUNE 1979 CIRCLE INQUIRY NO. 89 INTERFACE AGE 121 GRAND < OPENING DISCOUNT QFFER Qgcippkz You're invited to help us celebrate our move to larger quarters. To mark this special occasion, we're offering you a one-time only $50 discount off the price of our Apple II Computer. Don’t pass up this great opportunity! And don’t let time slip away! Send, or bring this discount coupon to us now, because It’s valid only until Julv 15th. 7 lew- . j 5b60 We also carry an extensive library of Apple software, and a large selection of books and magazines. BankAmericard & Mastercharqe welcome. : *50 DISCOUNT COUPON $ 50 : J Off the purchase of one Apple II J ■Personal Computer. i Name_ J | Street_ J J City__ | j State_ Zip_ J Telephone___ Offer good only until July 15, 1979! RAINBOW COMPUTING- INC. Garden Plaza Shopping Center 9719 Reseda Blvd., Northridge, Ca. 91324 Telephone (213) 349 5560 Business Computer with Turn-Key Applications Software A desk-top computer that is also a word pro¬ cessor, an accounting system, an auto finance system and a business information system is be¬ ing introduced by Compucorp. The Compucorp 625 Mark II is offered with an extended BASIC language operating system and up to 64 kbytes of internal memory. For more information contact Compucorp, 1901 S. Bundy Dr., Los Angeles, CA 90025, (213) 820-2503. CIRCLE INQUIRY NO. 121 Clerk™ 800 Computer System The Retail Sciences, Inc. Clerk 800 features a 16-bit single board processor with 64K memory, a 32 megabyte cartridge disk storage subsystem, a multi-tasking operating system, and COBOL applications software. When combined in a single system such as the Clerk 800, these features mean system expand¬ ability at low cost. For details contact Retail Sciences, Inc., Mktg. Dept., Suite 254, 3384 Peachtree Rd., N.E., Atlanta, GA 30326, (404) 231-2303. CIRCLE INQUIRY NO. 122 Electronic Co-Pilot for Cars CompuCruise, a new electronic co-pilot, can maintain your car, camper, or truck at the most fuel-efficient highway speeds. Besides electronic¬ ally accurate cruise control, CompuCruise tells you instantly how much time (at current driving speed) and how far until the tank is empty; how much fuel has been used since the tank was filled; how much fuel the entire trip took. Price is $199.95. Contact Bits, Inc., P.O. Box 428, 25 Route 101 West, Peterborough, NH 03458. Order by phone at 800-258-5477. CIRCLE INQUIRY NO. 123 Sense Card Reader The MR-500 is a mark sense card reader spe¬ cifically designed for the microprocessor com¬ puter market by Chatsworth Data Corporation. The MR-500 is a hand-fed reader that accepts cards of variable length marked with a standard number two pencil. The card data is converted to either ASCII or card image. Special interfaces allow the reader to be connected directly to the TRS-80, Apple II, and PET computers. Price is $750 with interface. Delivery is 90 days. For details contact Chatsworth Data Corp., 20710 Lassen St., Chatsworth, CA 91311. CIRCLE INQUIRY NO. 127 210mm Fixed Disk Drive BASF Systems is developing a 210mm (8Vi- inch) fixed disk drive, based on technology pio¬ neered at its West German laboratories. After de¬ velopment of a 42 MByte 14-inch fixed disk drive, BASF AG shifted certain research on 3350 Disk/ Head technology to its U.S. subsidiary. The new BASF drive incorporates one or more 210mm disks. For more information contact BASF Systems, Computer Products, Crosby Dr., Bedford, MA 01730. CIRCLE INQUIRY NO. 130 New Terminal from Intertec The InterTube II video display terminal offers standard features that include an upper and lower case character set displayed on an 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; 14 user-defined function keys; full cursor addressing; automatic repeat of all keys; individual backspace and shiftlock keys and a graphics mode to facilitate easy design and display of all types of forms. 122 INTERFACE AGE CIRCLE INQUIRY NO. 87 JUNE 1979 Price is $995. OEM prices range from $798-$598 depending on quantity. For mor^. in¬ formation contact Intertec Data Systems Corp., 2300 Broad River Rd., Columbia, SC 29210, (803) 798-9100. CIRCLE INQUIRY NO. 133 New Interface for TRS-80 H & K Computer Corporation recently an¬ nounced the development of their new parallel to serial interface module for Radio Shack’s TRS-80 microcomputer. Use of the new module allows the TRS-80 user to expand his system without purchasing the ex¬ pansion chassis. The new parallel to serial interface is plug com¬ patible with the TRS-80 keyboard, CRT or expan¬ sion chassis and other printers. Baud rates and line feeding are switch selectable with automatic buffering and delay for the carriage return; allow¬ ing compatibility with individual terminals. Price is $150. For more information contact Harold Schonhoeft, President, H & K Computer Corp., 15 East 31st St., Kansas City, MO 64108, (816) 561-1776. CIRCLE INQUIRY NO. 135 Exorciser CRT Controllers The EXO-2480 Motorola Exorciser bus com¬ patible alphanumeric CRT controller features Transparent Memory. This plug-in board pro¬ vides 96 ASCII characters with descenders plus 32 graphic symbols in one page 24x80 or two pages 24x40. Normal or inverse video, with or without blink synchronized internally or from an external source (TV camera or VTR) are some of the fea¬ tures available on the EXO-2480. The EXO-512 may be used to provide a high resolution graphics, 256 vertical x 512 horizontal display or two independent 256x256 images. Four level grey scale is easily obtained by com¬ bining these images. Both boards may act as master or slaves in an alphanumerics/graphics application and by adding a second EXO-512, an image containing 4 bits pixel is produced. Price for one EXO-2480 is $495; EXO-512, $695. For more information contact Matrox Elec¬ tronic Systems Ltd., 2795 Bates Rd., Montreal, Quebec H3S 1B5, Canada. CIRCLE INQUIRY NO. 136 Econo RAM XIII Godbout Electronics is now offering a 32K RAM memory board that features bank select, phantom select, independent port decoding for each bank. The board uses National Semicon¬ ductor 5257N high density memory. Send to P.P.S. P.O. Box 2051, Seal Beach, California yu/4U For fast service or information call (714) 894-3736 The board comes with a one year warranty. Price is $629 in kit form and $699 assembled. For more information contact Godbout Elec¬ tronics, Box 2355, Oakland Airport, California 94614. CIRCLE INQUIRY NO. 138 64KZ RAM Card A new 64KZ Ram card is now available from Cromemco. The 64KZ is an S-100 bus compat¬ ible 65,536 byte read/write memory board. The 64KZ incorporates 16K RAM chips with 150 nsec access times to achieve its high density and high speed operation. These 150 nsec RAM chips insure adequate timing margins for propa¬ gation delays. This means the 64KZ reliably oper¬ ates in 4MHz Z-80 systems with absolutely no wait states. The card includes automatic 64KZ enable or disable after a system RESET. The 64KZ RAM card is $1785 factory assem¬ bled and tested. For details contact Cromemco, Inc., 280 Bernardo Ave., Mountain View, CA 94043, (415) 964-7400. CIRCLE INQUIRY NO. 139 TRS-80 PERIPHERALS & SUPPLIES M VI Fully compatible with Radio Shack drives. Includes: ■Power supply ■case (specify silver or blue) H4 drive connector cable ■verbatim diskette with test program and user op. system ■60 day warranty ■complete user instructions. itm* sm 200NS 16K Dynamic RAM Memory Kit. NEC chips. Includes jumpers and in¬ structions for installing in TRS-80 key¬ board unit or expansion interface. (Specify keyboard or interface.) VERBATIM These are the top of the line in disk¬ ettes and worth every cent of the $6.00 each that you pay elsewhere. b 77Q With forms tractor. This is the same ^ printer that Radio Shack supplies. A * 399.00 savings if you buy from us. nm INTER All set to run on your TRS-80 at twice the speed of the 779. JUNE 1979 CIRCLE INQUIRY NO. 84 INTERFACE ACE 123 SOP£f} Sip RCA Cosmac Super Elf Computer S106.95 Compare features before you decide to buy any other computer. There is no other computer on the market today that has ail the desirable bene¬ fits of the Super Elf torso 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 Elf includes a ROM 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 seethe microprocessor chip opera¬ ting with the unique Quest address and data bus displays before, during and after executing in¬ structions. Also. CPU mode and instruction cycle are decoded and displayed on eight 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 plus load, reset, run, wait, input, memory pro- 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 Elf. 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 tbe 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. 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 for the Quest Super Expansion Board. Power supply and sockets for all IC’s are included in the price plus a detailed 127 pg. instruction manual which now includes over 40 pgs. of software info, in¬ cluding a series of lessons to help get you started and a music program and graphics target game. Remember, other computers only offer Super Elf features at additional cost or not at all. Compare before you buy. Super Elf Kit $106.95, High address option S8.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. Questdata. a 12 page monthly software publica¬ tion for 1802 computer users is available by sub¬ scription for $12.00 per year. Attention Elf Owners New products in hardware and software coming soon. Tiny Basic cassette $10.00. on ROM $38.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 IK Super Monitor version 2 with video driver for full capa¬ bility display with Tiny Basic and a video interface board Parallel I/O Ports S9.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 SI 2.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 $3.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/.80 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, 1C. 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 TERMS: $5.00 min. orderU.S. Funds. Calif residents add 6% tax. BankAmericard and Master Charge accepted. Shipping charges will be added on charge cards. Same day shipment. First line parts only Factory tested. Guaranteed money back. Quality IC’s and other components at fac¬ tory prices. INTEGRATED CIRCUITS P.0. Box 4430N Santa Clara, CA 95054 .For will call only: (408) 988-1640 74»om 7400N 7402 N 7404N 7409N 74 ION 74I4N 7420N 7422N 7430N 7442N 7445N 7447N 74 48N 74SON 7474N 7475N 7485N 74B9N 7490N 7492N 7493N 7495N 741OON 74107N 74121N 74123N 74125N 74145N 74150N 74151N 74154N 74157N 74161N 74162N 74163*4 74174*4 74175*1 74190N 74192*4 74193N 7422 IN 742MN 74M6N 74366N 74367N 74LS00 TTL 74LS00N 74LS02N 74LS04N 74LS05N 741S08N 74LS10*4 74LS13N 74LS14N 74LS20N 74LS22N 74LS28N 74LS30N 74LS33N 74LS38N 74LS74N 74LS75N 74LS90N 74LS93N 74LS9SN 741S107N 74LSI12N 74LS113N 74LS132N 74LS136N 74LS151N 74LS155N 74LS157N 74LS162N 74LS163N 74LS174N 74LS'90N 74LS221N 74LS258N 74LS367N CA3M5 CA3046 CA3081 CA3082 CA3089 LM301AN/AH LM3Q5H LM307N IM308N LM309H ungex LM3imN LM317T/K LM318 LM320K5 IM323K-5 LM320K-12 LM320K-15 uoan - LM320T-8 LM320T 12 LM320M5 LM324N LM339N LM340K-5 LM340K-8 LM340K-12 IM340K-15 LM340K 24 LM340T-S LM340T8 LM340T-J2 LM340T-15 LM340T-18 LM340T-24 LM343H LV360 LM370 LM377 LM38I LM382 LM703H LM709H LM723H/N LM733N LM741CH LM741N LM747H/N LM748M LM1303N l M1304 LM1305 LM1307 LM1310 LM1458 LM1800 LM1812 lMl 889 LM2111 LM2902 LM39O0N LM3905 LM3909N MCI 468V NE550N NE555V NE556A NE565A NE566V NE567V NE570B *465718 78L05 731.08 79L05 78M05 76108 1 79491CN 75492CN 75494CN A to O CONVERTER 80386 4 870CCJ 8701CN 8750CJ LD130 9400CJV/F ICL7103 ICL7107 8702 CMOS C034001 Fair 004000 C04001 CO4002 CD4006 C04007 C04008 CO4009 CD4010 C04011 CD4012 CD4013 C04014 CD4015 CD4C16 C04017 C04018 C04019 CC 4021 C04022 04023 C04024 CO4026 C04027 C04028 CD4029 CD4042 C04043 C04044 CC4046 CD4049 CD4050 CD4051 CD4Q60 CD4066 CD4068 CD4G63 C04070 CD4071 ... CD4072 1 60 CD4073 1.60 C0407S 004071 CD4078 CD4081 C040B2 C04116 CD4490 C04507 CD4608 CO4510 C04511 C04515 CD4516 C045I8 C:^52D C04627 CD4S28 CD4553 C0496C CD4583 14 .25 24 .86 16 33 28 1.00 18 .57 40 1.23 79 INTERFACE 1.00 8095 1 50 8096 1.20 8097 13.95 MOS/MEMORY RAM UART7FIF0 .95 AY5-1013 .95 AYS-1014 95 3341 .95 1,25 PROM 4.50 1 702A 3 00 N82S23 5 50 N82S123 3.10 N82S126 3.50 N82S129 3 20 N82S131 1.69 N82S136 2.75 N82S137 1.69 2708 169 DM8577 8223 2716T1 9.95 2102AL-4 7 40 21102-1 9 50 21F02 14 25 2104A-4 17 95 21076 2111-1 2112-2 50 21141-3 .16 <116 .21 2513B 21 MM5262 1 io MM5280 ]21 MMS320 2 -, MM5330 ■s BHilH 2 \ P5101L 21 4200A 36 82S25 86 91L02A 86 HO0165-5 30 MM57100 94 GIAY38500-1 M MCM8571A 21 9368 102 410D MM5312 MM5313 MM5314 MM5315 MM5316 MM5318 MM5841 MM5865 CT7001 C T 700? CT7013 CT7015 MM5375AA/N MM5375AB/N 7205 7207 7208 7209 DSO026CN D800SKN MM53104 3 » 2716 Ir 1-“ CRYSTALS 10 MH? 18 MH; 0 MH? 3 75 3 .'5 375 s n 4 25 3.90 3.90 450 6.75 _ I? 95 32 MH? 6 30 32768 MH? ,40 1.8432 MHz 3 00 3.5795 MH? 9 95 2.0100 MH? 5 94 2.097152 MH? 2 4576 MH? 3.2768 MH? - - 5.0688 MH? 9 » 5.185 MH? 2 90 5 7143 MH? 1 50 6 5536 MH? S|5 14.318* 8 MH? < SO 18.432 MH? 9 95 22.1184 MH? 9.95 CONNECTORS 44 pin edge 100 pin edge Disposable probe cover *.2 accuracy. Como Assy, in compact case. Switches from F to C . COMPUTER 80AR0 KITS 8K RAM Board Kit $135.00 4K EPROM Kit 114.95 I/O Board Kit 44 50 Extender Board w/connector 12.50 16K EPROM board k: w/o PROMS 74.50 North Star Floppy Disk Kit S665 00 Additional Drive K* 415.00 SPECIAL PRODUCTS MM5865 Slopwatch Timer 9.00 PC board 7.50 Switches Mom. Pushbutton 27 3 pos. side 25 Encoder HD016S-5 6.95 d Kit 13.95 3 53 10.00 16 00 3.90 Coerates 5-18 Veit DC to 5 MH? typ. .125'LEO display 10.50 Voice sctusled switch .50 Paritronics 100A Logic Analyser Kit $235.00 Model 10 Trigger Expander KM S229.00 Model 150 Bus Grabber Kd $369 00 Sinclair 3V5 Digll 2.75 3.25 Clock Calendar Kil TRANSFORMERS 6V 300 ma 12 Voll 300 ma transformer 1.25 12.6V CT 600 ma 3.75 „„„ 12V 250 ma wall plug 2.95 S12 50 ’2V cr 250 ma wail plug 3.50 13 50 24V 400 ma 3.95 5 50 10V 1.2 amp wall plug 4 85 -“ **'*“»“ 12.95 3 60 2.10 14.45 580 Black 1C Test Clips 3 9C comp. w/specJsock. '6 35 4.95 3.75 3 75 2.50 MICROPROCESSOR 6800 17.50 6802 24 95 6080A with data 8.95 - 27.00 I 5C Z80A 8212 .... 8214 4 25 8216 1.02 8224 94 8228 2 52 8251 TRANSISTORS . ... 2N1893 .£■2 2N2222A 2N2369 2N2904A 2N2907A auosa 2N3638 MM 2N3904 2N3906 2N3055 2N4400 2N4401 2N4402 TIP31 TIP33A 5 50 12V 6 amp 6.95 DISPLAY LEDS MAM CA 270 2.90 MAN3 CC 125 .39 10 MAN72/74 CACA 300 1.00 47 DL704 CC .300 1.25 47 OL707/D1707R CA .300 1.00 OL727/728 CA/CC .500 1.90 50 DL747/750 CA/CC 600 1 95 OL750 CC .600 1.95 FND359 CC .357 .70 FND500/507 CC/CA .500 1.35 FND503/510 CC/CA 500 90 FND800/807 CC/CA .800 2 20 3 digit Bubble 60 4 digit bubble 80 DG8 Fluorescent 1.75 DG10 Fluorescent 1.75 5 digit 14 pm display 1.00 NSN69 9 digit display 60 7520 Clairex photoceBs .38 T1L311 Hex 9.50 19 H 25 COMPUTER GRADE CAPS 1600 mid 200V 2000 mid 45V 3200 SOV 1.50 1.00 5800 6100 6100 7700 8257 8259 1802CP plas 18020P ptas 1861P CDP1802C0 5 35 0 Connectors RS232 8.50 25 Pm Subminiatures 10.00 0B25P 2 _ 9.25 0825S 3.95 10000 19.50 Cover 1.50 12000 RS232 Complete Set 6.50 350OC DE9P 1.50 55000 19 50 13.95 17.95 - 11.50 0A15P 195 i_ 2 10 60000 2 10 76 OOO 120000 Multi-volt 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. 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 version $450.00. 4K Assem¬ bler $85.00, 8K Basic Interpreter $100.00. Power supply assembled incase $60 00 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 1C Update Master Manual $3500 Complete 1C 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 1C Master closeout $19 50 I Stopwatch Kit S26.95 1 I Full six digit battery operated. 2-5 volts, r ■3.2768 MHz crystal accuracy. Times to 59 | I min., 59 sec., 99 1/100 sec. Times std., split 1 1 and Taylor. 7205 chip, all components minus 1 ] case. Full instructions. i 1 Hickok 3V2 Digit LCD Multimeter | 1 Batt/AC oper. O.Imv-IOOOv. 5 ranges. 0.5% 1 1 accur. Resistance 6 low power ranges 0.1 1 fl ohm-20M ohm. DC curr. .01 to lOOma. Hand 1 1 held, W' LCD displays, auto zero, polarity, over- 1 range. $74.95. S-100 Computer Boards 8K Static RAM Kit Godbout $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 | Mothorboard $39. Extender Board $8.99 A FREE: Send for your copy of our NEW 1979 QUEST CATALOG. Include 28c stamp. 124 INTERFACE ACE CIRCLE INQUIRY NO. 85 JUNE 1979 I/O Board IEEE-488 instruments can now be controlled from high level languages (like BASIC) using in¬ expensive S*100 hardware. New software sup¬ port packages for the P&T-488 interface board allow programs that use the normal I/O structure of the computer system to function on the 488 bus as a talker, listener, or controller. Language for Personal Computers SLIC, a high-level structured language for per¬ sonal computers, combines the simplicity of BASIC with the clarity of expression of structured languages like C and Pascal. Unlike compiler languages, SLIC is designed for interactive pro¬ gram development. SLIC also provides an ideal way to learn the modern techniques of top-down design and structured programming. Among SLIC’s features are: GOTO statements eliminated for clearer code, three types of loops (while, repeat-until, for), generalized if-else with statement grouping, functions with arguments (similar to FORTRAN subroutines), unlimited length character strings, and extended-precision math functions. TAPE SLIC is available in either TRS-80 or Tarbell cassette formats for $50. DISK SLIC is available for CP/M users at $95. Prices include a self-teaching user’s manual, which may be ordered separately for $10. For more information contact RTG Data Systems, 1003 Wilshire Blvd., Suite 202, Santa Monica, CA 90401. CIRCLE INQUIRY NO. 152 Data Base Management Software for 6800 Computers FINDER™ (File INformation on Disk for Easy Retrieval) is a general purpose data base manage¬ ment program for 6800 microcomputers using PerCom’s LFD-400 mini-floppy disk systems. The program allows users to define and access the items of databases using their own ter¬ minology, and to customize file structures to their particular requirements. Written in PerCom Super BASIC, Finder re¬ quires 24K bytes of memory. Price is $99.95 on mini-diskette and users manual. For details con¬ tact PerCom Data Co., 318 Barnes, Garland, TX 75042, (214) 272-3421. To order by phone call 1-800-527-1592. CIRCLE INQUIRY NO. 154 Price of the P&T-488 interface board is $400 assembled and tested with one software package. For details contact Pickles & Trout, P.O. Box 1206, Goleta, CA 93017, (805) 967-9563. CIRCLE INQUIRY NO. 140 New E-H Data Probe The Model DP11 is an optional data probe to provide sequential and expanded combinational triggering capability for E-H International’s LAI 850 logic analyzer. The DP11 has eleven input channels, eight of which pass through to the logic analyzer. The other three inputs may be used as signal quali¬ fiers. A clock input is also included which may pass straight through or be qualified. Price is 525. For details contact E-H Inter¬ national, Inc., 515 11th St., Oakland, CA 94607. CIRCLE INQUIRY NO. 141 Don’t Blame the Software Crashes, memory loss and program glitches are often caused by AC power line hash and surges. Peripheral and processor equipment in¬ teraction also contribute to program woes. To combat these problems, Electronic Special¬ ists has expanded its ISOLATOR line. Model ISO-2 comprises two filtered banks of 3-prong AC sockets (6 sockets total) with integral surge suppression. Connecting to the 125 VAC power line with a standard 3-prong plug, Model ISO-2 can isolate and protect an 1875 wait total load, with each socket bank capable of isolating a 1000 watt load. Price is $49.95. For details contact Electronic Specialists, Inc., Box 122, Natick, MA 01760. CIRCLE INQUIRY NO. 142 MICROBYTE 32K I.M.S. 8K 149.95 695.00 FULLY STATIC —450ns tV iV Industrial Micro Systems Fast Slow 16K 439.00 395.00 32K 769.00 695.00 Microbyte 16K 439.00 395.00 32K 769.00 695.00 GUARANTEED TO RUN AT 4Mz o CCI No Purchase Orders or Open Account at these prices. Open Monday Starting March 1, 1979. CIRCLE INQUIRY NO. 72 JUNE 1979 INTERFACE AGE 125 CBASIC BUSINESS SOFTWARE for MICROCOMPUTERS Osborne & Associates is publishing its business systems in book form. These systems represent five years of development and testing by O&A programmers. Each book includes source listings, program and system documentation and user’s manual. What systems are we selling? * PAYROLL WITH COST ACCOUNTING * ACCOUNTS PAYABLE AND ACCOUNTS RECEIVABLE * GENERAL LEDGER The books sell for $15.00 each. All three are available right now with listings in Wang BASIC. New editions of each book, with listings in CBASIC-2, will be published during the summer of 1979. These new editions will run on many flop¬ py disk-based microcomputer systems. Don’t know programming? Don’t want to key in thousands of lines of source code? We have over 130 dealers who will sell you the CBASIC-2 programs on ready-to-run floppy disks. Contact us for the name of you nearest dealer. CBASIC or Wang BASIC won’t work? Take a look at the list of consultants who have converted O&A programs to run on many popular systems, and are waiting to hear from you. CONSULTANTS- COMPUTER STORES- • • SOFTWARE HOUSES.GOOD NEWS - • * * *CP/M CBASIC* * * You can be a dealer for the magnetic surface of O&A’s CBASIC-2 software, which runs under CP/M on many floppy disk-based computer systems. We will sell the CP/M magnetic surface only to con¬ sultants, computer stores and software houses. Osborne & Associates prefers to write and sell books, not customize the programs or answer the end user's questions. The disk for each book sells for $250.00. Once you buy the floppy disk you can copy it, resell it, change it or use it. We place no restriction on the magnetic surface; we copyright only the printed word in our books. CBASIC-2 Payroll is available now. The magnetic surfaces for all three systems are scheduled to be available in the first half of 1979; call or write for the exact availability of each system. • ALPHA MICRO: I Peter Burke THE BASIC BUSINESS SOFTWARE CO , INC. P.O. Box 2032 Salt Lake City, Utah 74110 (801) 363-1199 APPLE II: Jimmy Walter A.C.E. COMPUTER SYSTEMS 2449 North Westshore Tampa, Florida 33607 (813) 872-2798 David McFarling SMALL BUSINESS COMPUTER SYSTEMS 4140 Greenwood Lincoln, Nebraska 68504 (402) 467-1878 CROMEMCO: Richard French THE NETWORK COMPUTER SYSTEMS 495 Third Avenue #8 San Francisco, California 94118 (415) 668-7777 I B M. 5110: DATA WORKS 35 East Wacker Drive, Suite 1843 Chicago, Illinois 60601 (312) 726-2572 MICROPOLIS, PROCESSOR TECHNOLOGY, NORTHSTAR, VECTOR GRAPHIC, MICROMATION David Price DAP SYSTEMS 3901 Victoria Lane Midlothian, Virginia 23113 NORTHSTAR BASIC: Issac Bornstein COMPUTER SERVICES OF ENCINITAS 341 Willowspring Drive Encinitas, California 92024 (714) 436-2486 MICROSOFT disk BASIC: Dan Kindred GNAT COMPUTERS 7895 Convoy Court San Diego, California 92111 (714) 560-0433 I OHIO SCIENTIFIC: William E. Stanfill 2232 Edinburgh Drive Montgomery, Alabama 36116 (205) 279-0495 TRS-80: Don French APPLIED DATA CORPORATION P.O. Box 16020 Fort Worth, Texas 76133 (817) 738-0251 Irwin Taranto TARANTO & ASSOCIATES P.O. Box 6073 San Rafael, California 94903 (415) 472-1415 WANG BASIC ON FLOPPY DISK: R A. Burel DECOR, INC. P.O. Box 111 Fairfield, Alabama 35213 (205) 785-8000 /ft OSBORNE & ASSOCIATES, INC. ^^P.O. Box 2036, Dept. C31 Berkeley, CA 94702 USA (415) 548-2805 TWX 910-366-7277 Name:. Address:- City:_ State:- Zip: Phone:_ □ I am an end user interested in running CBASIC programs on disk. Please notify me of the closest dealer for: □ CBASIC Payroll with Cost Accounting D CBASIC Accounts Payable/Receivable □ CBASIC General Ledger Title Price Quantity Amount 09-8 Payroll with Cost Accounting in Wang BASIC $15.00 13-6 Accounts Payable/Receivable in Wang BASIC $15.00 20-9 General Ledger in Wang BASIC $15.00 Calif, residents add 6% sales tax. California residents tax S.F. BART residents add 6-1/2 % sales tax. Shipping (Shipping for large orders to be arranged) Shipping □ All foreign orders $4.00 per book for airmail To|a| Amoun , Enclosed □ $0.45 per book 4th class in the U.Shallow 3-4 weeks) □ $0.75 per book UPS in the U S. (allow 10 days) □ $1.50 per book special rush shipment by air in the U S. □ I am a dealer interested in purchasing CBASIC programs on disk for resale. Please send descrip¬ tion and order information for Please send the following information □ Becoming an O&A dealer □ School discounts □ List of foreign distributors □ Other O&A publications □ I am interested in the CBASIC business books. Please send me description and order information. 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 must be prepaid in U.S. dollars drawn on a U.S. bank. 126 INTERFACE AGE SI 034 JUNE 1979 ALL THE MOST WANTED FEATURES IN A COMPACT DVOM hO&mA BIG 'A" HIGH LCD DISPLAY USE INDOORS OR OUT 200 HOUR 9V BATTERY LIFE AUTO ZERO, POLARITY, OVERRANGE INDICATION 100 mV DC F.S. SENSITIVITY 19 RANGES AND FUNCTIONS Removable cover stores test set furnished as part of the l X 3 0 3 Available accessories include AC adapter, padded vinyl carrying case. 40KV DC probe, 10 Amp DC shunt. X10DCV pro! for protectii SPECIFICATIONS: DC VOLTS (5 RANGES): 0.1 mV to 1000V; Accuracy ±0.5% rdg ±0.5% f.s.; Input imped: 10M H; Max. input 1 kV except 500V on 200mV range. AC VOLTS (40Hz to 5kHz): 0.1 V to 600V; Accuracy: ±1.0% rdg ±0.5% f.s. (—2dB max. at 5kHz); Max. input: 600V. RESISTANCE (6 LOW POWER RANGES): 0.1 nto 20Mn; Accuracy: ±0.5% rdg ±0.5% f.s. (±1.5% rdg on 20MQ range); input protected to 120VAC all ranges. DC CURRENT (6 RANGES):.01 nA to 100mA; Accuracy: ± 1.0% rdg ±0.5% f.s. DIMENSIONS AND WEIGHT: 5-7/8" x 3-3/8" x 1-3/4", 12 oz.; POWER: 9V batt. (not incl.) or Hickok AC adapter; READ RATE: 3/sec. OPERATING TEMPERATURE: 0°-50°C. J74.95 HICKOK THE HICKOK ELECTRICAL INSTRUMENT CO. 10514 Oupont Avenue • Cleveland, Ohio 44108 (216) 541-8060 * TWX: 810-421-8286 On-the-Spot accuracy, wherever and when¬ ever you need it. The Hickok LX303 is ideal for any field service, industrial mainte¬ nance or personal application. Rug¬ ged, Reliable. Easy to read in any light, this exciting, new, 3V2 digit Mini-Multi¬ meter weighs only 12 ounces and car¬ ries a full one year guarantee. Fea¬ tures previously found only in ex¬ pensive units . . . at a price under $75.00! Another American made test equipment breakthrough from Hickok, The Value Innovator for over 60 years. Order Today! kok distributor or order below 000/421 -5809 Continental �s"] ^ . n , 800/262-1710 Intld* California I Computer Products 4901 W ROSECRANS AVENUE _ Department "B� 3 i^^E] HP* PLEASE SEND ME HAWTHORNE. CALIFORNIA 90250 SHI mmm _Hickok LX303 Digital Multimeters .@ 74.95 ea. I _RC-3 AC Adapter, 115VAC (220VAC avail.) .@ 7.50 ea. [ _CC-3 Deluxe Carrying Case .@ 7.50 ea. _VP-10 X10 DCV Probe Adapter .@ 14.95 ea. _CS-1 10 A DC Current Shunt .@ 14.95 ea. I _VP-40 40 KV DC Probe .@ 35.00 ea. . □ Bill my company, P. 0. attached (D & B rated firms only) net 30 days I □ Payment enclosed Bill my: □ Master Charge QVISA I Account No_Exp. Date_ Name_Signature_ ' | Address_ | I City-State_Zip__ I Add $3.00 Postage and Handling. CALIFORNIA RESIDENTS ADD 6% SALES TAX I Computer Products ★ DISK DRIVES if B51 5%" $295.00 by Micro Peripherals, Inc. Operates in eithe. 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 $395.00 GSl/Siemens. Runs cooler and quieter than 801 (8�) SA400 $325.00 Single density 5V», 35-Track drive. ^Cabjne^andj^ 1791 B01 Dual Density Controller Chip $49.95 vista V80 mini Disk SYSTEM FOR TRS—80 $ 395 . 00 , • TWO SIEMENS/GSI 8 FLOPPY DRIVES • POWER SUPPLY FOR ABOVE • JAOE TARBELL DISK CONTROL KIT ISI00I • CP M OPERATING SYSTEM WITH Basic E • PACKAGE OF 10 BLANK 8 DISKETTES Price il purchased separately S1192.50 JAOE SPECIAL PACKAGE OEAL $1050.00 Includes disk drive, power supply, regulator board, and compact case. The V-80 offers 23% more storage capacity. Simply take it out of the box, plug in the cable, and it's ready to run. Requires 16K, Level II, expansion interface. Signal Cable $24.95 3-LEVEL GOLD WIRE WRAP SOCKETS 14 PIN 39* each 16 PIN 43* each 100 for $35 Sockets ait* end and side stack able, closed entry EXPANDOR’S BLACK BOX PRINTER This 64-character ASCII impact printer with 80-column capability is portable and uses standard 8‘/* M paper and reg¬ ular typewriter ribbon. Base, cover and parallel interface are included. Assembled and complete with manual and documentation. , r\n only $470.00 (90 day manufacturer’s warranty) TRS-80 interface Cable for Black Box Printer with mating connector s: $48.00 (m list be used with cxpanS'on module, *8v/l amp power supply required.) Power Supply for TRS—80/Black Box Printer $49.00 TRENDCOM lOO 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 2 rolls Of paper for $5.00 Interface & Cable for Apple $60. 00 S-100 MOTHER BOARDS JAOE 6 SLOT Kii $41.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� K.t $95.00 Assm. & Tested $110.00 Bare Board $40.00 22-SLOT "STREAKER� Assm & Tested $149.00 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 if $14.95 if TIT-i Convert your T.V. set into a Video Monitor K.t $8.95 PAR ALLEU SERIAL INTERFACE S 100 compatible 2 serial I/O ports, 1 parallel I/O. Kit JG-P/S $124.95 Assembled 4 Tested JG-P/SA $179.95 Bare Board w/Manual $ 30.00 MAINFRAMES Accomodates all S—100 Mother Boards. Built-In card cage with card guides. Lighted reset switch. Rotron whisper fan. Includes heavy duty power supply. (+ 8 volts DC @ 30 AMPS, + 16 volts DC @ 4 AMPS, -8 volts DC may be added. $389.00 3M 4ft. or 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 FLOPPY DISK INTERFACE JADE FLOPPY DISK (Tarbell board) Kit $195.00 Assembled & Tested $250 00 S.D. Computer Products VERSA-FLOPPY Kit $15995 Assembled & Tested $239 00 integral Data Systems Check the impressive features on Integral’s IP-125 Impact Printer only $799 LOADED WITH EXTRAS AT NO EXTRA COST • Vticropr oceiioi controller • Serial RS232C interlace • Parallel tii level •ntertaie • S uii uooer and lower case ASCu character $et (96 characters) • f uii 8 ." inch wide paper • Line length nf 80 columns at 10 character per inch a Impact printing • /«/ dot matrm ■Ordinary paper roil, fanfold, or sheet • Senai baud rate to 1200 bits per second • Multiple line buifei of 256 characters • instantaneous print rate to 100 characters per second • Multiple copies without adjustment • Hemkmq ribbon mechanism • ^ root panel operator controls • Attractive table top console 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 IP-125 Integral Data System IP-125 Friction Feed Printer •96 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 3690-12 CARD EXTENDER Card E«t«r*d*r hn 100 contacts 50 par side on 175 centers Attached connector n com patibla with S 100 Bui Syitemi $n 00 3M0 B.B" 22/4 pm IMctn Ixta odors B12 00 Gan Purpose 0 I P Boards wnh Bus Pattern for Solder or Wire Wrap Epoxy Glass 1/16 ' 44 pm con toarad 166 /te Plugboards 8800V Jniversal Microcomputer/processor o'ugboard Use with S 100 bus Com plete with heat sink ft hardware S 3" a 10" x 1/16 8801-1 *77 •.• "■4.1� . . *77 2 U ■4.1 SION . 11.74 Same as 8800V except plain power buses ft heat sink 1 4 M 1800V HIS 17J5 11011 14 IS P pattern plugboards for 1C s Epoxy Glass 1/16" 44 pm con 10 74 15* 13.40 11* 3*2 I S ■4 5 3*2 2 M x 4.5�. . $745 111.45 Mi Density board for Power ft Glass 1/16" I st> *12 II x 3*2 2 0.5� Dual in Line Plug Wire Wrap with Grd Bus Epoxy 44 pm con spaced 4.5� . . x 4.5� $1007 * II 128 INTERFACE AGE JUNE 1979 I PLACE ORDERS TOLL FREE; 800/421-SM* Continental U.8. 800/282-1710 InalOa CaMtomla LEEDEX MONITOR • 1 2� Black and White • 12MHZ Bandwidth • Handsome Plastic Case $139.' KIM-1 Module monit¬ or, programs stored in 2048 ROM Bytes. User Manual, Wall size schematic, Hardware __ _ manual. Programming I r /Q manual. Programmers reference card.and CASES - 129.95 Ke,boa,d d ' spla> $245 6502 — cased single board computer with keyboard/dis¬ play, KIM-1 hardware compa¬ tible, complete documentation, SYM—1 CASE $39.95 MICROPROCESSORS F8 $16 9b 280 (2MHz) $20 00 Z80A (4MHz) $14 95 CDP1802CD $17 95 6502 $11.95 6800 $16,95 6802 $25-00 80081 $12.95 8035 $2000 8035-8 $2100 8080A $10.00 8085 $23.00 TMS9900TL $49 95 8080A SUPPORT DEVICES 8212 $ 2 90 8214 $ 4 65 8216 $ 2 75 8224 (2MH/) $ 4.30 8224 4 (4MHz) $ 9.95 8226 $ 2 75 8228 $ 6 40 8238 $ 6.40 8243 $ 800 8251 $ 7 50 8253 $20 00 8255 . $ 6 45 8257 $20 00 8259 $20 00 8275 $75.00 8279 $1850 USRT S2350 $10.95 UARTS AY5 1013A $ 5.25 AY5-1014A $ 8 25 TR1602B $ 5.25 TMS6011 $ 5 95 IM6403 $ 9 00 BAUD RATE GENERATORS MC144 11 $10.00 14411 Crystal $4 95 6800 PRODUCT 6810P $ 4 00 6820P $ 6.60 682IP $ 6.60 6828P $11.25 6834P $16.95 6850P $ 8.65 6852P $11.00 6860P $ 9.25 686 2 P $12.00 687 IP $28.75 6875P $ 8 75 6880P $ 2.50 CHARACTER GENERATORS 2513 Upper (-12*5) $6.75 2513 Lower (-12*5) $6.75 2513 Upper (5 VOIt) $9.75 2513 Lower (5 volt) $10.95 MCM6571 up scan $10.95 MCM6571A down sen $10.95 PROMS 1702 A $5.00' 2708 $ 9.95 2716 (5-12) Tl $60.00 2716 (5v) INTEL $60.00 2758 (5v) $30.00 DYNAMIC RAMS 416D/4116 (200ns) $12.50 2104/4096 $ 4 00 2107B-4 $ 3.95 TMS4027/4096 (300ns) $ 4 00 STATIC RAMS 1-15 16-100 21L02 (450ns) $ 1 50 $ 1 20 21L02 (250ns) $ 1.75 $ 1.50 2101-1 $ 2 95 $ 2.60 2111- 1 $ 3.25 $ 3.00 2112- 1 $2.95 *2.65 FLOPPY DISK CONTROLLERS 17 7 1 BO 1 % 39 .95 1791 $49.95 KEYBOARD CHIPS AY5-2376 $13.75 AY5-3600 $13.75 MM5740 $18 00 JADE’S DOUBLE DENSITY Controller Board NEW! j KIT: Assmb. & $249.00 Tstd: $299.00 ■Single or Double Density Recording ■Full Size or Mini Floppy ■CP/M Compatable in either density ■Programmed Data Transfer, no DMA ■Controls up to 8 drives ■IBM format in either density ■Software Selectable Density ■This controler utilizes the proven reliability of the IBM standard format as well as the fastest phase-locked- loop for data seperation. ■Alt clocks are generated from an on-board cyrstal oscillator ■Right precompen¬ sation is used to enhanced data recovery reliability in the double density mode ■Density selection is enitirely transparent to the user ■Single and double density diskettes can be mixed on the same system. JADE Z80 BOARD IMPROVKD 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) 2MHz Kit Assembled & Tested 4 MHj Kit Assembled A Tested Bare Board 3*flPPlE*TflS-80*RPPl€*TRS-80 , RPPt.6*TRS-80 i % Jade memory 1 Expansion Kits for 2 TRS-80 and apple! £ 4116 s & Everything a person needs to § add 16K of memory. Chips 5 come neatly packaged with £ easy to follow directions. In j minutes your machine is ready for games and more advanced software. 8 $82.00 i9-5«1.9lddb.0e-SU1.9'lddW.09-Syi.9'lddU.( Kit Assembled & Tested Bare Board EPROM BOARD KITS JG8/16 (uses 2708 or 2716) $69.95 "IMSAr-TYPl CARD QUIDS SPECIAL: Regular Price 30d each SPECIAL: 10 f or SI 00! RocKwell AIM-65: The Head-Start in Microcomputers A KIM-1 compatible machine with on-board printer and a real keyboardj $375.00 w/IK RAM >450.00 w/4K RAM 4K assembler/editor in ROM: $ 80.00 8K BASIC in ROM: $100.00 Power supply: $ 59.95 Case for AIM-65: $ 49.95 Special Package Price: $599.00 AIM-65 (4K), Power Supply, Case, and 6K BASIC ROM DYNABYTE Naked Terminal 13 350.00 FEATURES & BENEFITS ■80 character by 24 line format (Model 57) ■Completely self contained terminal electronics, just add CCTV monitor and key board ■No support software required ■Switch selectable modes: Half Duplex, Full Duplex, Block mode ■Block mode allows for editing before transmit ■Keyboard interface provided ■Fully assembled, socketed, tested, burned in, and guaranteed for a full year from date of purchase ■Video is switch selectable “Black-on-White" or "White-on-Black" S-100 EDGE CONNECTORS Soideitaii $3.25 each 10 for $35.00 Wire Wrap $4 00 each 10 for $40.00 Hew ‘Pieces DYNAMIC RAM BOARDS EXPANDABLE TO 64K 32K VERSION • KITS Uses 4115 (8Kx 1, 250ns) Dynamic RAM's, can be expanded in 8K increments up to 32K: 24K $249.00 32K $299.00 ITEXTOOL ZIP* DIP® II Sockets f Jem mif ^ In ii ii ii rtmff ♦ZERO INSERTION FORCE sockets PRICES: 16 pin Zip Dip II $6 50 1 24 pin Zip Dip II $7.60 40 pm Zip Dip II $10.26 64K VERSION •KITS Uses 4116 (16Kx 1, 200ns) Dynamic RAM’s, can be expanded in 16K increments up to 64K: 16K $249.00 4«K $469.00 32K $369.00 64K $569.00 -JL- STATIC RAM JL- SPECIALS 2114's, low power (1024x4) 1-15 lflg i 450ns $.00 6.95 I 5.50 300ns 9.00 9.00 6.50 TMS4044/MM5; 450ns 16.00 300ns If.95 £57, [ 7.5i P* 50 75 low power 6.50 6.00 4200A (4Kx 1, 200ns) | 9.95 | 6.50 | 6. 410D 00 (4K x 1, 200 ns) ]0.2S|7.00 16.75 Computer Products STATIC RAM BOARDS 4901 W ROSECRANS AVENUE Department "F" 3 HAWTHORNE. CALIFORNIA 90250 USA 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 all parts delivered in California. Discounts available at OEM quantities. WRITE FOR OUR FREE CATALOG All prices subject to change without notice JADE 8K Kits: 450ns $125.95 2S0ns $149.75 Assembled & Tested: 450ns 6139.75 250ns 6199.75 Bare .Board:_ % 25,00 16K — Uses 2114't (low power) Assembled & Tested: RAM 19 (290ns) 6375.00 RAM If (490ntl 6325.00 16K with memory management Assembled A Tested: RAM 65 (290ns) 6390.00 _ RAM QigftiOnti $390.00 32K Static Assembled A Tested: 290ns 490ns 290ns Kit I 7 U 799.00 739.00 “79.00 JUNE 1979 CIRCLE INQUIRY NO. 75 INTERFACE AGE 129 Terminals and Printers for every application ... NEC spiiiiiiriter RO's as low as $1695 KSR Terminal (55cps,RS232C) as low as $2595 — Letter Quality at 55 cps — THE PRINTERM 879 Unbelievable speed at low price - 120 cps, printing in upper and lower case with a 9 x 7 dot matrix in a bi-directional mode. Micro¬ processor-controlled RS232 or optional parallel interface directly compatible with TRS-80 or Cromemco System 2 or 3. Friction or pin-feed models available. Friction-feed model can use standard Teletype roll. Friction Feed Model, List $1395 $1099 Pin-Feed Model, List $1495 $1199 T. 1. 81 0 as low as $ 1 695 Bi-directional 165 cps Logic- Seeking Adjustable T ractor SOROC120 NEW LOW PRICE $795 BANTAM 550 from PERKIN ELMER Small in size, light in weight, and low in price — but on top of the list in features and performance. • Upper and lower case • Full 24 x 80 format • Sharp 7x10 dot matrix Get everything you want without paying for things you don't need - List: $996 . NOW FROM US AT9/yy Add $20 for anti-glare screen Integral Data Systems, Inc. IP-125 with 1210 Option* List $838 OUR PRICE $754 IP-225 with Tractor, 1210 and 1250 options List $984 $889 *1210 Option is expanded and compressed print TRS-80 Cable - $49 INTERTUBE II by Intertec • 12" Display • 24 x 80 format • 18-key numeric keypad • 128 upper/lower case ASCI I characters • Reverse video, blinking • Complete cursor addressing and control • Special user-defined control function keys • Protected and unprotected fields • Line insert/delete and character insert/ delete editing • Eleven special line drawing symbols List $995 Limited OUR PRICE $784 Time Only! CENTRONICS 779 (60 cps — same as TRS-80 printer OUR PRICE ONLY $979 979 with Tractor $1039 7Q2 (120 cps, bi-directional) $1895 703 (185 cps, bi-directional) $2189 OTHER VALUES... DECwriter II. $1490 Teletype 43 Printers as low as $880 Hazeltine 1500 our price $1049 Lear Siegler ADM3A $849 SHIPPING, HANDLING and INSURANCE: Intertube, Bantam 550, Printcrm, IP 125/225, Teletype 43's, Hazeltino 1500, and ADM3A can be shipped by UPS. Heavier printers — air or truck, freight collect. All prices subject to change and all offers subject to withdrawal without notice. WRITE FOR FREE CATALOG CIRCLE INQUIRY NO. 98 MiniMicroMart, Inc. 1618 James St., Syracuse, NY 13203 (315)422-4467 TWX 710 541-0431 SOFTWARE SECTION SOFTWARE REVIEW Home Poison Control Use Your Computer to Save a Life Review by Alan R. Miller, Software Editor Sm INTRODUCTION You have just discovered that your child has swallowed a bottle of XYZ. What should be done? Should vomiting be in¬ duced? Unfortunately, this common situation results in more than 3,000 fatal poisonings every year in the United States alone. Most of the victims are less than five years old. If there is a computer in the home, the next step can be easier. In contrast to the office computer which may be dedicated to business, the home computer is often used for playing games. One common game is called CHOMP in which the players take a byte out of a metaphorical cookie. The object is to avoid the poison. More serious programs for home computers have dealt with keeping financial records in order or helping to organize the meals. A POISON-CONTROL PROGRAM Berkeley Medical Data Associates, Inc., P.O. Box 5279, Berkeley, CA 94705, (415) 653-6707, offers a disk BASIC program called Home Poison Control. POISON is not a game, but rather a program that can provide help during an emergency. POISON is written in BASIC and is designed for direct and immediate interaction with a person who may have little knowledge of either medicine or computer operation. The package contains a list of 422 entries, consisting of both generic and trade names of common household pro¬ ducts. Most of the items are toxic substances, but there are also entries for relatively harmless things such as sand, dirt, tea, and yeast. Likely variants in spelling such as DRANO and DRAINO are provided for. The program does not re¬ quire the user to evaluate the victim’s symptoms, but only identify the poison involved. POISON is available in two versions for the 8080 and Z-80 computers: a 5-inch, single-density North Star diskette, and an 8-inch, CP/M diskette for use with CBASIC (See the December 1978 issue of INTERFACE AGE.) INITIALIZING THE NORTH STAR DISKETTE To initialize the North Star version, the user must copy his own version of DOS and BASIC onto the first part of the POISON diskette. These routines have not been placed on the diskette because of copyright problems. Also, it is likely that North Star DOS would have to be altered for the user’s particular system anyway. Release 4 of North Star DOS and BASIC are required be¬ cause POISON uses some of the advanced features in this package. Earlier versions can be upgraded to Release 4 by corresponding with North Star Computers. AUTOMATIC STARTUP One of the features of Release 4 is turnkey startup. The user can alter DOS and BASIC so that when the POISON diskette is in place, and the bootstrap at E900 HEX is exe¬ cuted, DOS will load BASIC, BASIC will load POISON, and POISON will automatically start up. Furthermore, if the CPU board has a jump-on-reset option, it is only necessary to turn on the computer, insert the POISON diskette, and push RUN. This important feature means that anyone in the household, even children, can easily utilize the program. First make a working copy of the diskette, then put the ori¬ ginal diskette away for a backup copy. If there is more than , one drive, put the original diskette in Drive 1, and an initial¬ ized diskette in Drive 2. Give the command: CD 1 2 to copy the entire diskette. If only one drive is available, copy as much as possible into memory with the read command: RD 0 4000 100 Switch diskettes, then copy from memory to the new diskette: WR 0 4000 100 with the write command. This pair of commands will have to be repeated until all 186 blocks have been transferred. The next step is to copy BASIC and the personalized ver¬ sion of DOS to the new diskette. With two drives, place the original diskette in Drive 1 and the new diskette in Drive 2. Give the commands: CF DOS DOS,2 CF BASIC BASIC,2 With a single drive, the commands LF and SF are used: LF BASIC 4000 (with original disk) SF BASIC 4000 (with new disk) LF DOS 4000 (with original disk) SF DOS 4000 (with new disk) Appendix I of the user’s manual gives detailed instructions for altering DOS and BASIC so that the turnkey-startup feature can be implemented. Step 1, however, should explicitly re¬ mind the user that the working area used by BASIC must be enlarged before loading POISON: MEMSET 35000 Also, step 3 could give the command for creating the new directory entry for POISON: *CR POISON 88 14 so that it will start at address 14. INITIALIZATION OF THE BASIC PROGRAM POISON is initialized simply by starting it up (after enlarg¬ ing the working area). A list of options is then presented on the system console: 1. EMERGENCY TREATMENT 2. Change telephone numbers 3. List family allergies 4. Exit from program Type a number (1 -4) ? By entering a 2, the user can set the three telephone numbers: Emergency Room number Doctor’s number Poison Control number Then by selecting option 3, a list of drug allergies for each family member can be entered. JUNE 1979 INTERFACE AGE 131 Compucolor II CRT Display Eight color display with 32 lines of 64 characters (2048) char- acters). Two different character sizes. Plotting graphics of 128 x 128, including vector generating software. 64 stan¬ dard ASCII characters and 64 additional special graphic chararters. Includes a Stan¬ dard RS232C Terminal Mode for time sharing use. 60Hz refresh. Usable screen area 9" wide x 6%" high. Microcomputer Central Processing Unit: 8080A, 2 microsecond cycle time with total memory expandable to 64K bytes. I/O Input /Output Ports: system is de¬ signed for 478 ports, with 30 ports implemented in standard unit. Including one RS-232C Serial Asynchronous Channel for a printer or modem. Baud Rate: Independent Baud rate generators for one of 7 Baud rates from 110 Baud to 9.6K Baud. Mini Disk Drive Uses 514" square Compucolor II diskettes. Tracks: 40 Track Density: 48 tpi Power on Delay: 1 second Access Time: (average 20 tracks) 200 ms Average Latency: 200 ms Transfer rate: 76.8 Kilobits /sec. Performance specifications: Capacity formatted 51.2K Bytes/Side. Both sides usable by flipping diskette over. ROM Memory Read Only Memory (ROM): 16K bytes of nondestructive read only. Memory sockets included for 8K bytes of additional EPROM / MROM memory. Includes DISK BASIC, File Control System, and Terminal Software. RAM Memory Random Access Memory (RAM): 4K bytes for screen refresh. 8K bytes for user workspace. (Optional 16K and 32K — Models 4 and 5.) Keyboard Separate keyboard with Standard ASCII 4 level, coded with 192 codes. Includes 71 gold crossbar commercial key switches. CPU Reset and Automatic disk loading (AUTO) keys are included. Optional: 101 keys with color and numeric clusters or 117 keys with 16 additional function keys. Language Language: DISK BASIC 8001 interpreter in ROM memory includes: 29 statement types: CLEAR, DATA, DEF, DIM, END* FILE, FOR, GET, GOSUB, GOTO, IF, INPUT, LOAD, NEXT, ON, OUT, PLOT, POKE, PRINT, PUT, READ, REM, RESTORE, RETURN, SAVE, STEP, THEN, TO and WAIT. 3 command types: CONT, LIST and RUN. 19 mathematical functions: ABS(x), ATN(x), CALL(x), COS(x), EXP(x), FNx(y), FRE(x), INT(x), INP(x), LOG(x), PEEK(x), POS(x), RND(x), SGN(x), SIN(x), SPC(x), SQR(x), TAB(x), and TAN(x). 9 string functions: ASC(x$), CHR$(x), FRE(x$), LEFT$(x$I), LEN(x$), MID$(x$,I,J), RIGHTS(x$,I), STR$(x) and VAL(x$). 12 Disk File commands: COPY, DELETE, DEVICE, DIRECTORY, DAPLI- CATE, INITIALIZE, LOAD, READ, RE¬ NAME, RUN, SAVE, and WRITE. CRT Terminal Commands: Page /Roll mode; Erase Line; Erase Page; Tab; Two Character Sizes; Blink; Cursor Home’ Left, Right’ up and Down; Cursor XY Addressing; Cap lock; CPU reset; Foreground /Background Color Selection; 15 Plot Modes; Blind Cursor Mode; Local, Full and Half Duplex Modes; Write Vertical Mode; and Transmit Cursor and Page Modes. Available for the Compucolor II Programmed Sof-Disk Albums Sampler (includes; 1. Demo Program of Sample Displays and CCII Features; 2. Game of Concentration; 3. One-Armed Bandit; 4. Biorhythms; 5. Loan and Repayment Schedule; 6. Memory Diagnostics for the CCII; 7. En¬ gineering Application.) Math Tutor: Math Tutor, Checkbook, Recipe Program, Math Dice, Biorhythms Star Trek: Star Trek, Lunar Lander, Shoot, Tic-Tac-Toe Hangman: Hangman, Math Tutor, Two to Ten Chess: Chess, Acey Deucey, Line Five, Biorhythms Othello: Othello, Math Dice, Concentration (Numbers), Concentration (Letters) Text Editor Assembler for the 8080 Some programs may require additional RAM memory. Blackjack Cubic Tic Tac Toe Personal Finance Vol. 1 (Interest) Personal Finance Vol. 2 (Loans) Bonds and Securities Equity Personal Data Base Income Tax-78 Maintenance Manual Programmer’s Manual BUS 50 pin bus: provides all addresses, data, clocks, etc., to allow the Compucolor II to be expanded with additional peripherals in the future. Prices Model 3 — 8K user RAM — $1,495 Retail* Model 4 — 16K user RAM — $1,695 Retail* Model 5 — 32K user RAM — $1,995 Retail* Warranty 90 days Available options Second Compucolor II Mocro- Floppy™ disk drive — $400* Expanded Keyboard: 101 keys with color and numeric clusters — $135* Deluxe Keyboard: 117 keys, including 16 addi¬ tional function keys — $200* Additional 16K RAM Module (only for Model 3 and 4) —$375* *U.S. Domestic Prices T&W COMMUNICATION CENTERS 7231 FONDREN at SW FRWY. HOUSTON, TX 77036 (7131 774-9526 132 INTERFACE ACE CIRCLE INQUIRY NO. 91 JUNE 1979 SOFTWARE SECTION PROGRAM USAGE During an actual emergency, the user selects item 1: EMERGENCY TREATMENT. This generates a master poison list with ten items classified into seven categories: Caustics (Drano, lye, Liquid Plumber, etc.).4 Drugs (aspirin, prescriptions, etc.).6 Dyes (fabric, food, etc.).2 Fuel (gasoline, kerosene, white gas, etc.).2 Medicines (prescriptions, non-prescr, etc.).6 Oils (heavy, thick lubricants, etc.).3 Paint (thicker liquids, not thin aromatic).2 Soaps (detergents, etc.).5 Solvents (thinners, removers, etc.).1 Ipecac . » . 7 OR. . .type name of product or substance At this point, the user enters either a category number from 1 to 7, or a product name. POISON responds first with the three emergency telephone numbers that were entered dur¬ ing the initialization step. Then, if a category number was entered, the emergency treatment is printed out. On the other hand, if a product name was entered, POISON first in¬ dicates that it is searching the disk library for the requested name. If the product name is located, the emergency treat¬ ment is printed out. If the name cannot be found in the library, the following message appears: I cannot identify_ Try a related word, or a different spelling of the same word. The master poison list is reprinted, and the user can try again. Experienced programmers will have little difficulty with POISON. There are, however, several places for the un¬ experienced to go wrong. The very first problem occurs when the user enters the number 1 and nothing happens. The solution is to remind the user to press RETURN after completing each entry. This simple step can be fatal in an emergency. Since POISON is written in BASIC, the prob¬ lem can be easily remedied. Change lines 230, 280 and 420 of the source program to read: 230 INPUT* Type a number (1-4), then RETURN�,F 280 PRINT‘‘MASTER POISON LIST, type the number and RETURN� 420 ** Type number or name, then RETURN�,N$ A second serious problem can occur because the list of poisons is in uppercase letters. If the user enters a product name in lowercase letters, it won’t be found. This problem can also be easily fixed by typing: 510 FOR 1 = 1 TO LEN(N$) 512 N3 = ASC(N$(I,I)) 514 IF N3<97 THEN 518 516 N$(l,l) = CHR$(N3-32) 518 NEXT I 519 R1 $ = N$ The patch will convert each lowercase letter to the corres¬ ponding uppercase letter. Now the user can enter lye or LYE or Lye and POISON will find the entry. THE USER S MANUAL The 24-page user’s manual contains several parts. The sections needed during an emergency are clearly indicated. This insures that time will not be wasted by reading the disk- initialization and BASIC source-code sections when time is important. The manual also has a helpful section on how to reduce the likelihood of poisoning, by keeping toxic materials and potentially dangerous materials such as aspirin, out of sight. It is also suggested that dangerous materials never be stored in empty food containers. POISON looks like a useful addition to the library of good microcomputer programs. The applications are not limited to the home. It could be useful in business locations, espe¬ cially those with unusual chemicals around.□ Who has software for HEIIIH computers? HUG does! As a member of HUG (Heath Users’ Group) you have access to the HUG Library, which now has more than 400 programs. Imagine between 30 and 80 programs on a tape for nominal reproduction and distribution cost. Software documentation and disks are available, too. HUG members have access to both user-developed pro¬ grams and special application packages. Programs include: • Amateur Radio • Business Applications • Games • Computer-Assisted Instruction • Personal Finance • Utility And there’s more: as a member of HUG you receive your own subscription to REMark, the quarterly user maga¬ zine. You get an attractive HUG binder loaded with information for getting the most from your HUG mem¬ bership. Furthermore, as a member, you have the oppor¬ tunity to compete for valuable prizes in HUG software contests. Plus...many HUG members are forming local groups to increase the benefits of HUG membership. If you like the looks of HUG so far, check this partial list of program titles: ACCOUNTS RECEIVABLE...PAYROLL...QSL FILE MAINTENANCE... DISASSEMBLERS...MORSE CODE REVIEW... RTTY SEND/RECEIVE ...INVENTORY...HOME BUDGET MAINTENANCE... PERSONAL AC¬ COUNTS PAYABLE...DISK TRANSFER SYSTEMS...BASIC RENUM¬ BERING PROGRAMS...SPACE WARS... CHESS.. .TAX PROGRAM... MAILING LIST PRINTER ... LUNAR LANDER... DECLINING INTEREST ...MORTGAGE TABLES...LOAN AMORTIZATION... INTERACTIVE DATA BASE... CREATE-A-PROGRAM ... BASIC TUTOR. ..CAI ...BOWL¬ ING... ADVENTURE... OTHELLO HIDDEN PEA...LOOP ANTENNA DE¬ SIGNER... EDITOR... DEVICE DRIVER...ELECTRIC BILL CALCULA¬ TOR...FIVE BASE CALCULATOR...CREDIT CARD MANAGEMENT... ACCOUNTS PAYABLE...STOCK REPORTER... EMULATOR... OP-AMP CIRCUIT DESIGN...POWER SUPPLY DESIGN... ANTENNA DESIGNER ...WORD PROCESSOR...REAL ESTATE DEPRECIATION PROGRAM ...TIC-TAC-TOE... STARTREK.. .CHECK BOOK PROGRAMS... NAME THE STATE CAPITALS... SPELLING WORDS... HANG MAN... BIO¬ RHYTHM ... MUSIC MAKERS...VOCAL DUMP... PILOT... SOLID STATE AMPLIFIER DESIGN...8080 EMULATOR... BATTLE... STARCRUISER ...BLACKJACK...FINANCE...FOOTBALL...RECIPES...WORD POWER ...ELIZA...MUSIC LIBRARIAN...CHI SQUARE MULTISORT...OCTAL/ ASCII DUMP... FILE MAINTENANCE... DEPRECIATION CALCULA¬ TOR...PEAK BUDGET DEMAND...FIND OSCAR ...HANDY HAM PROBLEM SOLVERS...ASSEMBLY LANGUAGE ROUTINES ... SMALL BUSINESS PACKAGE...AND MANY, MANY MORE! SOUIld yOOd? Then f it I out the coupon below and enclose a $14.00 check or money order for your first year’s HUG membership. (Membership is $16.00 US Funds in Canada and $24.00 US Funds International). "A ) Heath User's Group Enclosed is the appropriate fee in US Funds for my HUG membership. HUG Membership Hilltop Road, St. Joseph, Michigan 49085 Name_ City _ .State. Zip- JUNE 1979 CIRCLE INQUIRY NO. 32 INTERFACE ACE 133 SOFTWARE SECTION SOFTWARE APPLICATION Generating Copies of TRS-80 The prerecorded machine-language tapes sold by Radio Shack for the TRS-80 present an interesting problem to the user: how to generate a backup copy of these tapes using the TRS-80. The general procedure for producing copies presented here uses the TRS-80 Editor/Assembler program as an example. The intent is to present to TRS-80 users a means by which they can protect their software investment; it is not to encourage piracy of Radio Shack’s software. A simplified flow chart is shown in Figure 1. The first two blocks, start address of source code and length of code, are Figure 1. Flow Chart of Copying Program. of rather great importance and often difficult to determine. For example, T-BUG cannot be used to examine the Editor/ Assembler for its start address since the programs reside in partially common memory space. However, it is reasonably well known that T-BUG resides in memory locations 4380H through 497FH. The Editor/Assembler was determined, through the courtesy of Radio Shack Computer Services, to reside in memory locations 4300H through 5D40H. The number of data blocks is computed next where the data block length can be from 1 to 256 bytes (256 bytes are designated as 00H). It is desirable to have the block lengths as large as possible to maximize the useful information transfer rate. Also, different data blocks can be the same length or different lengths. The tape recorder is turned on by either user generated code or more simply by using code in the LEVEL-II ROM. The calling code is as follows: LD A,00H; specify on-board cassette CALL 0212H; define drive and turn on cassette. The leader (255 bytes of zeros) and sync byte (A5H) can be written using the statement CALL 0287H or by equivalent code. The easiest method to output a byte to the cassette recorder is to execute a CALL 0264H with the byte to be recorded present in the A register. The file header code (55H) precedes the file name which comprises six bytes. If the file name, which must have a letter as the first character, is less than six characters, it must be padded with trailing blanks (20H). Each data block comprises a data block header byte (3CH); a single byte specifying the number of data bytes in the data block; the starting address of the data block with the Isb first and msb second; the data bytes; and a one-byte checksum determined by summing the data bytes and the block starting address. The data blocks are output to the tape cassette recorder (Figure 1) until the data is exhausted. The final information output is an entry point header (78H) and the entry point address (Isb, msb) which specifies the address that program execution begins. Executing CALL 01F8H will turn the tape cassette recorder off and JP 1A19H will re-enter LEVEL-II BASIC with the READY prompt. Alternatively, JP 0000H will produce the equivalent of the power-up condition. Listing 1 presents a program, 137 bytes long, that will generate a backup copy of the TRS-80 Editor/Assembler. The comments provide adequate explanation of the pro¬ gram. Note, however, that there are other possible realiza¬ tions of the program. For example, the file name could be defined using the DEFM statement and another write loop in¬ stead of the code from lines 00380 to 00490. To produce a backup copy of the Editor/Assembler, load the Editor/Assembler and the program shown in Listing 1 using the SYSTEM command. Next, execute the copying program by entering “/28672� with the tape cassette recorder in the record mode and the volume setting between 5 and 6.D 134 INTERFACE AGE JUNE 1979 SOFTWARE SECTION SOFTWARE APPLICATION Machine-Language Tapes __By R. B. Johnson. PROGRAM LISTING 00100 THIS PROGRAM GENERATES ft BACKUP 90640 00118 C0PV OF THE TRS-80 EDITOR/ASSM. 7041 3E43 0B650 LD A, 43H 00120 THE EOTASM RESIDES IN LOCATIONS 7043 CD6402 00668 CALL W WRITE MSB OF BLOCK START 00130 4200H TO 5D40H 80670 ; ADORES c 80140 THE PROGRAM BELOW HAS- 7000H AS 7046 7E 08688 LD A,(HL> 00150 ITS ORIGIN 7847 CD6402 00698 CALL W WRITE DATA 00160 PROCEDURE USING SVSTEM CMD, LOflO 704h CD6402 00700 CALL w WRITE CHECKSUM 00170 EDTflSM * THE PROGRAM BELOW THEN 80710 THE CHECKSUM, REG C, IS THE 00180 ENTER ".'28672" WITH TAPE RECORDER 00728 1-BYTE SUM OF THE START ADDRESS 00190 i SET Fill; 1 RECORD 80738 AND DATA 88280 ORG 7008H 704D 23 00740 INC: HL HL IS POINTER TO THE EDTASM ?m 218043 00210 LO HL, 4300H START OF EDTASM IN MEMORY 80750 PROGRAM LOCATIONS. 00228 704E 3E3C 08768 LP1 LD A, 3CH GENERATE 28 DATA BLOCKS ?m 161C 00238 LD D, 1CH SET UP FOR 28 LOOPS 7050 CD6402 08778 CALL W WRITE DATA BLOCK HEADER CODE 7005 0E00 002*48 LD Ci 00H CLEAR CHECKSUM REGISTER 7053 3EF0 00788 LD A, 248 0264 00250 U EQU 0264H ADDRESS FOR BYTE OUTPUT 7855 CD6402 00798 CALL W . WRITE, 240 BYTES IN THIS 082*60 ROUTINE 00791 ; DATA BLOCK 700? 3E00 00278 LD A, 08H SPECIFY ON-BOARD CASSETTE 7058 7D 008CW LD A,L 700? CO1202 002*88 CALL 0212H DEFINE DRIVE 705.9 CD6402 00810 CALL W . WRITE LSB OF THIS DATA BLOCK 700C 008702 802*90 CALL 0287H WRITE LEADER AND SYNC BYTE 00820 . START ADDRESS 00300 LEADER IS 255-BYTES OF ZEROS 785C 7C 00830 LD A,H 00310 SYNC BYTE CODE IS ASH 705D CD6482 08848 CALL W • WRITE MSB OF THIS DATA BLOCK ?m 3E55 00320 LD A, 55H FILE NAME HEADER CODE BYTE 00858 START ADDRESS 7011 006402 00330 CALL W OUTPUT BYTE TO TAPE RECORDER 7860 86F0 00668 LD B, 248 INITIALIZE INTER-LOOP COUNTER 00340 THE FILE NAME IS SIX-BYTES 706.2 40 00878 LD CiL INITIALIZE CHECKSUM WITH LSB 00250 IN LENGTH FOR* NAMES LESS 08888 OF START ADDRESS 00360 THAN SIX BYTES; PAD WITH 7063 7E 06890 LP2 LD A, (HL) LOOP TO OUTPUT DATA BYTES 08370 TRAILING BLANKS < CODE 20H) 7064 CD6402 00900 CALL W WRITE DATA BYTE TO TAPE 7014 3E45 00380 LD A, 45H FILE NAME EDTASM 7067 81 00910 ADD A,C ADD CURRENT CHECKSUM TO DATA 7016 CD6402 00398 CALL W . WRITE E 7068 4F 80920 LD C, A STORE RESULT AS f£W CHECKSUM 7019 3E44 00400 LD A.44H 7969 23 08930 INC HL BUMP HL IF* BY ONE 701B CO6402 00410 CALL U . WRITE D 706R 10F7 80940 DJNZ LP2 GO TO LP2 IF NOT DONE 701E 3E54 00420 LD A. 54H 706C 79 08950 LD AiC 7020 CD6402 001430 CALL W . WRITE T 7860 CD6482 00968 CALL W . WRITE CHECKSUM 782’3 3241 00440 LD Ai41H 7070 15 00970 DEC D , DECREMENT BLOCK COUNTER BY ONE 7925 006402 00450 CALL W ■WRITE A 7071 7A 08988 LD AiD 7028 3253 00460 LD A, 53H 7072 FE08 00998 CP 80H . IS BLOCK COUNTER ZERO'* 702R 006402 00470 CALL W i WRITE 5 7074 20D8 01000 JR NZ,LF1 . IF NOT ZERO, GO TO LP1 7020 3240 00488 LD A. 4DH 7076 3E78 01010 LD A. 78H 702F 006402 06490 CALL W ; WRITE M 7878 CD6402 01028 CALL Hi . WRITE ENTRY POINT HEADER 00491 01038 . CODE (78H) 80492 707B 3E8A 01040 LD R.8AH 00500 THE LENGTH OF EDTASM CAN BE 707D C06402 01050 CALL W ■WRITE LSB OF ENTRY POINT 00510 DIVIDED INTO AONE i-BVTE DATA 01060 . ADDRESS 00520 BLOCK AND TWENTY-EIGHT 7080 3E46 01070 LD A, 46H 00530 240-BYTE DATA BLOCKS. THE 7082 CD6402 01080 CALL W WRITE MSB OF ENTRY POINT 005.40 SINGLE BYTE BLOCK IS WRITTEN 01098 ADORES S 08550 FIRST, FOLLOWED BY THE 240- 7085 CDF881 01100 CALL 01F8H TURN C ASSETTE OFF 00560 , BYTE DATA BLOCKS 7088 C3191A 01110 JP IRISH RE-ENTRY TO LEVEL-II BASIC 00561 » 01129 IF YOU WANT TO RETURN TO 00562 i 01138 THE EQUIVALENT CF A POWER-UP 7832 3230: 00570 LD A-3CH 01140 CONDITION. THEN CHANGE 1A19H 7034 006402 80580 CALL W . WRITE DATA BLOCK HEADER* CODE 01150 TO 0800H 7037 3281 00590 LD A. 01H 0000 01160 END 7039 006402 00600 CALL W ■WRITE NUMBER OF BYTES IN THIS 00008 TOTAL ERRORS 00610 ; DATA BLOCK LP2 7063 703*3 3200 006.20 LD Hi 00H LP1 704E 703E CO6402 00630 CALL u . WRITE LSB OF BLOCK START U 8264 JUNE 1979 INTERFACE AGE 135 SOFTWARE SECTION SOFTWARE TUTORIAL A Format Approach to Structured Programming Structural Decomposition By Stanley Dnnn Department of Electrical Engineering Drexel University Philadelphia, PA 19104 INTRODUCTION The computer field is in the midst of another revolution. Computer hardware is more abundant, and volumes upon volumes of software are, and will continue to be, flooding the market. With the increase in the software industry, several astute individuals have realized that format organization and development philosophy is necessary to make programming an engineering discipline. Since Dijkstra’s original treatise on the subject, many authors have tried to present structured programming as either: programming without go-to’s; top-down design; or modular programming. Structured programming is actually a combination of all of these rather than a singular concept. This article introduces structural decomposition, which is a format approach to developing structured programs. There are three transformation rules associated with the process which will be presented and the entire process will be demonstrated by use of a small example. THE STRUCTURAL DECOMPOSITION PROCESS The basic idea behind this approach is that the designer considers the entire program as one large idea, and repeatedly breaks it down into smaller units followng the transformation rules. This is the part of the process known as top-down de¬ sign. Initially, the program is considered to be one large block which is continually decomposed into smaller units, Figure 1. The advantage to this approach is that immediately the beginning and the end of the program are known, with the steps in between being refined. This avoids groping through individual steps until an end is reached. Modular programming design becomes important at this step. Each block interacts with the others only through the entry and exit points and no other way. Each module, or block, needs only to know what is available at the output of the previous module and what is to be presented at the input to the succeeding module, Figure 2. Figure 1. Transformation 136 INTERFACE ACE JUNE 1979 SOFTWARE SECTION SOFTWARE TUTORIAL Before the transformation rules are presented, there is one final point to be covered and that is programming without go-to’s. To do this effectively, the designer is limited to three constructs. These are: A sequential construct; a repetitive construct; a decision construct, Figure 3. Note that each has one entry and one exit point. This limits the jumping around in a program, and eliminates the need for a go-to or absolute jump construct. The transformation rules of structural decomposition say that each sequence block, (rectangular block in flow chart) can be replaced by one of the three constructs mentioned above. That is, one sequence block can be replaced by a series of sequence blocks, or one sequence block can be replaced by a decision block. The final transfor¬ mation rule is: that a sequence block can be replaced by a repetitive construct, Figure 4. The one-entry, one-exit property of each block is still maintained through the transformation. In structural decomposition, the following steps are taken when writing the algorithm and subsequently the code. The program is first considered as one sequence block between the beginning and end. From the problem statement the designer determines how many blocks the program should be decomposed into. Each of these decomposed sections usually correspond to one of the following: Initialization, repetitive process, and printing of results. After this initial decomposition, each sequence block is considered separately and is transformed using the transfor¬ mation rules stated above. Traditionally, the most compli¬ cated is attacked first, so immediately the designer will be able to tell if the problem can be solved with the suggested procedure. If difficulties are found in transformation, the problem can be solved by trying a different algorithm. This transformation process is continued until a level in the flowchart is reached which is suitable for coding the lan¬ guage being used. Obviously, for assembly language pro¬ gramming more transformation steps will be required than for programming in FORTRAN or BASIC. A SMALL EXAMPLE To illustrate the concepts introduced, consider the following problem: Figure 2. Sequence Block connections. Therefore, each module can be designed and coded in¬ dependent of the others; realizing that the module must pre¬ sent the data correctly to the succeeding module and take data correctly from the last module/and so forth. This fact is extremely important in the structural decom¬ position process. Since each block is independent, the struc¬ ture of the block can be changed, keeping the input and out¬ put the same without affecting the program. This conse¬ quently is the basic theory behind the three transformation rules of structural decomposition. Figure 3. Legal constructs in programs. JUNE 1979 INTERFACE AGE 137 SOFTWARE SECTION SOFTWARE TUTORIAL Figure 4. Transformation rules. From a list of 25 numbers, compute the average of all the numbers that are greater than 5. The 25 numbers are already in memory, and they range in value between 0 and 9. Figure 5. Initial program statement. The above problem statement will serve as the initial block in the flow chart, Figure 5. At this point, the problem state¬ ment must be examined closer to pick out key words which will enable us to decide how the flow chart can be decomposed. The first clause, from a list of 25 numbers, indicates that each one of the 25 numbers in the list will be checked. This means that a certain procedure will be repeated, and hence the need of a repetitive construct. Of these 25 numbers, those that are greater than 5 will be averaged. First, a decision is necessary to see if they are greater than 5, and if the number is, add it to the sum, add one to count for computing average. To compute an average, two quantities are needed. First, the number of numbers to be averaged; and secondly, the sum of the numbers to be averaged. The average is com¬ puted by: AVERAGE = SUM/(NUMBER OF NUMBERS) Since both a sum and count are required, they must be in¬ itialized. After the repetition, the average must be computed, then printed. The above analysis is an important step in Structural Decomposition. It is necessary to have a point where the designer should think ahead, otherwise he may have no direction in which to proceed. From the above analysis, the original program block is decomposed into three sections, The think-ahead step showed that three stages were pre¬ sent in this problem. The first stage is the initialization of the variables needed. The second stage is the repetitive process and finally the output stage. In general this will be the form of virtually any program en¬ countered. This concludes the first stage of decomposition, now the transformation rules can be applied to further de¬ compose the algorithm. It was noted in the previous section that at this point the most complicated sequence should be handled. This, ob¬ viously, would be the middle sequence. Already from the in¬ itial analysis, this sequence block will be transformed into a repetitive structure. The repetition is over the 25 numbers in the list, and the process performed each time is to see if it is greater than or equal to 5. If so, then a task will be performed; otherwise, just point to the next number. Figure 7a shows how the transformation rule has been applied to this sequence. There is still transformation to be done on this middle se¬ quence, but the emphasis is on a smaller section of the trans¬ formed sequence block. By referring once more to the initial analysis, the process block in the loop must be a decision construct. The number must be checked to see if it is greater than or equal to 5. If so, another process is performed. Figure 7b shows transformation rule 2 applied to this step. It is necessary to go one step further in decomposition of the sequence. If the number in the list is greater than or equal to 5, the value is added to the sum and one is added to the count. If the number is less than 5, just proceed to the next step. This is an application of transformation rule 1 to the se¬ quence block in the decision construct. Figure 7c shows in flow chart form the transformation rule applied twice, once on each side of the decision. 138 INTERFACE ACE JUNE 1979 SOFTWARE SECTION SOFTWARE TUTORIAL From the original decomposition, Figure 6, all that re¬ mains is to transform the first and third sequence. Since the first sequence is the initialization, each of the variables used should be set to the initial value necessary for running the program. The program begins pointing at the first number, so pointer = 1, also sum and count must be 0 since these two numbers will be used for running totals. Hence the first sequence block can be transformed by using the first rule. This is shown in detail in Figure 8a. Figure 8b. Transformation of Third Block. Now the third block of Figure 6 remains to be trans* formed. This is the final processing and output block. There are two parts to this block. First is to compute the average, then to print the average from the think ahead stage. Remember that the formula for the average is: AVERAGE = SUM/COUNT With this in mind the designer can use the first transforma¬ tion rule to decompose the third sequence block. This is followed by the print statement. See Figure 8b for the decomposition. Each of the transformed blocks can be put together now to yield the entire flow chart. At this point, the flow chart can be used to code the program in FORTRAN or BASIC, but will require further work to be coded in an assembly language. Figure 9 contains the complete flow chart to this point. ADDITIONAL NOTES ON DECOMPOSITION TECHNIQUES No doubt many will say that assembly language programs cannot be structured. The fault in this assertion lies in the fact that it refers to the code involved and not with the architec¬ ture of the program. Regardless of the language imple¬ mented, if the program exhibits good architecture, then it should be considered a structured program. This is where go-to problems come into effect. It is nearly impossible to code a program in an assembly language without using a JMP (jump), or BRA (branch always). The go-to less stalwarts maintain that a program with a JMP or BRA is not structured, but again coding is not that important. It is the structure of the algorithm that is of prime importance. There are several structures that are important to cover if they are to be implemented in an assembly language. These are the decision and repetitive construct since they both in¬ volve testing for certain conditions. This normally involves JUNE 1979 INTERFACE AGE 139 SOFTWARE SECTION SOFTWARE TUTORIAL loading an accumulator and testing certain flags or perhaps a test instruction. To demonstrate how to transform a repetitive constru'd, refer again to Figure 6. Begin with the middle block, but keep in mind that the flow chart is in the state of Figure 9. In order to implement the test condition for 25 numbers, do the following: The repetitive construct can be inversely transformed into its original sequence block. Now, consider that assembly language is the target language and the designer must compare for 25. The number is compared to 25, then the actual test becomes testing for zero. This be¬ comes a sequence which occurs before the testing. Figure 10 shows the two stage transformation to assembly language. It cannot be emphasized enough that even though the above transformation does not appear in the transformation rules, the above transformation is one of coding, not a logical trans¬ formation. The block preceding the decision block is logically part of that decision process and in algorithm design is treated as such. Only in the coding process does the block separate. This is also true for the decision structure. For assembly language programming more mechanical steps are involved in making a decision which are not evident during the de¬ sign, nor should they be! It is important to obey the transfor¬ mation rules in the design process to achieve well structured programs. Coding should not be considered at this stage. SUMMARY This article has presented a technique called Structural Decomposition which is used to develop structured pro¬ grams. An example was presented to show how this technique can be used to develop an algorithm for a small program. Mastery of this process will come only with practice. The programmer does not become proficient overnight. But by applying this technique and the associated transfor¬ mation rules, programs will be modularized, and also easily modifiable. This fact alone is reason enough to use these techniques in program design. Assembly language transformation was discussed, keep¬ ing in mind that the logical structure is important and not the mechanical structure of the code involved. This is something that must not be lost sight of — this is probably where confu¬ sion arose in the past. Structural Decomposition shows that structured program¬ ming is not just programming without go-to’s, top-down pro¬ gramming, or modular programming, but it is the use of all three together which make structural programming a power¬ ful development tool.D 140 INTERFACE AGE JUNE 1979 AMERICAN TAX ASSOCIATES Alpha Fedtax and Caltax a years in use alpha micro systems This is a thoroughly tested and successfully installed software package. It is very user oriented and simple to use. The package is as comprehensive as available computer tax services. It will calculate taxes, prepare and print all forms. This package is supported by American Tax Associates, an established California accounting firm. In this way you can be assured that the yearly updates will be consistent with the current laws and accounting practices. This package is a real time saver. It can perform income averaging automatically, and based on the data input, the program can determine whether to itemize or to use the standard de¬ duction. The client data collection and input procedures were selected based on the experiences of American Tax Associates, and the techniques used by many service companies. A simple form is completed during the client interview. The data from this form is later input into the computer for processing. When the client data is entered into the computer you may select to have it print an audit trail of all data entered. This will enable you to double check the data entered. The returns are printed on continuous preprinted IRS approved forms. Those forms not requir¬ ing a preprinted form are formulated and printed on blank paper. The data disk will hold up to 120 clients so the software is designed to print all of one page at a time. The Alpha Micro system was chosen as the base computer system because of its multiuser capability, high throughput, and upward expandability into a hard disk system. Yearly updates will be supported by American Tax Associates. These updates are available from either your dealer or directly from Mission Control. SYSTEM REQUIREMENTS: Language: Alpha Micro Systems Basic (compiled) Media: 8" floppy diskette CPU: Alpha Micro AM-100 Memory: 64K RAM Printer: 132 col with tractor feed Floppy: Dual 8" drives required Write for our brochure - Dealerships still available Contact: Distributor 2008 WILSHIRE BLVD., SANTA MONICA, CA 90403 • (213) 829-5137 DISTRIBUTED BY MISSION CONTROL JUNE 1979 CIRCLE INQUIRY NO. 82 INTERFACE AGE 141 MICRO-MARKET MICRO-MARKET ADS SELL YOUR PRODUCTS AD RATE: $50.00 per column inch. Minimum of 1 and maximum of 4 column inches per ad. All ads 2% 6 inches wide. Submit ads to: INTERFACE AGE Magazine Micro-Market Ads P.O. Box 1234 Cerritos, CA 90701 i~ TRS~80" T-PAL i I Programming Amateur’s Letter | ■THE “DO-IT-YOURSELF 55 ■■software newsletter ■I FOR TRS-80 OWNERS I I Published Monthly, We’ll Teach You | ■All The Latest Wrinkles —How To Get ■I The Most Out Of Your Computer - Graphics • Games • Personal Business • And Much More! S24 per year... or write for FREE DETAILS I THE MAIL MART I Box 11102A, San Francisco, CA 94101 I f TRS - 80 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, Texas78572 (512) 585-2765 REAL WORD PROCESSING FOR YOUR NORTH STAR Written in BASIC. Works with North Star DOS. No special DOS needed. Operates on as little as 8K of free memory. No extra memory boards needed. Easy to learn and use. There are no control characters to mess with. System comes complete with diskette and easy to follow documentation. SPECIAL INTRODUCTORY PRICE: $75.00 Send $ 1 for Operating Manual - See what the system will/will not do before you buy. YANG COMPUTER SYSTEMS P.O. Box 4134. Fullerton. CA 92631 _ (714) 774-1270 _ TRS-80 Quality Software. Be selective! DOS. $39 WORD processor stores text in disk No cassette $39 INVentory uses 9 digit key for fast ran¬ dom access Not sequential $35 MAIL sorts report & label by any field $49 DATA/base report requires 32K Not 16K LEVEL I or LEVEL II cassette inventory, data base. 16K. $20 each Stock, check balance 4K. $10 each or $15 for both MICRO ARCHITECT 96 Dothan Street, Arlington. MA 02174 Check our prices — We will not be undersold! DISCOUNTS! POLY 8813 1 drive No monitor $2650 POLY-88 System 2 $575 IMSAI1-8080 22 Slot $650 IMSAI V10 Basic/C Kits $150/$260 NORTH STAR First Disc System Kit $500 POLY 88/8813 Software $2.50/Program AAAA Computer How’s 1477 Barrington, Suite 17 W. Los Angeles. CA 90025 (213) 477-8478 SxWWWWU 111II////////////// V Special SalelffiF, 1 ^ ^ CRTs $£9*> | V V is We Buy-Sell-Trade all brands & ^ models of Data Processing ^ Equipment. ^ Hazeltine 2000 110 thru 9600 Baud Editing Detached Keyboard TTY or Batch Modes 74 Col x 24 Lines Format Auto- Tab ! Nearly a million dollars in inventory » • Call for price quotes ^ 214/357-5725 § ^ * U.S. BROKERS CO. $ (I5s) X ^ ■■^ Dallas, Texas 75229 y//////nn\n \11 nwwwwwSs i A Division of CM Corp. 2636 Walnut Hill Lane Suite 347 1 FRUGAL FRONT PANEL SERIES S-100 DISPLAY-SENSE BOARD Board and Manual $34.95 Kit $89.95 REMOTE HEX PANEL Board and Manual $27.50 Kit $74.95 REMOTE BINARY PANEL Board and Manuai $27.50 Kit $69.95 ★ Assembled Versions Available * HEAVY DUTY UPHOLSTERY VINYL COMPUTER CANOPY DUSTCOVERS APPLE II $13.95 H-8, H-11, HORIZON, INTEGRAND 800D $15.95 HAZELTINE 1500/1510/1520, ADM-3, H-9 $17.95 PET, SWTPC CT-82, ACT IVb $19.95 SAVE ON 3-PIECE SETS: TRS-80 - $29.95; HEATH — $39.95 ★ Write For Other Models ★ Add $2 per item for shipping & handling. Si extra for COD Texas residents add 5% tax M/C & VISA accepted Digital Dynamics, Incorporated Dept I , 310C Breesport San Antonio, TX 78216 (512) 341-8782 NORTH STAR USERS MARYELLEN - TEXT PROCESSING SYSTEM 24 commands incl. AUTO, RENUM, LOAD, SAVE, EDIT, MOVE, COPY, FIND, & CHANGE. Handles multiple printers, centering, line fill¬ ing, justifying, titling & more. In 8080 Assm. language. Loads at 2A00. Min. 16K/1 disk. Only $38 + $1 p&h + CA sales tax Send SASE for list of other software available SURF COMPUTER SERVICES P.O. Box 66572-A Los Angeles, CA 90066 _ (Dealer Inquiries Invited) _ BASIC SUBROUTINE LIBRARY Volume 1 • ARRAYS minimum, maximum, sums, searching, sorting. • MATRIX ALGEBRA - addition, subtrac¬ tion, multiplication, transposition, determinant, inversion. • SIMULTANEOUS EQUATIONS - non- symmetrical, symmetrical, banded, three-diagonal. Any routine you’ll ever need, involving arrays, matrix algebra or simultaneous equations, can be found in this com¬ prehensive collection of subroutines, compactible with any version of BASIC having subscripted variables. Numerous examples show how to incor¬ porate those subroutines into your pro¬ grams or how to use them as stand alone programs. Order now and save days of work. $18.00 U.S. plus $2.00 for handling and postage. VM Professional Application Software, Inc. 2703 Bainbridge Avenue BURNABY, B.C. V5A 2S7 M2 INTERFACE ACE JUNE 1979 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 ★ ★ ★ TELESTAR ★ ★ ★ A North Star Modem Operating System. This comprehensive assembly language package will allow North Star users the ability to trans¬ fer named disk files, timeshare from other systems, access computer bulletin services, access to other telestar users, run basic pro¬ grams from a remote location, etc. The TELE¬ STAR package was written specifically for for North Star Disk systems and will operate with most hardwire or acoustic modems run¬ ning full or half duplex. The TELESTAR pro¬ grams will self-patch to the individual user’s I/O routines. Among the several disk files in¬ cluded are the names of 13 hobby bulletin systems with instructions on how to use them. For more information write MIDWEST DIGITAL, 863 Wood Ave., Wichita, KS 67212. DISK DRIVE WOES? MEMORY LOSS? ERRATIC OPERATION? DON’T BLAME THE SOFTWARE! Power Line Surges & Hash could be the culprit! Floppies, memory & processor often interact! Curb damaging Surges & Hash with our ISOLATORS and Supressor/Filters Eliminate Equipment Interaction with our unique ISOLATORS. ISOLATOR (ISO-1 A) 3 filter isolated 3-prong sockets; integral surge suppression; 1875 W total load. 1 KW any socket $49.95 ISOL ATOR (ISO-2) 2 filter isolated 3-prong socket, banks (6 sockets total); integral surge suppression. 1875 watt total load. 1 KW load either bank $49 95 Supressor/Filter (SFK-31) 3-prong socket. 1 KW load.$24.50 Supressor/Filter (SFK-33) Three 3-prong sockets; 1250 watt load.$32.50 PHONE ORDERS 1-617-655-1532 BA VISA & MC Cards Accepted f+’U electronic Specialists Inc DEPT. IF. 171 So. Main Straat, Natick, Mast. 01760 MASTERFILE PROGRAM FOR APPLE II The software written in Applesoft creates and main¬ tains a workable random access file of Accounts. As the need arises other programs may be added to use the Accounting File for functions like Accounts/ Receivable, Inventory, Invoicing and other special business applications. The MASTERFILE PROGRAM SELLS FOR . . . $38.50 Please be sure and specify System Size and Print Commands when ordering. Minimum System re¬ quirements are 48K(RAM) and one Disk Drive. Write to: IDP, Systems 420 So. Catalina Blvd., Suite 328 Redondo Beach, CA 90277 PET 8K intro special $695 PET 16K $890 PET 32K $1065 KIM $159 SYM $238 Add $30 for KIM-SYM Power Supply Write for list of PET, KIM and SYM accessories A B Computers ( 21 5) 699-8386 115 E. Stump Rd. Montgomeryville, PA 18936 ATTENTION NORTH STAR USERS S PARAMETER DESIGN.$45.00 BODE ANALYSIS.$25.00 GENERAL QUARTIC FORMULA (No iterations) .$15.00 Radio Shack and Apple USERs write for Quotes KASK LABS 1207 E. Secretariat Dr., Tempe, AZ 85284 NORTH STAR VARIETY PACKAGE #2 BASREF: Reads a BASIC file & prints a formatted map. RAMLOC: Finds and prints the location of all RAM FILEDUMP: Prints any file in HEX and ASCII GAMMON: Compact version that runs in 12K AND MORE Package #2. $20 Verbatim Diskette.$2.75 MC and VISA Welcome MIDWEST DIGITAL 863 Wood Avenue Wichita, KS 67212 save more than 20%! NORTH STAR - XITAN INTERTUBE The smartest computers at the smartest price DOUBLE DENSITY HORIZON-1 -16K kit, list $ 1,599.$ 1279 Assembled & tested, list $ 1899.$1519 HORIZON-2-32K kit, list $2249 .$ 1799 Assembled & tested, list $2549.$2039 Powerful NORTH STAR BASIC. FREE XITAN Computers - NOW - With QUAD DENSITY DISKS! Famous XITAN Software & BASIC. FREE INTERTUBE II Terminal, list $995.$795 Which Computers are best? BROCHURE .... FREE AMERICAN SQUARE COMPUTERS KIVETT DR • JAMESTOWN, NC 27282 (919) 883-1105 HOBBYIST OR O.E.M.? Let us engrave keycaps for your keyboard We can engrave "just about anything " for your Cherry or Keytronic keyboard 1x1 - 750 each, single line of type and keycap lx 1 V 2 or 1x2- $1.50, single line of type and keycap 250 for each additional line, up to four lines Arkay Engravers, inc. DEPT. IA 2073 Newbridge Road, P.O. Box 916 Bellmore, N Y. 11710 516-781-9859 Serving the cash register & accounting machine industry for more than 40 years Prepaid orders will be shipped postpaid All other orders shipped C O D New York State residents add applicable tax TRS-80 COMPUTING non-profit newsletter $15 (U.S.)/12 issues payable Computer Information Exch., Inc. Box 158 San Luis Rey, CA 92068 NOW AVAILABLE PET AND SOL SOFTWARE IN BASIC STATISTICS: Distribution $ 5.95 Linear Correlation and Regression 5.95 Contingency Table Analysis 5.95 Mean and Deviation 5.95 All four for only 18.95 FINANCIAL: Depreciation 5.95 Loans 5.95 Investment 5.95 All three for only 12.95 GENERAL: TicTacToe 4.95 Complete Metric Conversion 5.95 Checkbook Balancer 4.95 All three for only 10.95 FOR THE KIM-1 A real-time PROCESS CONTROL OPERAT¬ ING SYSTEM including a process language interpreter — (operates in the Ik KIM-1 RAM). Assembly listing $24.95 Cassette Tape with users manual 14.95 Schematic for relay control board 9.95 All programs on high-quality cassette tape. Send self-addressed, stamped envelope for complete software catalogue. Send check or money order to: H. GELLER COMPUTER SYSTEMS Dept. I P.O. Box 350 New York, NY 10040 (New York State residents add 8% sales tax) JUNE 1979 INTERFACE ACE 143 ADVERTISER INDEX Info Inquiry Number Page MANUFACTURERS 1 ACS Service.20 2 Alpha Supply Company 49 3 Apple Computer, Inc.9 4 Artec Electronics, Inc.76 5 Basic Time.37 6,7 Berkeley Medical Data Assoc., Inc.18, 38 8 Biotech Electronics.25 9 Bottom Shelf Inc.27 Cascade Enterprises.22 10 Compu-Max.36 11 Computer Cookbook.11 12 Computerland.55 13 Computer Lab of New Jersey.52 14 Connecticut Microcomputer, Inc.31 15 Creative Computer Applications.44 16 Cromemco Inc.1 17 Cutting Edge of Technology .36 18 Cybernetics.35 19 Data Decisions.47 20 Data Print ..17 21 DataSearch Inc.18 22 Diablo.19 23 dilithium Press.28-29 24 Electronic Control Technology.52 25 Essex Publishing Co.105 26 Exidy.4-5 27 FMG Corporation.56 28 CRT Corporation.3 29 Gimix. Inc.21 30 Graham Dorian.40 31 Hayden Book Company, Inc.30 32 Heath Company.133 33 Industrial Micro Systems, Inc.86 34 In Mac .47 35 Integrand .22 INTERFACE AGE Subscriptions.8 Plus insert between pages 16 & 17 36 Intertec Data Systems.16 37 Kybe Corporation.61 38 Lifeboat Associates.50 39 MPI.84 40 Maxi-Switch Company.34 41 Micro-Ap .33 42 Micro V .45 43 Micro Computer Technology Inc.43 44 MicroMail.24 Microsoft .42 46 Micro Works.35 47 National Software Exchange, Inc.25 48 North Star Computers.15 49 Ohio Scientific.IBC 50 Oregon Minicomputer Software Inc.52 Osborne & Associates, Inc.126 51 Otto Electronics.41 52 Percom Data Company. Inc.85 53 Pragmatic Designs Inc.32 54 Ready Corporation.48 92 S.D. Systems.65 Michael Shrayer Software, Inc.54 * Shugarl.12-13 93 Small Business Computers Magazine.26 94 Softside .46 95 Software-80 .39 55 Spectronics Corporation.14 56 Structured Systems Group Inc.7 57 SWT PC.IFC 58 Swingline Inc.6 59 Sybex.98 60 TSA Software .84 62 Tarbell Electronics.44 63 Taranto & Associates.53 64 TransNet Corporation.46 65 Ultra-Violet Products, Inc.49 61 Vector Graphic Inc.BC 66 Western Digital Corp.10 COMPUTER STORES/SURPLUS STORES 67 Advanced Microcomputer Systems.102 68 Bits N Bytes, Fullerton, CA.101 69,70 Byte Shop. Lawndale. CA.100. 117 71 Computer Components, South Bay, CA.97 72 Computer Components Inc. of Van Nuys, CA.125 97 Computer Components of Westminster, CA.104 Computer Systems Design. Inc.102 90 Data Discount Center.100 74 Digi-Key Corporation.101 75 Jade Computer Products .127,128-129 76 Khalsa Computer Systems, Inc.113 77 Marketline Systems, Inc.99 78 Microcomputer World.51 79 Micro Mike’s Inc.109 80 MlcroSource.110 81.98 MinlMicroMart. Inc.23, 130 96,82 Mission Control.103,141 83 Omega Microcomputers.89 84 Personal Programming Service .123 85 Quest Electronics.124 86,87 Rainbow Computing Inc.105. 122 88 Star-Tek Electronics.99 89 Sunshine Computer Company.121 91 T & W Communications Centers.132 ‘Manufacturer requests factory-direct inquiry. MAGNETIC MEDIA SURVEY INTERFACE AGE would like to solicit the help of readers to help us survey the market for magnetic media, tapes and disks. Please answer the follow¬ ing questions by circling the proper numbers on the reader service card. CASSETTE TAPES I have used the following brand(s): 212 Ampex 213 BASF 214 Memorex 215 Pryor 216 Radio Shack 217 TDK 218 Scotch (3M) 219 Other I buy the following number of cas¬ sette tapes in an average month: 220 1-5 221 6-10 222 Over ten I spend the following on cassette tapes per year: 223 5-25 dollars 224 25-50 dollars 225 50-100 dollars 226 Over 100 dollars I use a cassette tape: 227 Once only 228 Several times (This refers to the number of times a tape will be reused) I generally buy the following length of tape: 229 15-minute (C-15) 230 30-minute (C-30) 231 60-minute (C-60) 232 90-minute (C-90) My favorite brand of cassette tape is: 233 Ampex 234 BASF 235 Memorex 236 Pryor 237 Radio Shack 238 TDK 239 Scotch (3M) 240 Other FLOPPY DISKS I have used the following brand(s) 241 Ampex 242 BASF 243 Dysan 244 Memorex 245 Pryor 246 Scotch (3M) 247 Verbatim 248 Other I buy the following number of disk¬ ettes in an average month: 249 1-5 250 6-10 251 Over ten I spend the following on diskettes per year: 252 1-55 dollars 253 56-100 dollars 254 101-200 dollars 255 Over 200 dollars I use a diskette: 256 Once only 257 Several times (This refers to the number of times a diskette will be reused) I generally buy the following type of diskette: 258 Hard sector 259 Soft sector 260 5.25 inch 261 8 inch My favorite brand of diskette is: 262 Ampex 263 BASF 264 Dysan 265 Memorex 266 Pryor 267 Scotch (3M) 268 Verbatim 269 Other PLEASE MARK YOUR ANSWERS ON THE READER SERVICE CARD 144 INTERFACE AGE JUNE 1979 C2-4P: $598! The professional portable that has over 3-times the display capability of 1 P’s. Features 32 x 64 character display capability, graphics, full computer type keyboard, audio cassette port, and 4 slot BUS (only two used in base machine). It has 8K BASIC, 4K RAM, and can be expanded to 32K RAM, dual mini-floppies and a printer. C2-4P MF' $1599! It’s a big personal computing mini-floppy system at a special package price. Contains the famous C2-4P microcomputer with 20K static RAM, 5" mini-floppy unit for instant program and data loading, RS-232 circuitry (for optional modem and printer), and four diskettes featuring exciting games, personal, business and education applications. The Personal Computer Line by OHIO SCIENTIFIC Cl P: $349! A dramatic breakthrough in price and per¬ formance. FeaturesOSI’s ultra-fast BASIC-in-ROM, full graphics display capability, and large library of software on cassette and disk, including entertainment programs, personal finance, small business, and home applications. It’s a complete pro¬ grammable computer system ready to go. Just plug-in a video monitor or TV through an RF converter, and be up and running. 15K total memory including 8K BASIC and 4K RAM — expandable to 8K. C1PMF:$995! First floppy disk based computer for under $1000! Same great features as the Cl P plus more memory and instant program and data retrieval. Can be expanded to 32K static RAM and a second mini-floppy. It also supports a printer, modem, real time clock, and AC remote interface, as well as OS-65D V3.0 development disk operating system. C2-8P:$799! The personal class computer that can be expanded to a full business system. Has all the features of the C2-4P plus an 8 slot BUS (3-times greater expansion ability than the C2-4P). Can be expanded to 48K RAM, dual floppies, harddisk, printer and business software. C2-8P DF: $2599! A full business system avail¬ able at a personal computer price! The system includes the powerful C2-8Pmicrocomputer(32K RAM expandable to 48K), dual 8" floppy unit (stores 8-times as much information as a mini-floppy), and 3 disks of personal, educational and small business applications software. Has all the capa¬ bilities of a personal system including graphics plus the ability to perform Accounting, Information Manage¬ ment, and Word Processing tasks for small business. Contact your local Ohio Scientific dealer All prices, suggested retail * Monitors and cassette recorders not included Ohio Scientific offers a com¬ bination TV/Monitor (AC-3P) for $115. CIRCLE INQUIRY NO. 49 America’s largest full-line microcomputer manufacturer 1333 S. CHILLICOTHE RD., AURORA, OHIO 44202 (216) 562-3101 Over the past two years customer acceptance of Vector Graphic microcomputers has just grown and grown and grown. It isn’t terribly surprising, really. After all, it does make life a lot easier when you have reliable cost effective equipment. So it is with our new Vector MZ business system with both data processing and word processing available all in one trouble-free system. That’s good because:^ By having one interactiye stand-alone system with optional software for all your business •' .functions including Accounts • Payable, Accounts Receivable, _ a?. •>. • tVV. * General Ledger, Financial A. ‘ Statement, Inventory and more, •• ** plus... word processing for mailing labels, text editing of manuals, catalogs, etc., collection • letters, contracts and proposals - you’ll have big business power. Known throughout the industry for highly reliable equipment, Vector Graphic’s new business system incorporates: the Z-80 based Vector MZ micro¬ computer with built-in dual-disk quad-density storage enough to handle as many as 4,000 customers and 12,000 inventory items; Vector Graphic’s ’'Mindless terminal�; and a Centronics 120 character per second printer.. ’■Optional Diablo letter-quality printer’is also available. That’s Vector Graphic — cost effective, versatile, reliable systems. When you get down to it - nobody does, it better. □ Send me details immediately. Name_ , — Company_ Address_ City/State/Zip. Dealer inquiries invited. ZO =* G3APHC illC. Vector Graphic Inc., 31364 Via Colinas Westlake Village, CA 91361, (213) 991-2302 See us at the NCC Show in New York , June 4, 5, 6 and 7, Booth No. 3U0, 31*1 and 3J>2. BUSINESS