ime 6, Number 1 1 /$2.95 in Canada -| Publication DATA BASE MA^GfftEHT $Y$1$ttif ^ "^J -« K^sa> A new small computer that won't limit you tomorrow * New Cromemco System One shown with our high-capability terminal and printer. Expandability Circle 118 on Inquiry card. Here's a low-priced computer that won't run out of memory capacity or expandability halfway through your project. Typically, computer usage tends to grow, requir- ing more capability, more memory, more storage. Without a lot of capability and expandability, your computer can be obsolete from the start. The new System One is a real building-block machine. It has capability and expandability by the carload. Look at these features: ■ Z80-A processor ■ 64K of RAM ■ 780K of disk storage ■ CRT and printer interfaces ■ Eight S-100 card slots, allowing expansion with — color graphics — additional memory — additional interfaces for telecommunica- tions, data acquisition, etc. ■ Small size GENEROUS DISK STORAGE The 780K of disk storage in the System One Model CS-1 is much greater than what is typically available in small computers. But here, too, you have a choice since a second version, Model CS-1H, has a 5" Winchester drive that gives you 5 megabytes of disk storage. MULTI-USER, MULTI-TASKING CAPABILITY Believe it or not, this new computer even offers multi-user capability when used with our advanced cromix* operating system option. Not only does this outstanding O/S support multiple users on this com- puter but does so with powerful features like multi- ple directories, file protection and record level lock. cromix lets you run multiple jobs as well. In addition to our highly-acclaimed cromix, there is our CDOS*. This is an enhanced CP/M + type system designed for single-user applications. CP/M and a wealth of CP/M-compatible software are also available for the new System One through third- party vendors. COLOR GRAPH ICS/WORD PROCESSING This small computer even gives you the option of outstanding high-resolution color graphics with our Model SDI interface and two-port RAM cards. Then there's our tremendously wide range of Cromemco software including packages for word processing, business, and much more, all usable with the new System One. ANTI-OBSOLESCENCE/LOW-PRICED As you can see, the new One offers you a lot of performance. It's obviously designed with anti- obsolescence in mind. What's more, it's priced at only $3,995. That's considerably less than many machines with much less capability. And it's not that much more than many machines that have little or nothing in the way of expandability. Physically, the One is small — 7" high. And it's all- metal in construction. It's only 14 1 /a" wide, ideal for desk top use. A rack mount option is also available. CONTACT YOUR REP NOW Get all the details on this important building-block computer. Get in touch with your Cromemco rep now. He'll show you how the new System One can grow with your task. •CROMIX and CDOS are trademarks of Cromemco Inc. tCP/M is a trademark of Digital Research m Cromemco™ ^^^J 280 BERNARDO AVE., MOUNTAIN VIEW, CA 94040 • (415)964-7400 ^^^^ Tomorrow's computers today Circle 118 on inquiry card. CROMIX FILE SYSTEM /(loot d [roc lory) CROMIX* — Cromemco's outstanding UNIX— like operating system cromix is just the kind of major development you've come to expect from Cromemco. After all, we're already well-known for the most respected software in the microcom- puter field. And now we've come up with the in- dustry's first UNix-lookalike for microcomputers. It's a tried and proven operating system. It's available on both 5" and 8" diskettes for Cromemco systems with 128K or more of memory. Here are just some of the features you get in this powerful Cromemco system: • Multi-user and multi-tasking capability • Hierarchical directories • Completely compatible file, device, and interprocess I/O • Extensive subsystem support FILE SYSTEM One of the important features of our cromix is its file system comprised of hierarchical directories. It's a tree struc- ture of three types of files: data files, ■CROMIX is a trademark of Cromemco. Inc. tUNIX is a trademark of Bell Telephone Laboratories directories, and device files. File, device, and interprocess I/O are com- patible among these file types (input and output may be redirected inter- changeably from and to any source or destination). The tree structure allows different directories to be maintained for different users or functions with no chance of conflict. PROTECTED FILES Because of the hierarchical structure of the file system, cromix maintains separate ownership of every file and directory. All files can thus be protected from access by other users of the system. In fact, each file is protected by four separate access privileges in each of the three user categories. TREMENDOUS ADDRESS SPACE, FAST ACCESS The flexible file system and general- ized disk structure of cromix give a disk address space in excess of one gigabyte per volume — file size is limited only by available disk capacity. Speed of access to disk files has also been optimized. Average access speeds far surpass any yet implemented on microcomputers.. 'C COMPILER AVAILABLE, TOO Cromemco offers a wide range of languages that operate under cromix. These include a high-level command process language and extensive sub- system support such as cobol, Fortran iv, ratfor, lisp, and 32K and 16K BASICS. There is even our highly-acclaimed 'C compiler which allows a program- mer fingertip access to cromix system calls. THE STANDARD O-S FOR THE FUTURE The power and breadth of its features make cromix the standard for the next generation of microcomputer operating systems. And yet it is available for a surprisingly low $595. The thing to do is to get all this capability working for you now. Get in touch with your Cromemco rep today. a Cromemco ™ incorporated 280 BERNARDO AVE., MOUNTAIN VIEW, CA 94040 • (415)964-7400 Tomorrow's computers today Circle 119 on Inquiry card In The Queue Volume 6, Number November 198! Features 1 O Writing with a Data-Base Management System by Edward E Brent Jr / Word-processing systems work fine after you know what you're going to say. but a data-base management system can help you get it all together. 50 Switching Power Supplies, An Introduction by Steve Garcia / You can experiment with a simple design for a nonisolated single-ended switching voltage regulator 48 Fundamentals of Relational Data Organization by Joel Neely and Steve Stewart / How you can apply a set of mathematically elegant prin- ciples to the organization of your data base. Ofc Build a Bar-Code Scanner Inexpensively by Bradley W Bennett / In one package, Hewlett-Packard has incorporated the optical heart of a scanner system. w"fr The Microcomputer as a Laboratory Instrument by Daniel Cosgrove / The microcomputer can become a standard laboratory instrument for run- ning experiments and analyzing the results. ww Data-Base Management Systems: Powerful Newcomers to Microcomputers by Michael Gagle, Gary J Koehler, and Andrew Whinston / A brief introduction to data-base systems leads to a look at how one microcomputer implementation works. 1 m*W DIF: A Format for Data Exchange between Applications Programs by Candace E Kalish and Malinda F Mayer / Software Arts pro- poses a solution to the problem of inaccessible data. AwO A Survey of Data-Base Management Systems for Microcom- puters by Kathryn S Barley and James R Driscoll / Data-base management systems are becoming a popular software item. Check this survey for the one that interests you. *3u PDQ: A Data Manager for Beginners, Don't Reinvent the Wheel by Paul Swanson / A well-known technique makes a good compromise be- tween speed and ease of programming. 3 1 * The Atari Tutorial, Part 3: Player-Missile Graphics by Chris Crawford / The Atari player-missile system allows you to move game figures across the screen quickly and easily— even in BASIC. <3 #w Toward a Structured 6809 Assembly Language, Part t: An Introduction to Structured Assembly Language by Gregory Walker / The problem with the goto construct is that it is too general a programming form. rfOT PROLOG, A Step Toward the Ultimate Computer Language by Ron Ferguson / This high-level language approaches English in ease to use. 400 PS-A FORTH-LIke Threaded Language, Part 2 by Valo G Motalygo / PS overcomes some of the problems FORTH has with low-level word definitions. ■r# A Linking a Pascal Mlcroenglne to a Cyber 1 70 by Steven M Sedlet and Jonathan Dust / A simple file-transfer process combines the best of both worlds. *Tw3 Information Hiding In Pascal, Packages and Pointers by Michael B Feldman / Hiding unnecessary details improves high-level programming. Reviews 7 O Reversal, Othello for the Apple II by Mark Friedman I 2.0 The Exatron Stringy Floppy Data-Storage System by Keith Carlson I 38 The Datahandler from Miller Microcomputer Services by Allyn Richardson 1 DZ Microsoft Softcard by Mark Pelczarski 1 OO Courseware Magazine by Elaine Holden 264 Orchestra-80 by Elizabeth Cooper and Yvon Kolya Z/4 Apple II File-Management Systems by Ken Blochowiak 342 ENHBAS by Mahlon G Kelly 434 Five Spelling-Correction Programs for CP/M-Based Systems by Phil Lemmons Nucleus 6 10 8, 134 302 364 409 413 414 449 458, 464 465 466 490 499 505 558 559 560 Editorial: Can We Agree on Standards? Letters 308 BYTE's Bits BYTE Comment: Reviewing the Microcomputer Revolution BYTELINES Ask BYTE Languages Forum: A View from the Lectern: What's Wrong with Technical Writing Today? Technical Forum: Where Am I? A Proposal for a New Microprocessor Instruction Programming Quickies: WRITELONG, A Pascal Simulation of Long-Integer Output User's Column 463 Book Reviews Software Received Clubs and Newsletters Event Queue Books Received System Notes: A Voice for the Apple II without Extra Hardware What's New? Unclassified Ads Reader Service BOMB, BOMB Results BITI PORT 2 5 CHANNEL ANALOG OUTPUT DIGITAL INPUT DIGITAL POWER OUTPUT Page 36 Page 84 Page 152 Page 342 November 1981 © BYTE Publications Inc. 3 m Editor in Chief Christopher Morgan Managing Editor Mark Haas Technical Editors Gregg Williams. Senior Editor; Richard S Shuford; Curtis P Feigel; George Stewart; Arthur Little; Stanley Wszola: Charles Freiberg, New Products Editor; Steve Ciarcia; Mark Dahrnke; Philip Lemmons, Consulting Editors; Jon Swanson, Draftsman Copy Editors Beverly Cronin, Chief; Faith Hanson; Warren Williamson; Anthony J Lockwood; Ann Graves; David R Anderson; Bob Reinert; Linda M Evers Assistants Faith Ferry; Debe Wheeler; Karen A Cilley; Susan Ferber; Marie Hennessy Production Nancy Estle, Director; Christine Destrempes, Asst Director; Jonathan M Graves, Creative Consultant; Wai Chiu Li; Patrice Scribner; Damian Henrigues; Jan Muller; Linda J Sweeney; Sherry McCarthy, Chief Typographer; Debi Fredericks; Donna Sweeney; Valerie Horn Advertising Thomas Harvey, Director; Marion Carlson; Rob Hannings; Marilyn Williams; Deborah Porter; Vicki Reynolds; Jacqueline Earnshaw, Reader Service Coordinator Circulation Gregory Spitzfaden, Manager; Andrew Jackson. Asst Manager; Agnes E Perry; Barbara Varnum; Louise Menegus; Pinky Krulis; James Bingham, Dealer Sales; Deborah J Cadwell, Asst. Controller's Office Daniel Rodrigues, Controller; Mary E Fluhr, Acct. & D/P Mgr; Karen Burgess; Jeanne Cilley; Linda Fluhr; Vicki Bennett Traffic N Scott Gagnon; Michael Bacon Receptionist Joanne Colburn Publishers Virginia Londoner; Gordon R Williamson; John E Hayes, Associate Publisher; Cheryl A Hurd; Michele P Verville. Publisher's Assistants Officers of McGraw-Hill Publications Com- pany; Paul F McPherson, President; Executive Vice Presidents: James E Boddorf. Gene W Simpson; Group Vice President: Daniel A McMillan; Senior Vice President-Editorial: Ralph R Schulz; Vice Presidents: Kemp Anderson. Business Systems Development; Robert B Doll, Circulation; James E Hackett, Controller; Eric B Herr, Planning and Development; H John Sweger, Marketing. Officers of the Corporation: Harold W McGraw Jr, Chairman and Chief Executive Officer; Joseph L Dionne. President and Chief Operating Officer; Robert N Landes. Senior Vice President and Secretary; Ralph J Webb. Treasurer. In This Issue Office workers who bravely face that ever-growing mountain of paper will tell you that keeping track of information becomes more difficult daily. How to impose order? As Robert Tinney's cover suggests, the answer is something like an electronic file cabinet. This month's theme concerns the problems of data management. Joel Neely and Steve Stewart will get you started with "Fundamentals of Relational Data Organization." From there you can move on to "Data-Base Management Systems: Powerful Newcomers to Microcomputers," "A Survey of Data-Base Management Systems for Microcomputers," and "PDQ: A Data Manager for Beginners." "DIF: A Format for Data Exchange between Applications Pro- grams" presents a strong argument for standardization of data formats. Apple II file-management systems are reviewed. And you can learn how to write with your data-base management system. Is spelling a nightmare? If so, you'll be interested in Phil Lemmons' review of the five major CP/M spelling- correction programs. Of course, there's Ciarcia's Circuit Cellar, BYTELINES, and our other regular features, too. BYTE is published monthly by BYTE Publications Inc. 70 Main St, Peterborough NH 03458. phone (603) 924-928 1 , a wholly-owned subsidiary of McGraw-Hill, Inc. Address subscriptions, change of address. USPS Form 3579, and fulfillment questions to BYTE Subscriptions, POB 590, Martinsville NJ 08836. Second class postage paid at Waseca, Minnesota 56093 - USPS Publication No. 528890 (ISSN 0360-5280). Canadian second class registra- tion number 9321. Subscriptions are S 19 for one year. S34 for two years, and S49 for three years in the USA and its possessions. In Canada and Mexico, S21 for one year, S38 for two years, S55 for three years. S43 for one year air delivery to Europe. S35 surface delivery elsewhere. Air delivery to selected areas at additional rates upon re- quest. Single copy price is S2.50 in the USA and its possessions, S2.95 in Canada and Mexico. S4.00 in Europe. and S4.50 elsewhere. Foreign subscriptions and sales should be remitted in United States funds drawn on a US bank. Printed in United States of America. Address all editorial correspondence to the editor at BYTE. POB 372. Hancock NH 03449. Unacceptable manuscripts will be returned if accompanied by sufficient first class postage. Not responsible for lost manuscripts or photos. Opinions expressed by the authors are not necessarily those of BYTE. Entire contents copyright © 1981 by BYTE Publications Inc. All rights reserved. Where necessary, permission is granted by the copyright owner for libraries and others registered with the Copyright Clearance Center (CCC) to photocopy any article herein for the base fee of S 1 .00 per copy of the article or item plus 25 cents per page. Payment should be sent directly to the CCC, 2 1 Congress St, Salem MA 1 970. Copying done for other than personal or internal reference use without the permission of McGraw-Hill is prohibited. Requests for special permission or bulk orders should be addressed to the publisher. BYTE* is available in microform from University Microfilms International, 300 N Zeeb Rd, Dept PR, Anr Arbor Ml 48106 USA or 18 Bedford Row, Dept PR, London WCIR 4EJ England. Subscription WATS Line: (800) 258-5485 Office hours: Mon-Thur 8:30 AM - 4:30 PM, Friday 8:30 AM - Noon, Eastern Time NATIONAL ADVERTISING SALES REPRESENTATIVES: NORTHEAST |617| 444-3946 Hajar Associates 280 Hillside Ave Needham Heights MA 02 1 94 NORTHWEST (41 5) 964-0706 Hajar Associates 1 000 Elwell Ct. Suite 227 Palo Alto CA 94303 MIDWEST |3 1 2) 966-0160 Hajar Associates 5225 Old Orchard Dr Skokie IL 60076 SOUTHWEST [714) 540-3554 Hajar Associates 3303 Harbor Blvd Suite K-4 Costa Mesa CA 92626 MID ATLANTIC (212) 682-5844 Hajar Associates 52 1 Fifth Ave New York NY 10017 SOUTHEAST |305| 886-7210 Hajar Associates 1220 Prairie Lane Apopka FL 32703 November 19B1 © BYTE Publications Inc Circle 373 on inquiry card. MicroAngelo W t and beyond. ■M't.' 1*3 Vt.-a • SCION Corporation pioneered advanced information display systems with the elegantly simple MicroAngelo'" high resolution S100 single board graphics computer. With MicroAngelo'" came a powerful, flexible CP/M* compatible, high level firmware called Screenware.' M For MicroAngelo' M Color System, Colorpak software evolved. Easy to integrate, easy to convert and easy to use. This software gave MicroAngelo IM unparalleled capacity to manipulate color transparencies. Beyond MicroAngelo, 1 M with the prototype Advanced Congressional Workstation developed for the U.S. Congress, SCION Corporation proved an interactive, very high resolution text/graphics display system can be built with existing technology. SCION Corporation grows at its unprecedented rate by evolving beyond today's triumphs, to develop graphics engines to solve tomorrow's problems. SCION Corporation. More than a graphics company For information on the next generation of advanced information display systems, call today. If the image is important, it has to be SCION. Jt,*,' >-',|v It' the image is important. 12310 Pinecrest Road/Reston, Virginia 22091 703/476-6100 TWX : 7 1 0-833-0684 ■ ■ m ■ Circle 137 on inquiry card. MAINTAIN PROJECT CONTROL WITH MILESTONE™ it -: /-"/ 80 Character Video With 80 characters per line our VB3 is the perfect video interface for word pro- cessing. It produces a standard 80x24 display of upper and lower case characters or as much as 80x50 for a full page of text. The matrix for graphic display goes up to 160x200. And with optional EPROM, as many as 256 user program- med characters or symbols can be produced. VB3 is memory mapped for rapid screen updating. But it occupies memory only when activated. So one or more VB3s can be located at the same address with a full 65K of memory still available to the user. It generates both U.S. and European TV rates and meets IEEE 696.1 standard. Other features include key- board input, black on white or white on black, one level of grey, underline, strike thru, blinking char., blank-out char., and programmable cur- sor. Software includes a CP/M compatible driver and a powerful terminal simulator. IUU1U YflKUIfc - 80 CPU signing the CB2 to assure that it is the most fully S-100 com- patible Z-80 CPU on the market. It operates at 2MHz or 4MHz by DIP switch selection and includes two sockets for 2716/2732 EPROMs or 2K RAMs. Memory sockets can be disabled. Separate run/stop and single step switches allow system evaluation without the benefit of a front panel. CB2 also features an *MWR1TE signal, firmware vector jump, and an output port to control 8 extended ad- dress lines (allowing use of more than 65K of memory), .lumper options generate the new IEEE 696.1 signals. New SSM Products. Please call for all the latest details on our newest products: • 1MB 64 64Kb static RAM memory. • 105 two parallel, two serial input/output ports, with com- plete RS-232 protocol. • 108 multiple RS-232 serial l/Os. 8080 CPU Our CB1A is identical to our popular CB1 with the ex- ception that the on-board RAM has been increased from 256 bytes to a full IK. It also features an op- tional 2K of 2708 EPROMs, power-on/reset vector jump. M WRITE, parallel input port with status and DIP switch addressing. Our S-100 line includes CPU, Video, I/O, 8 and 16 Bit RAM, EPROM, EPROM Programmer, Prototyping, Terminator, Extender, and Mother boards. Available assembled or as kits. 2190 Para SSM Mu-rocompiilt-r Products, Inc. S;m Jose, CA 95131, (408) 04(v74iH) Pelex: I' Baked Apple* Last Thanksgiving, a designer from Lynn/Ohio Corporation took one of the company's Apple Personal Computers home for the holidays. While he was out eating turkey it got baked. His cat, perhaps miffed at being left alone, knocked over a lamp which started a fire which, among other unpleasantries, melted his TV set all over his computer He thought his goose was cooked. But when he took the Apple to Cincinnati Computer Store, mirabile dictu, it still worked. A new case and keyboard made it as good as new Nearly 1,000 Apple dealers have complete service centers that can quickly fix just about anything that might go wrong, no matter how bizarre. So if you re looking for a personal computer that solves problems instead of creating them, look to your authorized Apple dealer You 11 find everything well-done. Jl . The personal computer. agmGpplG ® For the authorized dealer nearest you, call (800) 538-9696. In California, call (800) 662-9238. Or write: Apple Computer Inc., 10260 Bandley Dr., Cupertino, CA 95014. Circle 29 on inquiry card. Letters, synthesizer that does not offer some degree of waveform control, whether it is Moog, ARP, Synclavier, or even Radio Shack's new Moog unit. In my article, I did not say that a syn- thesizer must be able to imitate real in- struments. In fact, a synthesizer with con- trol of a reasonable number of parameters will be able to produce recognizable in- strument sounds as a by-product of its flexibility in sound production. Mr Tubb has also apparently confused the meanings of the words imitate, simulate, and duplicate. Neither I, nor Mountain Computer, claim that the MusicSystem can duplicate the sound of real instruments; however, it can produce recognizable simulations (or imitations) of a number of conventional instruments. This is an ability that is usually attractive to newcomers who have not had much ex- perience with music synthesis, but who might enjoy simulating the sounds of familiar instruments. Mr Tubb is correct in his comments about the MusicSystem's PRINT com- mand. Yet, that is why I referred to its output, when cut and pasted, as a ". . . sort-of-orchestral ..." score. While un- conventional, the result is still useful. I'm afraid that it is Mr Tubb who fails to understand the capabilities of the Apple's 6502 microprocessor. If the 6502 is fast enough to generate D/A music, sampling four parts at 8 kHz each, then it certainly has the speed to sample 16 envel- opes at several hundred samples per sec- ond. As a matter of fact, the MusicSys- tem's 8 ms envelope-sample period falls near the beginning of the 5 to 20 ms range of periods typically found in systems of this type. His comment that the envelopes must be very coarse in a 16-voice system (while smooth with the ALF's "conserva- tive" nine voices) has no basis in fact. It sounds as though he is trying to say that "less is more" — that nine square-wave voices are somehow better at producing music than 16 variable waveform voices. I stand by the statement that square- wave-only systems invariably have bright, sharp high notes and buzzy-sound- ing lows. Although both high- and low- frequency square waves have the same harmonic content, they do not have the same mix of frequencies. Additionally , the human ear's response drops off quite fast at low frequencies, so when a low-fre- quency square wave is played, the listener hears proportionally more of the high-fre- quency components — thus, the "buzzy" sound. Regarding additive synthesis: Just as Fourier analysis decomposes a waveform into its simplest component parts (i.e., sine waves with frequencies that are in- teger multiples of the note's fundamental frequency), Fourier synthesis is used to construct a waveform from these same components. Although additive synthesis is often used as a synonym for Fourier synthesis, it may also consist of adding various arbitrary waveforms to synthesize the final result. But I cannot agree that a fixed-waveform music device can accom- plish additive synthesis. Certainly some interesting and sometimes pleasant sounds can be produced, but rapid envelope variations are not the same as additive synthesis. Mr Tubb is correct when he mentions, as I did in the article, that the Mountain Computer MusicSystem has no musical subroutine capability, while the ALF does. Fortunately, this is only a software limitation that will be corrected in the next software release and not a hardware limitation. I do not believe that arty injustice was done in the "Music Making" textbox in the article. When products of any sort are produced to meet specific cost goals, various trade-offs have to be made to stay within those limits. Inevitably, the trade- offs vary and different products will have their own strengths and weaknesses. Also, as electronic technology advances, prices will come down and allow features to be included that might have been too expen- sive a few years ago. Mr Tubb also manages to confuse the terms most powerful and best. The Music- System is the most powerful synthesizer currently available for the Apple II. It of- fers more voices and control of more musical parameters than any of the others. It is also relatively expensive and a bit more difficult to use than some of the lower-cost units. This is not to say that it is always the best choice for a given in- dividual. The best choice is the unit that fits within the user's budget and offers the most acceptable combination of features. I'm sure that many people will find the ALF MCI to be a good choice. With its nine voices and the excellent ALF soft- ware, the MCI is a very good value. DUE TO A PRINTING ERROR, the PerCom Heath Zenith ad on page 1 5 of the October issue should have been the Per- Com ad for the TRS-80 drive systems. We apologize for any inconvenience this may have caused our readers. Quality Percom products are available from the following authorized Percom retailers. If a retailer is not listed for your area, call Percom toll free at 1-800-527- 1222 for the address of a nearby retailer, or to order directly from Percom. ARKANSAS MICROCOMPUTER SYSTEMS. INC Hoi Springs [501)623-5209 ARIZONA SIMUTEK Tucson (602) 886 5880 CALIFORNIA ALPHA BYTE STORES Calabasas (213)883-8594 BERKELEY MICRO COMPUTERS Berkeley (415)848-7122 COMPUTER INFORMATION EXCHANGE San Luis Rey (714) 757-4849 COMPUTER SERVICE CENTER Hollywood (213)8513434 DESMAR ELECTRONICS Santa Clara (4081 988-2208 HOBBYWORLD Northndge (213)886-9200 WHOLESALE TECHNOLOGY Santa Ana (7141979-1700 COLORADO MICROCOMPUTER APPLICATIONS Denver (303)9226410 DISTRICT OF COLUMBIA THE PROGRAM STORE Washington (202)337-4691 FLORIDA EN-TRON. INC. Largo (8131586 5012 MICROCOMPUTER CONSULTANTS Ormond Beach (904)673 5787 MICROSYSTEMS SOFTWARE. INC Hollywood 1305) 983-3390 GEORGIA DAVIS SYSTEMS. INC. Atlanta (404) 634-2300 HAWAII COMPUTER CENTER Honolulu (808)488-2171 IDAHO OFFICE MAGIC COMPUTERS Boise (208)376-4613 ILLINOIS GARCIA & ASSOCIATES Chicago (312)782-9750 KANSAS BESCO ELECTRONICS Shawnee (913)268 7633 CARDENS. INC Hutchinson (316)669-8261 KENTUCKY COMPUTER MAGIC Louisville (502) 893-9334 MASSACHUSETTS OMN1TEK Tewksbury 1617)851-4580 MARYLAND DAMASCUS RADIO SHACK Damascus (3011253-2101 MICHIGAN Lansing 1517)487-3358 MINNESOTA EdenPraine (612)934-1826 MISSOURI Vienna (314)422 3353 Florissant (314)S38-7755 NEBRASKA Columbus (402)564-5531 Lincoln (402)423 7771 NEW HAMPSHIRE HARDSIDE Miliord (800)258-1790 NEW JERSEY CHANNEL 1 RADIO SHACK Medford 1609)654-7454 NEW MEXICO AUTF.L ELECTRONICS Albuquerque (505)2556451 NEVADA PCS COMPUTER Las Vegas (702)870-4138 NEW YORK H & E COMPUTRON1CS Spring Valley (914)425-1535 80 MICRO COMPUTER SERVICES Cohoes (518)235 9007 MICRO 80 SYSTEMS Brooklyn 121217483236 STONY CLOVE New York City (212)391-8337 OHIO FELDMAN ENTERPRISES Akron (216)724-5583 JERRY'S COMPUTER Cleveland (216)641-6719 PENNSYLVANIA ADVANCED MECHANIZATION Ivyland (215)672-9000 COMPUTER ANALYSTS New Brighton (412)846-9323 SUNRISE ELECTRONICS Chambersburg (717)264-8214 TENNESSEE COMPUTER WORLD. INC Nashville ALTERNATE SOURCE THE CODE ROOM LEMBERGER CO SOFTWARE CENTER COLUMBUS TV CURTRON1CS (615) 255 8330 TEXAS ACCESS UNLIMITED Richardson (800) 527 (214)690 (713)488 1214)484 (915)577 3475 0206 8022 2976 2931 14 November 1981 © BYTE Publications Inc COMPUTEX Webster QUALITY SOFTWARE Dallas TEXAS COMPUTER SYSTEMS Brady UTAH MICRO MNEMONICS Sunset (801)298-680') WASHINGTON COMPUTER SERVICES Kennewick (509) 582 9759 WISCONSIN BYTE SHOP MILWAUKEE Greenfield (4141281-7004 FINAMORES Marshlield (715)384-9610 FOREIGN D EALERS AUSTRALIA DICK SMITH ELECTRONICS P.O. Box 321 North Tyde NSW 21 13 CANADA VALERIOTE AND ASSOC Guelph Ontano (519)824-7041 DVR ELECTRONICS SurreyB.C. (604)5761045 MEXICO C1BERMATIC. S.A. Mexico (905) 592 3433 COMPUTADORAS Y ASESORAMIENTO RioPanvcol4 Mexico5D.F. DOMINICAN REPUBLIC RADIOSHACK Sanio Domingo (809)5659121 Disk Storage: It's No Place to Compromise. A dependable disk system means everything to the high- performance operation of your computer. At Percom, we know this. And we do something about it. For example, the connectors on our TFD drive systems are gold plated. Why? Because solder-plated contacts oxidize, forming an in- sidious insulation that can cause erratic operation. And then total failure. Gold-plated connectors are just one way we make better drive systems than the competi- tion. Now #1 for the Model III Quality Percom TFD drives provide more features, cost less. Add-on drives start at only $439.00. Complete First-Drive Sys- tems start at only $749.95. Features: "Flippy" Capability — Record your programs and data on either side of a dis- kette. Greater Storage Capacity — Store 180 Kbytes — formatted — on one side of a 40-track TFD drive. Store over twice as much on a TFD 80-track drive. Think Megabytes — Your TFD drive controller will handle up to four drives. You can access almost 1.5 million bytes of on-line program and data files. Either Add-in or Add-On — Your TFD First Drive System can be either internal (add-in) or external (add-on). In either case, you get a complete system in- cluding the disk controller, drive, power supplies and disk-operating software. BASIC-Language DOS — Included on diskette with each First Drive System is Percom's OS-80/III"". This easy-to-use disk-operating system loads into 7 Kbytes of RAM and then frees the drive for other use. With OS-80™ programs, you can have full, read-write interchangeability between Model I and Model III diskettes. Or Model III TRSDOS* — TFD 40 track drives work with Tandy's Model III TRSDOS. without modification. For 80- track operation. TRSDOS can be easily modified with diskette patches supplied. Still #1 for the Model I To order products, or for the name of your authorized Percom retailer, call toll free: 1-800-527-1222 . CMEFGOM PERCOM DATA COMPANY, INC. 1 1 220 PAGEMILL RD. DALLAS. TX 75243 (214) 340-7081 Besides greater storage capacities, more quality control measures and lower pri- ces, all Percom Model I drives are rated for double-density operation. Plug a DOUBLER™ in your Expansion Interface and enjoy the same double- density disk storge capacity as Model III owners. Included with each DOUBLER is a TRSDOS compatible double-density disk-operating system. DOUBLEZAP programs are available for upgrading oth- er popular DOSs for DOUBLER opera- tion. And our double-density version of OS-80™ costs just $49.95. Of course you don't have to upgrade your Model I for double-density opera- tion to use Percom disk drives. But it's nice to know you can. Percom TFD drives for the TRS-80* Model I are available in 40-, 77- and 80- track versions, in 1-, 2- and 3-drive con- figurations. Prices start at $399.00. System requirements: Model III TFD drives work with a 16-Kbyte system (min) and Model III BASIC. The initial drive must be a first-drive system. An op- tional interconnecting cable is available for expand- ing with external drives #3 and #4. Model I TFD drives work with a 16-Kbyte system (min) equipped with an Expansion Interface, Level II BASIC and DOS software, and an interconnecting cable. Two- and four-drive interconnecting cables are available from Percom. i'd like to know more about est for my TRS-80 computer. Send me free literature about quality Percom products. Lj Model I D Model HI "trademark of Percom Data Company. Inc. trademark of Tandy Radio Shack Corporation which has no relationship to Percom Data Company PRICES AND SPECIFICATIONS SUBJECT TO CHANGE WITHOUT NOTICE. Letters // the buyer can afford $545 or so, he or she should consider the MusicSystem. While its software could be improved in some areas, the MusicSystem's capabil- ities cannot be duplicated at this time. An experimenter who wants to learn computer music from the inside out could take advantage of the excellent and inex- pensive D/A music products offered by Micro-Technology Unlimited if he or she is willing to do some of the software work. There are also a number of other inex- pensive music cards— I have not tried them all. In short, there is no single sys- tem best for everyone. I suggest that readers go to a store and try out as many as possible and let their ears and budget decide. I apologize for the inadvertent omission of ALF's address. Mountain Computer Responds: While the overall tone of Mr Philip Tubb's letter is extremely patronizing toward his own product and critical toward ours, I must say that Rob Moore's fine rebuttal covers many of the complaints that we would have in that particular category. There are one or two technical points that I will elaborate on here. Our use of envelope control is one that represents a true envelope and how it ac- tually occurs in an instrument, rather than in a conventionally synthesized method. This allows for the proper length and decay factors giving a more natural sound. Mr Tubb also fails to mention that his system cannot print any scores. Another point that he brings out is that the computer runs at half speed on play- back. While this is true, it is not a draw- back because we can use the DMA capa- bilities of our system to our advantage. We service 16 voices without the informa- tion for the waveforms because the board has integrated intelligence. It can produce enough information for itself and the 16 voices simultaneously without the need for the Apple's 6502 processor's time. The ALF board, on the other hand, must be tied to the 6502 processor, continually us- ing it to service the 9 voices and the envelopes. In short, we have very fine resolution on our waveforms and enve- lope controls, and ALF only has the enve- lope at a very low resolution point. Additionally, the 9 voices (and that's only with three boards) are still not equal to or as versatile — that is the word Mr 16 November 1981 © BYTE Publications Inc Moore used — as the Mountain Computer system. Without any argument on any other manufacturer's part, you will find the most capable and versatile system to be the Mountain Computer system. Kent C Greenough, Director of Sales Mountain Computer Inc 300 El Pueblo Rd Scotts Valley CA 95066 A Little Ada Clarification Having read "BYTELines" in the August 1981 BYTE (page 224) and having re- ceived several phone calls as a result of the article "Ada and Little Ada Released," I am prompted to write and clarify what may be a bit of a confusion. TeleSoftware is wholly owned by a company called TeleSoft. TeleSoft does indeed have the first commercially avail- able Ada compiler. It's called TeleSoft- Ada. The juxtaposition of TeleSoftware's im- plementation of Ada and some informa- tion about "Little Ada" was unfortunate. There is absolutely no connection be- tween TeleSoft-Ada and Little Ada. Perhaps the confusion has arisen because only one address was printed at the end of the article, not ours! Peter Dine, President TeleSoft 10639 Roselle St San Diego CA 92121 Setting the Record Straight In the August BYTE, our Multl/OS for 8080 and Z80 systems was mentioned in "BYTELines." BYTE incorrectly stated that "like the others, it also maintains CP/M compatibility." We are not similar to the others, they are similar to us! Info- Soft has been the trailblazer in CP/M compatibility since we created the game with CDOS. Everyone else is trying to catch up to us. Multl/OS is a new product based on our single-user I /OS that has been around for more than four years. We have maintained CP/M compatibility for just as long. Richard Roth, Vice President Software Development InfoSoft Systems Inc 25 Sylvan Rd S Westport CT 06880 ■ Visit Your Heathkit Electronic Center* where Heath /Zenith Products are displayed, sold and serviced. PHOENIX, AZ 2727 W.Indian School Rd. 602-279-6247 ANAHEIM, CA 330 E Ball Rd 714-776-9420 CAMPBELL, CA 2350 S BascomAve 408-377-8920 ELCERHIT0.CA 6000 Potrero Ave. 415-236-8870 LA MESA, CA 8363 Center Dr 714-461-0110 LOS ANGELES. CA 2309 S Flower SI. 213-749-0261 POMONA, CA 1555 N.Orange Grove Ave 714-623-3543 REDWOOD CITY, CA 2001 Middlefleld Rd 415-365-8155 SACRAMENTO, CA 1860 Fulton Ave 916-486-1575 WOODLAND HILLS, CA 22504 Ventura Blvd. 213-883-0531 DENVER. CO 5940 W. 38th Ave. 303-422-3408 AV0N.CT 395 W Main St. (Rt 44) 203-678-0323 HIALEAH.FL 4705 W. 16th Ave. 305-823-2280 PLANTATION, FL 7173 W Broward Blvd 305-791-7300 TAMPA, FL 4019 W Hillsborough Ave 813-886-2541 ATLANTA, GA 5285 Roswell Rd. 404-252-4341 CHICAGO.IL 3462-66 W. Devon Ave 312-583-3920 downersgrove.il 224 0gdenAve 312-852-1304 INDIANAPOLIS, IN 2112 E. 62nd St. 317-257-4321 MISSION, KS 5960 Lamar Ave 913-362-4486 LOUISVILLE, KY 12401 ShelbyvilleRd. 502-245-7811 KENNER.LA 1900 Veterans Memorial Hwy. 504-467-6321 BALTIMORE. MD 1713 E. Joppa Rd 301-661-4446 ROCKVILLE.MD 5542 Nicholson Lane 301-881-5420 PEABODY, MA 242AndoverSt 617-531-9330 WELLESLEY. MA 165 Worcester Ave 617-237-1510 DETROIT. Ml 18645 W Eight Mile Rd 313-535-6480 E. DETROIT, Ml 18149 E Eight Mile Rd 313-772-0416 HOPKINS, MN 101 Shady Oak Rd. 612-938-6371 ST. PAUL, MN 1645 White Bear Ave. 612-778-1211 ■ Units of Ventechnology Elect BRIDGET0N.M0 3794McKelveyRd. 314-291-1850 OMAHA, NE 9207 Maple St. 402-391-2071 ASBURY PARK, NJ 1013 State Hwy 35 201-775-1231 FAIR LAWN. NJ 35-07 Broadway (Rt 4) 201-791-6935 AMHERST, NY 3476 Sheridan Dr 716-835-3090 JERICHO, L.I. NY 15 Jericho Turnpike 516-334-8181 ROCHESTER. NY 937 Jefferson Rd 716-424-2560 N.WHITE PLAINS. NY 7 Reservoir Rd. 914-761-7690 CLEVELAND, OH 28100 Chagrin Blvd 216-292-7553 COLUMBUS, OH 2500 Morse Rd. 614-475-7200 TOLEDO, OH 48 S Byrne Rd 419-537-1887 W00DLAWN.0H 10133 Springfield Pike 513-771-8850 OKLAHOMA CITY, OK 2727 Northwest Expressway 405-848-7593 PORTLAND. OR - see Vancouver. WA FRAZER.PA 630 Lancaster Pike (Rt 30) 215-647-5555 PHILADELPHIA. PA 6318 Roosevelt Blvd 215-288-0180 PITTSBURGH, PA 3482 Wm PennHwy. 412-824-3564 WARWICK, Rl 558 Greenwich Ave 401-738-5150 DALLAS, TX 2715 Ross Ave 214-826-4053 FORT WORTH, TX 6825-A Green Oaks Rd 817-737-8822 HOUSTON. TX 1704 W Loop N 713-869-5263 SAN ANTONIO. TX 7111 Blanco Road 512-341-8876 MIDVALE, UT 58 East 7200 South 801-566-4626 ALEXANDRIA, VA 6201 Richmond Hwy. 703-765-5515 VIRGINIA BEACH. VA 1055 Independence Blvd 804-460-0997 SEATTLE, WA 505 8th Ave N 206-682-2172 TUKWILA.WA 15439 53rd Ave. S. 206-246-5358 VANCOUVER, WA 516 S.E Chkalov Drive 206-254-4441 MILWAUKEE, Wl 5215 W. Fond du Lac 414-873-8250 ronics Corp CP-199R2 WHAT'S THE KEY TO BUYIHG A COMPUTER? Look beyond the computer. Look at how the total system- hardware, software, support, service- meets your needs, today and tomorrow. That's the key. When you choose a computer source, you choose a long term partner who must stand by you with total support. And no one stands by you like Heath/Zenith. Software Including word processing, business applications, versatile utility programs, and the Heath Users' Group library of over 500 low-cost programs for home, work or play. And a choice of three operating systems, including CP/M by Digital Research for compatibility with thousands of popular CP/M programs. Languages For your own custom programs, Microsoft languages are available in BASIC (compiler and interpreter), FORTRAN and COBOL. Self-Study Courses Learn at your own pace with Programming Courses that teach you to write and run your own programs in Assembly, BASIC, Pascal or COBOL. For the business person, Computer Concepts for Small Business helps you evaluate the ways a com- puter can benefit your business. And for the novice, Personal Computing is a complete introduction to computer fundamentals and BASIC Programming. Support Before and after the sale we work with you to con- figure the system that serves you best. We help you get your system up and running smoothly. Assist- ance is always just a phone call away. Service Friendly, experienced technicians are available, either over the phone or at any of the 56 Heathkit Electronic Centers nationwide. Visit your Heathkit Electronic Center* Pick the store nearest you from the list at left. And stop in today for a demonstration of how Heath/ Zenith Computer Systems can serve you. If you can't get to a store, send $1 .00 for the latest Heathkit Catalog and the new Zenith Data Systems Catalog of assembled commercial computers. Write to Heath Co., Dept. 334-834, Benton Harbor, Ml 49022. Pick a strong partner. Heath/Zenith & You. HEATH/ZENITH Your strong partner * Units of Veritechnology Electronics Corporation in the U.S. Specifications subject to change without notice. CP-203A Writing with a Data-Base Management System Edward E Brent Jr, PhD The Idea Works Inc 506 South Garth Columbia MO 65201 Nearly every microcomputer user appreciates the benefits of writing with a word-processing program. Pencil, paper, and typewriter can't match keyboard, video display, and line printer for speedy writing, editing, and printing of almost any kind of copy. But word processing works best at relatively late stages in the writing process — after you've recorded your research results, compiled references, and constructed an outline for the project. In this article I show how another type of program, the data- base management system, can help you in the earlier stages of your writing. In fact, such a system can be more powerful than a word- processing program when you must perform a major reorganization of your text. I first identify the stages of the writing process where a data-base management system (DBMS) can be most useful. Then I discuss the capabilities of such systems, detail their benefits, and recommend strategies for using the DBMS to max- imum advantage. About the Author Edward Brent is assistant professor of sociology and family and community medicine at the University of Missouri in Columbia. He is also president of The Idea Works lnc, a research and consulting firm specializing in computer applications in research and design. Although everyone has a favorite writing strategy, the process of writing can be broken down into several basic steps. After selecting a topic, the writer takes notes on ideas he may want to include. Next he outlines the article by organizing ideas and selecting a manner of presentation. The outline serves as a guide for composing the text, which is then revised until it satisfies the writer. Limitations of Word Processing When it comes to composing text, correcting it, and printing it out in an acceptable form, word-processing programs provide obvious advan- tages. But such programs lend themselves less well to note taking, outlining, and making major revi- sions. For these tasks, a DBMS can save time and energy. When taking notes, you need a mechanism for recording ideas so that they will be easily accessible later. Note taking also calls for a system to minimize effort without distracting you from the task at hand. Both note taking and outlining involve only small amounts of text — text that's rough and tentative at best. Word- processing programs don't deal well with text in this form. At the revision stage, word- processing programs do an efficient job with minor changes. But if you must add many new ideas, delete many old ones, or drastically change the logic of your presentation, you may be better off with a DBMS. DBMS Characteristics To understand how a computerized data-base system can help you write, you must first understand its characteristics. A generalized DBMS is a set of related programs that allows you to enter a wide variety of data into a computer file, organize it for storage, then retrieve, update, reorganize, and print it out in the form of a summary report. Each file, a collection of related data, can con- tain almost any type of information you desire, so long as it meets the minimal structural requirements of the DBMS. File Structure. Before entering any data into a file, you must first define the file structure. Files consist of a number of records, each containing similar information and referred to by a unique number or keyword. In writing, each record might contain a note on a particular idea, or a point made in another book or article to be cited in the paper. A record is a col- lection of fields, each having a name, length and position. Within each field are data describing each aspect of a record. Field names such as "title" 18 November 1981 © BYTE Publications Inc Circle 288 on inquiry card. DUAL RAM POWER RAM PLUS + From Mountain Computer Compatible with Apple* Language 16K RAM Provided Additional 16K RAM Chips Available, utilized by user-generated software. No Chip to Pull No Cables to Attach Works In our Expansion Chassis' See your Apple® dealer or contact us for information. )ard ,TM >!k. ► m & Apple II is a trademark of Apple Computer Inc. Ram Photo— Animals Animals Enterprises/*' Marty Stouffer Productions Mountain Photo —^ Avery E. Dee 8G3@©t3lP@IJ& , irBB 1 W! Minicomputer performance in Multi-user. Multi Tasking. Decision I™ memory man- agement hardware includes a memory map that is similar to the IBM 360,® and IBM 370: It supports up to 16 tasks or 15 users and a supervisor without swapping. And, more with swapping. Each task or user enjoys complete memory protection and dynamic memory allocation. One task may be delegated as a supervisor to privileged system functions forbidden to ordinary tasks or users. Such functions (I/O calls, unauthorized memory access, etc.), will trap to the supervisor. If supervisory functions are not required the system can be configured for turnkey multi-user operation. Multi-purpose IEEE696/S-100. Decision I utilizes the Morrow Designs IEEE Standard S-100 Wunderbuss."' That means you can configure it to your specific applications. Add a floating point processor, add memory (to a full mega- byte), add I/O, add controllers... add boards from dozens of manufacturers. | And S-100 has a major advantage over single-board computers: If a board goes down, you simply replace it. And keep running. If you want to expand your system. Add boards and terminals. An unmatched software base. Decision I runs on the M/OS™ operating system. M/OS sup- ports all system calls source compatibly with UNIX." Thus, UNIX programs will compile directly and UNIX documentation is almost totally applicable. Morrow CP/M*" has been configured to run under M/OS and communicate with both CP/M and UNIX standard media for maximum portability. Languages available include BASIC, COBOL, FORTRAN, RATFOR, Pascal and C. That means Decision I offers you a software base unmatched in its price/performance arena. The OEM machine. A basic multi-user system at $5,225 includes the Decision I, 4 Mhz Z80A-based CPU, sophisticated memory IBM 360 and 370 are trademarks of IBM Corp. Wunderbuss is a registered trademark of Morrow Designs Decision I and M/OS are trademarks of Morrow Designs UNIX is a trademark of Bell Laboratories, Inc. CP/M is a trademark of Digital Research Corp. ION I a multi-user Microcomputer. boards, controllers and software allow you to configure your system your way... through a single supplier. The decision is yours. Compare the Decision I, feature-for- feature with mini or microcomputers on the market today. Compare capabilities. Compare flexibility. Compare utility. Then, compare price. We think Decision I will change the way you think about microcomputer systems. Complete information? See your computer dealer. Or, write Morrow Designs. LOOK TO MORROW FOR ANSWERS. management hardware, CP/M 2.2, M/BASIC 5.2, 3 serial and 2 parallel I/O ports, 14 I/O slots with S-100 connectors, supervisor control in both hardware and software, 128K of RAM and two quad-density disk drives (800K) with DMA controller. Plus, cabinet (either desk-top or rack-mount), and power supply. The same system with 8" floppies and a full Megabyte of formatted storage costs $5,659. And, we offer OEM pricing. A better microcomputer. Whether you're build- ing a single or multi-user system, the Decision I offers you a hardware/software combination unmatched in the field. Decision I is not simply an improved 8-bit microcomputer. It's a breakthrough. In both computing power and price. Systems your way. Morrow Designs' full range of hard and floppy disk memory, add-in memory boards, I/O MORROW DE5IGNS 5221 Central Avenue, Richmond, CA 94804 (415) 524-2101 Circle 287 on inquiry card. See us at COMDEX Booth 575 and "author" identify the type of in- formation stored in each field. The DBMS uses the length and position of the field to retrieve specific informa- tion. Capabilities. Typical data-base management programs can perform a number of operations, including defining or creating a file; adding, modifying or deleting records; sorting the file according to some specific field; searching the file for records with certain values; and generating reports. You can store the data base created by these programs on a disk for future reference, and you can up- date it as your work on the paper pro- gresses. Most data-entry programs prompt the user for relevant informa- tion and check to see that input data meet specified criteria. Others have sophisticated "query" languages that can perform arithmetic or Boolean algebraic manipulations on data in various fields. After computing percentages, totals, or other sum- mary data, the program can store the data in another field or print it out. In essence, the DBMS is an electronic fil- ing cabinet, storing information in various records and accessing and retrieving that information on com- mand. Any particular record can be cross-indexed on many different key variables at the same time, and retrieved based on the value of those keys. In microcomputers, a common method of sorting and retrieval used by the DBMS is the indexed sequen- tial-access method (ISAM). This method uses a sequential access file to store the records as they are entered. An index is then created for that file, ordered by the values in the key field. The index is a table containing the key and the machine address of the record associated with each key. Records in the file may then be used according to their keys. The ISAM method provides the advantage of fast retrieval time. Figures la, lb, and lc present a typical data base in terms of file struc- ture, report format, and sample data records. These records are part of an extensive data base I used in writing this paper. In the TEXT field, each record contains a topic covered in this paper. A number of additional fields are used to take advantage of the capabilities of the DBMS to sort, search, and retrieve information. The characteristics of this data set are not particularly unusual, and you could use a similar strategy with many data-base management programs now available for microcomputers. The following sections discuss the ad- vantages of the DBMS at each stage of writing. Note Taking If you can type, a DBMS can pro- vide a fast and convenient means of recording notes. These may include quotes, summary notes referring to other sources, or your own ideas. A DBMS can be especially helpful when you spend a long time taking notes and then wait a while before actually drafting the paper. It is important to have some mechanism for recording ideas or references as they occur and then retrieving them later, when the "I have recently used Spellguard and I can only echo the eval- uations of a recent Infoworld review: excellent all the way." Mark Garetz Infoworld 25 May 1981 "Spellguard is an example of the new standard— fully pro- fessional microcomputer software." Bill Burns Infoworld 30 March 1981 " . . . Spellguard was given the manuscript from my first book. This version had been corrected after several (human) proofreaders thoroughly reviewed it. I therefore expected it to be relatively error free. Not so. Spellguard was EXPERTS AGREE SPELLGUARD IS THE FASTEST EASIEST TO USE MOST POWERFUL AND RELIABLE SPELLING CHECKER YOU CAN BUY able to discover numerous typographical errors . . ." Allan Miller Interface Age June 1981 "This easy to use, operator- oriented program has saved me countless hours of proofreading, and from the embarrassment of submitting a manuscript with typos. Unlike most spelling test programs, Spellguard is fast . . ." Tony Dowden Microcomputing May 1981 InfoWorld Software Report Card ELLGUARD 1*11 £ 5 ^ a U&efulneBH Docume ill a lion Ease of Use Error Handling □ □ d ar a a □ & a □ □ &r System Requirements • CP/M (1.4 or later) • 32 K bytes of memory • One or two disk drives Price: $295 INNOVATIVE SOFTWARE APPLICATIONS 260 Sheridan Avenue-. Suile 300 Palo Alio. CA 94306 P.O. Box 2797 Menlo Park, CA 94025 (415)326-0805 22 November 1981 © BYTE Publications Inc Circle 197 on inquiry card. BROADEN YOUR HORIZONS UVEON proudly announces OPTIMUM." OPTIMUM is an easy to use, total concept data management program for CP/M® and MP/M ,M systems. Breaking through traditional DMS barriers. OPTIMUM provides large scale data management capability to broaden your computer horizons. Developed for individual computer users and applica- tions builders, OPTIMUM supports user-defined forms and files, dictionaries, powerful reporting, storage efficiency, speed and unique cross-referencing. Everything you want in data management is now complete in one system. USER-DEFINED FORMS AND FILES With OPTIMUM, implementing an application is simple. The user defines screen forms to fit the data and describes how the data is to be stored. Once this is complete, data entry may begin. Input editing, validation and cross-referencing during data entry extend OPTIMUM'S range. If the need exists. OPTIMUM can handle complex or multiple screen forms for the same file. Screen forms may be modified and expanded as needed. DICTIONARIES OPTIMUM maintains a dictionary of terms for each file. This dictionary contains information on each data element in the file and describes operations to be performed. Alterations and additions to the dictionary may be made as required. MICRO-ENGLISH ,M REPORTING OPTIMUM Micro-ENGLISH lets the user request standard or custom reports from the OPTIMUM files. Sophisticated selecting and sorting capability give Micro-ENGLISH all the power of a large scale interactive inquiry processor. A dictionary based vocabulary keeps the user interface simple. OPTIMUM STORAGE EFFICIENCY AND SPEED OPTIMUM stores all information in a compact variable-length format. OPTIMUM files are designed for interactive speed; a single file item may be retrieved from among hundreds in an instant. OPTIMUM DATA CROSS-REFERENCING A unique feature of the OPTIMUM system allows a user to cross-reference data elements. Once information is entered, it may be retrieved using key words in the data. From simple applications to complex systems, OPTIMUM manages it all. Broaden your horizons using the total concept data management system with the power of such industry forerunners as Prime Information, Honeywell Ultimate and Microdata Reality. Call or write UVEON today for more information on OPTIMUM. 1-800-525-1637. uveon The Future in Software. I7M ;n on imi larnpui dMJVMaw )M ,ind Mil r r .Systems. 1 n.ith m.irksi i-ENCLISH 1C. 1 llgjt re tr.it UVEON Computer Systems, Inc. 899 Logan Street Denver. Colorado 80203 Circle 420 on inquiry card. YOU NEED TO KNOW FOR KEYED FILE ACCESSING IS MICRO B+ T Since 1979, MICRO B+ has delivered: • PERFORMANCE: search an in- dex of over 10,000 key values in less than one second on a floppy. • CONVENIENCE: no need to re- organize index files. • SUPPORT: our bug-free code is backed by the best programmer support in the industry; just call us to see. • INNOVATION: theistandmost complete implementation of B- Tree index structures for micros. • DOCUMENTATION that you can read. AND NOW Faircom has added • MULTI-USER support under MP/M for MICRO B+. IF YOU PROGRAM IN: MICROSOFT'S BASIC, COBOL, or FORTRAN DIGITAL'S PL/1-80 CBASIC-2 PASCAL/MT+ WE'VE COT WHAT YOU NEED for $260. Manual alone $20. Ship- ping $4 North America, $8 else- where. LANGUAGE C VERSION OF OUR B-TREE ALGORITHM IS AVAILABLE FOR $2600. 1981 FairCom 2606 Johnson Drive Columbia, MO 65201 (314) 445-3304 WE ACCEPT VISA & MASTERCHARGE MP/M & PL/l-80 are trademarks of Digital Research. CBASIC is a trademark of Compiler Systems, Inc. PASCAL /MT+ is a trademark of MT Micro Systems. paper is being outlined or written. In many ways, note taking with a DBMS resembles note taking with note cards. For the note cards to be most useful, Lester (see references at end of article) suggests you put only one item of information on each card and include a brief citation or reference to the source of the idea. He also suggests you label the note card at the top for speedy recognition of the topic. When you record only one idea on each card, you can later sort the cards according to your outline for the paper. All the functions performed by note cards can be carried out more ef- ficiently by a DBMS. For each idea or quotation, you can create a record in the data-base file which includes as its main text the quotation or a state- ment of the idea. Key fields can be identified for reference to the author, journal, page, and date. To help you organize the ideas later, you can use other key fields to include a brief phrase that summarizes the context of the record. Several additional key fields could contain other types of in- formation to sort the files in many different ways. Because the DBMS can perform the tedious tasks of creating the indices and sorting the records, it requires far less effort on your part than note cards do. Once note taking becomes less burdensome, you can devote more effort to the task of developing new ideas. Data-base management programs typically require you to define a structure before entering the data or notes. The programs then use that structure to prompt you for specific types of information as the notes are entered. When the information is complex, this prompting and struc- ture can help you by assuring that you don't inadvertently leave out critical information (the author of a reference book, for example). In addition to the structural con- straints on data entry, data-base management programs typically in- clude procedures which check the data for proper form during input. If you mistakenly enter alphabetic data in a numeric field, for example, the data may be rejected, and you will be asked to start again. In addition, more sophisticated programs allow you to specify other criteria which may be examined before the data are accepted — helping to assure the quali- ty of the data entered and improving the quality of the notes. Outlining While data-base management pro- grams save time and improve quality at the note-taking stage, these benefits pale in comparison to the benefits for outlining. Much writing, particularly for research papers or technical papers, involves keeping track of a mass of information on various topics. Managing all this in- formation quickly and efficiently is an awesome job for even the most gifted writer. For example, in writing a paper reviewing several different software programs or comparing various hard- ware options, you need to keep track of many details to provide a clear pic- ture of what is available. Writing such papers requires a vast amount of relatively simple but time-consuming work such as compiling lists, sorting references and ideas, and reorganiz- ing points to fit a consistent argument or theme (to say nothing of the many data-handling tasks involved in generating the notes in the first place). The computer can do all these things without overlooking impor- tant ideas or misplacing relevant cita- tions, and it can work faster than the most efficient writer. But the savings in time and effort aren't the only advantages to using a DBMS for writing. By allowing you to organize and reorganize your notes with minimal effort, the system frees you to consider many different ap- proaches to your subject. This luxury can lead to valuable insights and significant improvements in the paper. Revising The sorting, retrieving, and up- dating capabilities that make the DBMS so useful for outlining also make the system valuable when your work needs major revisions. You can delete entire sections, add others, or reorganize your paper to fit a new 24 November 1981 © BYTE Publications Inc ISAAC ™ turns Apples linto laboratory computers... .and data acquisition costs tumble! ISAAC teams with the Apple Computer to give you automated control of laboratory instruments, data acquisition, electronic test, process control and front end processing for centralized systems. Its LABSOFT extended BASIC language makes ISAAC easy to use wherever real time signals must be recorded, manipulated, related, analyzed, stored, displayed or printed out. Color charts and graphs are a breeze. Major ISAAC Hardware Features: • 16-channel, 12-bit A/D • 8 channel counter converter • 4-channel, 12-bit D/A converter • 16 binary inputs • 16 binary outputs • 16 bit timer • Real-time clock • RS-232C and IEEE 488 (optional) • 4 programmable Schmitt triggers Typical Applications: CHEMISTRY • Spectroscopy • Chromatography • Electrochemistry ENGINEERING • Bioengineering • Electronic test • Materials testing PSYCHOLOGY • Biofeedback • Stimulus response • Cognitive learning PHYSIOLOGY • Human performance testing • Neurological waveform analysis PROCESS CONTROL • Flow, pressure and temperature measurements • Current and voltage measurements ISAAC plus Apple. A lot of technical computing power for a little money. For complete information, circle reader service number, or call us toll free at 1 (800) 343-4494. Circle 123 on Inquiry card. Cyborg Corporation, 342 Western Avenue, Boston, MA 02135 Apple is a trademark of Apple Computer. ISAAC, LABSOFT and CYBORG are trademarks of Cyborg Corporation. Surprising Symmetries in Design and Letterforms . . ^^Jwytioy, A New Frontier Between Sight and Sound . . . "™ Hav ^a^0mi Inversions: A Catalog of Calligraphic Cartwheels by Scott Kim Foreword by Douglas Hofstadter Backword by Jef Raskin Illusion . . calligraphy. . visual magic— Scott Kim's new book delights the eye and enchants the mind. Filled with intriguing designs, words that read the same right- side-up and upside-down, words within words and un- expected symmetries, these compositions create a fresh way to look at the alphabet. The text includes the visual principles of symmetry, lettering and problem solving that are basic to these images. The author also draws parallels to related exercises in perception in such diverse areas as art, music, wordplay and mathe- matics. Scott Kim's original inversion designs first ap- peared in Omni magazine, inspiring an overwhelming reader response. An irresistible challenge, invertible writing appeals to everyone who loves beauty in mathe- matics and design. Scott Kim is a doctoral student in Computer Science at Stanford University and is a concert pianist and composer, ISBN 0-07-034546-5 128 pages; softcover $8.95 "Scott Kim has perfected a personal art form— one with grace, elegance, sub- tlety, and surprises." Douglas Hofstadter, author Gddel, Escher, Bach: an Eternal Golden Braid "Scott Kim's Inversions ... is one of the most astonishing and delightful books ever printed." Martin Gardner Scientific American Digital Harmony by John Whitney On the Complementarity of Music and Visual Art BYTE Books is pleased to offer Digital Harmony, a major new work by John Whitney, whose film art, known around the world, has been an influence on technological art and cinema special effects from 2007 to Star Wars. His book explores a special union of mu- sic and computer graphics and defines a new frontier between sight and sound, integrating the two to create a new art form. Whitney shows what can be done with small com- puters, spells out a thorough theoretical background, and includes listings and programs for those interested in joining in the exploration of his unified field theory of art. Digital Harmony lays the foundation for an audio- visual art made possible by computers. It is must read- ing for all enthusiasts with interests in art, music, video, film, computers, education, artificial intelligence, psychology, and futurology. John Whitney is on the Faculty of the Department of Art at the University of California, Los Angeles. ISBN 0-07-070015-X 240 pages; hardcover $21.95 "Digital Harmony is a peek into the fu- ture when computerization will bridge the gap between art, science, and self- understanding. I loved it." Seymour Papert Author, Professor Massachusetts Institute of Technology BUILD YOUR OWN Z80 COMPUTER by Steve Ciaroia For the engineer, computer techni- cian, student and anyone inter- ested in building a computer rather than buying one, this practical guide shows how to build a work- ing computer based on the Zilog Z80 microprocessor. Each com- puter subsystem is fully explained and supported by proven design and testing information. ISBN 0-07-010962-1 330 pages, softcover $15.95 YOU JUST BOUGHT A PERSONAL WHAT? Thomas Dwyer and Margot Critchfield Intended for both the novice pro- grammer and the experienced computer enthusiast, this book presents practical ideas for per- sonal computer use. Its approach is especially suitable for educational purposes. Written by the leading contributors of com- puter education material, this book is an entertaining and resourceful tool. ISBN 0-07-018492-5 343 pages, softcover, 78 illustrations $11.95 BEYOND GAMES: SYSTEM SOFTWARE FOR YOUR 6502 PERSONAL COMPUTER Creating programs for the Apple, Atari, Challenger and PET computers by Kenneth Skier At last, a complete programming guide-book. A self-contained course in structured programming and top-down design, this book presents a powerful set of tools for building an extended monitor, dis- assembler, hexadecimal dump rou- tine and text editor programs. ISBN 0-07-057860-5 440 pages, softcover $14.95 THE BYTE BOOK OF PASCAL Blaise W. Liffick, Editor Written for both potential and es- tablished users, this book intro- duces the Pascal language, examining its merits and possible implementations. Featured are two versions of the Pascal compiler, one written in BASIC and the other in 8080 assembly language; a p-code interpreter written in both Pascal and 8080 assembly lan- guage; a chess-playing program; and an APL interpreter. ISBN 0-07-037823-1 334 pages, hardcover $25.00 CIARCIA'S CIRCUIT CELLAR Practical uses for home computers by Steve Ciarcia Imaginative and practical, Ciarcia's Circuit Cellar details a variety of microcomputer projects. A collec- tion of the best articles from the popular series in BYTE magazine, this volume includes: • D/A conversion • Programming EPROMS • AC remote controlled appliances • digitized speech • touch input video display ISBN 0-07-010960-5 125 pages, softcover; color photo- graphs and diagrams $8.00 CIARCIA'S CIRCUIT CELLAR, VOLUME II More practical uses for home computers by Steve Ciarcia Composed of popular articles from BYTE magazine, this volume tells how microcomputers can be inter- faced uniquely with our environ- ment. Projects include: • building a computer - controlled home security system • computerizing appliances • transmitting digital information over a beam of light • building the Intel 8086 micropro- cessor system design kit • input-output expansion for the TRS-80 ISBN 0-07-010963-X 224 pages, softcover; photographs and diagrams $12.95 BEGINNER'S GUIDE FOR THE UCSD PASCAL SYSTEM The most popular Pascal version explained by its creator by Kenneth L Bowles Written by the originator of UCSD Pascal System, this informative book is an orientation guide to the UCSD Pascal System. For the nov- ice, this book steps through the System, bringing the user to a so- phisticated level of expertise. Once familiar with the System, the reader will find the guide an invalu- able reference tool for creating ad- vanced applications. ISBN 0-07-006745-7 204 pages, softcover $11.95 by Jmv« Corel* The BYTE Book of Pascal MMkylUiMUmtk lliff BYTE Books' reputation is based on their providing technically accurate, timely and useful information. Estab- lished on the same principle as BYTE magazine, BYTE Books evolved in re- sponse to the rapidly expanding audi- ence of home and business computer St 1 lire 03458 users. These BYTE Books will expand your knowledge and expertise. To order, call toll free 800/258-5420 or fill out your choices on this coupon and return it with check, money order or charge card number to: BYTE Books 70 Main Stre Peterboroug New Hamps Name Title Price Quantity Amount Address City State Zip Check Enclosed Bill Visa Card Number Bill MasterCard Card Number Amount Expiration Date Add 75V|N *Q1 EQUIVALENT TO -Vr~ CONTROL Figure 2: The configurations of switching voltage regulators: the voltage-step-down (2a), voltage-step-up (2b), and polarity- inverting (2c) arrangements are depicted. The component shown as a switch is assumed to be a bipolar transistor driven in saturated switching mode. Some com- mercial designs may use field-effect tran- sistors. COMPARATOR NONINVERTING INPUT 1.3V REFERENCE L. COMPARATOR INVERTING INPUT 10 vcc 13 TIMING CAPACITOR 12 BIAS 1 PK OSCILLATOR COMPARATOR 'PK SENSE 14 ^O GROUND V^7 11 C R Q M A78S40 OP AMP DRIVER COLLECTOR 15 €> Q2 SWITCH COLLECTOR 16 Dl -w- €> Ql .J REFERENCE OP-AMP OP-AMP OP-AMP OP-AMP SWITCH DIODE DIODE VOLTAGE INVERTING INPUT NONINVERTING INPUT SUPPLY OUTPUT EMITTER CATHODE ANODE Figure 3: Functional block diagram of the Fairchild 78S40 switching-regulator integrated circuit. This component may be obtained from the supplier listed on page 45. November 1981 © BYTE Publications Inc 39 often used in commercial switching supplies with multiple outputs. This method is more complex and uses more components than variable- frequency supplies, but the advan- tages outweigh the extra cost in high- current applications. Typical operating frequencies of switching regulators range from 10 to 50 kHz. However, there are some trade-offs. High frequencies reduce the ripple voltage at a price of decreased efficiency and increased radiated electrical noise. If the fre- quency is lowered, greater efficiency and less electrical noise will result, Photo 3: Winding the inductor for the switching supply of figure 6a. The turns of wire are neatly wound around a plastic bobbin, evenly distributed. Photo 4: Having been wound, the wire bobbin is placed between the two halves of the pot core, which are screwed together to form the finished coil. but larger coils and capacitors are needed. Also, a switching power sup- ply operating at 10 kHz can become quite annoying to listen to after a while. The most effective frequency range for optimizing efficiency and size with the components presently avail- able is around 20 kHz. This is out of the range of human hearing yet low enough to be within the switching speeds of most inexpensive transistors and diodes. As switching speeds of newly developed high-current semi- conductors increase and new ferrite components are introduced, practical operating frequencies will rise. There are many kinds of switching regulator circuits that I could present. My previous article, "No Power for Your Interfaces? Build a 5 W DC to DC Converter" (reference 3), dis- cussed the construction of a 5-watt converter which produced ±12 volts from a +5-volt input. This circuit was intended to facilitate powering linear interfaces and op amps (opera- tional amplifiers) when the only source available was the 5-volt logic supply. If you have such a require- ment, I refer you to that article. This time, however, I'd like to pre- sent circuits to meet a different need. In the example of the conventional power supply with which I began this article, the input/output voltage dif- ferential was so great that more heat than useful energy was produced by the supply. In a small electronic package which requires several watts, dissipated heat can be difficult to remove if the enclosure has no vents. This points out a need for a more effi- cient 5-volt regulator. While we're at it, we might as well make one that can accommodate up to 30-volt in- puts without significantly increased losses. One power supply that seems to be in demand lately is one with a + 25-volt output for programming EPROMs (erasable programmable read-only memories, as discussed in last month's Circuit Cellar; see reference 2). While a three-terminal regulator can be used for this voltage, I see this as a ripe opportunity to demonstrate the step-up variety of 40 November 1981 © BYTE Publications Inc switching regulator. One circuit we'll look at will therefore be a +5-volt to + 25-volt converter suitable for EPROM-programming use. 78S40 Switching Regulator In recent years, monolithic (everything built on one semiconduc- tor chip) linear voltage regulators have simplified power-supply design. Most systems have employed linear regulators because of their excellent reliability, low external parts count, and low cost. However, recent im- provements in high-speed switching transistors and low-loss inductors have made switching supplies more attractive. The real breakthrough came with low-cost LSI (large-scale integration) monolithic switching regulators, which contain practically everything but the inductor on a single chip. One of the many such integrated regulators available is the Fairchild 78S40, which is shown in the block diagram of figure 3. The 78S40 con- tains a current-controlled oscillator, current-limit sensor, voltage refer- ence, high-gain comparator, high- current op amp, transistor switch, and power-switching diode. A single capacitor sets the frequency range (adjustable between 100 Hz and 100 kHz, but normally used at 20 to 30 kHz), and one external resistor pro- vides current-limiting protection for the transistor and diode. Other than a few discrete resistors to set the output + 30V DC (=>" K sc 0.33ii ♦ wv * O.l^F m "cc COMP- 'REF 12 'PK SENSE DRIVER SWITCH COLLECTOR COLLECTOR SWITCH EMITTER iA78S40 GND DIODE ANODE 0.02,iF ^ DIODE CATHODE COMP- 1.3K 275^.H L 10K VOLTAGE ADJUST yv\ -O V 0U T +5v AT 0.5A 220jiF Figure 4: Schematic diagram of a 5-volt, Vi-amp step-down switching voltage regulator. For low currents, the 78S40's internal switching transistor and diode may be used. V|N +30VDC o- "sc o.o3n -*SA, — 2N4398 COIV^ ioon 56il 1W 15 SENSE jiA78S W \ •- 191>iH _rrYV\_ L i 150X1 15 COMP ■ SENSE /iA 78S40 DRIVER COLLECTOR SWITCH COLLECTOR DIODE ANODE SWITCH GND EMITTER COMP- 12 0.005/iF 11 16 25K VOLTAGE 10 ADJUST i yv\ — -o + 8 TO +28V 470/iF 35VDC 1.3K Figure 6a: A step-up regulator that converts + 5 volts to + 25 volts, possibly for use in an EPROM programmer. The output voltage may be adjusted within the range of + 8 to +28 volts. Current capacity depends on fine points of construction and on the voltage desired. 10 - 50 100 150 OUTPUT CURRENT (MILLIAMPS) 200 Figure 6b: The measured curve of output voltage plotted against current for the step-up switching regulator of figure 6a. MAGNETIC PATH LENGTH I 1.23 inches 3.15 cm CORE CONSTANT 12.6/inch 4.97/cm EFFECTIVE CORE AREA *, 0.0985 inch 2 0.635 cm 2 EFFECTIVE CORE VOLUME v e 0.122 inch 3 2.00 cm 3 MILLIHENRIES PER 1000 TURNS A L 500 Figure 7: Physical and electromagnetic characteristics of the Ferroxcube 2213PA500-3C8 pot core. The coil turns are wound around a plastic bobbin that fits between the two core halves, easing experimentation with different numbers of turns and different gauges of wire. November 1981 © BYTE Publications Inc 43 Circle 289 on inquiry card. ufiKL 'SOFTWARE 1 FREE OFFER WITH PURCHASE OF ANY 3 PROGRAMS, YOU WILL RECEIVE FREE THE ORIGINAL ADVENTURE GAME, CONVERTED TO LOAD ENTIRELY INTO 48K RAM ON APPLE. NOTHING LEFT OUT. AMAZING! [apple* SOFTWARE D Adventures #1,2, 3 $39.95 NOW $32.50 Adventures #4. 5, 6 $39.95 NOW $32.50 I Adventures *7. 8, 9 $39.95 NOW $32.50 □ Adventures #10,11, 12 $39.95 NOW $32.50 D Project Omega $24.95 NOW $19.50 □ Pro Picks $24.95 NOW $19.50 D 16K Expansion Card $195.00 NOW $149.50 D Hodge Podge (age 2/5) $23.95 NOW $21 .50 D Teacher's Pet $15.95 NOW $14.50 Q Temple of Apshai $39.95 NOW $32.50 D Hellfire Warrior $39.95 NOW $32.50 D Crush, Crumble and Chomp. $29.95 HOW $24.50 □ Book of Apple Software $19.95 NOW $15.50 Apple Panic $29.95 NOW $24.50 D Raster Blaster $29.95 NOW $26.50 i_. Alien Rain (Galaxian) $24.95 NOW $22.50 D Alien Typhoon $24.95 NOW $22.50 D Snoggle (Puckman) $24.95 NOW $22.50 n Space Warrior $24.95 NOW $20.50 □ HEAD ON $24.95 NOW $22.50 D Fantasyiand 2041 $59.95 NOW $52.50 D Bridge 2.0 $21.95 NOW $19.50 D Ultima $39.95 NOW $34.50 □ Home Money Minder $34.95 NOW $29.50 L Compu-Vath Arithmetic $49.95 NOW $39.50 r: Compu-Math Fractions $39.95 NOW $33.50 D Compu^tath Decimals $39.95 NOW $33.50 D Algebra 1 $39.95 NOW $33.50 □ Spelling Bee $29.95 NOW $25.50 l"J The Prisoner $29.95 NOW $25.50 □ Sargon II (chess) $34.95 NOW $29.50 □ Pool 1.5 $34.95 NOW $29.50 !. Spellguard for Apple $295.00 NOW $245.50 D Sup R' Terminal 80 Col $375.00 NOW $309.50 □ Memorex 3401 Box of 10 $45.00 NOW $24.50 □ Word Star $375.00 NOW $275.50 Z-80 Softcard With CP/M .. $399.00 NOW $299.50 □ RobotWare $39.95 NOW $34.50 I. 12" Hi-Res Green Mon $285.00 NOW $236.00 □ A.B.M $24.95 NOW $22.50 L Castle Wolfenstein $29.95 NOW $25.50 □ Mission Asteroids $19.95 NOW $17.50 □ Mystery House $24.49 NOW $21.50 D Wizard and the Princess $32.95 NOW $29.50 □ Cranston Manor $34.95 NOW $29.50 D Pegasus II $29.95 NOW $25.50 D Hi-Res Football $39.95 NOW $34.50 □ Hi-Res Soccer $29.95 NOW $25.50 □ Soft Pom Adventure $29.95 NOW $25.50 □ Gobblers $24.95 NOW $19.50 □ Zork $39.95 MOW $33.50 I". Visicalc 3.3 $199.95 NOW $169.50 D Magic Wand SO Column $395.00 NOW $289.50 □ Falcons $29.95 NOW $25.50 □ Fastgammon $24.95 NOW $20.50 □ International Grand Prix $29.95 NOW $25.50 D Space Eggs $2g.95 NOW $24.50 □ Orbitron $29.95 NOW $24.50 □ Gamma Goblins $29.95 NOW $24.50 □ Epoch $34.95 NOW $28.50 □ Pulsar II $29.95 NOW $24.50 □ Autobahn $29.95 NOW $24.50 □ Sneakers $29.g5 NOW $24.50 □ Galactic Attack $29.95 NOW $25.50 I: Magic Window Word Proc.... $99.95 NOW $84.50 □ IFO Database Manager $120.00 NOW $99.50 □ MMaster $229.00 NOW $189.50 □ The Warp Factor $39.95 NOW $33.50 □ Flight Simulator $33.50 NOW $29.50 □ Pro Football Pt. Pied $26.95 NOW $22.50 □ Win AT The Races $39.95 NOW $34.50 G VkieotermSOColCard $345.00 NOW $279.50 □ Multiple Regression $29.95 NOW $25.50 * SEND FOR FREE PRICE LIST & CATALOG * DEDUCT 3% IF PAYMENT ACCOMPANIES ORDCR. WE PAY SHIPPING AND IF YOU PHONE YOUR ORDER WE WILL CREDIT $1.00 FOR CALL. CALIFORNIA RESIDENTS ADD 6% SALES TAX. ALL ORDERS SHIPPED FROM STOCK WITHIN 48 HOURS. WE ACCEPT MASTER CARD AND VISA. COD'S ADD $5.00. • 518 E. ECHO CT., SAN BERNARDINO, CA 92404 PHONE ORDERS (714) 886-0761 rent densities without saturation. An added plus is that it reduces the overall inductance per turn of wire and allows more turns of wire for a given inductance value. Pot cores work best when the windings com- pletely fill the core. The calculations for winding the specific inductors for the power sup- plies I have presented are relatively simple. For each core and material, the manufacturer specifies a propor- tionality factor A t , which is the in- ductance in millihenries per 1000 turns. The inductance for any other number of turns N is then L = A L N' X 10" 9 where N = number of turns L = desired inductance in henries A L = millihenries/ 1000 turns The 5-volt Vi-amp regulator pre- sented earlier required a 275-microhenry inductor. For the 2213PA500-3C8 core, A L = 500 millihenries per 1000 turns. Plugging these values into the equation: 0.000275 X 1000000000 N = V 1 X 10" A L 500 = V550 = 23 turns In addition to determining the re- quired number of turns, we must con- Component-Value Calculation Conditions: V D (diode-saturation voltage) = 1.25 volts Vsat (transistor-saturation voltage) = 1.1 volts V, N = +30 volts Vout — + 5 volts lour (maximum) = 0.5 amps V R , PPLE < 1% = approximately 50 millivolts V KEF = (internal reference voltage) = 1.3 volts Calculate: Ipeak = 2Iout (maximum) = 2 X 0.5 = 1.0 amps The peak-current rating of the transistor is 1.5 amps. Next, determine the value of the current-limiting resistor: R sc = 0.33/Wt = 0.33/1 = 0.33 ohms Calculate the Ton /Toff ratio: V OUT > Vo 1 ON' 1 I ON' J OFF v„ v SAT - v = (5 + 1.25)/(30 - 1.1 - 5) = 6.25/23.9 = approximately 0.26 Therefore: 1 ON == 0.26 1 OFF It is desirable to have the operating frequency of a switching regulator above 20 kHz (yielding a 50-microsecond period T), but neither Ton nor T orF should be less than 10 microseconds for the 78S40 device. If we arbitrarily choose Toff to be 40 microseconds, then the values of the oscillator-timing capacitor (C T ) and inductor (L) are computed as follows: 44 November 1981 © BYTE Publications Inc sider the wire size and available space within the core. The objective is to fill the core, yet maintain a wire size that will carry the highest currents in- volved. There exist tables and charts of wire size, circular mils per ampere, and available-area specifications for exact determinations. As a rule of thumb, with designs like the ones presented here, the best tactic is to use the largest wire size that will fit for the required number of turns. If the pot core is not completely filled, the effect is not disastrous, but the true inductance could be as much as 10% less than calculated. In Conclusion I consider this subject a bit of a shot in the dark. I have found that as I build miniaturized electronic devices for my own use I can no longer toler- ate the large volume, weight, and in- efficiencies of linear-regulated power supplies. This article is a progress report on some of the circuits I have been experimenting with lately. I don't anticipate any sudden short- age of ferrite cores as a result of the publication of this article. In my opinion, switching power supplies will come to have a very significant role, but mostly in commercially pro- duced products. The greatest benefit of using this technology is the savings in energy and materials in large-scale production. Next Month: Have you ever wished you could call your computer by telephone and give it commands by pushing the buttons on a Touch Tone receiver? In December's Circuit Cellar we'll look at several schemes for decoding DTMF (dual-tone, multiple-frequency) signals, ■ C T = 0.00045 Tow = 0.00045 X 0.000040 = 0.018 /iF Using a 0.02-microfarad standard capacitor value, T ON and T 0FF really turn out to be: Ton ~ 11.6 /IS Toff = 44 /is T = Ton + Toff — 55.6 flS C T = 0.02 fiF For the inductor: (Vour + V„) (T ff) L = Ip. = (5 + 1.25) X 0.000044/1 = 275 nH The output-capacitor value C is calculated from the ripple requirements: c = (Ipeak) (T) 8 ( Vripfie) = 1 X 0.0000556/8 X 0.05 = 139 /iF (use standard 220 /iF) Finally, compute the values of the two resistors required for the sampling network. Assuming that the comparator-input current is 1 milliamp (the comparator will work down to 100 microamps) then: Rl + R2 = 5 k-ohms R2 = (Rl + R2) (V R FF/V our ) = 5 k-ohms X 1.3/5 = 1.3 k-ohms Select R2 = 1.3 k-ohms and use a 10-k-ohm potentiometer for Rl. Parts Source A switching-regulator kit is available to experimenters. The kit contains one Fairchild 78S40 integrated circuit, two 2213PA500-3C8 pot-core halves, and two plastic bobbins; it is available postpaid in the United States for $11.50. Only prepaid orders will be ac- cepted. Send check or money order to: The MicroMint, hie 917 Midway Woodmere NY 11598 References 1. Adamian, Andy. Voltage Regulator Handbook. Mountain View CA: Fair- child Camera and Instrument Corpora- tion, 1978. 2. Garcia, Steve. "Build an Intelligent EPROM Programmer," October 1981 BYTE, page 36. 3. Ciarcia, Steve. "No Power for Your In- terfaces? Build a 5 W DC to DC Con- verter," October 1978 BYTE, page 22. Reprinted in Ciarcia's Circuit Cellar. Peterborough NH: BYTE Books, 1979, page 1. 4. Hnatek, Eugene R. Design of Solid- State Power Supplies. New York: Van Nostrand Reinhold, 1980. 5. Pressman, Abraham I. Switching and Linear Power Supply, Power Converter Design. Rochelle Park NJ: Hayden Book Company, 1978. 6. Sevastopoulos, Nello, et al. Voltage Regulator Handbook. Santa Clara CA: National Semiconductor Corporation, 1980. 7. Spencer, John D, et al. The Voltage Regulator Handbook. Dallas TX: Texas Instruments, 1977. 8. Switched-Mode Power-Supply Control Circuits. Sunnyvale CA: Signetics, 1975. Editor's Note: Steve often refers to previous Circuit Cellar articles as reference material for the articles he presents eacli month. These articles are available in reprint books from BYTE Books, 70 Main St, Peterborough NH 03458. Ciarcia's Circuit Cellar copers articles f/?«f appeared in BYTE from September 1^77 through November 1978. Ciarcia's Circuit Cellar, Volume II presents articles from December 1978 through June 1980. Many Circuit Cellar projects are avail- able as kits. To receive a complete list, circle 100 on the Reader Service card. November 1981 © BYTE Publications Inc 45 / EPSON MX-BO Now in stock! The MX-SO dot matrix printer. Unequalled Epson reliability. Has all the features of the MX-70 plus more power and extra functions. C-ITOH STARWRITER: LETTER QUALITY PRINTING FOR UNDER $2000!/This daisywheel printer gives high quality at a low price. 25 cps. Parallel and serial inter- faces available. NEW INTEGRAL DATA'S 560 PRINTER/ All the exciting features of the 400 series plus 141/2" paper capacity. 132 col. graphics printer. IDS 445. Priced lower than the 440 and equipped with a better print head. With & w/o graphics. IDS 460. Features include corre- spondence quality printing, high resolution graphics. NEC SPINWRITER FROM THE FIRST NAME IN LETTER QUALITY PRINTERS/ Spmwriter 5520 Compumart offers beautiful print quality with NEC Spinwriter Terminals. We carry all models from RO THRU KSR WITH NUMERIC KEYPAD-5510-5530. All versions give unsurpassed hard copy output! CENTRONICS PRINTERS 3 SERIAL MODEL 737 The closest thing to letter quality pnnf for under S1000. List S1045 SPECIAL $795. 737-1 Parallel Interface List S995 SALE PRICE $695. PLUS EXCITING REBATE OFFER ON CENTRONICS PRINTERS. OMNI 810 PRINTER FROM TEXAS INSTRUMENTS CALL US The 820 RO PACKAGE includes machine mounted paper tray and cable. A compressed print option and device forms control are standard features. THE 820 KSR PACKAGE includes fully ASCII Keyboard plus all of the features of the RO. *s> . && 4> & y % 4^ CLEARANCE ZENITH COLOR VIDEO MONITOR $349. SUPER SELLING TERMINALS FROM LEAR SIGLER/We have the follow- ing Lear Siegler terminals in stock at prices too low to print! Call for quotes. ADM-3A/Industry*s favorite dumb terminal for some very smart reasons/ ADM-3A + NEW from Lear Siegler. CALL! IT IS HERE! It is the new Intermedi- ate Terminal from Lear Siegler. NEC COLOR MONITOR/RECEIVER HIGH RESOLUTION/ Composite video using BNC con- nectors, 8-Pin connector for VCR/ VTR video loop In/ Out and television reception. NOVATION CAT ACOUSTIC MODEM Answer Originate. NEW! D-CAT Direct Connect Modem from Novation. MATROX PRODUCTS/Compumart stocks the complete line. DYSAN DISKETTES/Single side, single density. Hard or Soft Sector $5.ea. MEMOREX 3401's/5l/4 disks $3.25. /with hub ring for Apple $3.50, MEMORY INTEGRATED CIRCUITS/ Call for quantity discounts when ordering over 50 units. MOTOROLA 4116 (200 Nano- second Plastic) $4.50 Sanyo 13" Color Monitor SANYO MONITORS AT LOW COM- PUMART PRICES/Sanyo's new line of CRT data display monitors are designed lor the display of alpha- numeric or graphic data 9"SANYOB/W $169. 12" SANYO B/W 12" SANYO W/ GREEN SCREEN 13" SANYO COLOR Visit our giant ANN ARBOR STORE 1250 North Main Street Ann Arbor, Michigan FREE CATALOGS MICRO DEC PDP/ The original and most com plete catalog of micro-com- puters, acces- sories and peripherals. Send LSI -11 Systems configured and integrated with oilier manufac- turers compat- ibles. The first , best DEC based systems catalog. for them! GUtronix Switch NEW! GILTRONIX RS 232 SWITCH/ The ultimate in flexibility. You can connect three peripherals to one computer or three computers to one peripheral. Switches the eight most important RS 232 signals. DEC LSl-11/Compumart now offers the entire product line. CALL FOR PRICES AND DELIVERY HP-41C CALCULATORS MEMORY MODULES for storing programs of up to 2000 lines of program memory. "EXTRA SMART" CARD READER. Records programs and data back onto blank magcards. THE PRINTER. Upper and lower case. High resolution plotting. Port- able thermal operation. APPLICATION MODULES NEW SUPER 41-CV SYSTEMS with Quad RAMS built-in. Maximum memory on-board leaves slots open for Application Pacs and peripherals. + CARD READER + CARD READER + PRINTER QUAD RAMS equivalent to tour Memory Modules all packed ^ ^ $& RM EXPANSION ACCESSORIES FOR AIM - CALL SPECS AND PRICES APPLE m IS IN STOCK/Apple III Information Analyst Package — 128K Apple III, Black and White Monitor 12", and information ana- lyst software. TOP SOFTWARE PACKAGES FROM COMPUMART VISICALC/FOR APPLE/FOR HP/ FOR COMMODORE/FOR ATARI SOFTWARE FROM APPLE/Apple Plot (the perfect graphic comple- ment for Visica)c/Dow Jones News & Quotes/ Apple Fortrom/Apple Writer/Pascal Language System/ Controller Business System PERSONAL SOFTWARE/Visidex/ VisiTrend/VisiPlot/VisiTerm MUSE/Super Text Apple Software MOUNTAIN COMPUTER/ Expansion accessories tor Apple/ Super Talker/The Music System/ ROM plus board with Keyboard filter/ROM Writer/Clock Calen- dar/ AtoD and Dto A Converter/ Clock for Apple/CPS Multifunction Board VIDEX/Video Term (80 col. x 24 line, 7x9 Matrix plug in compati- ble board for Apple II) w/wo graphics EPROM/SSM Serial 8c Parallel, Apple Inlerface/ABT's Numeric Key Plan/California Microcomputer Keyboard ^ VIC 2 PERSONAL COMPUTER FROM COMMODORE $299. IMPORTANT ORDERING INFORMATION CALL, SCO 343-5504. in Massachusetts, (617) 491-2700, phones open from 8,30 am. to 7,00 p.m. Mon-Fri HOO a.m. to 4,00 p.m Sat. PO's, Accepted from Dun & Bradstreet rated companies-shipment contingent upon receipts ol signed purchase order. SALE PRICES, Valid for month of magazine date only— all pnces sub- ject to change without notice Our Ann Arbor retail store is open 1LOO a.m. to 700 p.m. Tues-Fn, 10,00 am to 500 p ra on Saturdays. 4^. S $1895 ^ 0^ SAVE OVER $200 ON OUR BEST SELLING APPLE SYSTEM/ System includes a 48K Apple II. Apple Disk, DOS 3.3 and Controller and a Sup R MOD RF Modulator. List S2209. EXCLUSIVE FOR THE APPLE: Magic Wand. Videx, Z-80 softcard (Requires 48K Apple and disk). COMPLETE SUB-SYSTEM $925 APPLE ACCESSORIES CHOOSE FROM: Silentype Printer w/x face/Light Pen/Easy Writer (80 col. need a Videx)/Clockfor Apple. FROM MICROSOFT: 16K RAM Board/FORTRAN. FROM COMPUTER STATION: Hi-Res Dump lor 460 Printer. OUR APPLE INVENTORY IS COM- PLETE. WE'VE GOT IT ALL- CONSTELLATION Backend Net- work with up to 64 CPUs. MIRROR Videotape backup and up to 20Mb storage. CALL US FOR PRICES ON YOUR SPECIFIC CONFIGURATION. XEROX 820 IS HERE CALL US FOR PRICES ON YOUR SPECIFIC CONFIGURATION. FROM ROCKWELL THE SMALL SYSTEM FOR CHRISTMAS BUYING Our AIM Starter System for Educa- tional & Laboratory use includes 4K AIM/BASIC & ROM/ASSEMBLER 8c ROM/POWER SUPPLY EG1 EN- CLOSURE/CRAIG TAPE RECORDER ACCESSORIES FOR AIM STARTER: PL 65 High Level Language/Paper for the Aim (roll)/Rockwell's 4 slot Motherboard/ WE ALSO CARRY RM EXPANSION ACCESSORIES FOR THE AIM-65. topple computer Authorized Dealer Accept No Less Rockwell International Authorized Dealer Accept No Less 800-343-5504 Systems IN MASS CALL 617-491-2700 COMPUMART 65 Bent Street Dept 111 PO Box 568, Cambridge, MA 02139 From THE LEADER . . . We just might be the largest independent small systems dealer in the country. Here's why: COMPUMART has been serving the computer needs of industry since 1 97 1 . We stock, for immediate shipment, only those products from the finest micro-computer manufacturers. And any product, except software, can be returned within 10 days for a full refund— even if you just change your mind. We also honor all manufacturers' warranties. Our expert technicians will service any product we sell Call us for more information on products, product configuration and service. Our phones are open Monday thru Friday, 8:30 a.m. to 7:00 p.m. and Saturday ll:OOam. to400p.m. We have a staff of highly knowledgeable sales people waiting to hear from you, and to help. Because service is what we're all about. Circle 79 on inquiry card. Fundamentals of Relational Data Organization Joel Neely and Steve Stewart Janus Systems POB 266 Henderson TN 38340 Both mathematicians and computer scientists use the word elegant to describe a concept of exceptional clarity, simplicity, and utility. By those standards, the relational model of data organization is most elegant. One of the principal advantages of this model is its foundation upon a formal mathematical theory that allows its concepts to be defined and examined with great precision. This article discusses the basic concepts of the rela- tional approach to data organization and looks informal- ly at the practical benefits of the model. We should point out that our emphasis is on data organization, to the ex- clusion of other interesting and important issues in data- base system design, such as the syntax and features of the data-definition and data-manipulation languages. The Sample Data Base As an example of the capabilities of the relational model we will use a personnel data base, which is to be developed for the use of a data-processing manager. It should contain the following information: the name of each employee (EMP), the languages that the employee is familiar with (LNG), the number of years the employee has used each language (USE), the employee's position within the organization (POS), the employee's years of experience with the company (EXP), the employee's hourly pay rate (PAY), the current project to which the About the Authors Joel Neely, an adjunct associate professor in the Mathematical Sciences department at Memphis State University, is president of ]anus Systems, a custom software firm. Steve Stewart is vice president of Janus Systems. employee is assigned (PRJ), and the project manager on each of these projects (MGR). PERSONNELl (see table 1) shows a small sample of data that might be stored in this data base and gives the structure of the data base. (In the structure diagram head- ings, parentheses enclose groups of data that may be re- peated, while an underline indicates key columns whose values identify an entire entry.) With the design of PERSONNELl, any request of the form: Tell me something about employee E may be satisfied easily. However, it is much more dif- ficult to respond to the following requests: List the names of all employees who use language L Tell me the manager of project P Display the names of all employees assigned to project P Change the manager of project P to employee E Through a process known as normalization, the organization of the data may be revised to increase the flexibility with which it can be used. Before presenting the details of this process, we need to establish some ter- minology. A relation is a two-dimensional table (as in PERSON- NELl) consisting of horizontal rows and vertical col- umns. The advantage of this form is that almost everyone is familiar with data presented as a simple table. No two rows in the relation may be identical; there must be some combination of columns — a key — whose values will uniquely identify each row. In our example, we gave each employee a unique name, so EMP may be used as a key in 48 November 1981 © BYTE Publications Inc Circle 394 on inquiry card. H B with : ORIV CRTForm is a comprehensive package for creating interactive programs. Good programming starts with clear specifications. CRTForm saves time by gathering those specifications with a field- oiiented editor. The editor can be used to manipulate and modify input and system fields, as well as to assert any of a com- plete group of input specifications. A forms manager maintains the specifi- cations. It allows the analyst to create and modify random access files of forms. The form files contain the field attributes of forms as well as author, comment, and revision information. System analysts can easily produce documentation by using CRTForm to print field attributes and images of forms. In addition, a special Test mode allows the end user to test and verify the forms be- fore any code is produced. CRTForm's code generator produces the Pascal. BASIC, COBOL, FORTRAN, PL 1 , Z-80. or Ada source text necessary to interface to the runtime module The runtime module assures the user of consistent interaction with the com- pleted application program. This reduces training time, and eliminates the frustra- tion common in the use of many large programs. The package automatically produces documentation and provides capabilities for runtime enhancements. The program- mer can dynamically lock and unlock dis- plays, erase, skip, and reset fields. In addition, the system provides for redirec- tion of field access and enables the pro- grammer to send specialized error and comment messages. The system is terminal independent. This means that forms created for one ter- minal can be used on a terminal requiring different control sequences. Function keys can be configured for special applications. CRTForm is intended for use by sys- tem houses, program developers and OEMs. It is available under the CPM, UCSD. Apple Pascal, RT-11. and RSX-1 1M operating systems.* Statcom is a corporation specializing In software development tools and tech- niques. In addition to CRTForm. we offer an end user oriented report generation package. Please call or write for further information. m i&b. PP L PROGRAMS THAT WRITE PROGRAMS rATCIO hs/1 5 'i ,i ;i tAI i j )N| ' ;: >i ill I Ai II , If-.l 1 I XA! , 'I''.!! i i ii im : >1l '■■■v. S1-01 ; Registered trademarks as loiinw cp M Di^iim Research: UCSD u c San Diegu Our incredible low prices just 2% lower. Have a merry computer and a happy software. lake an additional 2% off our listed prices, until December 24. 16 KRAM KITS NEC 41 16 200 ns DISKETTES MD 525-01,10,16 . MD 550-01,10,16 . MD 577-01.10,16 . MD 557-01,10,16 . FD 32 OR 34 -9000 FD 32 OR 34 -8000 FD 34-4001 DISKETTE STORAGE 5 1 A" PLASTIC LIBRARY CASE 8" PLASTIC LIBRARY CASE PLASTIC STORAGE BINDER WITH INSERTS PROTECTOR 5V«" PROTECTOR 8" 17.95 26.50 44.50 34.80 45.60 36.00 45.60 48.60 2.50 3.50 9.95 21.95 24.95 INTEGRATED COMPUTER SYSTEMS NORTHSTAR ALTOS ZENITH 289 CALIF. COMPUTER SYSTEMS MORROW DESIGNS CALL CALL CALL CALL CALL PRINTERS ANADEX DP 9500 1295.00 ANADEX DP 9501 1295.00 CENTRONICS 739 765.00 C-ITOH 25 CPS PARALLEL 1440.00 C-ITOH 25 CPS SERIAL 1495.00 C-ITOH 45 CPS PARALLEL 1770.00 C-ITOH 40 CPS SERIAL 1870.00 C-ITOH TRACTOR OPTION 195.00 EPSON MX-80 $CALL EPSON MX-80 F/T' $CALL EPSON MX-100 GRAPHIC $CALL EPSON GRAPHICS ROM 90.00 IDS-445G PAPER TIGER 779.00 IDS-460G PAPER TIGER 945.00 IDS-560G PAPER TIGER 1195.00 INFOSCRIBE 500 9X9. 150 CPS 1495.00 MALIBU 200 DUAL MODE 2995.00 NEC SPINWRITER 3510 SERIAL RO 2195.00 NEC SPINWRITER 3530 PARALLEL RO 2195.00 NEC SPINWRITER 7710 SERIAL RO 2645.00 NEC SPINWRITER 7730 PARALLEL RO 2645.00 NEC SPINWRITER 7700 D SELLUM OPTION . . 2795.00 NEC SPINWRITER 3500 SELLUM OPTION .... 2295.00 OKIDATA MICROLINE 80 399.00 OKIDATA MICROLINE 82A 569.00 OKIDATA MICROLINE 83A 899.00 OKIDATA MICROLINE 84 1199.00 MODEMS NOVATION CAT ACOUSTIC MODEM 145.00 NOVATION D-CAT DIRECT CONNECT MODEM .. 155.00 NOVATION AUTO-CAT AUTO ANSWER MODEM 219.00 NOVATION APPLE-CAT 349.00 UDS 103 LP DIRECT CONNECT MODEM 175.00 UDS 103 JLP DIRECT CONNECT/AUTO ANSWER 209.00 D.C. HAYES MICROMODEM II (Apple) 299.00 D.C. HAYES 100 MODEM (S-100) 325.00 D.C. HAYES STACK Smart Modem (RS 232) . . 249.00 LEXICON LX-11 MODEM 115.00 APPLE HARDWARE VERSA WRITER DIGITIZER 209.00 ABT APPLE KEYPAD 119.00 MICROSOFT Z-80SOFTCARD 299.00 MICROSOFT RAMCARD 170.00 ANDROMEDA 16K CARD 170.00 VIDEX 80 X 24 VIDEO CARD 299.00 VIDEX KEYBOARD ENHANCER 99.00 M &RSUPERTERM 80 X 24 VIDEO BOARD .... 315.00 NEC 12" GREEN MONITOR 235.00 SANYO 12" MONITOR (B &W) 249.00 SANYO 12" MONITOR (Green) 279.00 SANYO 13" COLOR MONITOR 469.00 TEECO 12" HIGH RES GREEN MONITOR 159.00 SSM AIO BOARD (INTERFACE) A&T 165.00 SSM AIO BOARD (INTERFACE) KIT 135.00 SSM IEEE 488 INTERFACE 369.00 50 BYTE November 1981 MOUNTAIN HARDWARE CPS MULTIFUNCTION BOARD 209.00 SUPERTALKER SD200 259.00 ROMPLUS WITH KEYBOARD FILTER 179.00 ROMPLUS W/0 KEYBOARD FILTER 130.00 KEYBOARD FILTER ROM 49.00 COPYROM 49.00 MUSIC SYSTEM 459.00 ROMWRITER 149.00 APPLE CLOCK 252.00 A/D + D/A 299.00 EXPANSION CHASSIS 625.00 VISTA COMPUTER CO. APPLE 40 Track Drive A40 (163 KBytes) 389.00 APPLE 80 Track Drive A80 (326 KBytes) 549.00 APPLE 160 Track Drive A160 (652 KBytes) ... 799.00 APPLE 80 Column Card 329.00 APPLE 8 Inch Disk Drive Controller 549.00 CALIF. COMPUTER SYSTEMS S-100 BOARDS 2200A MAINFRAME 359.00 2032A 32K STATIC RAM 599.00 2065C 64K DYNAMIC RAM 499.00 2422 FLOPPY DISK CONTROLLER &CP/M .... 339.00 2710 FOUR SERIAL I/O 249.00 2718 2 SERIAL/2 PARALLEL I/O 269.00 2720 FOUR PARALLEL I/O 199.00 2810 Z-80 CPU 249.00 APPLE BOARDS 7710A/D ASYNCHRONOUS SERIAL INTERFACE 139.00 7712A SYNCHRONOUS SERIAL INTERFACE ... 149.00 7424A CALENDAR/CLOCK 99.00 7728A CENTRONICS PRINTER INTERFACE .... 99.00 APPLE SOFTWARE MAGIC WINDOW WORDPROCESSOR 89.00 MAGIC WAND 275.00 WORDSTAR-APPLE 259.00 MAILMERGE-APPLE (REQUIRES WORDSTAR) 90.00 SPELLSTAR-APPLE (REQUIRES WORDSTAR) . 169.00 DATASTAR 199.00 EXPEDITER II APPLESOFT COMPILER 89.00 PFS: PERSONAL FILING SYSTEM ' 79.00 PFS: REPORT GENERATOR 79.00 ASCII EXPRESS TERMINAL PROGRAM 59.95 Z-TERM COMMUNICATIONS SOFTWARE .... 89.95 MICROSOFT FORTRAN 165.00 MICROSOFT COBOL 550.00 DB MASTER 2.4 179.00 VISICALC 3.3 169.00 VISIPLOT 149.00 VISIDEX 169.00 CCA DATA BASE MANAGER 99.00 A-STAT COMPREHENSIVE STATISTICS PKG ... 119.00 APPLE GAME SOFTWARE SPACE EGGS 24.95 TOM .5 29.95 RASTER BLASTER 24.95 GORGON 32.95 APPLE PANIC 24.95 CP/M SOFTWARE MICROSOFT BASIC-80 299.00 MICROSOFT BASIC COMPILER 319.00 MICROSOFT F0RTRAN-80 399.00 PEACHTREE SYSTEMS CALL MAGIC WAND (REQUIRES CP/M 5 ) 275.00 WORDSTAR (REQUIRES CP/M® ) 325.00 MAILMERGE (REQUIRES WORDSTAR) 110.00 SPELLSTAR (REQUIRES WORDSTAR) 199.00 DATASTAR 249.00 SPELLGUARD 239.00 CP/M PICKLES & TROUT FOR TRS-80 II 175.00 MORROW DESIGNS FLOPPY DISK SYSTEMS Controller, P.S.. Cables, Microsoft Basic, CP/M* , A&T DISCUS I (Single Drive— 250 K) 799.00 DISCUS I (Dual Drive— 500 K) 1429.00 DISCUS 2D (Single Drive— 500 K) 869.00 DISCUS 2D (Dual Drive— 1 MEG) 1499.00 DISCUS 2+2 (Single Drive— 1 MEG) 1099.00 DISCUS 2+2 (Dual Drive— 2 MEG) 1999.00 HARD DISK SYSTEMS Controller, P.S., Microsoft Basic, CP/M, A&T DISCUS M10 (10 Megabytes) 2949.00 DISCUS M20 (20 Megabytes) 3829.00 DISCUS M26 (26 Megabytes) 3949.00 DECISION 1 COMPUTER Z-80A, CP/M, NIX (UNIX Identical), 32 to 1 MEG of memory Floppy and/or Hard Disk CALL SD SYSTEMS S-100 BOARDS VERSAFLOPPY II A&T 389.00 VERSAFLOPPY II KIT 329.00 SBC 200 (Z-80 CPU) A&T 369.00 SBC 200 (Z-80 CPU) KIT 299.00 Z-80 STARTER KIT 289.00 EXPANDORAM II KIT (OK) 220.00 TRS-80 MOD I HARDWARE PERCOM DATA SEPARATOR 27.00 PERCOM DOUBLER II 159.00 DOUBLE ZAP II/80 45.95 TANDON 80 TRACK DISK DRIVE 429.00 TANDON 40 TRACK DISK DRIVE 299.00 LNW DOUBLER WITH DOSPLUS 3.3D 159.00 TRS-80 SOFTWARE NEWDOS/80 2.0 MOD I 139.00 LAZY WRITER MOD I 125.00 PROSOFT NEWSCRIPT MOD I, III 99.00 SPECIAL DELIVERY MOD I, III 119.00 X-TRA SPECIAL DELIVERY MOD I, III 199.00 TRACKCESS MOD I 24.95 OMNITERM SMART TERMINAL MOD I, III 89.95 MICROSOFT BASIC COMPILER FOR MOD I .... 165.00 CORVUS FOR S-100, APPLE OR TRS-80 MOD I, II Controller, Case/P.S., Operating System, A&T 5 Megabytes 3245.00 10 Megabytes 4645.00 20 Megabytes 5545.00 MIRROR BACK-UP 725 00 SUPPLIES AVERY TABULABLES 1,000 3'/2 X ,B /„ 8.49 3,000 3'/2 X '%, 14.95 5,000 3* X i! /,b 19.95 UARCO PAPER (Prices F.O.B. S.P.) 9 'A X 11 18 lb white 29.00 14'/, X11 18 lb white 39.00 We stock a complete line of computer covers, printer rib- bons, print wheels & NEC thimbles— CALL US FOR YOUR NEEDS. We built a reputation on our prices and your satisfaction. We guarantee everylhing we sell lor 30 days. II anylhing is wrong, just relurn the item and we'll make il righl. And, ol course, we'll pay the shipping charges We accept Visa and Master Card on all orders. COD orders accepted up to $300.00 Please add $2.00 lor standard UPS shipping and handling on orders under 50 pounds, delivered in the continental U.S. Call us lor shipping charges on items lhat weigh more lhan 50 pounds. Foreign, FPO and APO orders please add 15% lor shipping California residents add 6% sales lax The prices quoted are only valid (or stock on hand and all prices are subject lo change without notice. (213)7060333 31245 LA BAYA DRIVE, WESTLAKE VILLAGE, CALIFORNIA 91362 CP/M is a registered trademark of Digital Research. Circle 14 on inquiry card. BYTE November 1981 51 Circle 135 on inquiry card. Small Business Systems User! WHEN BUYING CHECKS, STATEMENTS AND INVOICES — LOOK FOR THIS MARK: Computer Forms ON THE DOOR OF YOUR DFS Computer Forms are • Sold by a Local Business • Satisfaction Guaranteed • Available in Small Quantities • Compatible with Existing Software • Very Economical DFS Computer Forms CODE 35460 P.O. Box 643 • Townsend, MA. 01469 PERSONNELl. In practice, there may be more than one way to construct a key to a relation. Social-security num- ber and time-clock number are values that might also be used to identify an individual employee. Normalizing the Data The first step in normalizing our personnel-data design is based on the following rule: RULE 1: For all rows, each column must take a "simple" value, ie: a single value without repetition. In PERSONNELl, the columns labeled (LNG, USE) and (PRJ, MGR) are in violation of this rule, because an employee may know more than one programming lan- guage and may be assigned to more than one project. By duplicating the nonrepeating values EMP, POS, EXP, and PAY for each combination of values for the repeating groups (LNG, USE) and (PRJ, MGR), the entire relation may be represented in first normal form, as shown in PERSONNEL2 (see table 2). Notice that in PERSONNEL2, the column EMP is no longer sufficient to identify a row. Multiple rows may be present for an employee who has more than one entry for language use or project assignment. One possible solu- tion is to consider the combination of EMP, LNG, and PRJ as a key, since those three values together are suffi- cient to identify a single row. It would appear at first that PERSONNEL2 represents a step backward, not only because it requires much more space than PERSONNELl, but also because responding to the requests Change employee E's position to S Add the assignment of employee E to project P Make employee E the manager of project P has become much more difficult. This problem is addressed by the remaining normalization steps, which are based on the concept of dependence. PERSONNELl: EMP (LNG, USE) POS EXP PAY (PRJ, MGR) Bogard Dalton Fitch James Jonas COBOL.,3 FORTRAN, 2 COBOL.2 PL/1,1 RPG.3 COBOL.4 COBOL.5 GPSS.2 AMBIT.1 BLISS.2 COBOL.1 Pascal.3 Sr Prog Sr Prog Prj Mgr Sys Anl Prj Mgr 25.00 24.00 32.50 29.00 31.00 Payroll, Smith A/R, Jonas Inventory, Fitch Inventory, Fitch A/R, Jonas Datacomm, Spivey A/R, Jonas Table 1: PERSONNELl, a sample of a personnel data base set up as a nonnormalized table. 52 November 1981 © BYTE Publications Inc Circle 362 on inquiry card. f 5B Actual Size, Va x2'/ix 6 7 /a" 95 Reg. 229-95 HPNtadio Shack's TRS-80 Pocket Computer and Save $ 60 Printer Cassette Interface Save 20 Reg. 149.95 Lets you use a recorder to load and save your programs and data on cassettes. Get hard copy printouts, too. With AC adapter/charger, three rolls ot paper. Cassette Interface Save 39 % 29 95 The first programmable computer so small it fits in a Christmas stocking. Like a calculator, it has 15 built-in functions that are immediately avail- able. Plus, there's 26 memories and numeric output with a 10-digit man- tissa and a 2-digit exponent. To com- pute trig and angular functions, for example, it works jusr like a calcula- tor and with the same precision. Unlike a calculator, the real power of the Pocket Computer is in its ability to run our own, or user-written, pro- grams in BASIC. The 1424-step memory can be partitioned into mul- tiple programs. And the full alphanumeric display permits writing programs that prompt in plain English and display Store and load programs on cassertes Cable and plugs included. Batteries xrni. Recorder not included answers with comments. The Edit and Debug mode make program- ming easier than it is with a pro- grammable calculator. Inputting is simplified with the typewriter-style keyboard and separate 20-key num- berpad. The LCD shows 24 charac- ters with automatic scrolling and manual playback for longer lines. Another thing: memory is retained even when the power is off. By adding the Cassette Interface, anyone can immediately run our soft- ware. And look what's available! Electrical and Civil Engineering, Aviation, Surveying, Real Estate, Business Statistics, and more. You can't buy a smarter gift. Better hurry — sale ends Dec. 27th. /liafili The biggest name in little computers* A DIVISION OF TANDY CORPORATION • OVER 8000 LOCATIONS WORLDWIDE Prices may vary at individual stores and dealers PERS0NNEL2: EMP LNG USE POS EXP PAY PRJ MGR Bogard COBOL 3 Sr Prog 4 25.00 Payroll Smith Bogard COBOL 3 Sr Prog 4 25.00 A/R Jonas Bogard FORTRAN 2 Sr Prog 4 25.00 Payroll Smith Bogard FORTRAN 2 Sr Prog 4 25.00 A/R Jonas Dalton COBOL 2 Sr Prog 3 24.00 Inventory Fitch Dalton PL/I 1 Sr Prog 3 24.00 Inventory Fitch Dalton RPG 3 Sr Prog 3 24.00 Inventory Fitch Fitch COBOL 4 Prj Mgr 2 32.50 Inventory Fitch James COBOL 5 Sys Anl 2 29.00 A/R Jonas James COBOL 5 Sys Anl 2 29.00 Datacomm Spivey James GPSS 2 Sys Anl 2 29.00 A/R Jonas James GPSS 2 Sys Anl 2 29.00 Datacomm Spivey Jonas AMBIT 1 Prj Mgr 1 31.00 A/R Jonas Jonas BLISS 2 Prj Mgr 1 31.00 A/R Jonas Jonas COBOL 1 Prj Mgr 1 31.00 A/R Jonas Jonas Pascal 3 Prj Mgr 1 31.00 A/R Jonas Table 2: PERSONNEL2, the data from PERSONNELl arranged into first normal form. It Makes Kids Think. The Turtle is the perfect teaching and learning tool for mathematics or programming because abstract ideas are made visible and concrete. This small robot is easy to connect and simple commands can be mastered in minutes. Students absorb powerful ideas while having fun programming the Turtle to move, blink, beep, draw, or use its touch sensors. In- terfaces for APPLE, Atari and S-100 bus computers are avail- able. The following books are also available from Terrapin. Mindstorms $12.95 Artificial Intelligence $18.95, Katie and the Computer $6.95, Small Computers $9.95, Turtle Geometry $20. Add $2. 00 shipping for 1 book and $1 for each additional book. MA residents add 5% sales tax. For more information, write or call Terrapin Inc. / 678 Massachusetts Avenue / Cambridge, MA 02 1 39 / (6 1 7) 492-88 1 6 Data Dependencies If, for each row, the value of a column Al uniquely determines the value of a column A2, then A2 is func- tionally dependent on Al. For example, in PERSON- NELl, since each employee has only one position we may say that EMP determines POS, and that POS is function- ally dependent on EMP. If the value in column Al limits the possible values of column A2 to a specific set, then A2 is set dependent on Al. PRJ is set dependent on EMP, because each employee is assigned to a specific set of pro- jects. Figure 1 illustrates the dependencies in the sample data by using single-headed arrows to show functional dependence and double-headed arrows to show set dependence. This dependence diagram allows the prob- lem of PERSONNEL2 to be clearly visualized. The remaining problems are all violations of the following rule: RULE 2: In every row, each column must be dependent on every part of the key. For example, the columns POS, EXP, and PAY are not dependent on the entire key of PERSONNEL2. These Figure 1: This diagram illustrates the two types of data dependencies. The single-headed arrows show functional dependence and the double-headed arrows show set dependence. 54 November 1981 © BYTE Publications Inc Circle 379 on inquiry card. Circle 424 on inquiry card. Take Your Cue From Vista . . When it comes to Apples, take your cue from Vista's A800 Eight-Inch Floppy Disk Controller. The A800 offers a cost-efficient approach to software compatible disk memory expansion for your Apple ll"3 computer. The A800 Controller enables Apple II users to access up to five megabytes of online storage through conventional disk operating (DOS) commands. The Control and DMA Logic provides high speed (1 microsecond per byte) transfer of data from Ihe di.sk drive directly to the Apple II memory Without processor intervention. Plus, the Phase- Locked Loop Data Separator provides the ultimate in data reliability. AND THERE'S MORE. Ihe controller is compatible with the most popular disk operating systems for the Apple II computer. It also interfaces to all Shugart/ANSI Standard Eight-Inch Floppy Disk K_ Drives. The A800 provides complete IBM for- "«» *» mat compatibility in both single and double- ts €• density modes. Sure Shot. density modes. THE HOT SHOT AT A COOL PRICE. The A800 is reasonably priced at $595. A price you can't beat when you compare its quality and performance. CALL YOUR SHOTS. Vista offers you a complete line of peripheral equipment to maximize the capabilities of your Apple system including: High capacity Mini- floppy Disk Drives, the Vista Music Machine 9 and the Vista Model 150 Type Ahead Buffer. In addition, Vista offers a line of advanced components fully compatible with the — — : — : — - TRS-80" and S-lOO based \ computers. %/§f4-~> Computer YDul Company 1317 E. Edinger Avenue Santa Ana, CA92705 (714)953-0523 Call Toll Free 800-854-801 7 "■' Apple II is a registered trademark of Apple Computers, Inc. " TRS-80 is a trademark of Radio Shack, A Tandy Co. PERS0NNEL3: EMP POS EXP PAY BACKGROUND: EMP LNG USE Bogard Dalton Fitch James Jonas Sr Prog Sr Prog Prj Mgr Sys Anl Prj Mgr 25.00 24.00 32.50 29.00 31.00 Bogard COBOL 3 Bogard FORTRAN 2 Dalton COBOL 2 Dalton PL/I 1 Dalton RPG 3 Fitch COBOL 4 James COBOL 5 James GPSS 2 Jonas AMBIT 1 Jonas BLISS 2 Jonas COBOL 1 Jonas Pascal 3 Table 3: The data from PERSONNEL2 in second normal form. This format was achieved by splitting the relation so that there is no partial key dependence. columns are determined by EMP alone, so we will form a new relation, PERSONNEL3 (see table 3), containing only EMP, POS, EXP, and PAY, having EMP as a key. The value of USE is determined by both EMP and LNG, so a BACKGROUND relation (see table 3), having a composite key made of EMP and LNG, may be formed from these three columns. Since BACKGROUND con- tains EMP as a column, it will still be possible to associate PERSONNEL4: EMP POS EXP PAY Bogard Sr Prog 4 25.00 Dalton Sr Prog 3 24.00 Fitch Prj Mgr 2 32.50 James Sys Anl 2 29.00 Jonas Prj Mgr 1 31.00 ASSIGNMENTS: EMP PRJ Bogard A/R Bogard Payroll Dalton Inventory Fitch Inventory James A/R James Datacomm Jonas A/R BACKGROUND: EMP LNG PROJECTS PRJ MGR A/R Jonas Datacomm Spivey Inventory Fitch Payroll Smith USE Bogard COBOL 3 Bogard FORTRAN Dalton COBOL 2 Dalton PL/I 1 Dalton RPG 3 Fitch COBOL 4 James COBOL 5 James GPSS 2 Jonas AMBIT 1 Jonas BLISS 2 Jonas COBOL 1 Jonas Pascal 3 Table 4: Our final goal — the third normal form. The data from table 3 are further split into a multi-tabular format to eliminate any transitive dependencies. BAR CODE FOR YOUR SMALL COMPUTER. 7 7 // / A wmmi WM//////A WMffM ■ W////W wwtik VW/ffflL wtm/m ww/,; Wt/m VW/ft Wttl m M New in-depth report tells you how-at savings of up to $40,000 "Contemporary Applications of Optical Bar Code Technology" is a new, comprehensive report from North American Technology that can save you thousands of dollars in research and development time when programming and equipping your small computer for bar code. Written by the originators of Byte Magazine's experiments with pub- lication of software in printed form, Walter Banks and Carl Helmers, this 512 page report is the only complete presentation of materi- als on keyless data entry using modern bar code technology. It will enable you to: • Read HP-41C calculator formats into your Apple, or other suitable computer. • Prepare and deliver machine readable printed software to your customers. • Read a UPC code into your personal computer. • Print Code 39 manufacturing inven- tory tags with your formed character or dot matrix printer. Here, in clear, concise, under- standable language is all you need to know about bar code history, software engineering requirements, 283 pages of machine independent UCSD Pascal* software in source listing form. There are 44 modules 'Trademark Regents ot the Stale of California to generate and read all major for- mats from Code 39 to HP-41C, and UPC to the new NATI text software publication format. You. get infor- mation you can use to program your small computer for bar code without detail processing by a human operator. This method speeds the operation, eliminates translation and entry errors and, where desirable, permits the use of unskilled personnel for the entry function. You save thousands of dollars as a result. The $500 pur- chase price of the report includes license for the commercial modifi- cation and use of all software con- tained therein. For detailed information, send for our brochure. There is no cost or obligation. Mail the coupon today. • < S 5 _ S T3 „J (0 • ° i- ' o - ,9 S a ! a o O c O i " a a u .q i p a a 5 ffl iri o wf- dj a 2 LU c > ra = o < < "*>. cc CO 111 5 i £» a > — .£ o P. n en 0) o^cEo.i c a> M 6 y w £ c u > n ra "- < CL S3 co LU O o> < r *- 0) < -g a o 03 E g hi OH ^ O i_ o o - c 8 8 1 m c ■ LU « (1) 3 < rf c < s < 01 III to 0) a . 3 > s ° i- as UJ W 0) a s > s ° "ji 8 i- a s «> CO to 8 3 s 8 § I a. ra a a p o_ X 2 in Sei z s.H z < jS < li §§» u) o u CO m z o. « a. Q ■ ■ ru X 3 UJ ■ O §£| z «.y < y> ai o o « g c y £ to « J= Q) 0) 2 Q. f= ^ E o o ""2 o L o - ;J». W O =; 6°-S : o Be — c 0) ~ o jO p (fl 8"j 8 en S LU 0> S W |J1|| o ° 5 "" < t/> °gii cc t 0. cl ?• ra lis . m S ° o in "5 = ° = QJ ^) S Q. E 11 ST O -r U O » L ? = Qjii- 2 ffita-a en 3 2 =! cm g« _ O "D Q. g < a o s .a CO CO Zoo 2 « CL CD 31 | ra tp i DO « H £ | 8 ■= 5 as 8°. DCS 2 = o O o a) - o > Q, O _J S a i- e £ < x: s y ra ui S « w CO »? , '• 3 ■" DC cm "- CC " CC < CO , 3 1" i; 3 cc 8 o co S o O CC o 0. o- 2 h£ 2 3 "S -H WJ5 < 3.H Q jS i < i Sgi t , " o ■ * IT) *C • 5"°- ) 7* CO Q) > t- CO i o!» ! cci| I O - o i 551 a. CL < co § CC g o LU g I a. o. 2 = s| CO 3 S CC o LU in d N a 2 s <« o OSii H o LUgO 5^2 0. ».s < jS DETACHABLE INSERT cable to exit from the top. Select a the barrel top. Slightly lower on the drill bit that will allow one half of a side of the barrel, drill a hole of grommet to be inserted and glued into similar size for the other half of the (2a) (2b) CABLE SPLIT GROMMET HEDS-1000 DRILL FOR SNUG FIT CUT WITH TUBING CUTTER 2.5cm ( 1 in.) DISCARD Figure 2: Modifications made to Schaefer No Nonsense pen barrel. With contents removed, the pen becomes a home for the HEDS-1000 sensor. The cable and indicator LED are affixed to the pen barrel (2a), while the sensor is mounted to the pen tip (2b). VT 100 Owners: THE KEY TO FAST (OF YOUR ICED EDITOR) INTRODUCING VT 100 KEYS FOR THE KED EDITOR...These quality 3-color keys will make editing faster and simpler. They're easy to install- no overlays— just pull out the old keys and push in a new set with the KED functions clearly stated. A set of 18 3-color keys — $40. Mjncrronics 4 Frost St./Cambridge, MA 02140 (617) 739-7710 grommet, in which will be placed an LED (light-emitting diode). These modifications are shown in figure 2a. Although the indicator LED is op- tional, it does provide a convenient monitor of the wand's operation. A critical design factor is the number of conductors in the scanner cable. My scanner employs a five- conductor cable, which permits all in- terfacing to be done externally from the wand. This could have been reduced to four conductors had I placed the HEDS-1000 LED current- limiting resistor (Rl) inside the barrel. In fact, I did try to place the entire cir- cuit within the pen barrel, but it was obvious that a short circuit between pin 6 and a positive power-supply ter- minal was a strong possibility with such a crowded arrangement. (Burn- ing out the LED within the sensor makes the sensor little more than an expensive phototransistor.) If you are limited to a three- conductor cable, I suggest you eliminate the barrel-mounted in- dicator LED and move Rl inside the barrel. By keeping the rest of the cir- cuitry outside of the barrel, the circuit can easily be fine tuned. Modifications to the pen tip are shown in figure 2b. The simplest way to make a clean cut, perpendicular to the pen's axis, is with a small tubing cutter. Although not absolutely critical, the cut should be made about 2.5 cm (1.0 inch) from the tip end. This will insure that enough of the threaded part of the tip remains to securely hold the sensor while permit- ting adjustment of the sensor-to- reflector distance. After cutting, the threaded end of the tip should be carefully drilled out so the sensor can be pressed in snugly. Again, it is important that the distance from the sensor's front sur- face to the tip's cut face be kept at ap- proximately 4.34 mm (0.171 inch). I found this easiest to do by making a calibration cylinder exactly 4.34 mm long, which fits inside the tip open- ing. The diameter of the cylinder must be large enough to make contact only with the sensor's metal can, and it must not obscure the transparent filter. Successively lapping the end of 64 November 1981 © BYTE Publications Inc Circle 398 on inquiry card. DETACHABLE INSERT DETACHABLE INSERT DETACHABLE INSERT Price Performance Reliability —mil »ii mi , ujpr JB8 F CMC IS MEETING TODAY'S HIGH STANDARD OF EXCELLENCE WITH TOSHIBA, CMC'S OWN SUPERFIVE, A 5-MBYTE MICROCOMPUTER AND OTHER FINE PRODUCTS TOSHIBA DESKTOP COMPUTERS CMC International offers dealers the new Toshiba computer line, CP/M " -based micros with lots of flexibility... your choice of one or two drives, either 5'/< or 8 Inch. Toshiba computers come with C/PM, Microsoft BaslcBO and CBasic* . We're proud to offer a system with day-in, day-out dependability, backed by one of the world's largest electronics manufacturers. And, we offer a com- prehensive dealer program including parts and module inventory, and prepaid freight for warranty repairs (If you ever need it). ALSO DISTRIBUTING •Corvus •NEC •Dysan •Epton •Verbatim •Tandon •Seagate •MPI •Superbrain •Compustar •C.ltoh •MicroPro •Accounting Plus •Peachtree •dBase II t inn 64k RAM ' 60x2i 1Z " 8r68n T-200 phosphor screen, complete with CP/M, M Basic80 and CBasic. NmUI 1 Uriel 2 1 5'/4" 280k 2 5'/»" 280k Disk Drive Disk Drives List '3995 List '4495 64k RAM, 80x24 12" screen, T-250 complete with CP/M, M BasicSO and CBasic. Hedil3 1 8" 1 mbyte Disk Drive List *4495 Medal 4 2 8" imbyle Disk Drive List '5496 YOUR STOCKING DISTRIBUTOR A Division of Computer Marketing Corporation INTERNATIONAL EXCELLENT DEALER DISCOUNTS To Order Call Toll Free 1-800-426-2963 11058 Main, Suite 125 Bellevue, WA 98004 PHONE (206) 453-9777 TELEX: 152 556 SEATAC Circle 73 on inquiry card. BYTE November 1981 65 New Software from MicroCraft Systems, mc. Apple Software Development Tools MicroCraft offers the Apple user a flexible set of development tools. This includes a low-cost full screen editor, the most powerful 6502 Macro Assembler available, and a compiled graphics language optimized for real-time applications. Each package compliments any Apple system and together they offer unequaled power and versatility. RGL Real-time Graphics Language Do real-time animation • Similar to 'C • Display, move and rotate 3D objects • Compiles text files to 'BRUN'able binary object files. $75 / $25 Until 10/31/81 MacroLink Complete 6502 Assembler Disk Assembler • Text to binary object • Standard 6502 mnemonics • Recursive macros with up to 10 arguments • Nestable conditional assembly • Links source or object code • Nestable file includes • Unlimited source file size • Editor provided $125 / $20 SuperEdit Full Screen Editor Horizontal scrolling allows 80 columns • Uses standard text files • Move cursor by character, line or page • Find, search and replace • Block move and copy • Use with RGL or MacroLink • 80 column video board versions also available. $75 /$20 DiskScreen Disk Utility Displays a complete disk sector in hex and ASCII, using high-res screen • Edit sector by typing over display ' $40/ $10 Complete Assembler System [MacroLink, SuperEdit, DiskScreen] $200 / $40 Complete Graphics System [RGL, SuperEdit] $120 / $40 Systems available to utilize extra 16K or 32K expansion boards Please inquire Note: All programs require a single disk drive and 48K. When ordering please specify configuration. Telephone (313) 996-1297 Circle 106 on inquiry card. 8086 Software • VEDIT full screen editor for CP/M-86. • Contact us for availability of VEDIT for SCP 86-DOS and IBM 8088 computer. • CP/M-86 BIOS for popular S-100 disk controllers. Source code $185 V-COM Disassembler Finally a Z-80 disassembler for CP/M which produces easy to read code, a cross reference table, and handles INTEL and ZILOG mnemonics. V-COM is exceptionally fast and produces a .ASM file directly from a .COM file. V-COM can accept a user-created file containing assignments of labels to 8 and 16 bit values. A second file can specify the location of tables and ASCII strings. $80 FASTSCREEN CRT emulation and Command Line Editor Memory mapped displays offer over ten times the speed of the fastest CRT terminal but are usually not supported by application software. This is where FASTSCREEN fits in. FASTSCREEN provides a fast and highly compatible emulation of several popular CRT terminals for most memory mapped displays. It also provides editing and re-entry of any line on the screen, paging, and includes interrupt driven keyboard routines. (FASTSCREEN is provided as source code on a CP/M compatible diskette and requires assembly language modifications for installation.) $85 PIICEON 24 x 80 S100 Video Board The PIICEON V-100 is the heart of a high speed alternative to a CRT terminal. Being I/O mapped, it uses no memory space, yet runs at full processor speed. FASTSCREEN is the perfect software driver for the V-100. Fully assembled and tested by PIICEON, the company known by OEMs for reliability. PIICEON with FASTSCREEN PIICEON board only $510 $475 Circle 107 on inquiry card. Compii View is proud to carry the MicroCraft Systems, Inc. quality software for the Apple II. CompuView Products Inc. 618 Louise, Ann Arbor, Michigan 48103 • Telephone (313) 996-1299 Customizable The Unique Difference that Sets VEDIT Apart in Full Screen Editors Total user customizability is a predominate reason that over a thousand users find VEDIT the easiest to use full screen editor. It makes VEDIT the only editing package which allows you to determine your own keyboard layout and use the cursor and special function keys on any terminal having them. And only VEDIT fully supports all of the newly available terminals. It may come as a surprise to you, that with any other editor or word processor, you will have to memorize obscure control characters or multi-character sequences, while your terminal's extra keys and editing functions go unused. The customization extends to setting the default tab positions, scrolling methods and much more. It's almost like designing your own editor for your system, applications and preferences. And all of this is easily done with the setup program which requires no programming knowledge or 'patches', but simply prompts you to press a key or enter a parameter. Unequaled Hardware Support The CRT version supports all terminals by allowing you to select during setup which terminal VEDIT will run on. Features such as line insert and delete, reverse scroll, status line and reverse video are used on 'smart' terminals. All screen sizes are supported, including large ones such as the 60 X 80 format on the Ann Arbor Ambassador terminal. Special function keys on terminals such as the Heath HI 9, Televideo 920C and IBM 3101, and keyboards producing 8 bit codes are all supported. The memory mapped version is extremely flexible and supports bank select and hardware cursors such as on the SSM VB3. With this level of customizability and hardware support, you will feel for the first time that the software was optimally designed for your system. Fully Compatible Replacement for Ed Since VEDIT creates and edits standard text files of up to one diskette in length, it serves as a replacement for the CP/M standard editor ED. Of course, you benefit from the fastest and easiest to use 'What you see is what you get' type full screen editing available, fast disk access and an editor which takes up only 1 2K of your valuable memory space. With VEDIT you will never again need or want to use the slow and tedious ED. Special Features VEDIT is more than just a full screen editing replacement for ED, it gives you many new editing capabilities, such as a scratchpad buffer for moving and rearranging sections of text, complete file handling on multiple drives and iteration macros. Amoung its special features you will find automatic indenting for use with structured programming languages such as Pascal and PL/I, and other special facilities for Assembler and COBOL. A real time saver is the ability to insert a specified line range of another file anywhere in the text. Clnlike most software, VEDIT will even tolerate your mistakes. For example, one key will 'Undo' the changes you mistakenly made to a screen line, and the disk write error recovery lets you delete files or insert another disk should you run out of disk space. Ordering Many dealers carry VEDIT, or you may contact us for fast delivery. Specify the CRT version, your video board or microcomputer, the 8080, Z80 or 8086 code version, and disk format required. VEDIT for 8080 or Z80: Disk and manual $130 VEDIT for CP/M-86: Disk and manual . (NEW) $ 1 85 Manual: Price refunded with software purchase $ 1 5 VISA or MASTERCARD Welcomed CP''M and MP M are registered trademarks of Digital Research, Inc. Apple II is a registered trademark ol Apple Computer, Inc. SoftCard is a trademark of Microsoft. TRS-80 is a trademark of Tandy Corp. North Star * Cromemco • Heath H8/H89 • SuperBrain • Apple II Softcard ' TRS-80 Model II & Model Most other CP/M Systems with CRT or Memory Mapped Displays • MP/M * CP/M-86 CompuView Products Inc. 618 Louise, Ann Arbor, Michigan 48103 • Telephone (313) 996-1299 Circle 108 on inquiry card. RCA's remarkable new VP-3303 Interactive Data Terminal turns any home TV into a videotex display unit. Now you can connect your family to the whole informative and entertaining world of CompuServe, The Source, Dow Jones News/Retrieval and other time- sharing and data-base networks. All you need is our VP-3303, a modem and a modem cable, a telephone and your home TV. You can get instant access to re- gional newspapers and newsletters . . . weather reports and sports results . . . computer games and more. You can use the VP-3303 to make airline reservations . . . find restaurant recommendations in cities around the world. Plus stock mar- ket and corporate data. Or access your school or business computer. You can even send electronic mail and buy products. What you have working for you is a versatile, feature-packed interactive data terminal which can be worth far more to you than its low price. Its unique color-locking circuitry gives you sharp color graphics and rainbow free characters. You get 20- and 40- character formats in one of eight col- ors and separate color backgrounds. The spill-proof, easy-to-clean keyboard is highly suitable for hostile environments. And the light touch membrane keyboard switches give you a natural feel. With reverse video, you can emphasize certain letters, words or sen- tences. A built-in tone generator . . . plus a white noise generator ... let you create everything from the sound of explosions to the sound of music. The RCA VP-3303 is complete with both RS232C and 20mA current loop in- terfaces. It has six baud rates, eight data formats and ASCII encoding . . . versatil- ity that allows you to connect directly to a computer, as well as time-share. The RCA VP-3303 is truly a fine video- tex terminal . And don't forget, it's made by RCA ... the first name in television . . . now the foremost name in videotex terminals. See a demonstration of the new RCA VP-3303 at your local computer or electronics dealer, or order direct from RCA, toll free or by mail. Order now . . . only $389.00 (Sug- gested user price.) For more infor- mation call toll free. 800-233-0094. In Pennsylvania, call 717-393-0446. Visa or MasterCard holders may order by phone. Or send a check including $3 delivery charge per unit plus your local sales tax. TIME-SHARING. a suitable piece of aluminum rod over fine emery paper will quickly achieve the required height. Before seating the sensor at this distance with a small drop of epoxy, the small indexing tab above pin 8 must be removed so that the tip assembly can be threaded into the barrel. Careful filing does the trick. The leads should also be trimmed to guard against electrical shorting after assembly. At this point, all that remains is to solder the cable leads and complete final assembly. In addition to solder- ing the cable connections on the sen- sor, solder a wire between pins 4 and 8 and extend it another 10 cm (4 in- ches). This is the ground lead for the side-mounted LED. Carefully screw the tip assembly into the barrel while rotating the cable with the tip assembly. This is easier to accomplish with two people: one holds the cable and tip assembly, the other turns the barrel. Fish the indicator LED's ground and cable lines through the side hole and half-grommet and solder them to the LED's shortened leads. Place a small drop of epoxy on the LED and half-grommet and press them into the side hole from the outside. The scan- ning wand is now complete. The finished product, with calibration cylinder, appears in photo 1. Sensing Circuit As shown in figure 3, the circuitry to make the sensor's output TTL- (transistor transistor-logic) compati- ble requires only two integrated cir- cuits. Three op amps in the LM324 packages handle amplification and comparative functions, while the 7413 NAND Schmitt trigger "cleans up" the sensor's output by only pass- ing pulses above a threshold voltage. To stabilize the common-collector circuit using the sensor's NPN tran- sistor, a 15 pF capacitor and 1 megohm resistor are put in parallel with the transistor. Nominal outputs at this stage are approximately + 3.2 V for a light-absorbing surface (black) and +1.7 V for a reflecting surface (white). These values can be adjusted by varying resistor R10. Circle 365 on inquiry card. Amdek From picture perfect. To letter /iM 06 * Amdek Color-I FCC/UL approved Amdek Video-300 At Amdek, we make monitors for people who demand state-of-the-art color. And for people who know that crisp, clear text display is an art in itself. Our versatile Color-I 13" video monitor features standard NTSC composite input, front-mounted con- trols and a built-in speaker with audio circuit. Our popular Video-300 12" Green Phosphor monitor has an easy-to-read, non-glare screen, 18 MHZ band width and 80 x 24 character display. Both offer easy portability, with lightweight cabinetry and molded-in handles. And both are fully compatible with most computer and word processing systems. So compare our performance with other monitors. Then compare prices. For quality and value, you'll choose Amdek. NEW THIS FALL: our advanced high resolution Color-n monitor with interface board for Apple II com- patibility. Color-II features RGB, TTL input and 560(H) x 260(V) resolution for crisp 80 x 24 character display and exceptionally sharp color graphics. Ask your dealer about an Amdek Color-II, Color-I, or Video-300 monitor today. 2420 E. Oakton Street, Suite "E," Arlington Heights, Illinois 60005 (312) 364-1 180 TLX: 25-4786 Come see our complete line of color, green phosphor and black/white monitors at the COMDEX Show (Booth 386-8) in Las Vegas, November 19-21. Photo 1: Author's bar-code scanning wand. The wand is based on Hewlett-Packard's HEDS-1000 optical reflective sensor (the metal can with eight pins), and a Schaefer No Nonsense ball-point pen. The calibration cylinder appears at the right of the HEDS-1000 module. The signal is fed to the inverting input of one of the LM324's op amps, which is configured as a comparator. The amplifier's other input receives a reference voltage set through the voltage divider of R3 and R4. The divider network should be adjusted so that this input to the amplifier is about +2.5 V, which will ensure that the scanner produces on and off pulses approximately equal in length (while scanning equally sized absorb- ing and reflecting characters). The output of the first op-amp stage is coupled to the inverting input of the second op-amp comparator, which drives the scanner's LED. The first stage's output is also sent to a voltage follower that drives a NAND Schmitt trigger. Besides functioning as an inverter, the Schmitt trigger provides a sharp output that is filtered by the 1000 pF capacitor. Although the addition of this capacitor does cut down on response time when scanning at extremely high rates, it poses no problem for prac- tical hand scanning. X DENOTES WIRES WHICH PASS THROUGH CONNECTING CABLE £2> OUTPUT C2 1000 pF Figure 3: Schematic diagram of the circuit to make the sensor's output compatible with transistor-transistor logic. The sensor's integral NPN transistor is connected as an amplifier/driver. One section of an LM324 quad-operational amplifier is connected as an inverting comparator. The output of this stage is fed to the indicator LED (mounted on the pen barrel) through a second amplifier section. The signal also goes to a voltage- follower-connected op amp that drives a Schmitt-trigger NAND gate. The NAND gate's sharp output pulse is filtered with a 1000 pF capacitor. Number Type + 5 V GND IC1 HEDS1000 IC2 LM324 4 11 IC3 7413 14 7 70 November 1981 © BYTE Publications Inc Circle 423 on inquiry card. m 897 N.W. Grant Ave. • Corvallis, Oregon 97330 Introducing the Enhancer ][: a new Standard which is improving the relationship between Humans and Apples. The Enhancer ][ can help your Apple It's keyboard become more sociable "by remembering words or phrases which can be entered into the Apple, by the mere touch of a key. Life can become even easier because the Enhancer ][ can pemember what yOU typed while your Apple was busy talking to your disc tor doing other things). Naturally, it knows the difference between upper and lower case letters and what shift keys are supposed to do. It even knows to auto repeat any key held down. The Enhancer H replaces the encoder board making installation sjmple. Suggested retail price: $149.0.0. See Us At am THE DAWN OF A NEW ERA FOR APPLE IE « ■ ENHANCER H November 19-22. 1981 / Boom No. 16 Las Vegas Conv • w ■ VIDEO TERM The time tested Videoterm 80 column card: • 80 characters x 24 lines • True decenders • 7 x 9 character resolution • Low power consumption • Compatible with most word processors • Softcard and CP/M compatible • Modem compatible • Most popular character set of any 80 column card • Alternate character fonts available Suggested retail price $345.00 n j ■ SOFT VIDEO SWITCH The Soft Video Switch is an auto- matic ver- sion of the popular Switch- plate. It knows whether it should display 40 ar 80 columns or Apple graphics. It does the tedious work of switching video- out signals so you don't have to. The Soft Video Switch can be controlled by software. Any Videoterm with Firmware 2.0 or greater may be used with the Soft Video Switch. The single wire shift mod is also sup- ported. Package price is $35.00. ■ KEYBOARD AND DISPLAY ENHANCER The original Keyboard and Display Enhancer is still available for Revi- sion 0-6 Apples (on which the new Enhancer ][ will not fit). These Apples have memory select sockets at chip locations D 1 , E1 & F1 . The Keyboard and Display Enhancer allows entry and display af upper & lower case letters with fully func- tional shift keys. It does NOT have user definable keys nor a type ahead buffer. The price is $1 29.00. ■ ACCESSORIES: Videoterm Utilities Disc S37.00 [includes) • Font Editor • Pascal Mid-Res Graphics • Applesoft Read Screen Utility • Top S. Bottom Scrolling • Pascal Vidpatch • Graphics Template Character Set EPROMs $29. 00 ea • Half Intensity • Inverse • German • Katakana (Japanese) • Line Drawing Graphics (Expanded) • Spanish • French • Math S. Greek Symbols • Super & Subscript Dvorak EPROM (Enhancer) $29.00 Lower Case Chip $29.00 + 5V IC4 74LS04 •IK IC3b 7413 MEMR O- -4°^ 13 Ai5 o- A14 \Z>- A13 O" A12 O" All O- A10 f~J>- 20 21 22 23 Number Type + 5 V GND IC3 7413 14 7 IC4 74LS04 14 7 IC5 74LS154 20 12 IC6 74LS125 14 7 19 18 Gl G2 IC5 74LS154 16 15 14 13 17 10 IC6 74LS125 SCANNER I ;_ OUTPUT ' — ^ -C>D°7 JUMPER SELECT IK Figure 4: Memory-mapped interface to the signal bus of a microcomputer. The decoding circuitry will gate the bar-code scanner's output onto the data bus whenever an address within the selected 1 K-byte space is accessed by a memory-reference in- struction. In this arrangement, the 1 K-byte space resides somewhere in the top 16 K bytes of the address space. (This interface is compatible with the software presented in Ken Budnick's book Bar Code Loader.) LETTER QUALITY PRINTER • DUAL USE. A PRINTER AND A TYPEWRITER • SELF TEST PROGRAM BUILT IN The BYTEWRITER is a printer consisting of a microprocessor controlled assembly internally connected to an SCM Coronamatic 8000 office typewriter. $795 OTHER FEATURES Back space. • Parallel input. Pin compatible with TRS-80 expansion interface. Typewriter operation with nothing to disconnect. TO ORDER - Send certified check or money order. Personal checks take 2 weeks. We do not ship C.O.D. - Add S lO for shipping and handling in continental U.S.A. • N.Y.S. residents add 7% sales tax. BYTEWRITER 125 NORTHVIEW RD., ITHACA, N.Y. 1 4850 (607) 272- 1 132 scm Coronamatic hixx) Ls » trademark of sc:m Corp. tks«) is ii trademark of Tandy Corp. BYTEWRITER is a trademark ot Williams Laboratories That's all there is to making a sim- ple bar-code scanner. The circuit in figure 4 illustrates an extremely sim- ple interface to an 8-bit microcom- puter bus. The signal from the wand's output is gated onto the computer's data bus through a memory-mapped addressing scheme. The wand's out- put will be available when a memory- reference instruction is executed ad- dressing a 1 K-byte block anywhere in the top 16 K bytes of address space (the specific block is selected by a jumper connection). The high-order bit on the data bus receives the signal. Ken Budnick's book Bar Code Loader (available from BYTE Books) contains bar-decoding programs for the 8080, 6800, and 6502 micro- processors which read the high-order data bit. Due to their simplicity, the routines can be easily modified to work in almost any system. One comment should be made con- cerning this software. Even on my slow 2.048 MHz 8080A-based system, I found it was impossible to scan fast enough to keep the counting register from timing out (the register exceeded the counting limit of 255). By adding a DCR...JNZ (decrement register... jump on not zero) loop in the input scanner sections of the soft- ware, I solved the problem. I suspect that similar changes will have to be made to the software for other systems. Note that the addition of this time-killing loop does not result in a significant reduction in practical hand-held scanning speeds — I ac- curately and reproducibly scan at more than 25 cm (10 inches) per sec- ond. Bar codes represent a reliable and convenient method of mass- distributing digital information. Hewlett-Packard's design and pro- duction of the HEDS-1000 sensor makes bar-code reading practical for me. Combining it with some simple interfacing has made printed software a reality. ■ The HEDS-1000 optical-reflective sen- sor can be ordered from Hamilton- Avnet , 1175 Bordeaux Dr, Sunnyvale CA 94086. Address orders to Sales Department. 72 November 1981 © BYTE Publications Inc Circle 429 on inquiry card. Circle 129 on inquiry card. dolosoulh announces. • • THE TOTAL PRINTER PACKAGE! With so many matrix printers on the market today, it may seem tough to find exactly the right one for your application. Some models may offer the speed you need, others the communications flexibility and still others the forms handling capability. But no printer offers all the features you need... until now. The DS180 matrix printer provides the total package of perfor- mance features and reliability required for applications such as CRT slave copy, remote terminal networks and small to mid-range systems. Not a "hobby-grade" printer, the DS180 is a real work- horse designed to handle your most demanding printer require- ments. And pricing on the DS180 is hundreds of dollars below competitive units. High Speed Printing- Bidirectional, logic-seeking printing at 180 cps offers throughput of over 200 ipm on average text. A 9-wire printhead life-tested at 650 million characters generates a 9x7 matrix with true lower case descenders and underlining. Non-volatile Format Retention -a unique programming keypad featuring a non-volatile memory allows the user to configure the DS180 for virtually any application. Top of form, horizontal and vertical tabs, perforation skipover, communications parameters and many other features may be programmed and stored from the keypad.When your system is powered down, the format is retained in memory. The DS180 even remembers the line where you stopped printing. There is no need to reset the top of form, margins, baud rate, etc.... it's all stored in the memory. If you need to recon- figure for another application, simply load a new format into the memory. Communications Versatility- The DS180 offers three interfaces including RS232, current loop and 8-bit parallel. Baud rates from 1 10-9600 may be selected. A 1K buffer and X-on, X-off hand- shaking ensure optimum throughput. Forms Handling Flexibility -Adjustable tractors accommodate forms from 3"-15". The adjustable head can print 6-part forms crisply and clearly making the DS180 ideal for printing multipart invoices and shipping documents. Forms can be fed from the front or the bottom. If you would like more information on how the DS180's low-cost total printer package can fill your application, give us a call at Datasouth. The DS180 is available for 30-day delivery from our sales/service distributors throughout the U.S. See Us At ' November 19-22, 1981 Las Vegas Convention Center, Las Vegas, NV 4740 Dwight Evans Road • Charlotte, North Carolina 28210 • 704/523-8500 data©®* computer corporation Introducing the Sinclair ZX81 If you're ever going to buy a personal computer, now is the time to do it. The new Sinclair ZX81 is the most powerful, yet easy-to-use computer ever offered for anywhere near the price: only $149.95* completely assembled. Don't let the price fool you. The ZX81 has just about everything you could ask for in a personal computer. A breakthrough in personal computers The ZX81 is a major advance over the original Sinclair ZX80-the world's largest selling personal computer and the first for under $200. In fact, the ZX81's new 8K Extended BASIC offers features found only on com- puters costing two or three times as much. Just look at what you get: ■ Continuous display, including moving graphics ■ Multi-dimensional string and numerical arrays * Plus shipping and handling. Price includes connectors for TV and cassette. AC adaptor, and FREE manual. ■ Mathematical and scientific functions accurate to 8 decimal places ■ Unique one-touch entry of key words like PRINT, RUN and LIST ■ Automatic syntax error detection and easy editing ■ Randomize function useful for both games and serious applications ■ Built-in interface for ZX Printer ■ 1K of memory expandable to 16K The ZX81 is also very convenient to use. It hooks up to any television set to produce a clear 32-column by 24-line display. And you can use a regular cassette recorder to store and recall programs by name. If you already own a ZX80 The 8K Extended BASIC chip used in the ZX81 is available as a plug-in replacement for your ZX80 for only $39.95, plus shipping and handling— complete with new key- board overlay and the ZX81 manual. So in just a few minutes, with no special skills or tools required, you can upgrade your ZX80 to have all the powerful features of the ZX81. (You'll have everything except continuous dis- play, but you can still use the PAUSE and SCROLL commands to get moving graphics.) With the 8K BASIC chip, your ZX80 will also be equipped to use the ZX Printer and Sinclair software. Warranty and Service Program" The Sinclair ZX81 is covered by a 10-day money-back guarantee and a limited 90-day warranty that includes free parts and labor through our national service-by-mail facilities. "Does not apply to ZX81 kits. NEW SOFTWARE:Sinclair has published pre-recorded pro- grams on cassettes for your ZX81, or ZX80 with 8K BASIC. We're constantly coming out with new programs, so we'll send you our latest software catalog with your computer. ZX PRINTER: The Sinclair ZX Printer will work with your ZX81, or ZX80 with 8K BASIC. It will be available in the near future and will cost less than $100. 16K MEMORY MODULE: Like any powerful, full fledged computer, the ZX81 is expand- able. Sinclair's 16K memory module plugs right onto the back of your ZX81 (or ZX80, with or without 8K BASIC). Cost is $99.95, plus shipping and handling. ZX81 MANUAL: The ZX81 comes with a comprehensive 164 -page programming guide and operating manual de- signed for both beginners and experienced computer users. A $10.95 value, it's yours free with the ZX81. If you really want to save money, and you enjoy building electronic kits, you can order the ZX81 in kit form for the incredible price of just $99.95r It's the same, full-featured computer, only you put it together yourself. We'll send complete, easy to-follow instructions on how you can assemble your ZX81 in just a few hours All you have to supply is the soldering iron How to order Sinclair Research is the world's larg- est manufacturer of personal computers. The ZX81 represents the latest technology in microelectronics, and it picks up right where the ZX80 left off. I Thousands are selling every week. We urge you to place your order for the new ZX81 today. The sooner you order, the sooner you can start enjoying your own computer. To order, simply call our toll free number, and use your MasterCard or VISA j-n To order by mail, please use the ^ apupon. And send your check or money \ order. We regret that we cannot accept \ purchase orders or CO. D!s. CALL 800-543-3000. Ask for op- erator #509. In Ohio call 800-582-1364. In Canada call 513-729-4300. Ask for operator #509. Phones open 24 hours a day, 7 days a week. Have your Master- Card or VISA ready. These numbers are for orders only. For information, you must write to Sinclair Research Ltd., One Sinclair Plaza, Nashua, NH 03061. 6K Memory Module (for ZX81 or ZX80) ■ ■ ■ inczlaii - PRICEt QTY. AMOUNT ZX81 ZX81 Kit 8K BASIC chip (for ZX80) Shipping and Handling To ship outside USA add $10.00 $149.95 99.95 39.95 99.95 4.95 TOTAL $4.95 MAIL TO: Sinclair Research Ltd., One Sinclair Plaza, Nashua, NH 03061 . NAME ADDRESS XITY/STATE/ZIP. t U.S. Dollars Software Review Reversal Othello for the Apple II Mark Friedman 23 Forge Dr Nashua NH 03060 "Winner of the software division of the First Interna- tional Man-Machine Othello Tournament" is the declara- tion that catches your eye when you pick up the box. And if that's not intimidating enough to a casual game player, consider that Reversal is written by the Spracklens of Sargon chess fame. Is there any hope of winning? The answer is a most emphatic yes, depending on the level of play you select. At the same time, how- ever, Reversal is capable of giving even the best player a tough run for the money. The game is played on an eight-by-eight square board, and the object is to occupy more squares than your oppo- nent. The game's rules are very simple: you place one piece on the board per turn and try to trap your oppo- nent's pieces between your own; all pieces trapped become yours. It sounds simple, and, as any Othello player knows, it is . . . sometimes. Reversal comes in the now standard Hayden Game- ware box, with a better-than-average instruction booklet and a registration card. The disk carries what seems to be its own operating system, as well as the game itself, and is, of course, both write-protected and "uncopyable." At least the few casual efforts I made to copy it failed. The registration card indicates that if your original disk becomes unusable in less than a year, it will be replaced free of charge. The instruction booklet, however, states that replacement will be free for 90 days, after which a copy will cost $5. Loading Reversal is simple, although a mention of its 13-sector status would make the first time even easier for those with systems that default to a 16-sector format. It Othello is a trademark of CBS. might also make you feel a little better if you were warned that several head initializations, with their usual clatter, are normal (at least they were on my system, with any drive I used). Once loaded, you are offered four choices: play a game against your Apple II; start a game with any given board layout; play against a fellow human; or exit from the program. Be forewarned that exiting delivers you into the hands of the Monitor pro- gram. You should also be aware that the instruction booklet is written in a tutorial style, which is fine for a first reading, but a table of available commands would make life easier a week later. If you elect to play a game, you are asked several ques- At a Crlanrp Name Apple floppy disk Reversal Language Type Assembler High-resolution graphics game playing a version of Computer Othello Apple II with at least 32K bytes of memory; tape or Manufacturer disk drive; video monitor or Hayden Book Company TV 50 Essex St Rochelle Park N] 07662 Documentation (800) 821-3777 14-page booklet Price Audience $29.95 tape; $34.95 disk Game enthusiasts of all ages, Othello enthusiasts in par- Format ticular Apple cassette or 5-inch 76 November 1981 © BYTE Publications Inc This Singl Boar< ..is the Heart of the icroprocessor World's est Multi-User System ... THE DISCOVERY MULTIPI CESSOR The dedicated power of this complete single board computer is provided to each user, making the DISCOVERY MULTIPROCESSOR unique among multi- user systems. With the power and expandability of distributed process- ing • With the economy of shared peripherals • With the flexibility of shared and public files • And all of this with full CP/M* and S -100 compatibility. Multiprocessing Software Multiprocessing Hardware Our Distributed Processing Oper- ating System, dpc/os®, resides in the Service Processor, establishing a CP/M environment for each user and managing access to the shared system resources. Multiuser facilities are provided for print spooling, for interprocessor communication and for private, public and shared-update files. Several processors can be em- ployed concurrently by a single user via the enhanced batch submit facil- ities. And with DISCOVERY all CP/M compatible programs will execute without modification, thus protecting your software investment. The ACE 64K Distributed Process- ing Single Board Computer, the dpc-180 gives the DISCOVERY MULTIPROCESSOR its own unique architecture. One DPC is dedicated to each user providing exclusive use of the onboard Z-80, 64K ram and serial I/O. Access to the shared resources is provided by an ex- panded DPC used as a Service Processor. Additional users can be added at any time by simply inserting additional DPCs.into the standard S - 1 00 bus — up to a total of sixteen user processors in a single chassis ! *CP/M is a registered TM of Digital Research, Inc. DISCOVERY has been proven in installations throughout the World. If you need the Power of Multiprocessing... it's time you discovered us! The ACE DISCOVERY MULTIPROCESSOR dedi- cates a complete 64K Z-80 Distributed Processing single board Computer, the dpc-180 to each user. An ex- panded DPC coordinates all of the system activities. Multiuser mainframes with 192K ram start at under $6000. The 64K dpc-180 is priced at $1395. Immediate delivery. A complete line of standard peripherals including a 26M byte hard disk subsystem can be supplied on request. Dealer and OEM inquiries are invited. Action Computer Enterprise, Inc. The Multiprocessing Company 55 West Del Mar Boulevard, Pasadena. California 91105 USA • Cable ACEPAS Pasadena • (213) 793-2440 tions. The first is which color, black or white, you wish to play. The two remaining questions determine the pro- gram's level of play. Your first decision is to select the level of strategy the program will use, with choices of beginner, intermediate, and advanced (advanced is billed as its championship level). Your last decision is how much time to allow the program to determine its next move. There are nine time levels, listed as ranging from 2.5 seconds to 30 minutes, providing a total of 27 playing levels for the program — more than enough to suit any level of player. Be aware of two things while selecting the program's play level. The first is that the printed list of "approx- imate" response times is very approximate. Level 6, with a listed time of one minute, varied from just under a minute to almost three minutes during one game played at the advanced strategy level. The second detail is that while the strategy level you pick cannot change during a game, the response-time level can be changed at any time, making play even more flexible. Reversal makes use of both the text and graphics dis- plays during execution, showing the level of play and move list on the text page and the board itself on the graphics page. Toggling between the two displays is done with the ESC (escape) key, although once a game has started, I've found little need for the text display other than to record a game for posterity. Reversal makes good use of the Apple's graphics, with a couple of nice touches like pieces that smile or frown depending on the score (when both sides are tied, they just stare at you). Should you find them distracting, the faces can be turned off. Once you are looking at the game board, playing is as simple as it can be — at least the mechanics are. There is no need to memorize a list of board locations, as naviga- tion is done with the cursor-control arrows. In addition, since the cursor will stop only on squares that represent legal moves, there is really no excuse for overlooking a possible move. Once you have found the square you would like to move to, just press Return. All trapped pieces will be flipped automatically, and the score, displayed on the sides of the screen, will be updated, as will the move list displayed on the text page. The pro- gram then begins its search for a suitable response. Reversal is so easy to play that my five-year-old daughter was able to play her first game after five minutes of coaching. While her first game was a bit of a rout, she insisted on playing until she won, several times. I tend to be a casual, rather than an aggressive, player, and my selection of playing levels reflected that. I got the most pleasure playing at the lower, faster-response levels, with a few highest-level (30-minute response) games thrown in for good measure. To compare the strategy levels, I played a series of games at each level. While I was able to win the majority of games at the beginner level, and half or more at intermediate, the advanced level was easily my match. In fact, one game played at NEW PRODUCTS! NOW AVAILABLE FROM AUTOMATED EQUIPMENT TELEVIDEO SYSTEM I The Televideo System I is a CP/M® based single- user computer system. State-of-the-art design and single board construction accounts for Televideo's reliability and exceptional price performance. Cobal, Basic, PL/1 and Fortran are just a few of the high level languages available. As your needs grow so can your Televideo computer system. The System I can be a satellite computer of a larger network of user stations using the multi-processor multi-tasking System II or System III. System I includes TS-81 computer, Televideo 910 terminal (950 terminal available at additional cost) and CP/M* 2.2. Nation wide on-site service is available through General Electric service company. System I specifications: Z80A, 64K Ram, 4K diag- nostic Eprom, t wo 5" 360 K drives, serial and parallel port. CP/M* is a licensed product supplied by Digital Research, Inc. See Televideo System Ad. NORTHSTAR ADVANTAGE COMPUTER The Norths tar Advantage Computer is an integrated package including full graphics capability. Line charts, bar graphs, pie charts and 3 dimensional displays are all possible as part of Northstar's optional graphics/DOS operating system or CP/M* graphics package. All Northstar applications soft- ware is available for the Advantage Computer. Slots for 6 additional expansion cards are included. Specifications: Z80A CPU, 64K Ram, Green screen 12" monitor, 240 x 640 pixel graphics resolution, sculptured typewriter-like keyboard, two 5" 360K drives. V.I.P.'s call A.E.I. ZENITH Zenith Data Systems with world famous quality and reliability are now available from A.E.I. The Z89 and Z90 are standalone micro computers with a one piece design that simplifies installation and opera- tion. With the board line of PeachTree accounting software and Micro-Pro word processing software the Zenith computers are the ideal small business systems. Heathkit/Zenith educational courses are available making the Zenith computer an excellent choice for the first time buyer. Zenith specifications: Z89— 48K ram standard. Z80cpu, 2 serial ports, built in 12" terminal, one 5" 100K drive, expandable. Z90— 64K ram standard, Z80 cpu, 2 serial ports, built in 12" terminal, one5"200K drive, expandable. Because A.E.I, tests before shipping, has expertise on all items offered, and is price competitive. AUTOMATED EQUIPMENT, INC. (714) 963-1414 18430 WARD STREET, FOUNTAIN VALLEY, CALIFORNIA 92708 (800) 854-7635 See these products and a full line of peripheral equipment in our showroom. 78 November 1981 © BYTE Publications Inc Circle 43 on inquiry card. iA-t Cf By expanding our potential, we help you expand yours! 5 "As a Vector computer, I'd like to introduce you to the newest member of the Vector computer family: me!' "I'm a Vector 5005 Multi-Share™ system, with all the intelligent, convenient characteristics of our 3005, and then some. I am a truly integrated word and data processing system, and I can stand alone or support up to a total of 5 terminals and 2 printers. I can be typing a letter, doing data entry, updating the general ledger, checking inventory, and doing a cash flow forecast on different terminals all at the same time. "I use sophisticated, big computer error correction techniques for the security and integrity of your data. My advanced Winchester hard disk gives you 5 megabytes of storage for convenient, fast access to large amounts of infor- mation—without the inconvenience of changing floppy disks. In addition, I fit in equally well in small businesses (where the need is for perhaps 2 terminals) or in corpo- rate environments (where I can be used as a multi-station word processor or comprehensive departmental machine)'.' "For more information and your local dealer, call us at 800-423-5857. In California, call 800-382-3367. Or write to us at 31364 Via Colinas, Westlake Village, CA 91362. "We Vector 5005s are here. Each time we get closer to our full potential, you get closer to yours'.' Circle 421 on inquiry card. Vector Graphic Inc. COMPUTERS FOR THE ADVANCEMENT OF SOCIETY. Buy with Confidence from the best GREAT PRICES, GREAT SERVICE, GUARANTEED i i COMPUTERS, PRINTERS, TERMINALS .52.O Apple Computers Disk drives, accessories software, graphics tablets. CALL FOR BEST PRICES HEWLETT PACKARD Whether you want their great computer or a wide selection ol computer calculators-we have them I $3250 Call us for great prices: Altos, Atari, NEC, Zenith and other computers MONITORS BMC & NEC Green Screen NOW IN STOCK EBfflBM III We have the CORVUS systems to hook up several Apple computers at once! NEC & DIABLO PRINTERS Anadex, Paper Tiger. CALL for latest prices NEW MX 100 & » MX80F/T The new 136 column Epson printer with graphics and the Friction/tractor MX 80 are in stock. WE HAVE THE GRAPHIC PACKAGE FOR MX 80. call. SILENTYPE PRINTER ONLY $295.00 SOFTWARE Amazing Mountain Hardware CPS Multi-function card ALL IN ONE: Parallel/Serlal/Clock/Calen Visicalc 3.3 $1 75/Reg. $199 BPI GL/INV/AR/etc 299/Reg. 399 PLOTTERS Tax Preparer by Howardsoft . . . 125/Reg. Real Estate Analyzer.Howardsoft 125/Reg. Creative Financing, Howardsoft 125/Reg. ASCII Express II by SDS 55/Reg. Z-TERM (CPtVt) (16 sector) .... 85/Reg. TRS 80 & ATARI SOFTWARE TOO MICROSOFT 16K Ram 150 150 150 65 100 Bausch&Lomb plotters for your computer by Houston Instruments... CALL! *•!*«**» ' Visit our retail store: Net Profit Computers 521 W. Chapman Ave Anaheim, Cal. 92802 714 750-7318 Mail orders ONLY: NET PROFIT COMPUTERS 2908 Oregon Court, Bid G1 Torrance, Ca 90503 ^£ 1(800)421-1520 in Cal: 213 320-4772 Cal residents add 6% sales tax. Minimum shipping and handling charges are $3.00. Mstch, Visa, Amex prices slightly higher on sale items. Store prices differ level A6 was the most elegant example of trap-setting I have seen in a long time. Any time I can be beaten in the last five moves as badly as 63 to 1, I know I've met my match. That game made me wish there was a command to print the entire move list, rather than having to copy it by hand during the game — the game was over before I realized it was worth saving. The program has two additional features that can make for a more varied game: the ability to take back any move and a way to ask what the program thinks your best move is. It can sometimes take an extreme ef- fort of will not to back a game up to where you made some "mistake," but it can be fun to check out other possibilities, and it's nice to know you can. The ability to ask the program about your best move is also a nice idea, but because it is limited by the amount of look-ahead the program did in computing its move, it is, more often than not, not your best possible response. As there is no way to save a game in progress, the only way to resume an interrupted game is to record the posi- tions of all pieces and use the facility to start a game from a given board layout, but this is a tedious process. A "Save Game" command would have solved the problem, particularly when playing at levels requiring 30 minutes per response. As long as I'm "wishing," there are a few other things that either should be included or would be handy to have. These include the ability to change strategy level during a game, having the "Exit" command reload the system, and a table of commands in the instruction booklet. In passing, let me recommend the user's guide section entitled "Strategy Tips" to anyone who plays Reversal. The tips may be obvious, but they're valuable nonetheless. I highly recommend Reversal to anyone who enjoys Othello or to anyone who likes strategy games in general. Reversal can also serve as a good introductory computer game for beginners of any age. The Spracklens have done a magnificent job: Reversal is everything I expected it to be when I saw who had brought it into the world. Conclusions • Reversal is capable of competing evenly with players of any level. • Instructions and documentation for Reversal are better than average, but a "quick reference" table of commands would help inexperienced users. Running the game is complicated by only one fact: it is assumed you know that the disk uses Apple's DOS 3.2. An unusually large number of disk accesses occur before anything happens, so the first-time user might experience some anxiety. • Use of graphics and the game paddle make this game well-engineered for human use, but a feature for saving unfinished games on disk would avoid making the player record, then reenter the positions of all the pieces. Other improvements could include allowing the player to change the strategy level during play and a command to end the game and reload the program. ■ 80 November 1981 © BYTE Publications Inc Circle 304 on inquiry card. Lj 1 II K UTILITY * TYPE-W-TAL.K IS T.N.T. The exciting text-to-speech synthesizer that has every computer talking. • Unlimited vocabulary • Built-in text-to-speech algorithm • 70 to 100 bits-per-second speech synthesizer Type-'N-Talk;" an important technological advance from Votrax, enables your com- puter to talk to you simply and clearly — with an unlimited vocabulary. You can enjoy the many features of Type-'N-Talk," the new text-to-speech synthesizer, for just $375.00. You operate Type-'N-Talk" by simply typ- ing English text and a talk command. Your typewritten words are automatically translated into electronic speech by the system's microprocessor-based text-to- speech algorithm. The endless uses of speech synthesis. Type-'N-Talk™adds a whole new world of speaking roles to your computer. You can program verbal reminders to prompt you through a complex routine and make your computer announce events. In teaching, the computer with Type-'N-Talk ""can actually tell students when they're right or wrong — even praise a correct answer. And of course, Type-'N-Talk'"is great fun for computer games. Your games come to life with spoken threats of danger, re- minders, and praise. Now all computers can speak. Make yours one of the first. Text-to-speech is easy. English text is automatically translated into electronically synthesized speech with Type-'N-Talk '." ASCII code from your computer's keyboard is fed to Type-'N-Talk'"through an RS 232C inter- face to generate synthesized speech. Just enter English text and hear the verbal response (electronic speech) through your audio loud speaker. For example: simply type the ASCII characters representing "h-e-1-l-o" to generate the spoken word "hello." TYPE-'N-TALK has its own memory. Type-'N-Talk' "has its own built-in micro- processor and a 750 character buffer to hold the words you've typed. Even the smallest computer can execute programs and speak simultaneously. Type-'N-Talk , "doesn't have to use your host computer's memory, or tie it up with time-consuming text translation. Data switching capability allows for ONLINE usage. Place Type-'N-Talk between a computer or modem and a terminal. Type-'N-Talk' M can speak all data sent to the terminal while online with a computer. Information randomly accessed from a data base can be verbalized. Using the Type-'N-Talk" data switching capability, the unit can be "de-selected" while data is sent to the ter- minal and vice-versa — permitting speech and visual data to be independently sent on a single data channel. Selectable features make interfacing versatile. Type-'N-Talk'"can be interfaced in several ways using special control characters. Connect it directly to a computer's serial interface. Then a terminal, line printer, or additional Type-'N-Talk iM units can be connected to the first Type-'N-Talk)" eliminating the need for additional RS-232C ports on your computer. Using unit assignment codes, multiple Type-'N-Talk "units can be daisy-chained. Unit addressing codes allow independent control of Type-'N-Talk™units and your printer. Look what you get for $375.00. TYPE-'N-TALK comes with: • Text-to-speech algorithm • A one-watt audio amplifier • SC-01 speech synthesizer chip (data rate: 70 to 100 bits per second) • 750 character buffer • Data switching capability • Selectable data modes for versatile interfacing • Baud rate (75-9600) • Data echo of ASCII characters • Phoneme access modes • RS 232C interface • Complete programming and installation instructions The Votrax Type-'N-Talk" is one of the easiest-to-program speech synthesizers on the market. It uses the least amount of memory and it gives you the most flexible vocabulary available anywhere. Order now. Toll free. | ■■■«■■ Hifil Hi M| I I I ■ Call the toll-free number below to order or request additional infor- mation. MasterCard or Visa accepted. Charge to your credit card or send a check for $375.00 plus $4.00 delivery. Add 4% sales tax in Michigan. 1-800-521-1350. Dealer Inquiries Invited I I I I I vcA a/x Distributed by Vodex A Votrax Company — Dept. RT 500 Stephenson Highway, Troy, MI 48084 (313) 588-0341 Type-'N-TalV-'is covered by a limited warranty. Write Votrax for a free copy. The first family of microcomputers with mainframe capability. WICAT Systems brings four years of research and development to the market with the System 100 family of microcomputers. WICAT is the first to provide high performance, low cost computers with full feature operating systems and network capabilities. The WICAT family of systems and their supporting software have been designed to 1 985 specifications. The hardware, software, and communication networks assume large main memories (up to 1.5 megabytes in the System 150 and 14 megabytes in the System 1 00) and large system power at each intelligent workstation. Our 68000-based systems run at 8MHz and execute approximately one million instructions per second. The processor has a 1 6 bit external data path and internally supports 32 bit operations. All of our computers, with the addition of the interface board, can control videodisc players. Multibus™ devices can also easily be attached to our complete family. WICAT's Multi-User Control System (MCS) is one of the most powerful operating systems available today. The real time, multi-user, multi- tasking system is designed to strike an uncompromising balance between the needs of the system's programmers and the general users. UNIX™/V7 and a CP/M Emulator are also available. In addition to the three operating systems WICAT offers nine program- ming languages: PASCAL, Assembler, FORTRAN, COBOL, BASIC, APL, ADA, C, and LISP. Full service maintenance is offered internationally, including 377 locations in the United States. Depot mainte- nance is also available. Whether your needs are for busi- ness systems, personal computers, or sophisticated networking, the WICAT family meets those needs. Call or write today for additional information. WICATsystems P.O. Box 539 1875 South State Street Orem, Utah 84057 (801)224-6400 ANSI X3. 64 Terminal 80 x 25 rows on a 12 " diagonal screen Optional touch panel Blink, blank, reverse video, half intensity and underline 68000 Processor 20MB-900MB hard disk storage Up to 14MB of main memory Supports up to 96 intelligent terminals • 68000 Processor ' Up to 1.5MB main memory * 2, 5%" floppy disk drives (1.92 MB or 320KB) 68000 Processor 2, 8" dual-sided, double-density floppy disks (2.4MB) Up to 3MB of main memory Supports 4 dumb terminals • Same features as T7000 Terminal • Monochrome graphics — 400x300 pixel resolution • Simultaneous support of text and graphics features (2 independent graphics planes for animation) • Optional touch panel • 68000 Processor • Up to 1.5MB main memory • Single-user intelligent terminal 68000 Processor 10MB hard disk— -5 V floppy disk for back-up Up to 1.5MB main memory Single-user or multi-user operating system (multi-user version supports 4 terminals) 68000 Processor 1, 8" dual-sided, double-density floppy disk (1.2MB) Up to 1.5MB of main memory Ideal single-user workstation for video- disc and simulation Circle 428 on inquiry card. The Microcomputer as a Laboratory Instrument Daniel Cosgrove Botany Department University of Washington Seattle WA 98195 During the past three years we have actively used a microcomputer to study the biophysics of plant growth. The unit serves as a data- acquisition and stimulus-control system, as well as an analytical tool for processing and studying the resulting data. But why use a com- puter? Specifically, why use a microcomputer? As a laboratory tool, the computer may be likened to a "smart" strip- chart recorder. That is, the computer not only stores data coming in from many different instruments (making it equivalent to not one but many chart recorders), but also controls ex- ternal devices. For example, the microcomputer that we use in our laboratory regulates the timing and intensity of experimental light treatments given to plants. In addi- tion, the computer permits easier, more subtle interpretations of the data involving mathematical transformations and statistical analysis. In the past, such processes were severely limited by time and man- power. The availability of data in digital form makes sophisticated pro- cessing, such as signal averaging, smoothing, digital filtering, and curve-fitting, much easier. Thus the computer improves both the quantity and quality of experiments. In the last decade, the minicomputer has invaded the laboratory to perform these functions and more. Acknowledgments The author gratefully acknowledges the financial support of the National Science Foun- dation Graduate Fellowship, as well as the National Science Foundation Grant PCM 78-03244 awarded to Dr Paul Green of Stan- ford University. The reason for selecting a micro- computer is price — they sell for a fraction of the cost of a minicom- puter. Yet in many cases they have all the required capabilities. Their big- gest limitation in the laboratory is one of software — programs useful to the researcher are scarce. The first part of this article will give an over- view of the microcomputer as it is used in our lab; this is followed by a description of the hardware and soft- ware architecture of the system. System Overview The primary use of our laboratory microcomputer (see photo 1) is to control experiments and acquire data. A typical experiment would involve the continuous measuring of the growth rate (and other parameters) of several plants over a 24- to 48-hour period, while subjecting the plants to various conditions such as light of different intensities or solutions of different osmotic strengths. At the beginning of an experiment, the plants are connected to growth transducers, which are then con- nected to a multichannel A/D (analog-to-digital) converter in the computer. A BASIC program prompts the operator for the parameters of the experiment (eg: how many channels to sample, how often to sample, how many sampled points to average, when to turn the lights on and off, the total duration of the experiment) and feeds these values to the interrupt-driven Photo 1: View of the laboratory microcomputer, showing the Soroc video console, Horizon II computer, interface box, and oscilloscope and strip-chart recorder used for graphic display of data. Plant growth transducers and other instruments located in a controlled-temperature room behind the computer are plugged into the interface box on top of the Horizon. 84 November 1981 © BYTE Publications Inc Circle 397 on inquiry card. assembly-language program that does the real work of the experiment. When the operator is satisfied with the experimental parameters, the BASIC program will start the sam- pling program. Because the sampling program is an interrupt-driven routine, data ac- quisition can occur while BASIC works on a completely different pro- gram. This sampling will be com- pletely transparent to the BASIC pro- gram and to the operator because the assembly routines are fast (the worst- case time required is less than one millisecond) and take up only a small portion of the processor's time (depending, of course, on the sam- pling rate), while the rest of the time is devoted to the BASIC (or other) program. This allows the operator to use BASIC for other tasks, or to run a program in BASIC that monitors the status of the experiment and permits the alteration of the progress of the experiment. Using the video terminal, oscillo- scope, or strip-chart recorder as display devices, this STATUS pro- gram can display the data collected by the sampling program. Photos 2 through 4 compare the three types of graphic displays. The oscilloscope and strip chart both have high resolu- tion; the latter is used when hard copy is required. The video display has low resolution, but is useful when the other devices are not handy, and if you want to perform a simul- taneous comparison of the data from different channels. The data-acquistion programs are very flexible, allowing a wide range of sampling rates (up to three kHz) and control of up to sixteen different programmed events during the course of a sampling period. In addition, sampling periods may be auto- matically concatenated — with each period having its own parameters. I use this feature in my experiments on the effect of light on plant growth: high-frequency sampling during and shortly after the light treatment is alternated with lower-frequency sampling during the dark interval be- tween light treatments. In addition, data points are averaged over a longer time span during the dark period, which saves both disk storage and processing time yet still provides the background growth-rate informa- tion I need. After the computer has completed GROWTH RATE (mm/hr) 3 - - RAW DATA (A) SMOOTHED A V DATA \ \ (B1 V \ FITTED \ „ CURVE \ (C) - 1 1 30 60 90 TIME (sec) Figure 1: Sample of data obtained using the acquisition system that appears in photo 1. The results of data smoothing and curve fitting performed on raw statistical data can be aided by the use of a microcomputer. Curve A shows the raw data of a plant's growth response to blue light; curve B shows the same data after smoothing to eliminate noise; curve C is derived from a computer fit of the data to an equation of an exponential decay of the growth rate to a lower rate. SYBEX wuuH^yRT Introduction to WORD PROCESSING ■■M INTRODUCTION TO WORD PROCESSING by Hal Glatzer If you write letters, organize reference materials, produce articles, reports, contracts or any other materials a word processor will help you save time, trim labor and improve effi- ciency. This book explains in plain language what a word processor can do, how it improves productivity in businesses that handle lots of words, how to use a word processor and how to buy one wisely. 300 pp., 140 illustr., Ref. W101, $14.95 PLEASE SEN ITRODUCT1I WORD PROCESSING IUR FREE CATALOG Zip iu/book I IPS I l-SC/book I 10/book overseas air-moil :hargemy:l VISA I iMC AM EX. s S-i DEX. 2344 SIXTH STKliE' BERK1 14710 PHONEOI IBEI ILL FREE OUTSID November 1981 © BYTE Publications Inc 85 r - DISK DRIVES PRINTER ■* L_ ~-T> Z80 CPU BOARD MEMORY (32K) HARDWARE FLOATING- POINT BOARD DISK CONTROLLER SERIAL PORT SERIAL PORT MOTHERBOARD REAL -TIME CLOCK S-100 BUS CROMEMCO 7 A/D+ I/O INTERFACE PARALLEL OUT PARALLEL IN GROWTH TRANSDUCERS OTHER INSTRUMENTS -►■FILTER MOTOR -»- POWER SUPPLY JSZ .J Figure 2: Block diagram of the hardware and peripherals used in the author's data-acquisition system. an experiment, it can shut off its own power by activating a latching relay. The data that have been collected and stored on disk can subsequently be examined and processed. In our lab, such processing involves smoothing the data and fitting it to exponential curves using statistical methods. An example of this process appears in figure 1. In the laboratory, the microcom- puter is a powerful tool for data ac- quisition, processing, and analysis. The two major tasks involved in set- ting up such a tool are interfacing the computer to the lab instruments and writing the programs for data acquisi- tion. These tasks are described in the following sections. Hardware Requirements What are the hardware re- quirements of the system? Figure 2 diagrams the setup. The microcom- puter is a North Star Horizon, which uses the Zilog Z80A microprocessor as the central processor, with dual 5-inch floppy-disk drives and 32 K bytes of user memory as peripherals. The FPB (hardware floating-point board) is an optional peripheral that speeds up mathematical programs in BASIC. The Cromemco D + 7A I/O (input/output) board provides a 7-channel A/D (analog-to-digital) converter for accepting voltage signals from lab instruments, a 7-channel D/A (digital-to-analog) converter for outputting the stored data to display devices, and an 8-bit parallel port used in the lab for turn- ing external devices on and off. An interface between the Cromem- co board and the "real world" was built to protect the board from dangerous external voltages and to facilitate connecting instruments to it. The interface is shown in photo 5 and its schematic appears in figure 3. The analog inputs are protected by zener diodes that are in series with light- 4444444 444444444 44444444444 EACH POM = 3.9 SEC CHMWEL TO DISPLAY (fl=EHD)?| Photo 2: Sample display of data on the Soroc system console using the terminal's direct X-Y cursor-positioning ability. 86 November 1981 © BYTE Publications Inc Circle 397 on inquiry card. emitting diodes. The zeners conduct current across the light-emitting diodes when the input voltage is out- side the -2.7 to + 2.7 V range. This protects the circuits on the A/D board and gives a visual signal to in- dicate either over- or undervoltage conditions. The analog outputs are used for graphic displays of digital data by plugging an oscilloscope or strip- chart recorder into the output jacks on the interface box. The parallel port, which is used to turn lights and other devices on and off, is isolated from outside currents by optical couplers and reed relays. The reed relays can handle up to 0.75 A and 240 V. For the larger currents used by the 500 W lamps, the relays turn on triacs (bidirectional thyristors or silicon-controlled rectifiers) that can handle up to 15 A. (For those in- terested in reading more about inter- face circuits, I have included several references at the end of the article.) As you can see, most I/O for ex- periments is handled via the Cromemco board and its interface box. Photo 3: Graphic display of data on the oscilloscope. Photo 4: Graphic display of data on the strip-chart recorder. PLEASE SEND ME: PFROM U HI'S T( ) SYSTEMS; An Introduction iu Micropt ' YOUR FREE CATALOG Add; i "iSL.iO/liook UPS U75- ■€> :> (3b) ANALOG IN 17 CHANNELS) FROM GROWTH TRANSDUCERS f c IN5223 ''led MV5052 /77 (3c) PARALLEL OUT (8 BITS) 0PTOIS0LAT0R + 5V 4N33 G (3d) PARALLEL IN (8 BITS) + 5V OPTOISOLATOR 4N33 100 NOTE'. SEPARATE GROUNDS ARE NECESSARY Figure 3: Schematic diagrams of the four types of I/O channels used on the laboratory microcomputer. Figure 3a is the analog output from the Cromemco 7 A/D + I/O board to the graphics peripheral (this circuit is duplicated for 7 analog output channels). Figure 3b is the analog input interface that connects the Cromemco board to the various data-acquisition devices; the zener diodes protect the analog input circuitry on the board from overvoltages, while the LEDs indicate this danger condition (also duplicated for 7 channels). Figure 3c shows a relay controller operated from one bit of a parallel output port (duplicated for 8 channels). Figure 3d is the parallel input port interface (duplicated for 8 channels). Both of these interfaces protect the computer through the use of optical isolators. 88 November 1981 © BYTE Publications Inc Circle 397 on inquiry card. We use a Soroc IQ 120 terminal to communicate with the computer and a Teletype model ARS 33 as a printer. Software Description The special software used for laboratory experiments includes a variety of assembly-language pro- grams as well as BASIC programs. The assembly-language data-acqui- sition programs (see listing 1) were developed using Xitan's (formerly TDL) editor and Z80 macroassembler under a CP/M operating-system en- vironment. All of the programs were designed to use the North Star DOS (disk operating system) library routines for writing to and from disks. Similarly, all of the BASIC programs use North Star BASIC (see listings 2 through 4). The data- acquisition routines in machine language are located in a different portion of memory from that used by BASIC (see memory map in figure 4). Thus, both may function during an experiment. For the purpose of maximum flex- ibility, the laboratory software was designed as a number of modules that pass information to each other. As seen in the left half of figure 5, the sampling programs consist of three main modules: INTERRUPT HAN- Photo 5: Close-up of the interface box. Instruments to be sampled are plugged into the computer's analog input jacks. Voltages outside the range of the A/D converter are in- dicated by the overvoltage or undervoltage LEDs. A display of graphic data may be ob- tained by plugging an oscilloscope or a strip-chart recorder into the analog output jack. Lamps, motors, and other devices are turned on and off by the digital output relays. SYBEX mational MICROCOMPUTER ICTIONARY INTERNATIONAL MICROCOMPUTER DICTIONARY These days everyone's talking about computers. Make sure you under- stand what's being said. This handy pocket-guide contains definitions of all the terms, numbers and acronyms that make-up current microcomputer jargon. It also contains a basic vocab- ulary of essential computer words in English and ten other languages in- cluding Italian, German, Dutch, French, Spanish and Swedish. Makes reading any computer literature easier and more understandable for everyone. 140 pp., Ref. X2, $3.95 I'M-;.' \UCK> \K\ IIJR FREEC Iuiul An November 1981 © BYTE Publications Inc DLER, SAMPLER, and PROCES- SOR. The first module keeps track of when data needs to be recorded, the second records the data, and the third saves the data on disk and calls special event programs. The sampling routines function as follows (see the flowchart in figure 5): the real-time clock requests an inter- rupt, which causes a jump to the INTERRUPT HANDLER program. This is handled by the vectored priority-interrupt capability of the North Star Z80 processor. The IN- TERRUPT HANDLER decrements a timing counter and checks to see if it's time to sample. If not, the computer returns to the job it was working on before the interrupt. If it is time to sample, the SAMPLER routine is entered. The SAMPLER routine reads data from each active channel of the A/D board and sums them with previous data stored in a temporary double buffer. This feature allows the pro- gram to do on-line averaging of from 1 to 256 points before storing the resulting values. For instance, if 16 MEMORY LOCATION 100H 2000H DATA-ACQUISITION PROGRAMS SPECIAL-EVENT PROGRAMS MAIN DATA BUFFER NORTH STAR DOS BASIC +USER PROGRAM Figure 4: Memory map that shows the hexadecimal memory locations of the machine-language acquisition programs, North Star operating system, and BASIC. points are to be averaged, SAMPLER is entered sixteen times. The first fif- teen times SAMPLER adds the new samples to the old ones and returns immediately to the pre-interrupt job. On the sixteenth time, the routine does the summation of the new data with the sums of the old, changes an internal pointer to the other half of the double buffer, and enters PRO- CESSOR. PROCESSOR has several func- tions. It performs the averaging of the data from each of the channels and stores this average value in the main buffer. When the buffer is full, it calls on subroutines that write the buffer out to disk. In addition, PRO- CESSOR keeps track of the time and the locations of programs that ex- ecute special events (like activating lights or pumps) at particular times. For instance, when PROCESSOR is initialized, it is loaded with the loca- tions of these special programs and the time to execute them. When the time for a particular event elapses, PROCESSOR will call the location that controls the event. After check- ing the time of all events, PRO- CESSOR returns to the pre-interrupt location. The use of a double buffer by SAMPLER permits data points to be summed and stored in one half of the buffer while PROCESSOR is still working on the other half of the double buffer. The only restriction of this system is that PROCESSOR must finish with its half of the double buf- fer before SAMPLER has collected and summed all of its data points. Two other assembler programs, the initializers for PROCESSOR and ( RETURN V INTERRUPT HANDLER YES 1 N s A T M 1 P A L L ^ E 1 s R 7 / F / / R PARAMETER INPUT PROGRAM (BASIC) ( RETURN V double buffer set up parameters YES P I R N I C T E I S A S L I R Z E R PROCESSOR I overage data, I store in main I buffer STATUS PROGRAM examines data, alters parameters write data file to disk call event program f RETURN J Figure 5: Flowchart of the machine-language data-acquisition programs and their inter- face with BASIC. 90 November 1981 © BYTE Publications Inc Circle 397 on inquiry card. Listing 1: Z80 machine-language program that contains the subroutines necessary for maintaining an interrupt-driven data-acquisition system. Among these subroutines is an interrupt-handler, a data sampler, and a data-storage and special-event processor. The design includes provisions for interfacing with BASIC programs. This version was written using a TDL (Xitan) assembler, hence the TDL Z80 mnemonics. ** ** ** DATAQU ** ** ** SETS UP PARAMETER LOCATIONS AND CALLS UTILITY PROGRAMS 0100 2028 0100 0103 0106 0109 0132 0134 0137 0138 0139 013A 013B 013C 13D 017D 017F 0181 0183 185 018E 18F 190 0192 0194 0195 197 0198 0199 019A .PABS .LOC 100H OUTPUT MESSAGE AND RETURN TO DOS. REQUIRED FOR PROPER LOADING BY DOS. 21 109 CD 0 DATA AQUISITION PRGM (VERS. 1 .2) LOADED 0D0A 0D0A00 / ;TABLE OF CONSTANTS AND VARIABLES: CHNL: INT$S: SSDPT: SCNTR: DIVSR: N$EVTS: ETIME: BLKB BLKB BLKB BLKB BLKB BLKB BLKW 32D 1000 1000 01C8 1E8 202020202020 BFSTRT MBUFPT OTMPAD NTMPAD FLNAME .WORD 1000H .WORD 1000H .WORD TMPBF1 .WORD TMPBF2 .ASCII / # OF CHNLS TO SAMPLE t INTRRPTS/SAMPLE # SAMPLES/DATA PT SAMPLE COUNTER PROCESSING CODE # PROGRAMMED EVENTS EVENT TIME 1 (2 BYTES) ADDR EVENT 1 PRGM . . .ETC. . TO EVENT »N$EVTS START ADDR MAIN BUFF MAIN BUFFER POINTER OLD BUFFER POINTER NEM BUFFER POINTER / ;FILENAME W/BLANK D9 08 3E50 D306 05 2805 D9 08 FB ED4D 3; ol; 3; a; a; a; a; a; a; a; a; a; a; a; a; a; a; a; a; a; a; a; ai a a a a a a a a a .INSERT B:INTHDLR * * * * INTERRUPT HANDLER £ SAMPLER ROUTINE * * * THIS ROUTINE IS ENTERED BY CLOCK INTERRUPT. IT COUNTS THE # OF INTERRUPTS SINCE THE LAST SAMPLE WAS TAKEN. WHEN THE INTERRUPT COUNT = HINT/SAMPLE (AS SET UP BY "INIT") THEN DATA IS INPUT FROM EACH OF THE ACTIVE CHANNELS OF THE CROMEMCO D+7A I/O BOARD. MODIFIED DATA IS SUMMED WITH PREVIOUS DATA AND STORED BACK IN THE BUFFER. WHEN THE BUFFER IS FULL (IE tt OF SAMPLES TAKEN EQUALS SAMPLES/DATA PT) THEN THE BUFFER ADDR'S ARE UPDATED AND CONTROL GOES TO THE "PROCESSOR". B'= INTERRUPT COUNTER NTHLD: EXX EXAF MVI OUT DCR JRZ EXX EXAF EI RETI A,50H 6 B SAMPLE SAVE REGS RESET CLOCK FLAG TIME TO SAMPLE? YES NO, RESTORE REGS 3;SAMPLER; FOR THE FOLLOWING SECTION OF CODE 3;REGISTERS ARE USED AS FOLLOWS: Listing 1 continued on page 93 SYBEX INTRODUCTION TO UCSD CALSYS '**!■■> INTRODUCTION TO UCSD PASCAL™ SYSTEMS by Charles W. Grant and /on Butah If you want a clear, descriptive guide through the UCSD Pascal Operating System. ..this is it. This book shows you what the UCSD Pascal Operating System is, how it works ana how to use it. File handling, program editing, compiling, running a program, and using special features for large pro- grams are emphasized. Included as well are many useful reference tables as appendices. 250 pp., 10 illustr., Ref. P370, $14.95 >M EX November 1981 © BYTE Publications Inc 91 SAMPLER, are shown in figure 5. These routines make it easy for BASIC to send the required sampling parameters to the data-acquisition program, to initialize the Z80 pro- cessor's alternate register set used by those routines, and to enable inter- rupts so that sampling may begin. The BASIC program communicates with these two initializers by first creating in memory a table that con- sists of the appropriate values of the parameters (obtained by prompting the operator). It then uses the CALL function to jump to the initializer and sends the address of the table in the DE register pair. Once sampling has begun, a BASIC program can also follow the course of sampling, displaying the data con- tained in the PROCESSOR main buf- fer, altering some of the sampling parameters, stopping sampling, or terminating the experiment (which causes the data in the buffer to be saved on disk). BYTE NUMBER 1 2 3 4 5 NUMBER OF CHANNELS IN FILE NUMBER OF DATA POINTS (H) NUMBER OF DATA POINTS (L) CHANNEL 1 CHANNEL 2 CHANNEL 3 > DATA, TIME 1 CHANNEL 1 CHANNEL 2 CHANNEL 3 S DATA, TIME 2 Figure 6: Map of the structure of the data file used by the author's programs. Three file-information bytes precede the actual data in the file. Data File Structure When the main data buffer is full or the sampling period is finished, three file-information bytes are placed in front of the buffer and it is written directly to disk using the North Star DOS library routines. The resulting disk-file structure is shown in figure 6. The first byte indicates how many channels (in binary encoding) are sampled in the file. The next two bytes indicate the total number of data points (in bytes) in the file (again, binary encoded, high byte followed by low byte). Each of the following bytes is a data point, represented in two's-complement notation, which is the form of the data returned by the Cromemco A/D board. If the number of channels in a file record is N, then the data for channel 1 will be found at every Nth byte, beginning at the fourth byte; similarly for channel 2, which begins at the fifth byte, and so on for all N channels. There are two ways for a BASIC program to access the data in the file. North Star BASIC has a byte-access facility, so the data may be read a byte at a time by a READ statement. Alternatively, the data may be writ- ten from disk to memory, and then the EXAM (or PEEK, as it is called in some BASICs) function can read the data. I use this latter method: it reduces disk accesses and permits the graphic display on the oscilloscope to be done by fast machine-language routines. Once the data is read into BASIC, almost any kind of manipulation can be done. As an example, curve A in figure 1 shows the raw data of the growth response of a sunflower seed- ling to a short pulse of light. Curve B shows the same data after smoothing (using a 9-point moving weighted average), and curve C shows the out- put of a program that fits the data to a first-order exponential decay to a lower asymptote. Other Uses I've discussed how the computer has been used in the laboratory for data acquisition, experiment control, and data processing, and up to this point the controller aspects of the computer have been fairly rudimen- tary. Primarily, it has been function- ing as a timer to turn devices on and off. The next level of complexity in- volves having the computer examine the data as it comes in, and exert its control options contingent upon what the data look like. For example, a BASIC program could study the data contained in the main data buffer. When it detects a certain pattern, say an oscillation or the peak of an oscillation, it could then turn on a lamp or apply a voltage to electrodes; the only limit to the complexity of the controlling features is in the program itself. In addition to these uses, the microcomputer can assist the re- searcher in other ways. Small- to medium-sized mathematical model- ing programs can be run on these machines. A bibliography program could help the researcher keep notes in useful, accessible order. A text editor can be used to write articles. Finally, for those jobs that require a larger computer, the microcomputer can collect the primary data, then transmit the data at high speed to the mainframe computer. ■ 1. Balcom, Orv. "Interfacing a Microcom- puter to the Analog World." Interface Age. July 1978, pages 68-75. 2. Olson, Hank. "Controlling the Real World." March 1978 BYTE, pages 174-177. 3. Titus, J; P Rony; C Titus; D Larsen. Microcomputer-Analog Converter Software and Hardware Interfacing. Indianapolis: Howard W Sams & Co Inc, 1978. Readers may obtain the programs and com- plete source listings as shown in this article at a nominal copying fee from the North Star Soft- ware Exchange, North Star Computer Co, Berkeley CA 94710. 92 November 1981 © BYTE Publications Inc Circle 397 on inquiry card. Listing 1 continued: a a ■ ■ A<=INPUT DATA a B<=CHANNEL COUNTER a C<=I/0 PORT ADDR a DE<=DATA W/SIGM BIT COMPLEMENTED a HL<=PREVIOUS BUFFER DATA a a a X<=ADDR OF BUFFER DATA CADRDAT) 019C DDE5 SAMPLE PUSH X SAVE REG 0I9E DD2A 0183 a LIXD NTMPAD LOAD BUFFER ADDR 01A2 0E19 a MVI C31Q CHANNEL ADDR=3t OCT 1 A* 3A 0137 a LDA CHNL SCHANNELS 01A7 47 a MOV B,A INTO B 0IA8 1600 a a MVI D,0 CLEAR 01AA DD22 01B3 a; 3FETCH: SIXD ADRDAT+1 ; STORE ADDR 01AE DD22 01BC a SIXD STDAT+1 01B2 2A 0000 3ADRDAT LHLD 0000 GET DATA WHOSE ADDR IS a STORED HERE(0 NOT REAL a ADDRESS) 01B5 ED78 a INP A 01B7 EE80 a XRI 128D COMPL SIGN BIT 01B9 5F a MOV E,A 01BA 19 a DAD D , ADD TO OLD DATA 01BB 22 0000 aSTDAT: SHLD 0000 STORE DATA AT ADDR a STORED HERE (0 NOT a REAL ADDR) 01BE 05 a DCR B ALL CHNLS SAMPLED? 01BF 2847 a JRZ COUNT YES 01C1 DD2 3 a INX X NO, UPDATE BUF ADDR 01C3 DD23 a I NX X 01C5 oc a INP. C UPDATE PORT ADDR 01C6 18E2 a a JMPR FETCH LOOP TILL DONE 01C8 a; 3TMPBF1 .BLKW 16D BUFFER 1 1E8 a a MPBF2 .BLKW 16D BUFFER 2 a a a at DATA [S NOW LOADED AND STORED IN TEMP BUF 0208 DDE1 iOuNT: POP X RESTORE X 020A 3A 0138 a LDA I N T i S REINITIALIZE 020D 47 a MOV B,A INTRPT CNTR 020E 3A 013A a LDA SCNTR TIME TO PROCESS? 021 1 3D a DCR A 0212 2S0E a JRZ UPDATE YES, DO PROCESS 021 036B E5 START: PUSH H SAVE REGS 036C 23 a INX H GET LOW BYTE ADDR 036D 5E a MOV E,M LOAD JMP ADDR 036E 23 a INX H INTO DE 036F 56 a MOV D,M Listing 1 continued on page 416 ISESENDMI i'KOGRAMS IENTLSTS AND ENGINEERS S 1 .50/book UPS Ll75C/buok 4th c B/bouk ovorsei orchai \M EX. [CA add lax] $ Total Amount I 2344 SIX I l PHONI REE OUTSIDE CA 800/2 ii r TO November 1981 © BYTE Publications lnc 95 All you need if you lose the Card. Emergency replacement around the world. No matter where or when in an emergency, you can get an American Express* Card replaced quickly. Usually within 4 hours. Sometimes it may be the next business day. But in any event, you'll be back on the road, fast. Because you can ;o to almost 1,000 of the Travel Service Offices of American xpress Company, its subsidiaries and Representatives. They can also help with emergency funds. And assist you with other ost travel documents and tickets. No other card can do all this, this fast, in. this manyplaces. One more reason to carry the American Express Card. Don't leave home without it Data-Base Management Systems: Powerful Newcomers to Microcomputers Michael Gagle and Gary J Koehler Micro Data Base Systems Inc POB 248 Lafayette IN 47902 Andrew Whinston Krannert Graduate School of Management Purdue University Lafayette IN 47907 Large computers are already running many successful applications programs developed by using commercial data-base management system (DBMS) packages. DBMS packages for large computers sell in the $50,000 to $200,000 range and require approximately 50 K words of memory. As a result, it is impractical to apply the development concepts used on large machines to data- base management systems for the microcomputer. A more promising approach is to create a DBMS offering the best features of systems for larger computers, yet fit- ting the microcomputer's capabilities. Two of the authors of this article, Gary Koehler and Mike Gagle, work for Micro Data Base Systems, Inc, and have participated in the development of a data-base management system tailored to the microcomputer. Called MDBS.DMS, this data-base management package serves as the basis of most of the discussion that follows. But first we'll explain the basic concepts and terms of data-base management systems. Data-Base Concepts and Terms The central concept of data-base management is to create files that can be linked from different points of view. By using different linkages, the user can generate different kinds of reports based on the same data files. The DBMS makes this possible by handling all the details of data storage. When using the DBMS, the user never refers to physical storage locations, but deals instead with the conceptual structure of the data. Many of the concepts used in commercial data-base systems were defined by CODASYL (Conference on Data Systems Languages). A brief description of impor- tant concepts from the CODASYL report of April 1971 will help you follow the rest of this article: Data item: A unit of data that can take on a range of values. Examples of data items are customer names, part numbers, and selling prices. Each data item may have a name assigned to it. Record type: A collection of zero or more data items. An example of a record type is the collection of the data items customer name, address, city, and zip code. The user can give a record type a name (such as CUSTOMER, for our example). A data-base record corresponds to a logical record in programming languages such as Pascal. Record occurrence: A record type such as CUSTOMER can have many occurrences in the data base, one occur- rence for each customer. The values of the data items in each record occurrence reflect the appropriate values for the corresponding customer. Set-type: As data items can be grouped into records, records can be linked into sets. Sets in the CODASYL sense do not correspond to mathematical sets, but rather to an ordered grouping of related records. Usually, a set consists of one record occurrence (referred to as an OWNER) that has several occurrences of some other record type (MEMBERS) associated with it. Consider again the case in which a supplier could supply various parts. A set relation could be defined between the sup- plier record type and the parts record type linking a sup- plier with different parts supplied. In the CODASYL specifications, sets are said to be "one-to-many" sets. Any member record occurrence (such as a part) can be associated with only one owner Circle 22 on inquiry card. November 1981 © BYTE Publications Inc 97 record occurrence (such as a supplier) through a given set-type. If several suppliers can supply the same part, there exists between supplier and part a "many-to-many" relationship. Some DBMS (such as MDBS.DMS) explicit- ly allow many-to-many relationships, while others can support such relationships only by creating a dummy record, called a "nub" or "link" record. Features of Data-Base Systems Data-base management systems offer many attractive features, including: multiple views of data, data-base flexibility, nonredundancy of data, security of data, self- description of data bases, query processing, and interfac- ing with a host language. Sequential file organization is adequate for some pro- gramming purposes. Sequential files assume that all data in a file will be processed in a certain order. The ISAM (indexed sequential-access method) helps meet the need to access a particular sequential record by reference to an index or key. For simple data structures, an ISAM-type organization works well enough. But as the interrelationships of the data become more complex, even simple reports and rou- tine updating of data require more file handling. Further- more, simple data structures quickly become complex as users begin to appreciate the usefulness of the computer and request more applications. A true data -base management system is specifically de- the POWER Of Your HP-85 or Commodore Pet/CBM With TNW's 1EEE-488 Bus System Building Blocks... TNW-2000 TNW's RS-232 SERIAL INTERFACES Connect your PET/CBM to any RS-232 Serial Printer. Plotter. CRT Terminal. Modem, or other device: TNW-10Q0 TNW-2000 TNW-232D ONECHANNEL OUTPUT ONLY ONECHANNEL INPUT AND OUTPUT TWO CHANNELS. INPUT & OUTPUT 12 RS-232 CONTROL SIGNALS $129 $229 $369 TURN YOUR PET INTO A TERMINAL Access Timesharing Systems and Bulletin Boards with TNW's Pterm Software and full service telephone modem: TNW-103 AUTO ANSWER/AUTO DIAL USE WITH DAA $389 Pterm also works with acoustical couplers and other modems interfaced to the PET with the TNW-2000 or TNW-232D. Electronic mail and TWX Terminal programs also available. All units are addressable IEEE-488 devices, complete with power supply cabinet, full documentation and one year warranty. TNW CORPORATION 3351 Hancock St. • San Diego, CA., 92110(714) 225-1040 TWX91 0-335-1 194 Visa/Mastercharge Welcome • Dealer inquiries invited signed to handle complex data structures by offering multiple views of the same data; that is, a DBMS lets an applications programmer view a data structure in the way most convenient for the application at hand. Greater convenience means that the programmer spends much less time writing, debugging, and maintaining pro- grams — enough time to offset the start-up costs of the DBMS. Data-Base Flexibility It's common to hear someone say, "Now that we have our inventory system computerized, it sure would be nice to have a report on " The blank can be filled with almost anything from "delivery times from all suppliers in Kansas" to "average inventory level of parts that cost more than $10 each." Sometimes hindsight shows you should have included in the system some data (say a re- order point) not defined in the original data base. That's why DBMS should include the ability to add or delete types of data in the data base. Of course, changing the data-base structure often requires updating the data oc- currences. If the DBMS can do this updating, the process of changing the data structure is straightforward. In the absence of a restructuring feature, the typical user defines extra item fields for "future use" or else re- builds the data base. The first alternative is wasteful and doesn't allow for adding or deleting record types or set relationships. The second alternative is painful to say the least. Nonredundancy of Data Often, one piece of information (say a supplier's name) appears in several different data files. If the supplier in- corporates and changes its name, updating requires find- ing the old name in each of the data files and then making the change in each case. Further, if a file is sorted by names, the file may have to be re-sorted. If the name of the supplier occurs only in one place, up- dating is simple. And so it is in a data base with an appro- priately organized structure. The data-base system auto- matically performs any data reorganization necessary to maintain sorted orders. The nonredundancy feature also reduces problems caused by inconsistent data. Security of Data There are a variety of ways to protect the privacy and integrity of data in a data base. These include sophisti- cated authorization checks and password validation. The security mechanisms of the MDBS.DMS data-base man- agement system will serve as an example. When the user defines data to the MDBS.DMS system, the user gives each piece of information separate read- and write-access levels. Additionally, the system pro- vides that each user may be declared and given unique read- and write-access permission and an access pass- word. When the data base is used, the DBMS prohibits persons from reading or writing data unless their access level permits it. A clerk may be restricted to reading the 98 November 1981 © BYTE Publications Inc Circle 411 on inquiry card. A Database System that thinks like you da Sequitur. Its name suggests both its simplicity and its secret. We linked a word processor and a relational database system together with a powerful minicomputer and produced one of the rarest forms of computer life: a system so sophisticated that a beginner can use it. It helps you learn. It's amazingly friendly. You can sit down in front of a terminal, pick up the Sequitur operating manual, and computerize your own data. So can anybody else, no matter how computer-shy. Even unassisted, it won't take more than a few hours of tinkering. You can enter, edit, excerpt and report in a logical, orderly sequence. You just list the data you want to store. Sequitur organizes it into an easy -to-read table, which you can edit or call up at will, all or in part. Then you're ready to ask questions, make reports, print forms, write form letters or whatever. It speaks your language. You work with simple, clear commands. Sequitur avoids the arbitrary codes *^~~ 0> and rituals that C clutter up most systems. To add a row to a table, you just type in the word "ADD ',' then fill in the blanks. In other systems, the same operation typically requires something like "INSERT INTO EKP (EHPNO.ENAME. JOB, SAL): <7989, 'CARTER-', 'SALESHANM500>?r Its cost is friendly, too. Today, Sequitur is ready to work with the multi-user Unix operating system on the powerful Onyx mini- computer. You can install Sequitur on your Onyx for $3495. If you've investi- gated serious Unix-compatible software, you know what a good price that is. But you'll never appreciate Sequitur until you see it in action, which you'll be able to do at COMDEX. Or you can get in touch with Pacific Software, 2608 Eighth Street, Berkeley CA 94710. Phone, (415) 540-0616. Sequitur Pacific Software Manufacturing Company Onyx Distributing, Inc. Unix is a trademark of Bell Laboratories. At COMDEX, you'll find Sequitur at the Pacific Software booth (A60) and the Onyx booth (430). Circle 334 on inquiry card. % • 9 COMPLETE CATALOG OF COMPUTER EQUIPMENT AT DISCOUNT PRICES. ANOTHER BOMBSHELL FROM INNOVATIVE PRODUCTS! S299 64K-4Mhz.-IEEE Assembled & Tested 64K S-100 DYNAMIC RAM MEMORY BY COMPUTER SYSTEM RESOURCES Works with Cromemco. North Star, Teletek. Tarbell. most Z80 and 8080 systems even with DMA. Guaranteed to work in your system or your monoy will be refunded within 15 days of purchase ALSO AVAILABLE PARTLY POPULATED 16K S239.00 32K S259 00 48K S279.00 Q.T. COMPUTER SYSTEMS: MODEL DESCRIPTION (ALL ASSEMBLED & TESTED) PRICE MF«DD12A ...25A Mamlramc, 12 Slot. S1 00. Dual 8"' Drive .562500 MF'18A 25 A Tabletop Mamlramc 18 Slot. S100 45000 MI"<12A 25 A Mainframe: 1? Slot. S100. Dual 5" Drive . . 45(11)0 /•80A Single Board, Z-80 Computer 2/4 Mh/ S-100 .. 18500 / • 80A 2 2 Monitor Program lor Z • 80A & Tarbell or VI • 1 .... 30 00 RAM 32 22K Sialic RAM Board Low Powci S 100 499 00 OTCIOA 2 Serial & A Parallel Port I O S-100 33! OTCCCSA Clock Calendar Board S-100 12500 OTCCCAA Clock Calendar Board lor Apple 12500 OTCCCTRS80 Clock Calendar Modulo tor TRS-80 12500 VISTA COMPUTER COMPANY: MODEL DESCRIPTION (ALL ASSEMBLED & TESTED) PRICE V300 25 ..Letter Quality Printer, 25 CPS S1895 00 V300 45 ..Letter Quality Printer 45 CPS 219500 V DRIVE . . Dual 8" Disk Cabinet. Power Supply. Rack Mountal* ... 375 00 COMPUTER SYSTEM RESOURCES: MODEL DESCRIPTION (ALL ASSEMBLED & TESTED) PRICE RAM 16 ...16K Static RAM S-100 SI 79 00 RAM 16C .Low Power (CMOS) Version nl RAM 16 t 3 Wall 25900 RAM 65 ... 1 6K Static RAM I ' O Port Bank Select S- 1 00 1 89 00 RAM 65C .Low Power iCMOSl Version ol RAM 65 1 4 Wall . . . 27900 RAM 32 . . .32K Low Power 8 Brl Static RAM. 24 Address Lines. 499 00 RAM 256..256K 8 16 Bil Dynamic RAM Fully IEEE 696 129500 I 0-8 8 Port Serial I O Fully IFFE upto200KBAUD 59500 ORDERING INFORMATION: Minimum Order is $15.00. Prices quoted do not include shipping and handling. Foreign orders require prepayment by MICR or Money Order in U.S. funds. All other orders require prepayment or COD shipment. PLACE ORDERS TOLL-FREE: 1 (800) 423-5141 In Alaska, Calif., and Hawaii, call us collect at (213) 883-3244. TO RECIEVE OUR FREE CATALOG OR FOR TECHNICAL INQUIRIES CALL (213) 883-3244 7131 OWENSMOUTH AVE. / #21 D CANOGA PARK, CALIFORNIA 91303 213 / 883-3244 800 / 423-5141 , price of an item, while a manager can change the price. The system also includes precautions that make it dif- ficult to infer information about data in the system. Self-Description of Data Bases An integral part of a data base is its data directory, which contains information about each type of data de- fined in the data base. This information includes the name of the data item, the data type (in the larger sense, eg: CHARACTER, REAL, INTEGER), the length of the data item, and its read/write access levels. Data items are grouped into named records, and records may be organ- ized by sets. Thus, the data directory keeps information on the records (including the data items in the record and the read/write access levels of the record itself), and the sets (including the ordering of the set of records and the records allowed in the set). The data directory contains all the information needed for the DBMS to maintain the data base. However, the presence of the data directory implies that generalized programs can be developed that are independent of any particular data base. These programs can extract infor- mation from the data directory and, based on this infor- mation, process the data in the data base. There are essentially two types of programs: a broad class written in a host language such as BASIC, and a generalized report writer or query processor. Query Processing A query system consists of programs that can add, retrieve, update, and display data from a data base. A query system is flexible in that it is not restricted to a par- ticular data base or data structure, but will work with a wide variety of data bases. Query systems are usually in- tended for nonspecialists who wish to use a data base or programmers who wish to perform initial checkouts of program logic. Most query systems can be used to gener- ate reports from data in the data base, and the more so- phisticated query systems allow great flexibility in use. Examples of query language statements might be: • LIST CUSTOMER NAME, ADDRESS FOR STATE = 'OHIO' • CHANGE UNIT-PRICE TO 0.75 FOR PART.NUM- BER = 056127 Interface with a Host Language Most data-base systems can be accessed by "host-lan- guage" programs. In microcomputers, this is generally done by a call to a subroutine that contains the DBMS code, which is written in machine language for optimal processing speed. Typical capabilities include: • Create: Create an occurrence of a data record. • Store: Store data in the data base. • Fetch: Retrieve data from the data base. • Insert: Put a data record in a data relationship. • Modify: Change data in a data record. 100 November 1981 © BYTE Publications Inc Circle 196 on inquiry card. *••••••*•*** A SELF-COMPILING RELATIONAL DATABASE & APPLICATION SYSTEMS GENERATOR DATABASE SELECTION — ■ Uses screen masks to form query ■ Provides extensive search capabilities ■ Search arguments can include arithmetic/boolean functions, multi-field comparisons ■ Queries can generate input for automatic database maintenance ■ Queries can be stored in "Query Library" and executed from menu on demand ■ Any number of fields can be queried concurrently ■ Query output can be routed to disk, CRT report formatter, VISICALC™ or SOURCE™ DATABASE MAINTENANCE— ■ Uses sophisticated screen formatting & data entry, like on IBM 3270's! ■ Generates it's own screens automatically! ■ Handles records up to 4K in length, using multiple screen "Pages"! ■ Automatic data compression for increased disk capacity ■ Uses SuperKram access method for incredibly fast access, LESS THAN .2 SECONDS FOR A RECORD! ■ Automatic index creation/maintenance ■ Automatic maintenance capabilities ■ "Goof-Proof" error handling ■ Input can come from VISICALC™ or SOURCE™ DATABASE REPORTING— ■ Automatic headlines ■ Automatic field editing ■ Report fields can be calculated, sub-totaled & cross- footed in any manner desired ■ Optional counter breaks may be set ■ Automatic grand totals ■ Automatic statistics REQUIREMENTS — SuperKram (available separately) and: Commodore Pet 32K (40 or 80 col.) and 2040/4040/8050 disk OR Apple II 48K with Applesoft or language system and 2 disk drives orCORVUS. ONLY $225 WITH SUPERKRAM FIRMWARE $325 750 THIRD A VE. NEW YORK NY 10017 UNITED SOFTWARE OF AMERICA Look lor the RED-WHITE-BLUE United Software Display at your local computer dealer, or send check or moneyorder, plus $3.00 shipping (212) 682-0347 Telex 640055 * * * * * * ************* FOR ONLY $129.95 Learn Computing \ From The Ground Up Build a Computer kit that grows with you, and can expand to 64k RAM, Microsoft BASIC, Text Edi- tor/Assembler, Word Processor, Floppy Disks and more. EXPLORER/85 Here's the low cost way lo leam the fundamentals of com- puting, the all-important basics you'll need more and more as you advance in compuler skills. For jubI S129.95 you ge\ the advanced -design Explorer/85 motherboard, with all Ihe features you need to learn how to write and use programs. And it can grow into a system that is a match for any personal compuler on Ihe market. Look al these features: B085 Cenlrril Processing Unit. Ihe microprocessor "heart" of Ihe Explorer/85, (loin Ihe millions who will buy and use Ihe B080/B085 this year alone!). . . Four 8-bit plus one G-brl input/output ports from which you can input and output your programs, as well as control exterior switches, relays, lighis. elc. a cassette interface that lets you store and reload programs you've learned lo write . . . deluxe 2,000 byte operating system/monitor makes it easy lo learn computing in several important ways: • It allows simpler, fasler writ- ing and entering of programs • It permits access by you to all parts of the system so you can check on Ihe status of any point in the program • It allows Iracing each pro- gram step by step, with provision for displaying all Ihe contents of Ihe CPU (registers, flags, etc.) «... and it docs much more! You gel all this in the starling level (Level A) of Ihe Explorer/B5 for only S129.95, Incredible! To use, iusl plug in your 8VDC power supply and terminal or keyboard/display — if you don'l have them, see our special offers below. □ Level A computer kit (Terminal Version) . . . $129.95 Blus$3P&I.* I Level A kit (Hex Keypad /Display Version) . . . $129.90 plus S3 PS 1.* LEVEL B — This "building block" converts Ihe mother- board into .i two-slot SlOO bus (industry standard) com- puter. Now you can plug in any of the hundreds of SlOO cards available. Q LevelBkil . . $49.95 P lus$2P&I.' O SlOO bus connectors (two required) ... $4.85 each, postpaid. LEVEL C — Add still more computing power; this "build- ing block" mounts directly on Ihe motherboard and expands the SlOO bus lo six slots. a Level C kit.. .138.95 plus! P&L* □ SlOO bus connectors (fb required) . . S4.85 eacl postpaid. LEVEL D — When you reach Ihe point in learning lhat re- quires more memory, we offer two choices: either add 4k of a memory directly on the motherboard, or add 16k lo 64k of memory by means of a single SlOO card, our famous "JAWS." Level D kil. (CHECK ONE) . . . D 4k onboard . . . $49.95 plus S2 PAIV D 16k SlOO "|AWS": . . . J149.98 plus $2 P&IVO 32k SlOO "|AWS". . . 1199.95 plus $2PA!*;G 48k SlOO "|AWS" . . . $249.95 plus $2 P&IV D 64k SlOO "JAWS" . . . 1289.95 plus S2 Pal*. LEVEL E — An important "building block:" it activates iheBkROM/EPROM space on the motherboard. Now jusl plug in one 8k Microsoft BASIC or your own custom programs. D Level E kil . . . 15.95 plus 50C PAL* Microsoft BASIC — It's the language lhal allows you to talk linglish to your computer! ll is available three ways; D Bkcasselte version of Microsoft BASIC: (requires Level B and 12k of RAM minimum: we suggest a 16k SlOO "IAWS"— see above) . . . 184.95 postpaid. D 8k ROM version of Microsoft BASIC: (requires Level B & Level E and 4k RAM: just plug inlo your Level E sockets. We suggest either Ihe 4k Level DRAM expansion or a 16k SlOO "JAWS") . . . S99.95 plus $2 PAL* □ Disk version of Microsoft BASIC: (requires Level B. 32k of RAM, floppy disk controller. 8" floppy disk drive) . »325 postpaid. TEXT EDITOR/ASSEMBLER — The editor/assembler is a software tool (a program) designed lo simplify Ihe task of writing programs. As your programs become longer and more complex, the assembler can save you many hours of programming lime. This software includes an editor program lhat enters the programs you write, makes changes, and saves Ihe programs on cassettes. The assem- bler performs ihe clerical task of translating symbolic code into Ihe computer-readable object code. The editor/ assembler program is available either in cassette or a ROM version. D Editor/Assembler (Cassette version; requires Level "B" and 8k (min.) of RAM — we suggesl 16k "JAWS" — see above) . . $59.93 plus 52 P&L* P Editor/Assembler (ROM version, supplied on an SlOO card: requires Level B and 4k RAM (min.) — we suggesl eilher Level D or luk "JAWS") . . . 599.95 plus 52 PAL" B" FLOPPY DISK — A remarkable "building block." Add our 8" floppy disk when you need fasler operation. more convenienl program storage, perhaps a business ap- plication, and access to Ihe literally thousands of programs and program languages available today. You simply plug them into your Explorer/85 disk system — it accepts all IBM-formatted CP/M programs. O 8" Floppy Disk Drive . . . 1499.95 plus $12 P&l.* D Floppy Controller Card ... $198.85 plus $2 PAL* □ Disk Drive Cabinet A Power Supply . . . M91.9S plus S3 PAL' D Drive Cables (sel up for two drives) . , , $25,00 plus $1.50 P&l.* D CP/M 2.2 Disk Operating System: includes Text Edi lor/ Assembler, dynamic debugger, and other features that give your Explorer/85 access tu thousands of existing CP/M-based programs . . . $150.00 postpaid. NEED A POWER SUPPLY? Consider our AP-1. It can supply all Ihe power you need far a fully expanded Ex- florer/85 (note, disk drives have theirown power supply). lus the AP-1 fits neatly into the attractive Explorer stee\ cabinet (see below). a AP-1 Power Supply kil (fiV B S amps) i n delu xe steel cabinet . . . $38.85 plus 52 PAL' NEED A TERMINAL? We offer you choices: (he least ex- pensive one is our Hex Keypad/Display kil thai dis- plays the information on a calculalor-lype screen. The other choice is our ASCII Keylxiard/Compuler Terminal kit. thai can be used with eilher 5 W' . i. Plug in Nelronic's Hex Keypad/Display 2. Add Level B to ROnvorl 10 SlOO •A. Mil 4k HAM 4. Plug in Level E lien:; ac- cepts Microso/ BASIC or rj/ilor/Assemliler 1(1 BOM 5. Add two SlOO boards fi. Add you own custom cir- cuits (prototyping oreu) a CRT monitor or a TV set (if you have an RF modulator). , O Hex Keypad/Display kil ... . $69.95 plus 52 P&l.* ] full 128 character sel. u&l case, full video output, convertible to baudol output, selectable baud rale. RS 232-C or 20 ma.l/O. 32 or 64 character by 16 line for- mats ... $149.95 plus S3 P&l.* :l for ASCII Key board /Terminal . . . $18.9 s you lo use your TV sel as O Sleel Cabini plus $2.50 P&l.* i ) RF Modulator kit (allo\ monitor) . . . $8.95 postpaid. □ 12" Video Monitor (10MHz bandwidth) ... $138.95 plus $5 P&L* D Deluxe Steel Cabinet for (he Explorer/85 . . . $49.95 plus $3 P&J.* . $15.00 ORDER A SPECIAL-PRICE EXPLORER/85 PAK— THERE'S ONE FOR EVERY NEED. a Beginner Pak {Save $26,00) — You gel Level A (Ter- minal Version) wilh Monitor Source Listing (S25 value) AP-1.5-amp. power supply. Intel 8085 Users Manual. . . (Reg. $199.95) SPECIAL $169.95 plus S4 P&L* Ll Experimenter Pak (Save $53.40) — You gel Level A (Hex Keypad/Display Version) wilh Hex Keypad/ Display. Intel B0B5 User Manual. Level A Hex Monitor Source Listing, and AP-1 ,5-amp. power supply . . . (Reg. $279.95) SPECIAL $219.95 plus $6 P&L* Q Special Microsoft BASIC Pak (Save $103.00)— You gel Levels A (Terminal Version). B. D (4k RAM). E. 8k Microsoft in ROM. Intel 8085 User Manual, Level A Moni- tor Source Lisling, and AP-1, 5-amp. power supply . . . (Reg. $439.70) SPECIAL $329.95 plus $7 P&I." D ADD A ROM-VERSION TEXT EDI- TOR/ASSEMBLER (Requires Levels B and D or SlOO Memory) . . . $99.95 plus $2 P&I.* Starter B" Disk System — Includes Level A. B floppy disk controller, one CDC B" disk-drive. Iwo-drivc cable, two SlOO connectors; jusl add your own power supplies, cabinets and hardware . . . U (Reg. $1065.00) SPECIAL $999.95 plus $13 PAL* . . .D 32k SlarterSyslem. $1045.95 plus $13 P&L* D 48k Starter System, $1095.95 plus $13 P&L' D 64k Starter System. $1145.95 plus S13 P&I.* O Add to any of above Explorer sleel cabinet. AP-1 five amn. power supply. Level C wilh two SlOO connectors, disk drive cabinet and power supply, Iwo sub-D connec- lors for connecting your printer and terminal . . . (Reg. $225.95) SPECIAL $199.95 plus S13 P&L* a Complete 64k System. Wired A Tested . $1650.00 plus 526 P&L* □ Special! Complete Business Software Pak (Save 1628.00)— Includes CP/M 2.2 Microsoft BASIC, General Ledger, Accounts Receivable, Accounls Payable, Payroll Package. . . (Reg. $1325) SPECIAL $699.95 postpaid. "Pfrl stands (or "postage & insurance." For Canadtan n tiers, double this omuunl. Continental Credit Card Buyers Oulside Connecticut: i TO ORDER Call Toll Free: 800-243-7428 \ To Order From Connecticut, or For Technical ' Assistance, call (203) 354-9375 i "j{ (Clip and mail entire adjjlf l SEND ME THE ITEMS CHECKED ABOVE ] Total Enclosed (Conn. Residents add sales lax): $ i Paid by; I I D Personal Check G Cashier's Check/Muney Order I D VISA D MASTERCARD (Bank No. J^^ETRONICSResearch&DevelopmentLtd.: 18*1333 Litchfield Road, New Millord, CT 06776 102 November 1981 © BYTE Publications Inc • Find: Locate a data occurrence. • Delete: Delete a data record. • Remove: Remove a data record from a set. The data base may also be accessed by query systems, as mentioned previously. Program Example In order to explain the advantages of using a DBMS in a microcomputer environment, we will present an exam- ple using the fictitious Nibble Computer Store. This store retails components and equipment supplied by many vendors. One of the store's major concerns is to keep customers satisfied by providing speedy service. The store maintains an inventory-order system with a track- ing of customer orders. Handling this management problem requires the fol- lowing reports: Report 1: A list of customers (sorted by name) who have placed an order within the last sixty days. Report 2: A list of parts that need to be reordered. Report 3: A list of customers whose orders have been outstanding for more than two days. Also, a list of the parts (and the name of the sup- pliers of those parts) that are holding up those orders. The data requirements are as follows: Requirement 1: Maintain a list of customers, sorted by name and by customer number. Requirement 2: Maintain a list of suppliers, sorted by name and by supplier number. Requirement 3: Maintain a list of parts stocked, sorted by description and by part number. Requirement 4: Keep track of which parts are supplied by each manufacturer. Requirement 5: Keep track of the status of each cus- tomer's orders. We first show a possible (although simplistic) way to implement such a system using conventional file-manage- ment techniques. A Conventional Approach Although there are many ways to design a system to perform the functions needed by the Nibble Computer Store, most suitable systems would require creating and maintaining a file for each particular application. Table 1 shows several types of files that might be required. A look at the five data requirements shows why so many files are needed. Consider requirement 1. A file of customer data can be sorted either by name or number. But to sort the file by both name and number usually re- quires that a copy of the file be made first. Then the original file can be sorted by customer name, and the Circle 186 on inquiry card. > _._..-■ uiM\\\\\- rwPt&w m 111 Not bad for the first day. This morning, no one in the office knew a thing about making graphs. And now secretaries and managers alike are producing crisp, concise charts and graphs for marketing analysis, industry forecasting and sales presentations. Without writing a single computer program. Picture your data the way you want it. The key is a graphics work-station from Hewlett-Packard. Built around our HP 2647A intelligent terminal, it's like putting an entire art depart- ment at your staff's fingertips. Not only can you call up your standard business reports on pro- duction performance, sales figures or market trends, but with just a few simple keystrokes, you can turn them into clear and helpful pie charts, line and bar graphs, log- arithmic charts, overhead transpar- encies and more. (It's also easy to tailor to more sophisticated applications.) Draw your own conclusions. Invite your secretary along to your nearest HP sales office for a demon- stration of our graphics products (we're listed in the White Pages). And bring your company's annual report or other business data— we'll be professional an amateur artist can be. Or, if you'd like more information first, just return the coupon below. ra HEWLETT PACKARD r~" Yes. I'd like more details about your graphics workstations. Please send me your brochure. Name Title Phone Company Address City/State/Zip Send to: Hewlett-Packard. Data Terminals Division. Dept. 5967, 974 East Arques Ave., Sunnyvale. CA 94086 glad to Show you jUSt how Jj-mnio/t, ^"^ Anderson. Ma^etingManager.^^ J File 1 File 2 File3 (Sorted by Customer Name) (Sorted by Customer Nurr ber) (Sorted by Supplier Name) Customer Name Customer Number Street City State Zip Code Customer Name Customer Number Street City State Zip Code Supplier Name Supplier Number Street City State Zip Code File 4 File 5 File 6 (Sorted by Supplier Number) (Sorted by Part Number) (Sorted by Part Description) Supplier Name Supplier Number Street City State Zip Code Part Number Part Description Selling Price Quantity in Inventory Reorder Point Part Number Part Description Selling Price Quantity in Inventory Reorder Point File 7 File 8 ) File 9 (Sorted by Part Number) (Sorted by Date Receivec (Sorted by Order Number) Part Number Supplier Number Order Number Customer Number Date Received Date Shipped Order Number Part Number Quantity Ordered Table 1: The types of files needed to handle the data-processing tasks of management system. Since different tasks require different views of the propriately for each task. the Nibble Computer Store without using a data-base data, the programmer must maintain files sorted ap- copy file by customer number. So data requirement 1 gives us files 1 and 2. The same problem of double sorts applies to data re- quirements 2 (suppliers) and 3 (parts). This gives us six files. The easiest way to keep track of which parts are sup- plied by which supplier (data requirement 4) is to define a file containing the part numbers for each supplier (file 7). Data requirement 5 is to keep track of each customer's orders. Several approaches are possible, but we'll handle the task by creating an order file (file 8). Turning now to the required reports, report 1 is a list of customers who have placed an order in the last sixty days. The report can be made by scanning file 8 (orders sorted by date) for orders falling in the sixty-day period, and then writing the corresponding customer numbers on a file. That file can then be sorted and used to extract the names of customers from file 1. Then the names extracted can be listed in still another file. A list of parts to be reordered (report 2) is trickier. The parts-on-order file (file 9) can be scanned, and then the quantity ordered for unfilled orders can be written on a scratch file. This file can then be sorted on the part num- ber, and the quantity on order can be summed for each part. This quantity can then be compared to the number of parts in inventory and the reorder points (file 5) to show which parts must be reordered. The conventional approach could generate report 3 in two phases. First, the orders sorted by date (file 8) can be scanned to find orders that have been outstanding for more than two days. The customer numbers can then be written on a file, sorted, and used to extract the customers' names from file 1. A similar process will find the parts whose order quantity is larger than the quantity on hand, giving the suppliers' names. Four other files would also be required. Files 3 and 4 maintain supplier information (with two different sort orders). File 6 maintains parts information and file 7 gives the correspondence between suppliers and parts. Obviously, writing the needed programs and maintain- ing these data files would be tedious, even though this is a simple example, with other complicating factors left out. If additional requirements are placed on the system (such as a listing of suppliers that supply parts that sell for less than $2), more programs have to be written. We also have a problem with redundant data — if a customer's ad- dress changes, we have to update two files. Even worse, if a customer's name changes, one of the files has to be com- pletely re-sorted. The primary problem here is that different applications require different "views" of the data. For some applica- tions, having the order information embedded in the customer file would be best. But for other applications, the order data might need to be closely limited to the sup- plier file. The result is that the compromise solution of figure 1 is developed, with corresponding programming complexity. The Data-Base Management System Approach Figure 1 shows a data structure that could be used to represent the information needed for the inventory -order 104 November 1981 © BYTE Publications Inc Circle 252 on inquiry card. CASHFLOW PROBLEMS? irS NICE TO KNOW SOMEONE WHO HAS THE SOLUTION. MicroAge is your Solution Store . . . that means at F MiaoAgeComputerStores we have a wide selection of time-saving computer- ized business systems a designed specifically to solve the daily cash flow problems every business- man faces. MicroAge has computer- ized business systems that quickly and affordably allow you to regain con- trol of your critical accounts receivable ... at last making it possible for you to carry out effective collection procedures on a consistent basis. MicroAge has accounts receivable program packages to automatically display and update account information; prepare trial balance including a balance-due and delinquency aging report, and take care of dozens of other tasks that eat into your time and profit! Computerized business systems from the Micro- Age Computer Store are available in the $5,000 to $15,000 range, to suit the individual budget of your small business or professional practice. MicroAge backs up every system with personal- ized service, warranty service and repair, instal- lation, systems consulting, even customer train- ing. Visit the MicroAge Computer Store in your area soon with your business problems, and let us help you with the solution. MiaoAge co/MPurer stoiq "The Solution Store" SM El Paso, Texas (915) 591-3149 Rockvllle. Maryland (301) 762-7565 Tucson, Arizona (602) 790-8959 Albuquerque, New Mexico (505)6630955 Pleasant Hill, California (415) 660-1469 Aurora, Colorado (303) 696-6950 Rochester, New York (716) 244-9000 Hurst, Texas (817)264-3413 Sallna, Kansas (913) 625-7596 Orland Park, Illinois (312) 34*8080 Milwaukee, Wisconsin (414)257-1100 Mountain View, California (415) 964-7063 Scottsdale, Arizona (602) 941-6794 Anchorage, Alaska (907)279-6668 San Diego, California (714) 2760623 Richardson, Texas (214) 234-5955 Minneapolis, Minnesota (612) 338-1777 Omaha, Nebraska (402) 339-7441 Phoenix, Arizona (602) 2650065 Columbus, Ohio (614) 868-1550 Indianapolis, Indiana (317)849-5161 Portland, Oregon (503) 2564713 Norwalk, Conneflcut (203)8460851 St. Louis, Missouri (314) 567-7644 Oklahoma City, Oklahoma (405) 726-1837 Houston, Texas (713) 270-9647 Wilmington, Delaware (302) 996-7340 Toronto, Canada (416) 4894236 FOR FRANCHISE OPPORTUNITY INFORMATION CALL (602) 968-3168 system. The boxes represent record types (corresponding to customers, suppliers, parts, orders, and order quan- tities). The names within boxes correspond to data items, the basic units of data that form the records. Finally, four set-types are defined. Sets are used to associate records. For example, SET3 is used to associate parts with their suppliers. Since, in our simple system, each part is sup- plied by only one supplier, we say that the supplier "owns" parts, in accordance with the data-base ter- minology of set owners and members. Figure 2 shows two suppliers and the parts they supply. Information in a data base is accessed by "traversing set occurrences." To find out what parts Acme Computer supplies, we look at the occurrence of SET3, which has Acme Computer as an owner, and examine each member of the set. This allows us to retrieve data about each part supplied by Acme. Since sets are used to access data-base information, it follows that some sets must be defined that allow the user to "get his foot in the door" of the data base. This is done with sets having a record named "SYSTEM" as their owner. Such sets can be defined so all occurrences of a record can be accessed by traversing a system-owned set. SUPPLIER CUSTOMER NAME NUMBER STREET CITY STATE ZIP CODE SET1 ORDER i ' ORDER NUMBER DATE RECEIVED DATE SHIPPED NAME NUMBER STREET CITY STATE ZIP CODE PART , i VSET2 QUANTITY SET4/ SET3 NAME NUMBER DESCRIPTION SELLING PRICE ON HAND REORDER QUANTITY ORDERED Figure 1: A data structure representing the information needed to handle the data-processing tasks of the Nibble Computer Store. The boxes represent record types. The names within boxes correspond to the data items that make up the records. The lines between boxes represent set-types — ordered groupings of related records. SET3, for example, associates parts with their suppliers. One more thing about sets: since the members of a set occurrence are accessed one at a time as we traverse the set, we can put an ordering on the set. We can define the set to be ordered on, say, Supplier Name, and the DBMS will automatically maintain the records in the set in sorted order. If we define a different set ordered on Sup- plier Number, we can access the records in either order simply by choosing the appropriate set. Additional set orderings, such as FIFO (first in, first out) or LIFO (last in, first out), are also supported. With this background, we can discuss the structure of figure 1. Each customer can have zero, one, or more orders in our system, and SET1 is defined with CUSTOMER as owner and ORDER as member. The rela- tionship between orders and parts is less clear. Each order is made up of one or more parts, but each part can appear in more than one order. Also, the problem arises of where to put the quantity ordered of each part. If we put the quantity in the ORDER record, we don't know which part the quantity refers to (since the order can consist of more than one part). Similarly, an ambiguity exists if the quantity is kept in the PARTS record. The solution is to define a QUANTITY record. By appropriate use of SET2 and SET4, the quantity of each part for each order can be determined. The data structure of figure 1 as described in MDBS. DDL, a Data Definition Language of Micro Data Base Systems, Inc, is as shown in listing 1 (see page 110). The data definition for our example is relatively straight- forward. The sets such as CUSTNAME and CUSTNUM allow us to access the customer records sorted by either name or number. Several points should be made about the DDL descrip- tion in listing 1. Five users have been defined, one for each functional area of the company. The first user name, STOCKROOM, is followed by read and write authoriza- tion levels and the user's password (317-54-7674). A user may process data that has an access level equal to or less than his own. For example, the stockroom user can read supplier information, but isn't allowed to alter it since the stockroom has a write-access level of 10, while all sup- plier information has a write-access level of 50. The ac- cess levels were defined by: Level 1: Stockroom/ Inventory Control — This depart- ment must be able to read part numbers, part descrip- tions, quantity on hand, and reorder point for inventory control purposes. It must also be able to read supplier in- formation for reorder purposes, determine quantity ordered for each part, and update quantity on hand of each part as it is put into inventory. Level 2: Shipping — This department must be able to read parts information, customer names and addresses, and order information. It must also be able to update shipping date and quantity on hand for each part shipped. Level 3: Order Processing — This department must be able to enter new orders. 106 November 1981 © BYTE Publications Inc [S, Incorporated hwztwut// afishausiceA/ a new generation in data base management technology not limited not limited not limited to relational, tabular, to hierarchical structures to CODASYL network flat-file structures structures The structures above are mere subsets of the capabilities of MDBS III. Far beyond these, MDBS III provides valuable innovations available in no other system! Unprecedented POWER! FLEXIBILITY! PORTABILITY! For serious application development, MDBS III offers major advantages in these seven key areas: Extraordinary data structuring Unmatched flexibility for relating records to each other with ease. Automatic data compression where desired. Up to 255 record types per schema. High-level query language Automatically generates desired report or data file with a single statement. Language is English-like, non-procedural, and has report writing capabilities. Extensive performance control Gives application designer extensive control over record placement. . . includes automatic clustering and CALC features. For highest performance, a streamlined DML. . .over 20 host language interfaces available. All processing is data-dictionary driven. Data security and integrity User passwords and optional data encryption. Comprehensive access code facility for automatic security enforcement. Automatic range checking. Available for Minis and Micros Availability for numerous 8 and 16-bit micros, as well as for minis, provides standardized approach to data handling. Allows extensive portability of application systems. . .from the Z-80 to the PDP-11. Setting standards of excellence for data base software. . .worldwide. Micro rtiit.i Base Systems, inc. Box 248 Lafayette, Indiana 47902 31 7-448-1 61 6/TWX 810-342-1881 Dealer/distributor/OEM inquiries invited. True multi-user capabilities Supports multiple concurrent users of the same data base. Supports both active and passive locking. Automatic transaction logging Automatically logs all transactions after last back-up. Selective restoration of data base in event of a crash. Allows surveillance of user activities. For the full story about the finest application development tool existing in the mini-micro world call, write, or TWX us today! □ Yes, please send me a copy of the MDBS III brochure. □ Please send me the complete MDBS III manual set including manuals for MDBS III, RTL, QRS, and DMU plus tutorial materials. Check for $75.00 enclosed. (Indiana residents please add $3.00 for Indiana tax.) Name (PL print) Title Company Address _ City (State) (Zip) Phone MAIL TO: Micro Data Base Systems, Inc. P.O. Box 248-B Lafayette, IN 47902 Circle 258 on inquiry card. SUPPLIER ACME COMPUTER 1247 BROAD STREET LANSING IL 60060 SET3 PART ,, PART MOTHERBOARD 00104237 002346 DISK DRIVE 00105692 043950 000060 000075 000030 000045 SUPPLIER ZETA SUPPLY CO. EAST 47th STREET CHICAGO IL 60610 SET3 BOLT 10374266 000002 001000 002500 NUT 46350219 000002 001000 003000 LOCKWASHER 47906317 000001 002000 005000 Figure 2: Two of the Nibble Computer Store's suppliers and the parts they supply. This figure gives more detail on SET3 of figure 1. Level 4: New Accounts — This department must be able to add new customers to the customer list and update customer information. Level 5: Purchasing — This department must be able to add new supplies to supplier list and update supplier in- formation. It must also be able to define new parts and alter prices of parts and the supplier-parts relationships. We are now ready to generate the reports listed in table 1. To simplify matters, we will not be concerned with loading data into the data bases or updating information. Out of the repertoire of DML (Data Management Lan- guage) commands in MDBS.DMS, we will use: 51 COPY SERVICE pS*\J^^ Outside California Call (800) 854-1 5 1 5 or (800) 854-1 5 1 6 In California Call Collect (714) 436-4351 4322 Manchester Ave. Olivenhain, CA 92024 FFM: Find First Member — Insures that the first record in a set occurrence is available for processing. FNM: Find Next Member — This command actually traverses the set occurrence, moving from one record to the next each time it is called. SOM: Set Owner based on Member — Indicates that the record that is the "current" member of one set should be treated as the owner of some other set. SMM: Set Member based on Member — Indicates that the "current" member of one set-type is also the current member of some other set. GFM: Get Field from Member — Retrieves data from a named field (item) in the "current" member of a set. In MDBS.DMS, all routines return a value that gives a status indication. Frequently, a nonzero status value rep- resents an error condition. MDBS.DMS can be called from several languages running under CP/M and from disk-based Radio Shack, Apple, and North Star systems. The status value is returned to a user-defined variable. For example, in modified North Star BASIC (see refer- ence 1), a call to FFM looks like: E0 = CALL (addr, "FFM, SET3") Here, addr is the address of the MDBS.DMS software. Two entry points to MDBS.DMS are required: one for defining blocks and one for the DMS routines. The BASIC user of MDBS.DMS can define named data blocks (similar to the sub-schema of the CODASYL com- mittee report). For example, the user may want to define a block called PARTDATA made up of the BASIC vari- ables: N D$ P O R for part number for part description for price for on-hand quantity for reorder point 108 November 1981 © BYTE Publications Inc Circle 13 on inquiry card. So to insert data into the data base, the user issues the call: E0 = CALL (addr, "CRS, PART, PARTDATA") Text continued on page 120 Circle 61 on inquiry card. > Reliability, p that leaves othi time hardware \ multi-user OS fi rivals 1fc Floppy disk and printer See us at COMDEX Booth 1020 Listing 1: A description in MDBS. DDL (Data Definition Language) of a data structure meeting the needs of the fictitious Nibble Computer Store. This description corresponds to the data structure shown in figure 1. PASSWORDS STOCKROOM 10 10 317-54-7674 SHIPPING 20 20 SECRET ORDER PROCESSING 30 30 MAILROOM NEW ACCOUNTS 20 40 IGLOO PURCHASING 30 50 317-742-7388 RECORD CUSTOMER 20 30 ITEM CNAME CHAR 30 20 40 ITEM CNUMBER BIN 2 20 40 ITEM STREET CHAR 20 20 40 ITEM CITY CHAR 20 20 40 ITEM STATE CHAR 2 20 40 ITEM ZIP CHAR 5 20 40 RECORD SUPPLIER 10 50 ITEM SNAME CHAR 30 10 50 ITEM SNUMBER BIN 2 10 50 ITEM STREET CHAR 20 10 50 ITEM CITY CHAR 20 10 50 ITEM STATE CHAR 2 10 50 ITEM ZIP CHAR 5 10 50 RECORD PART 10 10 ITEM PNUMBER BIN 2 10 50 ITEM DESCR CHAR 20 10 50 ITEM PRICE REAL 8 30 50 ITEM ONHAND BIN 2 10 10 ITEM REORDER BIN 2 10 50 RECORD ORDER 20 20 ITEM ONUMBER BIN 2 20 30 ITEM RECEIVED BIN 2 20 30 ITEM SHIPPED BIN 2 20 20 RECORD QUANTITY 10 30 ITEM QORDERED BIN 2 10 30 SET SET1 MAN 1:N 20 30 SORTED ONUMBER OWNER CUSTOMER MEMBER ORDER SET SET2 MAN 1:N 20 30 FIFO OWNER ORDER MEMBER QUANTITY SET SET3 MAN 1:N 10 50 SORTED PNUMBER OWNER SUPPLIER MEMBER PART Listing 1 continued on page 112 Intelligent Systems COLOR COMMUNICATES BETTER For a demonstration, contact one of our Factory Representatives Pacific Group III Electronics CA: San Diego 714/292-0525; Sunnyvale 408/245-4392 Thorson Company Northwest OR: Beaverton 503/644-5900 WA: Bellevue 206/455-9180 Thorson Company HI: Honolulu 808/524-8633 Trans Alaska Data Systems AK: Anchorage 907/276-5616 Mountain PAR Associates CO, WY: Denver, CO. 303/371-4140 UT, ID, MT: Centerville, UT 801/292-8145 Southwest Computer Peripheral Sales AZ, NV (Clarke Co.): Phoenix. AZ 602/942-4025 BFA Corporation NM: Albuquerque 505/292-1 21 2 TX (El Paso): 915/542-1762 USDATA Engineering TX: Dallas 214/661-9633; Austin 512/ 454-3579; Houston 713/681-0200 AR, OK: Broken Arrow, OK 918/252-9646 Midwest Dytec North, Inc. MN, ND, SD: St. Paul, MN 612/645-5816 Resource Data Systems IL(No.),IN,WI,!A(ScottCo.):Northbrook, I L 312/564-5440 Digital Systems Sales, Inc. MO, IL(So.) KS, NE, IA(Excl. Scott Co.): Grandview, MO 816/765-3337; St. Louis, MO 314/946-0168; Wichita, KS316/ 685-9725; Omaha, NE 402/346-1039 Lowry & Associates, Inc. Ml, KY, OH, PA(W),WV: Brighton, Ml 313/227-7067; Grand Rapids, Ml 616/ 363-9839; Cleveland, OH 216/398-9200; Dayton, OH 513/435-7684; Pittsburgh. PA 412/922-5110 Southeast WA. Brown Instruments, Inc. GA, LA, NC, SC.TN, AL, FL: Atlanta. GA 404/455-1035; Mandeville, LA 504/ 626-9701; Durham, NC 919/683-1580; Columbia, SC 803/798-8070; Oak Ridge, TN 615/482-5761; Huntsville, AL 205/ 883-8660; Orlando, FL 305/425-5505; Ft. Lauderdale, FL 305/776-4800; Melbourne, FL 305/723-0766; Ft. Walton Beach, FL 904/243-3189 IntronCorp. VA, DC.MD: Springfield, VA 703/569-1502 Northeast J&J Associates, Inc. MA, ME, NH, VT, Rl: Winchester, MA 617/729-5770; Springfield, MA 413/ 737-6624; Goshen, CT 203/624-7800 NACO Electronics Corp. NY (Excluding Metro NY/LI.): North Syracuse, NY 315/699-2651; Cicero, NY 315/672-3751; Fairport, NY 716/223-4490; Utica, NY 315/733-1801 Technical Marketing Associates, Inc. NJ(No.), NY(Metro/LI.): Hackensack, NJ 201/646-9222 Miller &Dietz Co. PA (E.), NJ (So), DE: Malvern, PA 215/647-7373 110 November 1981 © BYTE Publications Inc Money-back guarantee for computer professionals: It took hard work and Kll \7 f Z\C experience for you to jTj * , ** v become a leader. Same \-Yf\YY\ 1 here. Founded in 1973, 1IUII1 1 we were the first company to ship « 20,000 color graphics units. We ^V sell to computer professionals— J not through computer stores. So, if you don't need a salesman to tell you what you need, try this unique offer: A factory-direct, money-back guaran- tee for our 3650 color graphic desktop computer with 56K of memory for only $1995 — plus your choice of either an internal 5'A" 92K Floppy Mini Disk Drive for $395, or an external 8" Floppy Disk Drive for $895! (These prices good only with this offer.) You can buy only one unit before 12/31/81, cash with order. Use it for 30 days; if you're not sold on the merits of your color graphic computer, return it. We will refund the full purchase price Buy factory-direct I from Intelligent!: ly to ship {-, . *"* Whys jnits. We SVStetTIS Intelliger sionals- **/»**•***»» around tl T*\7~CiireCL and your only cost J t -1 V»WV wou |t Unretouched photos of screens. This offer, not available through computer stores, expires 12/31/81. U.S. domestic prices. Circle 202 on Inquiry card. Listing 1 continued: SET SET4 MAN 1:N OWNER PART MEMBER QUANTITY SET CUSTNAME AUTO 1:N OWNER SYSTEM MEMBER CUSTOMER SET CUSTNUM AUTO 1:N OWNER SYSTEM MEMBER CUSTOMER SET SUPLNAME AUTO 1:N OWNER SYSTEM MEMBER SUPPLIER SET SUPLNUM AUTO 1:N OWNER SYSTEM MEMBER SUPPLIER SET PARTDESC AUTO 1:N OWNER SYSTEM MEMBER PART 10 30 IMMAT 20 40 SORTED 20 40 SORTED 10 50 SORTED 10 50 SORTED 10 50 SORTED CNAME CNUMBER SNAME SNUMBER DESCR SET PARTNUM AUTO 1:N OWNER SYSTEM MEMBER PART 10 50 SORTED PNUMBER SET ORDERS OWNER SYSTEM MEMBER ORDER AUTO 1:N 20 30 SORTED RECEIVED Listing 2: A program segment opening a data base using the data-base system MDBS.DMS. Brackets are used to pass addresses of variables; the right bracket has been translated to a parenthesis by North Star BASIC. Lines 1390 through 1470 represent portions of the program not given here. 1000 REM ******************************************************** 1010 REM ** 1020 REM ** User's name and password ** 1030 DIM N$ (16) , P$(12) 1040 REM ** 1050 REM ** Input user's name ** 1060 INPUT "NAME? " , N$ 1070 PRINT 1080 REM ** 1090 REM ** Now the password — but no echo ** Listing 2 continued on page 114 112 November 1981 © BYTE Publications Inc MORROW PI Leading edge technology in hard disk systems. Complete systems. Morrow Designs hard disk subsystems are delivered complete with hard disk, controller, cabinet, power supply, fan, cables and CP/M" 2.2 operating system. Widest range. Morrow Designs offers the widest range of hard disk systems available from a sin- gle supplier. 5V4," 8," 14." Five to over 100 megabytes of formatted hard disk storage. $2,995 to $17,980. Cost effective systems that work. And keep working. S-100 and more. Morrow Designs hard disk systems are designed for use with the CP/M operating system. Available soft- ware packages allow our systems to run on any IEEE696/S-100 Standard system with no hard- ware modification. Plus, Cromemco*** North Star** Vector Graphics, Godbout, Dynabyte, Exidy**** IMSAI, Micro- mation, Processor Tech- nology and California Computer Systems. Reliable systems. Morrow Designs is com- mitted to hard disk system reliability. Not simply with a 90-day warranty, but with a money back guarantee. If our system fails to perform to specification, send it back. We'll send back your money. "CP/M is a trademark ol Digital Research. ""Northstar is a trademark of North Star Computers, Inc. ""Cromemco is a trademark of Cromemco, Inc. ""Exidy is a trademark of Exidy Corporation. Circle 286 on inquiry card. Experience. As of April, 1981, there were over fifteen hun- dred Morrow Designs hard disk systems successfully installed. n fact, over 200 independent systems integrators now use our hard disks to solve their mass storage problems. Performance answers. Morrow Designs hard disk systems have been benchmarked against all other systems. None is faster under CP/M. Morrow Designs hard disks operate at 10 times the speed of a floppy disk drive. Transfer rates range from 590,000 bytes to 900,000 bytes per second. That kind of perfor- mance can become addictive. Cost effective answers. Compare Morrow prices and performance to anything presently available for S-100 systems. You'll find Morrow's price/megabyte/ performance ratio to be unmatched. Leadership in disk systems technology earned us leadership in price/performance. And that may have earned us a call from you. Circle the Reader Service Number for our full line data sheets. Can't wait? Call us at (415) 524-2101. And yes, OEM quantity prices are available, look to morrow for answers. MORROW DESIGNS 5221 Central Avenue, Richmond, CA 94804 (415)524-2101 n See Us At ComDEX Booth 575 Listing 2 continued: 1100 PRINT "PASSWORD" 1110 T$ = INCHAR$ (0) 1120 IF ASC ( T$ ) =13 THEN 1190 1130 P$ (1,1) = T$ 1140 FOR J = 1 TO 15 1150 T$ = INCHAR$ (0) 1160 IF ASC ( T$ ) =13 THEN 1190 1170 P$ = P$ (1,J) + T$ 1180 NEXT J 1190 PRINT T$ 1200 REM ** 1210 REM ** Filename ** 1220 F$ = "NIBBLE" 1230 REM ** 1240 REM ** Allow the user to modify the data base ** 1250 R$ = "MODIFY" 1260 REM ** 1270 REM ** MDBS.DMS routines ** 1280 Al = 32768 1290 A2 = Al + 3 1300 REM ** 1310 REM ** Define a data block ** 1320 E0 = CALL (A2, "DEFINE ,OPENLIST" , [F$) , [N$ ) , [P$ ) , [R$ ) , 4) 1330 IF E0 <> THEN 1450 1340 REM ** 1350 REM ** Open the data base ** 1360 E0 = CALL ( Al , " OPEN , OPENLIST " ) 1370 IF E0 <> THEN 1450 1380 REM ** 1390 REM ********************************************************** 1400 REM ** 1410 REM ** ** APPLICATION PROGRAM ** 1420 REM ** 1430 REM ********************************************************** 1440 REM ** 1450 REM ** ** ERROR PROCESSING ** 1460 REM ** 14 70 REM ********************************************************** Listing 3: A BASIC program segment generating a list of customers who have placed orders at the Nibble Computer Store in the last sixty days. This listing assumes that an MDBS.DMS data base has been opened and that data blocks have been defined. 1000 REM ** The following code assumes that variable DO ** 1010 REM ** has been initialized to the current Julian date ** 1020 REM ** 1030 REM ** MDBS.DMS addresses ** 1040 A0 = 32768 1050 Al = A0 + 3 1060 REM ** Data Block Definitions ** 1070 E0 = CALL (Al , "DEFINE ,RECVD" , [Dl) , 1) 1080 E0 = CALL (Al , "DEFINE ,CNAME" , [C$ ), 1) 1090 REM ** Access each customer in turn ** 1100 E0 = CALL (A0,"FFM,CUSTNAME") 1110 IF E0 <> THEN 1350 1120 REM ** Check each of this customer's orders ** 1130 E0 = CALL (A0,"SOM,SETl,CUSTNAME") Listing 3 continued on page 116 114 November 1981 © BYTE Publications Inc Phenomenal! From Supersoft, a phenomenon in screen editors/word processors. Star- Edit is a complete- ly tested, "no surprises" screen editor suitable for any text processing task, including program writing and word processing. Its features com- pare with the highly acclaimed "EMACS" editor. Even though Star-Edit is at least as powerful as any other screen editor, it can be learned easily and quickly by both programmers and non- programmers. Star-Edit includes: • Multiple file editing capabilities. The user may edit several files simultaneously. • Split screen option for viewing different files or pieces of the same file. • The user has free and unrestricted access to all the file at any time, regardless of whether or not the file will fit in RAM. This means that the user may edit the first page, then the last page, then the first, and so on, without rereading. This is ac- complished through the use of "virtual memory" residing on disk file. • Optional "no return mode" (fill between left and right margin) allows text to be entered without the use of carriage returns. • Complete user manual and tutorial. • Ability to enter ANY typeable character into the file *CP/M registered trademark Digital Research Someone familiar with an ordinary typewriter should have no trouble learning and using Star- Edit. The novice need learn only a few com- mands to make immediate use of the editor; the experienced user will find that Star-Edit has a complete set of text manipulation commands (nearly one hundred). Requires: 32K CP/M system with cursor-addressable terminal Star-Edit: $225.00 CP/M formats: 8" soft sectored, 5" Northstar, M „„..„i „„!.,.* in nn 5" Micropolls Mod II, Vector MZ, Superbraln anual only:$ 10.00 dd/qd. A PP i e ii + All orders and general information: SUPERSOFT ASSOCIATES P.O. BOX 1628 CHAMPAIGN, IL 61820 (217)359-2112 Technical Hot Line: (217)-359-2691 (answered only when technician is available) SuperSoft First in Software Technology U.K. and Europe: DIGITAL DEVICES 134 LONDON ROAD SOUTHBOROUGH KENT TUNBRIDGE WELLS TN4 OPL ENGLAND Telex: 95582 Tel.: Tunbridge Wells (0892) 37977/9 Japan: ASR CORPORATION INTERNATIONAL 1-2-8. SHIBA-DAIMON TOKYO 105 JAPAN Tel.: (03)-437-3901 Telex: 242-3296 Listing 3 continued: 1140 E0 = CALL (A0,"FFM,SET1") 1150 IF EO <> THEN 1310 1160 REM ** Retrieve date order was received ** 1170 REM ** Variable Dl receives the date ** 1180 EO = CALL (A0,"GFM,SET1,RECVD") 1190 REM ** Following statement assumes that DO and Dl are 1200 REM ** Julian dates ** 1210 IF D0-D1 <= 60 THEN 1280 1220 REM ** Order is over 60 days old — check next order ** 1230 E0 = CALL (A0 , "FNM,SET1") 1240 GOTO 1150 1250 REM ** Customer has placed order within last 60 days ** 1260 REM ** Print customer's name ** 1270 REM ** Variable C$ receives the customer name ** 1280 E0 = CALL (A0 , "GFM,CUSTNAME , CNAME" ) 1290 PRINT C$ 1300 REM ** Process next customer ** 1310 E0 = CALL (A0, "FNM ,CUSTNAME" ) 1320 IF E0 = THEN 1130 1330 REM ** All customers processed ** 1340 E0 = CALL (A0, "CLOSE") 1350 STOP Listing 4: A BASIC program segment that determines which parts the Nibble Computer Store needs to reorder. The listing assumes that an MDBS.DMS data base has been opened and that data blocks have been defined. 1000 REM ** MDBS.DMS addresses ** 1010 A0 = 32768 1020 Al = A0 + 3 1030 REM ** Data Block Definitions ** 1040 E0 = CALL (Al , "DEFINE , SHIPPED" , [D2) , 1) 1050 E0 = CALL (Al , "DEFINE ,QORDERED" , [Nl) ,1) 1060 E0 = CALL (Al , "DEFINE r ONHAND" , [Ql) ,1) 1070 E0 = CALL (Al , "DEFINE , REORDER" f [Q2) ,1) 1080 E0 = CALL (Al , "DEFINE ,PNUMBER" , [P0) , 1) 1090 E0 = CALL (Al , "DEFINE ,PNAME" , [P$) ,1) 1100 REM ** Generate the list in part-number order ** 1110 E0 = CALL (A0,"FFM,PARTNUM") 1120 REM ** Initialize to sum the quantity ordered ** 1130 N=0 1140 E0 = CALL (A0,"SOM,SET4,PARTNUM") 1150 E0 = CALL (A0,"FFM,SET4") 1160 REM ** This part may not have any orders outstanding ** 1170 REM ** If this is the case, E0 will be set non-zero ** 1180 IF E0 <> THEN 1400 1190 REM ** Locate the order corresponding to this quantity ** 1200 REM ** Ignore the order if it has been filled ** 1210 E0 = CALL (A0,"SMM,SET2,SET4") 1220 REM ** If a non-zero shipping date is present, the order 1230 REM ** has been filled (Shipping date is returned in D2) ** 1240 E0 = CALL (A0 , "GFO ,SET2 , SHIPPED" ) 1250 IF D2 <> THEN 1310 1260 REM ** Order is pending — Sum the quantity ordered ** 1270 REM ** Variable Nl receives the quantity ordered ** 1280 E0 = CALL (A0 , "GFM,SET4 ,QORDERED" ) 1290 N=N+N1 Listing 4 continued on page 118 116 November 1981 © BYTE Publications Inc SuperSoft Optimizing The SuperSoft "C" compiler .''ports' most of version 7 Unix standard "C". Several special and widely desired features are supported,- including: • Macro expansions via the #define statement. • Include files using the inc- lude statement. • Inline assembly code is supported with the #asm and #endasm. • The object code may be flOMed. , • Programs may be ORGed for any location. - vyumpieieiy dynamic memory allocation is supported, both by the compiler and in user programs. (That is, the functions 'alloc' and 'free' are provided with the compiler.) SuperSoft "C" is a two pass compiler. The first pass of the compiler produces an intermediate code (U-code, for Universal code). Pass two contains both the islatpr and the optimizer. The mediate code is optimized and assembly code is output to file. The optimizer typically results in 40% code reduction. This means that compiled object code will run nearly as fast as that which was written in assembler. An important feature of the compiler is that aseembly code Is produced. This means that "hand optimization" of critical sections is possible. Also, the inline coder allows easy insertion of assembly language routines. With the compiler comes the complete source code to the I/O libraries. These libraries are equal to or better than anv that nylst fnr the 8080/Z80 computer system. Functions included: open close read write seek tell fopen create putc getc flush The Seek command supports absolute, relative from front, and relative from errd of file. Fopen includes fcreat. Also included with the compiler are numerous sample programs and a complete library of useful functions. for CP/M Compile time options include listing file, consoje output, syntax checking and others. Requires: 48K CP/M, (more re'commendec "C" compiler: $200.00 Manual only: $ 20.00 Z8000 cross-compiler: $500.00 (CP/M to Z8000 code, requires Z8000 assembler) Source code for in-house use only: $5,000.00 CPIM formats; 8" soft sectored, 5" Nor thstar. 5" Micropolis Mod II, Vector MZ. Superbrain OD/QD Apple II + All Orders and General ■ ■MUHMOHUM. VKA | SUPERSOFT ASSOCIATES P.O. BOX 1628 f CHAMPAIGN, IL 61820 (217)359-2112 Technical Hot Line: (217) 359-2691 (answered only when technician is available) •CP/M registered trademark Digital Research "Unix registered trademark Bell Laboratories Listing 4 continued: 1300 REM ** Process the next order for this part ** 1310 E0 = CALL (A0,"FNM,SET4") 1320 IF E0 <> THEN 1210 1330 REM ** 1340 REM ** Pending order 1350 REM ** Check to se« 1360 REM ** ordered is 1370 REM ** 1380 REM ** Variable Ql receives the quantity on hand ** 1390 REM ** Variable Q2 receives the reorder point ** 1400 E0 = CALL (A0 , "GFM, PARTNUM, ONHAND" ) 1410 E0 = CALL (A0, "GFM, PARTNUM, REORDER") 1420 IF Ql-N > Q2 THEN 1490 1430 REM ** Part needs to be reordered ** 1440 REM ** Retrieve part name (P$) and part number (P0) ** 1450 E0 = CALL (A0 , "GFM, PARTNUM, PNUMBER" ) 1460 E0 = CALL (A0 , "GFM, PARTNUM, PNAME" ) 1470 PRINT "REORDER PART#",P0,P$ 1480 REM ** Process next part ** 1490 E0 = CALL (A0 , "FNM, PARTNUM" ) 1500 IF E0 = THEN 1130 1510 E0 = CALL (A0, CLOSE") 1520 STOP Listing 5: A BASIC program segment that produces a report on overdue orders placed at the Nibble Computer Store. The listing assumes that an MDBS.DMS data base has been opened and that data blocks have been defined. 1000 REM ** MDBS.DMS addresses ** 1010 A0 = 32768 1020 Al = A0 + 3 1030 REM ** Data Block Definitions ** 1040 E0 = CALL (Al , "DEFINE , SHIPPED" , [Dl) ,1) 1050 E0 = CALL (Al , "DEFINE ,RECVD" , [D2) ,1) 1060 E0 = CALL (Al , "DEFINE ,ONUMBER" , [01) ,1) 1070 E0 = CALL (Al , "DEFINE ,CNAME" , [C$) , 1) 1080 E0 - CALL (Al , "DEFINE ,CNUMBER" , [CO ), 1 ) 1090 E0 = CALL (Al , "DEFINE ,QORDERED" , [Ql) ,1) 1100 E0 = CALL (Al, "DEFINE f ONHAND" , [Nl) ,1) 1110 E0 = CALL (Al, "DEFINE, PNUMBER", [P0) ,1) 1120 E0 = CALL (Al, "DEFINE, SNAME", [S$) ,1) 1130 REM ** Find an order which has been outstanding for more 1140 REM ** than two days ** 1150 E0 = CALL (A0,"FFM, ORDERS") 1160 IF E0 <> THEN 1560 1170 E0 = CALL (A0, "GFM, ORDERS, SHIPPED") 1180 REM ** Ignore orders which have already been shipped ** 1190 IF D2 <> THEN 1530 1200 REM ** Check to see if this order is over two days old ** 1210 E0 = CALL (A0, "GFM, ORDERS, RECVD") 1220 IF D0-D1 <= 2 THEN 1530 1230 REM ** An 'old' order has been found ** 1240 REM ** Print customer name, customer number and order number 1250 REM ** Variable 01 receives the order number ** 1260 E0 = CALL (A0, "GFM, ORDERS, ONUMBER") 1270 REM ** Locate customer data — number (CO) and name (C$) 1280 E0 = CALL (A0 , "SMM , SET1 , ORDERS" ) Listing 5 continued on page 120 118 November 1981 © BYTE Publications Inc Circle 354 on Inquiry card. ► our first name is Quality Our popular space game, Asteroids in Space, is now Meteoroids in Space, with hyperspace, autobrake, and autofire.Thisexciting arcade game can be played with or without game paddles. Diskette $19.95. Beneath Apple DOS This best-selling 170 page technical manual tells you everything you want to know about Apple's Disk Operating System. Book $19.95. Beginners and experts both enjoy this Othello* playing game that outplays Hayden's Reversal. Yet QS Reversi has features that Reversal doesn't have and costs less. Diskette $29.95. CR LINKER Links and relocates assembled machine language programs. Works with any assembler. Diskette $49.95. CROSS-REF Prints out a cross-reference of the variables in your Applesoft program. Options include changing the name of a variable. Cross-Ref resides passively in memory with your Applesoft program. Cassette $22.95. Diskette $24.95. FRACAS A fantastic adventure game like no other. Up to eight players can journey in the land of Faroph at the same time, searching for hidden treasure and fending off monsters. Cassette $19.95. Diskette $24.95. BABBLE This amazing and amusing program will entertain you by twisting your stories around in a most delightful way. Babble also works with music and sound. It's a language all its own! Cassette $19.95. Diskette $24.95. BATTLESHIP COMMANDER A superb version of the traditional battleship strategy game. Cartoons and sound effects help make this game fun for everyone. Cassette $14.95. Diskette $19.95. I products are for the Apple Computer. 60 Reseda Blvd., Suite 1 05, Reseda, CA 91 335 1 3) 344-6599 BENEATH APPLE MANOR The original dungeon game for the Apple computer is still one of the best. Descend into a dangerous maze of underground corridors. See if you can find the Golden Apple. Cassette $14.95. Diskette $19.95. ASTROAPPLE Your computer becomes your astrologer, generating horoscopes and forecasts based on the computed positions of the heavenly bodies. Cassette $14.95. Diskette $19.95. "Othello is a trademark of Gabriel Industries. ASK FOR QUALITY SOFTWARE products at your favorite computer store. If necessary you may order directly from us. MasterCard and Visa cardholders may place orders by calling us at (213) 344-6599. Or mail your check or bankcard number to the address above. California residents add 6% sales tax. Shipping Charges: Within North America orders must include $1.50 for shipping and handling. Outside North America the charge for airmail shipping and handling is $5.00. Pay in U.S. currency. QUTILfTy SOFTW7IR6 Listing 5 continued: 1290 1300 1310 1320 1330 1340 1350 1360 1370 1380 1390 1400 1410 1420 1430 1440 1450 1460 1470 1480 1490 1500 1510 1520 1530 1540 1550 1560 REM REM REM REM REM REM REM REM E0 = CALL (AO,"GFM,SETl f CNAME") EO = CALL (A0,"GFM,SET1,CNUMBER") PRINT "*****", CO, C$," ORDER ",01 ** Determine which part(s) are holding up this order ** ** ** Find parts with order quantity (Ql) which exceeds ** ** the inventory quantity (Nl) for that part ** E0 = CALL (A0,"SOM,SET2, ORDERS") E0 = CALL (A0,"FFM,SET2") IF E0 <> THEN 1530 E0 = CALL (A0,"GFM,SET2,QORDERED") E0 = CALL (A0,"SMM,SET4,SET2") E0 = CALL (A0,"GFO,SET4,ONHAND") IF Nl >= Ql THEN 1500 ** Offending part found ** ** Print part number (P0) and supplier name (S$) E0 = CALL (A0,"GFO,SET4,PNUMBER") E0 = CALL (A0,"SMO,SET3,SET4") E0 = CALL (A0,"GFO,SET3,SNAME") PRINT " PART#",P0," SUPPLIER ",S$ ** Check next part on order (it may be overdue also) ** E0 = CALL (A0,"FNM,SET2") THEN 1390 next order ** (A0, "FNM, ORDERS") THEN 1170 (A0, "CLOSE") IF E0 = ** Process E0 = CALL IF E0 = E0 = CALL STOP Text continued from page 108: where CRS means create a record occurrence and store data into it. This call will take the data located in the variables N, D$, P, O, and R, and store them in the data base. Retrieving data from the data base is carried out in a similar way. A BASIC variable may be used in several defined data blocks. To open a data base using MDBS.DMS, the user can give the sequence shown in listing 2. Here, the user's name and password (read in without echoing to the con- sole) are first entered, a call to the OPEN routine of the DMS is issued, and an error check is made. (In listing 2, the brackets are used to pass addresses of variables and the right bracket has been translated to a right paren- thesis by North Star BASIC.) Listings 3, 4, and 5 are sample programs for producing the reports discussed earlier. Each of the sample program segments assumes that the data base has been opened and that data blocks have been defined. The program in listing 3 generates a list of customers (sorted by name) who have placed an order in the last sixty days. In line 1100, the first member of set CUST- NAME (which corresponds to the customer with the lex- icographically first name) is located. The error response E0 is checked for the improbable case of no customers in ABSOLUTELY THE LOWEST PRICES EPSON PRINTERS & LOBO DRIVES WE SELL THE ENTIRE LINE OF EPSON PRINTERS AND ACCESSORIES; INCLUDING MX80 MX80FT MX I 00 QUALITY AT A PRICE YOU CAN AFFORD! COMPUTERWORLD INTERNATIONAL, INC. SUITE I 33, P.O. BOX 8 I ,WHEATRIDGE 1 COLORADO, U.S. A. 80034-008 1 LOBO MANUFACTURE A COMPREHENSIVE RANGE OF DISK DRIVES AND ACCESSORIES FOR THE APPLE, TRS-80 AND S-100 SYSTEMS drives] I 5 ^"Minifloppy with controller for Apple Computer. $459 5 '/." Add-on Drive for Apple $389 Dual 8" Double-Sided, Double Density Drive Tor Apple,212 Megabytes. DOS 3.3. $2299 CALL US FOR PRICES ON OTHER UNITS INCLUDING: 5MP6 I0MBHARD DISKS WITH FLOPPY BACK-UP. All LOBO DRIVES products have a one year, 100% parts and labor warranty. CALL US TODAY FOR OUR RIDICULOUSLY LOW PRICES ON EPSON AND LOBO PRODUCTS (303)425-44 1 I mail order only 120 November 1981 © BYTE Publications Inc Circle 103 on inquiry card. This year, I'm taking 2,000 people sailing. I wouldn't trust the travel arrangements to anything less than Scotch Brand Diskettes!' Eben Whitcomb, Owner- Operator, Dirigo Cruise Company, Clinton, CT Eben Whitcomb runs the largest windjammer cruise business using American flag ships. He uses Scotch diskettes to keep track of thousands of names, bookings, sailing times, manifests and general ledger. While his computer saves time and repetition, Scotch diskettes assure him that vital information will be there when he needs it. Dependable Scotch media can work just as hard for you. Each Scotch diskette is tested before it leaves our factory, and guaranteed error-free. So you can expect it to perform exactly right. Scotch 8" and 5Va" diskettes are compatible with computer/diskette systems likeTRS-80, Apple, PET, Wang and many others. Get them from your local 3M distributor. For the one nearest you, call toll-free: 800/328-1300. (In Minnesota, call collect: 612/736-9625.) Ask for the Data Recording Products Division. In Canada, contact 3M Canada, Inc., Ontario. If it's worth remembering, it's worth Scotch Data Recording Products. 3M Hears You... 3M Circle 409 on inquiry card. the data base. Statements 1130 and 1140 locate the set of orders on file for the customer. The data is checked and, if the date of an order is within sixty days of the current date, the customer name is printed (statements 1280 and 1290). Statement 1310 accesses the next customer and, if we haven't reached the last customer (E0 is set nonzero when the FNM command detects end of set), the process is repeated. A program that determines the parts that need to be re- ordered is shown in listing 4. A part is a candidate for re- ordering if the quantity in inventory less the quantity re- quired for unfilled orders is less than some reorder point. The reorder point varies from part to part and is stored in the data base (as item REORDER in record PART). Statement 1110 locates the first part to be processed (parts are processed in part-number order). The logic in statements 1180 through 1320 accesses the quantity ordered of the part (via SET4) for each unfilled order in the system. The inventory quantity (ONHAND) is ob- tained from the data base and the quantity on order for the part is used to calculate the adjusted inventory level (Ql-N). If this quantity is less than or equal to the reorder point (Q2), the number and name of the part are printed by statements 1450 through 1470. This process is repeated for all parts. Finally, a program that produces a report on overdue orders is shown in listing 5. All orders in the system are accessed through the set named ORDERS (statements 1150 through 1160). Any order that has been shipped (in- dicated by a nonzero shipping date) is excluded from the report. In line 1220, the date the order was received (Dl) is subtracted from the current date, and if the difference is less than three days, the order is not overdue. If the order is overdue, the customer's name and number and the order number are printed. For each part in the order, the quantity ordered (Ql) is found via set SET2 and the quantity on hand (Nl) is obtained via set SET4. If the quantity ordered is greater than the quantity on hand, the part number and the number of the part's supplier are printed. Leading data-processing experts think data-base man- agement systems will be the ultimate software tool of the 1980s. The appeal of these systems is certain to grow as software costs become a greater and greater part of total computer costs. Data-base software can significantly reduce the costs of software development in several ways: • The DBMS relieves the programmer of the task of maintaining data files. • The DBMS maintains an internal data directory, keep- ing descriptions of data and relationships among the data. • The DBMS lets the programmer access data in a form appropriate to each program, rather than forcing the pro- grammer to write a program that fits the data. • The data-base approach provides great flexibility and economy in altering the initial system to meet new needs. Since the programmer can restructure the data base, creating new files and new links to old files, the DBMS permits major system modifications with little effort and cost. Also, the programmer can generate new reports by simply adding a new program. ■ References 1. Allen Ashley (395 Sierra Madre Villa, Pasadena CA, (213) 793-5748) has developed a patch to North Star BASIC that enables a machine-language call involving multiple parameters. Ashley's patch is available with his HDS (Hybrid Development System) package for North Star BASIC (which is part BASIC and part assembly language) or from Micro Data Base Systems with its North Star BASIC interface to MDBS.DMS. 2. Haseman, W D and A B Whinston. Introduction to Data Manage- ment. Homewood IL: Richard D Irwin, 1977. 3. Martin, J. Computer Data-Base Organization. Englewood Cliffs NJ: Prentice-Hall, 1975. *• CORVCIS SYSTEMS HARD DISK SALEl! 5 MEG ONLY $2595.00 We are proud to announce great savings on the reliable Corvus Hard Disks for your computer. 5 MEG 10 MEG 20 MEG $2595 (2 or More) $3695 (2 or More) $4395 (2 or More) $2625 (Quantity 1) $3745 (Quantity 1) $4515 (Quantity 1) $3750 List $5350 List $6450 List These prices include the complete system; hard disk, power supply, controller, interface card, 5' cable, software to attach the hard disk to your operating system, and manual. In most cases the only tool needed to get up and running is a screwdriver. Full Factory Warranty (includes shipping one way) Extended To One Year $350/5Meg $425/10Meg *550/20Meg Extended To Two Years $1050/5Meg $1325/10Meg $1710/20Meg Other Corvus Products: 50' CABLE= $100 • MIRROR BACKUP BOARD (records your data to or from a v.h.s. tape recorder) = $790 • MULTIPLEXER (allows up to 8 computers to be attached to your corvus disk drive) = $900 • EXTRA INTERFACE CARDS = $220 • EPROM (lets a superbrain cold boot to the corvus) = $150 Available For Most Computers Including; trs80 l&ll, apple II, superbrain, altos 1 , 2, 3, 4, alpha micro, north star, cromemco, vector graphics, zenith, and other S100's. Please specify your computer type when ordering. wclti i w i: a\*\si\J WHOLESALE DEPT. 2831 N. Catherwood Street • Indianapolis, IN 462191096 (317) 549-2916 Ask about similar values on Superbrain and Superbrain/Corvus Systems. We are the largest stocking Corvus Dealer in the Midwest. cashier's check, bank transfer, or money order please. C.O.D.'s add 5%. Indiana residents add 4% 122 November 1981 © BYTE Publications Inc Circle 117 on inquiry card. CDTTIPUTER UWREHOUJe CALL TOLL FREE ATARI Special 32K 800 800 w/32K, reco raiders, joysticks Above w/48K. . . System rder, star $900 $960 800 (16K) 400 810 Disk Drive. 825 Printer. . . . 850 Interface. . 410 Recorder. . 830 Modem. . . 16K Memory. 32K Memory. DISK DRIVES Lobo Apple 1st Drive. . Apple 2nd Drive. MODEMS Novation CAT D-CAT Apple Cat II Auto Cat PRINTERS C. Itoh 25CPS- Serial.. 25CPS- Parallel. 40CPS- Serial.. 45CPS- Parallel. Datasouth DS 180 Diablo 630 RO w/Tractors. . . . 630 RO wo/Tractors. . . 1640 RO w/Tractors. . . . 1640 KSR w/Tractors. . . . 1650 RO w/Tractors. . . . 1650 KSR w/Tractors. . . . Epson MX-80 MX-80 F/T MX-100 Fric. Feed Opt. for MX-80 NEC PC-8023A 5510 RO w/Tractors. . . . 5520 KSR w/Tractors. . . . Okidata Microline 80. . . . Microline 82-A . . Microline 83-A . . Microline 84 Paper Tiger 560G Texas Instruments 810 Basic 810 Loaded $744 Call $440 $575 $155 $60 S140 $75 $150 $490 $410 $140 $155 $349 $235 $1380 $1325 $1825 $1710 $1275 $2295 $2100 $2485 $2740 $2985 $2885 Call Call Call $50 Call $2550 $2995 $330 S475 $765 . Call 1800 5281054 Novation ATARP data systems (Qora NorthSta^ y TECHNOLOGY. INC. ^^ AClCVjCteO Texas Instruments EPSON EPSON AMERICA, INC. OKIDATA California Computer Systems VIDEO TERMINALS Adds Viewpoint Soroc IQ 120 IQ 130 IQ 135 IQ 140 Televideo 910C 912C 920 C 950 C Zenith Z-19 $545 Call Call Call Call Call Call $575 $694 $744 $925 $769 DISKETTS Scotch 5%'0, 10, 16 Sector (Qty 100) 8"0, 32 Sector (Qty 100) COMPUTERS Altos ACS 8000-1 5 ACS 8000-2 w/CPM . Northstar Horizon II 64K DD.. ..'.$2875 Horizon II 64K QD $3150 Zenith Z-89 48K w/CPM $2100 MONITORS Panasonic 9" B&W Sanyo 9" B&W 12" Green Zenith 12 Green $150 $150 $240 Call $250 $260 CALIFORNIA COMPUTER SYSTEMS 64K Dynamic Memory. . S500 1 6K Static Memory $255 Floppy Disk Cont $285 Serial Asynch Board . ...$110 $1060 $1250 $1450 Prices & availability subject to change without notice Personal checks will delay shipping two weeks ^Hf^flTim ^rCR 2222 E Indian School Rd. • Phoenix, Arizona 85016 Order Line: 1-800-528-1054 [JQRPHrOLlS£ ° ther ln,ormation: 602-954-6109 ^3 £ Ji Store Hours: Tues.-Fri.10-5 MST Saturday 10-3 MST Prices reflect 3% cash discount. Product shipped in factory cartons with manufacturers warranty. Add 2%, a minimum of $5, for shipping and handling. BRAINS- MAINFRAMES SUPERBRAINS Z-89 48K List $2895 only $2139 ADVANTAGE SUPERBRAIN QD 64K List $3995 only $2949 NORTH STARS MINICOMPUTER PERFORMANCE GREEN PHOSPHOR OPTIONS: GRAPHICS + CP/M LIST $3999 ONLY $2999 MONITOR GREEN PHOSPHOR $129 TERMINALS Z-1 9 $725 INTERTUBEIII om, $725 EPSON MX70 GRAPHICS 394 MX80 FT 598 MX-80 494 MX-100 749 ANADEX 9501 NEC LETTER QUAL FT DIP-81 DIP-84 FT GRAPHICS STARWRITER LETTER QUAL FT MALIBU 200 DUAL MODE QANTEXW/BUFFER A 400 800 1080 WONDERFUL GAMES-EDUCATION RCA-COSMAC VP-711 GAMES-BASIC-PROGRAMS-MUSIC GUIDED SATELLITE TO SATURN _ATARJ o 1290 CALL 395 595 1824 2577 1195 LIST 399 ONLY 340 799 199 TARBELL'S Empire I, II, & III have two 8" disk drives. The I is single sided, the II is double sided, and the Empire III has one of the floppies replaced by an 8-Megabyte Hard Disk. FREE BUSI- NESS SOFTWARE EMP 1 $4888 ONLY $3666 CALIFORNIA COMPUTER 2200A $2195 ONLY $1795 Z80, 64K, I/O, DMA Disk controller + CP/M. Model 300-1 A is the larger system: 2.4 Mb 8", Z80, 64K, and optional OASIS, CP/M, or MP/M op- erating system. LIST $5695 ONLY $4995 MORROW DESIGNS Decision 1 features UNIX plus CP/M. Multi user & Multi pro- cessing, 4 to 6 Mhz Z80, and optional Floating Point Processor, or Hard Disk 26Mb. A very powerful system at a saving. LIST $1725 ONLY $1380. GODBOUT COMPUPRO Big 8: 6MHz Z80, DMA Disk Controller, 32K fast static RAM, Interfacer 1 I/O board, + CP/M. LIST $1995 ONLY $1595 Super Sixteen 8085/8088 is the fastest combo 8-16 CPU. LIST $3495 ONLY $2795 SYSTEMS GROUP System 2812 runs CP/M or OASIS. Supports single user & multi- user & multi task. Up to 5 megabytes with 8" drives optional 10-megabyte hard disk. LIST $5035 ONLY $3994 SSM has introduced the Genesys Computer. It features a constant voltage transformer. It comes in several configurations: 12-slot, 22-slot, 5" to 8" floppy to Winchester. It's new, so give us a call. SEATTLE'S 16 bit COMPUTER is here! 8 MHz 8086 CPU the fastest S-100 computer! 128K Static RAM, DD Disk Controller, 22-slot Main Frame, 86-DOS BASIC-86. #2 128K LIST $4185 ONLY $3349 #1 As above but 64K LIST $3190 ONLY $2649 WE SELL GOOD HARDWARE WE SELL GOOD SOFTWARE square American [||] Computers 919-889-4577 KIVETT DR. JAMESTOWN N.C. 27282 919-883-1105 124 BYTE November 1981 9 CP/M is a registered trademark of Digital Research, Inc. Circle 20 on inquiry card. LOWEST PRICE - BEST QUALITY NORTH STAR North Star Horizon 2 2-5% Disk Drives 32K Double Den Factory assem. & tested Factory guaranteed List $3695 only $2625 POWERFUL NORTH STAR BASIC FREE SUPERB FOR BUSINESS & SCIENCE FACTORY ASSEMBLED & TESTED LIST ONLY HORIZON-2-64K-DOUBLE DEN $4195 $2875 HORIZON-2-32K-QUAD DENSITY $3995 $2799 HORIZON-2-64K-QUAD $4495 $3150 HORIZON-1-64KQ-HD5 $6695 $4685 HORIZON RAM ASSM 48K = $679 64K = $879 HORIZON DISK DRIVE SALE SAVE $445 MORROW HARD DISK 26Mb $4495 $3395 NORTH STAR HARD DISK 18 Mb $5375 $3923 NORTH STAR TIME SHARING MULTI-USER CALL ZBASIC 2 TO 5 TIMES FASTER! $350 SECRETARY WORD PROCESSOR $99 WORDSTAR WORD PROCESSOR $318 FLOATING POINT BOARD $399 $319 OASIS MULTI-USER SOFTWARE SAVE CALL CP/M FOR N* Extra features $230 $220 MICRO MIKE SOFTWARE SAVE CALL MICRO DISK SYSTEM DD $899 $799 UCSD PASCAL II.O $199 $159 EXTRA PRECISION BASIC $50 NORTHWORD $399 $299 MAILMANAGER $299 $224 INFOMANAGER $499 $374 GENERAL LEDGER $999 $749 ACCOUNTS RECEIVABLE $599 $449 ACCOUNTS PAYABLE $599 $449 INVENTORY $999 $749 ORDER ENTRY $999 $749 InterSystems ITHACA INTERSYSTEMS 2A Z-80A CPU 4 MHz 64K Dynamic RAM Front panel V I/O— with interrupts FDCII Disk Controller 20 slot motherboard LIST $3795 ONLY $2839 PASCAL/Z + THE FASTEST PASCAL $375 LIST ONLY PASCAL SYSTEM 128K 2 DRIVES $7295 SAVE CACHE BIOS SYSTEM 128K2 DRIVES $6995 CALL CP/M SYSTEM 64K 2 DRIVES $6295 SAVE DPS-1 MAINFRAME WITH Z80A $1795 CALL Z80 MACRO ASSEMBLER $125 SAVE SPELL— PERFECT SPELLING $295 CALL COMPARE— UTILITY SOFTWARE $295 SAVE INTEREDIT— TEXT EDITOR $295 CALL MORROW 8" DISK DISCUS 2D + CP/M" 600K ONLY $869 DISCUS 2 + 2 + CP/M' 1.2 MEGA B. $1099 ADD DRIVES 2D = $599 2 + 2 = $795 DISCUS 2D-DUAL + CP/M 8 ONLY $1450 FREE MICROSOFT BASIC FROM MORROW WITH DISCUS SYSTEM OR HARD DISK MORROW HARD DISK 26,000,000 BYTES!! LIST $4495 ONLY $3395 CP/M' IS INCLUDED! 2 QUME 2 SIDED DATATRAK 8 DRIVES IN DUAL CABINET $1640 SAVE ON MEMORY AND PROGRAMS SYSTEMS MEMORY 64K A&T $549 SYSTEMS MEMORY 64K BANK 684 MICROANGELO 985 fTHACA MEMORY 8/16 BIT 64K 845 CORVUS HARD DISK SAVE SSM VIDEO BRD VB3 4Mhz 412 SPECTRUM COLOR UNKIT 269 EZ-CODER English to BASIC 71 ECOSOFT FULL ACCOUNTING 355 CAT NOVATION MODEM 169 MEMORY MERCHANT 16K 174 WICAT 68000 16-BIT CALL Which Computers are BEST? FREE INSURED SHIPPING AT LOW RATES CALL FOR LATEST PRICES, DETAILS WE BEAT ADVERTISED PRICES EXPERT ADVICE FACTORY GUARANTEES SOllclTC American [j|] Computers 919-889-4577 KIVETT DR. JAMESTOWN N.C. 27282 919-883-1105 Circle 20 on inquiry card. CP/M Is a registered trademark of Digital Research, Inc. BYTE November 1981 125 Hardware Review The Exatron Stringy Floppy Data-Storage System Keith Carlson 43 McDill Rd Bedford MA 01730 More powerful than an 8-inch Winchester? Not likely. Faster than a speeding floppy7 Sometimes. Able to read huge data bases in fleeting seconds? Impossible 1 Exatron's Stringy Floppy data-storage system may not compare with Superman, but from the minute I plugged my new Stringy Floppy drive into my Radio Shack TRS-80 Model I Level II computer, I was convinced it was super. It appears to be a convenient and economical way to equip a TRS-80 Model I with most of the speed and convenience of a disk drive at less than half the price. There are some problems with it, but they are minor compared to problems of audio-cassette storage. Why Digital Cassette? Exatron was the first company to apply the concept of a completely digital cassette-tape data-storage system to microcomputers in a practical way. Audio cassettes are simply not designed for digital recording. They are made to accommodate a limited analog frequency range: those Photo 1: The Exatron Stringy Floppy digital cassette-tape drive. frequencies audible to the human ear (sometimes less, de- pending on the quality of the tape). Also, the tape moves comparatively slowly past the write/read (record/play- back) head. Finally, you have to rewind the tape to read what has been written or to write something else. In contrast, the Exatron digital cassettes, or wafers, are designed for digital recording. The tape is about y 16 inch wide, and it is a closed loop moving in a single direction. It works in a manner similar to that of an eight-track audio tape cartridge. The tape is pulled out of the middle of the single reel and is wound up around the outside. No rewinding is necessary because the tape forms one big loop. The tape runs past the read/write head fast enough to transfer data at 7200 bps (bits per second). The wafers are about the height and width of a business card and about 3 / e inch thick. Stringy Floppy Characteristics The basic control software for the Exatron Stringy Floppy system is stored in ROM (read-only memory) located inside the drive, making the system easy to use. The addressing of the ROM fits cleverly into an otherwise-unused gap in the TRS-80's memory-address space. The control software uses 4 bytes of read/write user memory. All you have to do to activate the control software is type "SYSTEM" to the Level II BASIC inter- preter and then type "/12345". There are three ROM- based commands available: ©LOAD, ©SAVE, and ©NEW. To load a BASIC program from the wafer, you simply type "©LOADn" (where n is a file number from 1 to 99), and within a few seconds the program will have been loaded into user memory. To store a BASIC program on the wafer, you type "©SAVErz". The system verifies that the program has been stored correctly, so this takes a lit- tle longer. To load and store machine-language pro- grams, you use the same commands, adding arguments (in decimal radix) to specify the load-starting address, the length of the program, and the program's entry point. In 126 November 1981 © BYTE Publications Inc Circle 38 on inquiry card. HEGR4PHIC DIFFERENCE BETWEEN ATARI COMPUTERS AND ALL OTHERS. *V£ ** 3.7 million reasons why the ATARI Personal Computer is something to see. The display screen used with our computers is composed of 192 horizontal lines, each containing 320 dots. Delivering color and lu- minosity instructions to each dot for a sec- ond requires 3.7 million cycles ... a lot of work for the normal 6502 processor. That's why the ATARI computer has equipped its 6502 with its own electronic as- sistant. It's called ANTIC, and it handles all the display work, leaving the 6502 free to handle the rest. What this means to you is uncompromisingly spectacular display capa- bilities without loss of computer power need- ed to carry out the demands of your program. That's a quality you just don't find in ordi- nary personal computers. And it's one of the reasons some computer experts say that ATARI computers are so far ahead of their time. There's more. ..which is what you'd expect from ATARI. Language. The ATARI Personal , Computer uses several program- ming languages to give the user maximum control of its extraordi- nary capabilities. PILOT, Microsoft BASIC* and ATARI BASIC are understood and spoken by the ATARI computer. You'll also find our Assembler Editor car- tridge indispensable for 5TATES AND CAPITALS ////;; |Q ATARI w\\\ ATARI machine language programming. Sound. An ATARI computer has four sound generators, or voices, activated by a sepa- rate microchip. This leaves the principal mi- croprocessor chips free to perform other tasks. And you can take full advantage of this capability which is designed for easy programming. Change. ATARI Personal Computers have been designed to make change and expan- sion easy. The ATARI computer has a modu- lar operating system* that can be easily replaced as new technology develops. If you need it, memory expansion requires no more than inserting additional RAM modules* And the ATARI ROM cartridge system also makes it easy to change languages. In short, your ATARI computer won't be obsoleted by future developments . . .because it already incorporates the future. Sharing. To learn more about the amaz- ing capabilities of ATARI computers, visit your local computer store for a demon- stration. Or send for our Technical Us- er's Notes, intended for the serious programmer. They are only $27 and contain a lot more information about our computers' special capabilities than most companies could tell. See your ATARI dealer, or send $30 ($27 plus $3 postage and handling), payable to ATARI, to Technical User's Notes, c/o ATARI Customer Service, 1340 Bordeaux Avenue, Sunnyvale, CA. 94086. •ATARI 800™ computer only. Computers for people. L*J A Warner Communications Company J1981 Atari, Inc. addition, if you use "©LOADn" from inside a BASIC program, it will chain program files while saving variables. The @NEW command certifies a wafer for use. When you type "@NEW", the system writes a test pattern on the wafer, verifies it, and then displays the amount of storage space available on the wafer. Storing data is just a little more complicated. A data- I/O (input/output) program that must be loaded into user memory is provided on a wafer. It takes up about 1 K bytes of memory. When loaded, it provides five more commands: ©OPEN, ©INPUT, ©PRINT, ©CLOSE, and ©CLEAR. The uses of the first four are similar to corresponding commands in disk-based sys- tems, and detailed explanations are included in the manual. The command ©CLEAR is used for aborting open files and setting up I/O buffer space when you have more than one drive. The system is not without some minor problems. First, no matter how well a tape-based system works, it is still a sequential-access system. That is, it may have to read all the files preceding the file you wish to access. (Since the Exatron drives are comparatively fast, this is less ir- ritating than it sounds.) Furthermore, the method of storage allocation leads to some interesting problems. If you read a program from a wafer, modify the code so it is longer, and then rewrite it onto the same wafer, the longer program will destroy the header of the file behind it. I have made it a policy (after losing several hours' worth of work) always to use a "scratch" wafer until I am absolutely satisfied there are no more changes to be made to a program. Another way to avoid this problem is to write the modified program as the last file on a wafer. A second problem (one familiar to users of audio cassettes) is that there is no directory on a wafer of the files it contains. I use 3 by 5 file cards cut down to the size of a wafer to manually record the wafer's contents. I write the file names on the card and always keep that card with the wafer. The last problem involves those 4 little bytes of user memory that the operating system uses. You won't be able to use every byte of memory in a 16 K-byte system. I was dismayed, at first, to find that I couldn't load some large programs from the Stringy Floppy. (Fortunately for devotees of games like the Scott Adams Adventures, a special loading routine has been developed for use with Adventure International products.) Of course, the 4 bytes are missed less by owners of 32 or 48 K-byte systems. The 4 bytes will be relocated just below any area at the top of memory reserved for machine-language programs. If you don't reserve memory for machine-language pro- grams, the 4 bytes will reside at the top of memory. If you have a machine-language program that attempts to load over these 4 addresses, either it won't load at all or it won't run correctly. One way of increasing the data-transfer rate of the TRS-80 version of the Exatron Stringy Floppy system is by speeding up the Z80 microprocessor within the TRS-80. Exatron sells a speed-up kit that roughly doubles the processor's clock rate and the Stringy Floppy's data- transfer rate. Unfortunately, wafers recorded at the higher rate can be read only by a TRS-80 that has been speeded up. Manufacturer's Support I am impressed by the documentation and support pro- vided for the Exatron Stringy Floppy. First, enough infor- mation about the operating system is provided in the user's manual to make assembly-language programming of wafer-I/O operations simple. Entry points to ROM routines for the various primitive functions (read block, write block, write file header, verify block, etc) and an DISASTER IN SURA PROTECT YOUR HARDWARE fl FROM THE UNEXPECTED. Not to mention the unavoidable pollutants in the air. Performance robbing dust, grime, spills and static electricity. Cover Craft Dust Covers help extend the useful life, of your computer equipment at a fraction of the cost. Perhaps that's why more people throughout rely on Cover Craft Dust Covers than am Visit jnra 3 l'HHIMl»l*I*IMil»l»H»l»«iifcn»lltr«i'>lBl irs for most terminals, disks, printers, modems, etc. y $8.95-$15.95 Shipping extra. COVER CRAFTco RP PO Box 555, Amherst, NH 03031 • (603) 889-6811 128 November 1981 © BYTE Publications Inc Circle 114 on inquiry card. Circle 385 on inquiry card. SuperCalc and the Answer Key. Answers. As a decision maker that's what you're after when you use an "electronic work- sheet" to analyze problems in management, finance, marketing, sales, and engineering. However, a lot of time and energy can be spent just trying to figure out how your program works. That's why we've invented The SuperCalc 7 Answer Key. As a new SuperCalc user you want answers on program oper- ation fast ... as your questions tSupefCalc and The Answer Key are trademarks ol Sorcim Corporation 'CP/M is a trademark ot Digital Research arise. As an experienced user you want a complete description of all your options at your fingertips. From formatting printed reports to merging sheets, the SuperCalc Answer Key gently guides you every step of the way. And included with the SuperCalc Software Package is a compre- hensive tutorial and reference guide which introduces you to the full power of the electronic spreadsheet. The SuperCalc Answer Key. Invented so you can move on to answering the questions that really count. SuperCalc is available now for your CP/M* computer. Contact us today for the name and address of your local dealer. SuperCalc SI SORCIM 405 Aldo Avenue Santa Clara, CA 95050 (408) 727-7634 Afa Hlanrp Name Apple II, 6% by 5% by 3% Exatron Stringy Floppy inches; (15.8 by 14.9 by 8.5 cm) Use High-speed mass storage on Features digital cassette TRS-80 Model I: on-board Manufacturer Exatron Corporation ROM-based operating sys- tem, 7200 bps data-transfer rate, LED indicators, auto- 181 Commercial St Sunnyvale CA 94086 (800) 538-8559 (408) 737-7111 (in California) matic keyboard debounce; Apple 11: LED indicators, built-in catalog function, 16,000 bps data-transfer rate Price First drive for TRS-80 Model I, $249.50 First drive with starter kit, $349.50; Second drive, $224.50 First drive for Apple II, Additional hardware needed TRS-80 Model I Level II computer and 40-pin ribbon connector; Apple II or Apple II Plus computer and interface card (card supplied with first drive) $349.50; Second drive, $189.50 Hardware options Dimensions TRS-80 Model I Speed-Up TRS-80 Model I, 6 by 4 % Kit (doubles processor clock by 2% inches (15.25 by 10.5 rate and Stringy Floppy by 6 cm) data-transfer rate), $19.95 PAY LESS. ?3ET MORE. ATARI CoTvnun>c*!ionB Carwrr C^ PRICE EXAMPLES: ATARI 800 with 16K memory $749 ATARI 400 with 16K memory 329 ATARI 810 disk 439 ATARI 4lO recorder 65 ATARI 825 printer 599 Jawbreaker (16K Disk) 24.95 Fro Football (Text) (Cass. 16K) NEW 7.95 Dodge Racer (16K Cass. 24K Disk) 19.95 Asteroids 34.95 Missile Command 34.95 Mail Order Customers • Indicate Unit(s) you want • Shipping Address • Mass. res. 5% sales tax • Include check, money order, MC or VISA number We ship by best means possible freight collect lifJUtDfifC COMPUTER WUfffiE n * SYSTEMS 4 Elm St., Braintree, MA 02184 (617) 843-1 133 1-800-343-5691 (24 hours) Send for Catalog of complete Atari products explanation of the error-detection system are included. Second, a starter kit is available that includes some im- mediately useful software: the data-I/O program, two I/O-demonstration programs, a machine-language moni- tor called ESF-80, which resembles Radio Shack's T-Bug, and a mini-data-base program. The starter kit also con- tains documentation, ten blank wafers, and a two-for- one ribbon cable for connecting the Stringy Floppy drive to the expansion port on the TRS-80 keyboard/processor module. Third, for support after the sale, Exatron Corp has established the Exatron Stringy Floppy Owners' Associa- tion, through which a variety of software is available on wafer, including games and utility programs. Member- ship is automatic when you purchase a Stringy Floppy drive. The association also distributes instructions for modifying popular commercially sold programs to work with the Stringy Floppy drive. Such patches are available for the Electric Pencil word-processing program from Michael Shrayer Software and for the Editor/Assembler Plus from Microsoft Consumer Products. Members of the association are encouraged to contribute to the software collection and to a collection of hardware interface designs, sometimes in exchange for royalties. Fourth, Exatron maintains a toll-free telephone number you can call if you need more help than you can get local- ly. The number is (800) 538-8559. California residents can call (408) 737-7111. Other Planned Products In addition to the version for use with the TRS-80 Model I, Exatron has recently announced a Stringy Flop- py drive for use with the Apple II computer. The new sys- tem differs from the TRS-80 version in several ways. The operating system for the Apple will not be resident in ROM; it will be loaded into 6 K bytes of the Apple's user memory by a bootstrap routine when the Stringy Floppy system is activated, in much the same manner as popular disk operating systems. The Apple version will provide a catalog on each wafer, residing in the first file, and the standard data-transfer rate will be higher, about 16,000 bps. As the owner of a TRS-80, I envy these features. Because Exatron is designing Stringy Floppy drives for some Commodore Business Machines computers and for the Radio Shack TRS-80 Color Computer, owners of these machines may look forward to having the Stringy Floppy added to the selection of peripheral devices. Conclusions • The Exatron Stringy Floppy system is an excellent low- priced alternative to slow audio-cassette data storage. The system appears to work well despite some minor bugs. Exatron apparently has worked hard to make both the hardware and its operation simple and efficient. • Both documentation and support appear to be good, and toll-free telephone assistance is a reassuring asset. • Thanks to the efforts of Exatron and the owners' association, an adequate supply of software converted to run on the system is available. ■ 130 November 1981 © BYTE Publications Inc Circle 464 on inquiry card. Circle 128 on inquiry card. inally! The ultimate goal in microcomputer hardware, achieved. i joystick with such remarkable realism and control that even the thought of other joysticks virtually vanish. iside Le Stick™ are motion detectors which will maneuver your sights in any direction you want with simple ne handed movements. The large red push button on top provides a quick and accurate firing mechanism for etter response time. rom Star Raiders to graphic draw programs — Le Stick 1 liminates all the frustrations you experience with the onventional two handed joysticks or keyboards. ^ "he joystick of the future: See and test it at our Datasoft™ dealer today, or contact -^ s for more information. LE STICK $39. ! FOR ATARI 400/800, ATARI IDEO GAME, COMMODORE IC AND THE TRS-80 COLOR COMPUTER SYSTEMS *Vv o • COMPUTER SOFTWARE l^fS-Business Center Dr., Northridge, CA 91324 (213)701-5161 Character Generator for Atari 400/800 Computers This new program for the Atari Computer enables you to create high resolution graphics in the text mode. Redefines a character set virtually any way you want. Ready for whatever language or graphics set you can devise — from ancient Japanese to Modern Russian. (Diskette) $19.95 / (Cassette) $15.95. Mailing List for Atari 800 Computer Business application software for the Atari Computer. A versa- tile disc based system. An efficient micro format equal to those used for many large computers. Sorts by Zip Codes, Names, and stores special data for your personal use. (Diskette) $24.95. Order through your local software dealer, or send check or money order plus $2.00 shipping and handling to Datasoft. PRINTERS, MONITORS, DISKS Daisy Wheel Printer by C. Itoh 1750 Paper Tiger 445G 725 Paper Tiger 460G 1194 Paper Tiger 560G 1 495 Qume (shipped FREIGHT COLLECT) 2499 Silentype w/interface 349 Amdek Color Monitor 349 Amdek Green Screen 169 Amdek/Leedex B/W 12" Monitor 129 NEC 12" Green Screen 239 Sanyo 9" B/W Monitor 169 Sanyo 12" B/W Monitor 255 Sanyo Green Screen 309 Dysan Disks (pkg. 10) 50 Memorex Disks (pkg. 10) 40 Opus Disks (pkg. 10) 30 Verbatim "Gold" (pkg. 10) 35 MAKES IT, WE SELL IT Atari 400 8K Computer 419 Atari 800 16K Computer 789 Atari 410 Program Recorder 69 Atari 810 Disk Drive 499 Atari 820 Printer 429 Atari 825 Printer 695 Atari 850 Interface 169 16K RAM by Microtek 99 32K RAM by Microtek 189 Assembler/Editor 45 Atari Joysticks 18 Atari Paddles 18 Basketball 30 Computer Chess 30 Invitation to Programming 17 Music Composer 45 Star Raiders 39 Super Breakout .- 30 3-D Tic-Tac-Toe 30 Video Easel 30 Visicalc 180 M.M49 * S« * "«»«» S239 ROM 24K Bytes (expandable to 32K Bytes) CPU ^PD780c-l (Z-80A compatible), 4MHz RAM 32K Bytes (expandable to 160K Bytes with PC-8012A I/O Unit. The end of the compromise. TO ORDER Phone orders invited using Visa. Mastercard or bank wire transfers Visa and MC service charge ol 2% Mail orders may send charge card number (include expiration date), cashiers check, money order, or personal check {allow 10 business days for personal or company checks to clear) Please add 3% ($5.00 minimum) for UPS shipping, handling, and insurance APO and FPO include 5% ($7.00 minimum) for postage. Calif, residents add 6% sales tax. Please include phone number on all orders. FOREIGN ORDERS include 1% handling -shipped air FREIGHT COLLECT only Credit cards not accepted on foreign orders All equipment is in factory cartons with manufacturer warranty Opened products not returnable. Restocking fee for returned merchandise Equipment subject to price change and avail- ability Retail prices differ from mail order prices. WE SHIP THE SAME DAY ON MOST ORDERS' VISA* Circle 95 on inquiry card. (714) 579-0330 • MAIL TO: 1251 Broadway, el cajon, ca. 92021 AUTHORlZEC G3IjOOT@3? a-xgaijM^ .OMPUTER METRICS APPLE SOFTWARE ABM by Muse 19 Adventure by Mircrosoft 27 Alien Rain by Broderbund 19 Apple PIE 119 Apple Pilot 129 Apple-oids 25 Appleplot by Apple 59 Applepost Mailing List System 44 Applewriter Word Processor 65 Asteroid Field by Cavalier 19 CCA Data Mgmt 84 Data Factory by Microlab 129 Desktop Plan II 159 DB Master II by Stoneware 199 DOS Tool Kit 65 DOS 3.3 Upgrade 49 Dow Jones Portfolio Evaluator 45 Fortran by Apple 1 59 Hi-Res Football 33 Head-On 21 Integer Basic Cassette Demos 29 Orbitron 25 PASCAL Language System 425 Peachtree Bus. Pkgs CALL Personal Filing System 84 Phantoms Five 29 Pool 1.5 29 Pulsar II 25 Raster Blaster 24 Robot War by Muse 31 Sabotage 21 Sargon II Chess Game 29 Snoggle/Puckman by Broderbund . . 24 Space Game Album by Budgeco ... 39 Space Eggs 25 Space Invaders/Cosmos Mission 19 Space Raiders by USA zi: Star Cruiser 24 Sub-Logic FS-1 Flight Simulator 34 Super Single Disk Copy Routine .... 35 Super Stellar Trek 33 Supertext II by Muse 129 Ultima 35 Visicalc II 159 Visilist 24 Visitrend/Visiplot 219 Wizard and the Princess 32 Zork 34 LARGE SELECTION OF SOFTWARE IN STOCK — CALL FOR FREE BROCHURE — CALL 1-800-854-2833 PHONE ORDERS MON. - SAT. 8 to 6 P.S.T. Circle 95 on inquiry card. APPLE COMPUTER INTERFACE CARDS Applesoft II Firmware Card 149 CCS Asynchronous 7710A 129 CCS Parallel Print Cd. 7720A 155 Centronics Interface Cd 179 Comm. Cd. & DB25 Cable 179 CPS Multifunction by Mtn. Comp. . . 199 Expansion Chassis by Mtn. Comp. . . 555 HiSpeed Serial Int. Cd 155 Integer Basic Firmware Cd 149 ROMPLUS 135 SSm AIO Serial/Parallel I/O Assembled & Tested 149 ACCESSORIES A/D D/A Board by Mtn. Comp 319 Andromeda 16K Ramcard 179 Apple Game Paddles 25 Arith. Processor 781 1 A or B 339 COPYROM by Mtn. Comp 51 Dan Paymar L.C. Kit 1 or 2 55 Extender Board 27 GPIB IEEE 488 Card 259 Graphics Input Tablet 639 Hayes Micromodem 299 Introl X-10 Remote Control Sys 239 Joystick for the Apple 47 Keyboard Filter ROM chip 49 Lazer Lower Case Plus+ 49 M & R Sup-R-Term 80-col-bd 319 Music System by Mtn. Comp 479 Programmable Timer CCS 7440A ... 159 Prototyping Hobby Card 22 ROMWRITER by Mtn. Comp 149 SuperTalker Speech Synthesizer. . . . 239 Thunderclock 129 Versa-Writer Digitizer Drawing Sys . 239 Videx Keyboard Enhancer 115 Videx Videoterm 80-col-cd 319 2-80 SOFTCARD by Microsoft 319 MEMBER CHAMBER OF COMMERCE AUTHORIZED APPLE SALES & SERVICE (HM13M3? ffiX33m§D® DIV OF COMPUTER METRICS INC BYTE Comment Reviewing the Microcomputer Revolution Ed Faber, President ComputerLand 14400 Catalina St San Leandro CA 94577 For the past five years, industry leaders have been tell- ing each other about the microcomputer revolution, predicting it may even overshadow the industrial revolu- tion. Of course, the beginnings of the industry go back more than five years, but 1976 marked the first anniver- sary of BYTE and the creation of ComputerLand, which celebrated its fifth birthday this fall by opening its 200th store. With so many of the heady predictions of five years ago yet to be fulfilled, it's easy to lose sight of the changes we've already brought about. But one dream still unful- filled is the emergence of a mass market for home com- Viet* 't *%4ve A @6V v MODEMS All Modems connect to any RS232 Computer or Terminal! 1200 Baud and 300 Baud-Bell 212A Style. Penril 300/1200 $779 Onginate/answer/auto-answer. Full duplex RS232. Phone line connection via standard phone jack. 1 yr. warranty. Auto-dial option $350 300 Baud Phone t-ink $179 Originate/answer. Sleek, low profile. 15ozs. Hall/ lull duplex. Self test. RS232. Light displays for On Carrier. Test. Send & Receive Data. 1 yr. warranty. 300 Baud. USR-330D $339 Originate/answer/auto-answer. Phone line connection via standard jack. 1 yr. warranty. 300 Baud. USR-330A $399 Same as USR-330D PLUS Auto-Dial. Call for quote and technical information on higher speed modems and miltiplexors. Printing Terminals The new generation of printing terminals from General Electric. 30/60CPS.GETerminet2030 .... $929 110/300/60/1200 Baud. User selectable lines per inch and chars, per inch. True descenders and underlining. Up to 217 cols, per line. Top of fqrm. vert, and hor. tabs. Friction feed sld., tractor feed opt. Answerback. 1 yr. warranty on parts. Nationwide servicing. Extremely com- pact. 15 in. paper. Only 22 lbs. Built in text editor with 16k text editor optional. SUPERIOR TO DEC LA34AA at lower cost. 120/150 CPS. GE Terminet 2120 $1,699 Housed in same compact package as the 2030 with all the features of the 2030 PLUS 150 char, per. sec. print rate. Letter Quality. NEC 7720 KSR with keyboard $2,695 55 CPS. RS232 and Centronics parallel. Inter- changeable print thimbles for a wide variety of perfect, letter quality output. CRTs Televideo (Lear Seigler, Hazeltine and ADDS equivalent) S584 j I 1 *•"=;;!_ 24 x 80. RS232. Numeric keypad. Non-glare . In If screen. Printer Port. Function keys Televideo 950 $959 Green, Non-glare screen. RS232. Detachable keyboard. Advanced editing with wraparound Smooth scrolling. 15 baud rates. Protected fields. Underlining. Split screen. Fully program- mable function keys. 15 graphics characters. Self test. 25th status line. Buffered printer port. 14 x 10 high resolution character display, filta- m J ble screen Nationwide service lium General I ^^^^^^B Electric. ». ■§ Televideo 91 2C... $759 Televideo 920C .... S792 «MMMMV Visual Technology-Visual 100 (DEC VT100 Emulator) $1,399 All the features of the DEC VT100 INCLUDING Advanced Video Features and Non-glare screen. Printers OKIDATA Mircroiine 82A. 120 CPS. 80/132 Columns per line $529 User selectablechar. Sizes. Top-of-form bi-direc- tional. Short line seeking print techniques foi greater throughput. RS232&Centronics parrellel interfaces. Letter Quality, NEC 7710 RO. . . $2,395 Same features as the 7720KSR listed above but without keyboard. Letter Quality, NEC 3510 RO. . . $1,499 Like the 7710 RO but 30 CPS. 32 VISA/MASTERCARD Accepted. Corporation and In- stitution purchase orders accepted. Leasing rates available on request. All equipment is shipped with a 10-day money back guarantee. We offer full service, on-site maintenance plans on all equipment. All equip- ment in stock. U.S. ROBOTICS i H03 N. WABASH SUITE I7IS CHICAGO. ILL SOBOl BYTE Comment. sense of apprehension that prevails in the headquarters of successful companies. The question of the day seems to be "Who's gaining on me?" Instead of looking for a better and more valuable product, companies are aiming their strategies at the competition. Those who aren't afraid of IBM are afraid of the Japanese, or discounters, or Sears, or something. Into this turbulent market I'd like to toss an idea, one we've used at ComputerLand and credit with our success: the market is honest. The companies that succeed are the ones that contribute value by building the best possible product and offering it at a fair price. I can think of no bigger mistake than for companies who became success- ful this way to begin reacting to what others are doing (or might be doing). The potential market is much greater than anything we're competing for today. Any contribution to expand- ing the market can't fail to be repaid. The market will always have room for innovation, for products that im- prove on previous products or help solve new problems. I believe much of the industry's apprehension grows out of a misperception about consumer marketing. Many manufacturers have not yet learned how to communicate to the general public or how to describe hardware bene- fits to computer illiterates. That doesn't mean computers should be sold like shampoo, with million-dollar ad cam- paigns and sex appeal. As shampoo marketers will tell you, ad campaigns are most important for products with few real advantages over their competitors. The market will always make room for a better product. Innovation is also the answer for those who fear that Japan or some other country will steal the market through price erosion and superior manufacturing capacity. If the battle is fought on the basis of price in- stead of innovation, Silicon Valley hasn't a chance. If the battle is between cheaper and better, better will prevail wherever it comes from. The companies to watch during the rest of this decade are the ones that concentrate on providng value to the end user. We happen to believe that value includes offer- ing your products through full-service, full-support retail outlets. Be that as it may, the products with the most value to the end user are the ones that will succeed. We are still on the threshold of the computer revolu- tion; the greatest opportunities for manufacturers, retailers, and customers still lie ahead. No one now in the market or planning to enter it should fear anything more than the failure to bring value to the market. That is the challenge of the 1980s.* Occasionally, BYTE invites industry leaders to comment on topics related to the microcomputer industry. The opinions expressed by these authors are their own and do not necessarily represent the opi- nions of BYTE or its publishers. 136 November 1981 © BYTE Publications Inc Circle 419 on inquiry card. The MX-100. Not just better. Bigger. Epson. Our MX-80 was a pretty tough act to follow. I mean, how do you top the best-selling printer in the world? Frankly, it wasn't easy. But the results of all our sleepless nights will knock your socks off. The MX-100 is a printer that must be seen to be be- lieved. For starters, we built in unmatched correspon- dence quality printing, and an ultra-high resolution bit image graphics capability. Then we added the ability to print up to 233 columns of information on 15" wide paper to give you the most incredible spread sheets you're ever likely to see. Finally, we topped it all off with both a satin-smooth friction feed platen and fully adjustable, removable tractors. And the list of standard features goes on and on and on. Needless to say, the specs on this machine — and especially at under $1000 — are practically unbelievable. But there's something about the MX-100 that goes far beyond just the specs; something about the way it all comes together, the attention to detail, the fit, the feel. Mere words fail us. But when you see an MX-100, you'll know what we mean. All in all, the MX-100 is the most remarkable printer we've ever built. Which creates rather a large prob- lem for those of us at Epson. How are we going to top this? Your next printer. EPSON EPSON AMERICA, INC. Circle 167 on inquiry card. 3415 Kashiwa Street • Torrance, California 90505 • (213) 539-9140 See the whole incredible Epson MX Series of printers at your Authorized Epson Dealer. Circle 279 on inquiry card. MMSFORTH VERSION 2.0: MORE FOR YOUR RADIO SHACK TRS-80 MODEL I OR MODEL III ! • MORE SPEED 10-20 times (aster than Level II BASIC. • MORE ROOM Very compact compiled code plus VIRTUAL MEMORY makes your RAM act larger. Variable number of block buffers. 3l-char.-unique word- names use only 4 bytes in header! • MORE INSTRUCTIONS Add YOUR commands to its 79-STANDARD-ptus instruction set! Far more complete than most Forths: single & double precision, arrays, string-handling, clock, more. • MORE EASE Excellent full-screen Editor, structured & modular programming Word search utility THE NOTEPAD letter writer Optimized for your TRS-80 with keyboard repeats, upper/lower case display driver, full ASCII, single- & double-width graphics, etc. • MORE POWER Forth operating system Interpreter AND compiler 8080 Assembler (Z80 Assembler also available) Intermix 35- to 80-track disk drives Model III System can read, write & run Model I diskettes! VIRTUAL I/O for video and printer, disk and tape (10-Megabyte hard disk available) FORTH THE PROFESSIONAL FORTH FOR TRS-80 (Over 2,000 systems in use) MMSFORTH Disk System V2.0 [requires 1 disk drive & 16K RAM, 32K lor Model III) J129.95 1 AND MMS GIVES IT PROFESSIONAL SUPPORT Source code provided MMSFORTH Newsletter Many demo programs aboard MMSFORTH User Groups Inexpensive upgrades to latest version Programming staff can provide advice, modifications and custom programs, to fit YOUR needs. MMSFORTH UTILITIES DISKETTE: includes FLOATING POINT MATH (L.2 BASIC ROM routines plus Complex numbers, Rectangular-Polar coordinate conversions, Degrees mode, more), plus a full Forth-style Z80 ASSEM- BLER; plus a powerful CROSS-REFERENCER to list Forth words by block and line. All on one diskette (requires MMSFORTH V2.0, 1 drive & 32K RAM) . S39.95* FORTHCOM; communications package provides RS-232 driver, dumb terminal mode, transfer of FORTH blocks, and host mode to operate a remote TRS-80 (requires MMSFORTH V2.0. 1 drive & 32K RAM) $39.95' THE DATAHANDLER V1.2: a very sophisticated data- base management system operable by non-pro- grammers (requires MMSFORTH V2.0, 1 drive & 32K RAM) $59.95* MMSFORTH GAMES DISKETTE: real-lime graphics & board games w/source code. Includes BREAKFORTH, CRASHFORTH, CRYPTOQUOTE. FREEWAY, OTHELLO & TICTACFORTH (requires MMSFORTH V2.0, 1 drive 8 32K RAM) $39.95* Othar MMSFORTH products under dsvolopment FORTH BOOKS AVAILABLE MMSFORTH USERS MANUAL - without Appendices, for non-owners $17.50' STARTING FORTH • best companion to our man- ual $15.95* INVITATION TO FORTH - detailed beginner book on figFORTH $17-50* THREADED INTERPRETIVE LANGUAGES ■ advanced, excellent analysis of MMSFORTH-like lan- guage $18.95* PROGRAM DESIGN & CONSTRUCTION • inlro. to struc- tured programming, good for Forth $13.95* FORTH -79 STANDARD MANUAL - official reference to 79-STANDARD word set, etc $13.95* FORTH SPECIAL ISSUE, BYTE Magazine (Aug. 1980) ■ we stock this collector's item for Forth users and begin- ners $4.00* * ■ ORDERING INFORMATION: Software prices Include manuals and require signing of a single system, single- user license. SPECIFY for Model I or Model III! Add $2.00 S/H plus S3. 00 per MMSFORTH and $1 .00 per addi- tional book; Mass. orders add 5% tax. Foreign orders add 20%. UPS COD, VISA & M/C accepted; no unpaid purchase orders, please. Send SASE lor free MMSFORTH information Good dealers sought. Get MMSFORTH products from your computer dealer or MILLER MICROCOMPUTER SERVICES (B11) 61 Lake Shore Road, Natick, MA 01760 (617)653-6136 System Review The Datahandler from Miller Microcomputer Services Allyn Richardson POB 254 West Groton MA 01472 There are only two programs in my software library that I use constantly. One is the word processor that is helping me to review and edit this text. The other is The Datahandler from Miller Microcomputer Services. Written entirely in MMSFORTH (that company's version of the FORTH language for the Radio Shack TRS-80 Model I), The Datahandler does almost every job you expect of a personal computer except number- crunching — and it even does a little of that, as you will see. For example, The Datahandler disk includes a checkbook and bank- transaction routine that is the best of its kind. It can generate a summary list of all transactions in a specified interval and provide a running balance for each. Adding a code letter to each entry that designates the source of deposits and the purpose of expenditures allows the output sec- tion of The Datahandler to give listings and totals for each class. With these summaries of your financial ac- tivities, the annual IRS formalities become a breeze. There is also a mailing-list routine. Last year, with its help, I got through my entire Christmas-card list before Christmas for the first time in years. Previously, I got a few cards out by Christmas, some by St Valentine's Day, some by Easter/Passover, and many never made it at all. It took less effort to type all the names and ad- dresses into the TRS-80 than to ad- dress one year's Christmas envelopes by hand, and I only had to type them in once. Now that the data is in the computer, I can select and automatically prir. ; : self-adhesive ad- dress labels for thi. 1 entire list or any desired portion, such as family members, personal friends, business associates, my MMSFORTH users' group, or monthly accounts. The ad- dress labels save a lot of work, and the system makes certain that nobody gets overlooked. The Datahandler is also ideal for creating different catalogs, and it has built-in automatic cross-indexing. For example, I keep a catalog of all my phonograph albums on floppy disk. Each disk entry (called a record in computer data-base terminology) in the MASTER LIST data file cor- responds to one album in my collec- tion. Each data record has five fields of information: an accession number, title, description, subfile, and code. The accession number tells where the phonograph disk can be found. When a file is resorted, this number stays with its file record, even though the records themselves are renumbered in a new sequence. The title field in- cludes composer or performer, and the description includes the publisher's name, product number, and the number of separate musical pieces on the album. The subfile field points to a separate listing in another file on the same disk containing more detailed 138 November 1981 © BYTE Publications Inc APPLE • ALTOS • ATARI • MAXELL • DYSAN • EPSON • CCS • SHARP • CASIO • HP • VERBATIM • MEMOREX • SOROC • CORVUS • ADDS C MICRO BUSINESS WORLD INC. Information Lnne (213) 996-2252 TOLL FREE MAIL ORDER LINES (800) 423-5886 outside Calif. COMPUTERS (fcnpptc computer it Apple II-16K Apple II-32K Apple II-48K Apple II-64K Apple III 128-K List $1330.00 1430.00 1530.00 1725.00 3915.00 ■EJ Our Price SAVE S999.00 $331.00 SPECIAL $ CALL $ 2997.00 918.00 ' ALTOS 8CS 8000-15 i990.oo 4450.00 1540.00 SHARP-64K Z80FULLKBDYX-3200 CALL 129500 1050.00 245.00 NEC PC 8001 ATARI PERSONAL COMPUTERS 400 16K Bytes 01 Ram 800 16K Bytes of Ram 410 Program Recorder 810 Disk Drive 825 Printer (80 col- Centronic 737] 820 Printer (40 col impact) 830 Acoustic Modem 850 Interlace Module Atari Visicalc Atari 400-16K Lilt 595.00 S1080.00 90.00 600.00 999.95 450.00 200.00 220.00 200.00 595.00 Our Price 337.45 739.00 77.00 457.00 SAVE 257.05 332.00 13.00 143.00 769.00 230.00 353.00 155.00 192.00 164.00 327.00 97.00 45.00 48.00 34.00 304.00 m\ HEWLETT] PACKAR HP-125 Microcom[ I pu >r List 3750 00 HP-85 Microcompute 3250.00 HP-83 Microcompute i 2250.00 16K Exp-Memory Module 295.00 Graphics Plotter 722S 2450.00 Personality Mod. lor 7225 750.00 2631 B Impact/printer/ hvydty fh | 3950.00 " 150.00 Option 020 lor 263,18 8 Drives to choose frl 1 82902S f' 1 1300.00 9895A 8" Dual Driv< 6850.00 Graphics Tablet 9111 » 2050 00 HP-41 CV New 2.2 byles mem 325.00 HP-41-C Calculator 250.00 Card Reader for 41CV/C 215.00 Printer for 41CVIC 385.00 Optical Wand lor 41 CVIC 125.00 Quad Ram equals 4 Mem, Mods 95.00 Memory Modules tor 41 C HP-97 Programble Printer 750.00 HP-67 Programble Calculator 375.00 HP-34C Programble Scientific 150.00 HP-38C Programble Bus. R/E 150.00 HP-32E Adv. Scientific 55.00 HP-37E Business Mgm* ( 75.00 Our Price 2475.00 1777.00 255.00 2075.00 3250.00 125.00 1125.00 5500.00 1678.00 SAVE 775.00 473.00 40.00 375.00 700.00 25.00 195.00 1350.00 374.00 We carry a large inventory of Libraries, supplies. 250.00 185.00 75.00 65.00 162.00 289.00 53.00 101.00 97.00 25.00 81.00 14.00 25.00 S 595.00 175.00 295.00 80.00 117.00 33.00 117.00 48.00 57.00 33.00 7.00 18.00 accessories and PRINTERS EPSON MX 80 FT MX 80 IMPACT MX 70 IMPACT MX 100 Our Price SAVE 745 00 645.00 500.00 995.00 APPLE SILENTYPE 645,00 ANADEX 9501 165000 NEC 5510 319500 5515 3295.00 3510 "' 2495 00 3515 254500 OKIDATA MICROUNE 80 545.00 MICROUNE 82 649.00 MICROUNE 83 1050.00 PAPER TIGER 445G with Graphics 795.00 460G with Graphics 1,394,00 560G New full size 1,695.00 DIABLO (LETTER QUALITY) 630 R102 bi-directional tractors 2,965.00 1640K109 keyboard tractors 4,00000 630 RO Receive Only 2.710 00 1650K 136 keyboard tractors 4.000.00 549.00 450.00 390.00 765.00 299.00 1299.00 2445.00 2545.00 1795.00 1849.00 395.00 549.00 769.00 194.00 195.00 110.00 230.00 344.00 351.00 750.00 750.00 700.00 494.00 SPECIAL OF THE MONTH APPLE II PLUS 48K W/16K EXPANSION BOARD R = D =64K Our price $11990.0 List price $1780.00 Our price $1199.00 Save $581.00 APPLE II STUDENT^ SYSTEM Apple II Plus Systcm-48K RAM Disk II Floppy Disk & Interface (DOS 3.3) 12 " Grn. Phs. Video Monitor ^^^8/ NEC Grn, Phs 12" BMC Green Phs, 12 Zenith 12" SANYO MONITORS High Rosolution, Number 1 seller List 13" Color (new) high quality S550.00 12" Green Phosphorous 360.00 12" Black & White 340.00 15" Black & White 370.00 9" Black & White The Best Seller! 235.00 Our Price SAVE 388.00 S162 00 240.00 120.00 217.00 123 00 235.00 135.00 145.00 90.00 SOFTWARE FOR APPLE II Our List Price SAVE Apple Fortran S 200.D0 S 147.00 $ 53.00 DOS 3.3 (16 Sector) 60.00 45.00 15.00 Apple PILOT (16 Sector) 150.00 119.00 31.00 Apple FORTRAN (requires A2B0006) (16 Sector) 200.00 159.00 41.00 Language System with Apple Pascal 495.00 399.00 94.00 BPI General Ledger System 395.00 319.00 74.00 BPI Inventory Package 395.00 319.00 74.00 Visidex 200.00 159.00 41.00 Visicalc 200.00 159.00 41.00 Desktop Plan II 200.00 159.00 41.00 Mlcrolab Database System 150.00 119.00 31.00 Stoneware DB Master 229.00 189.00 40.00 Muse Supertext II 150.00 119.00 31.00 Softap&Magic Window 99.00 72.00 27.00 TEXAS INSTRUMENTS Tl 99/4A Console New Improved 10" Color Monitor High Resolution 32K Memory Module Speech Synthesizer Disk Memory Drive RF Modulator Telephone Coupler (Modem) Printer (Solid State) 950.00 385.95 374.95 399.95 149.95 499.95 49.95 224.95 399 95 317.95 312.95 127.95 390.95 42.50 185.95 315.95 544.05 57.00 87.00 22.00 109.00 7.45 39.00 84.00 DISKETTES SOLD IN BOXES OF 10 (Min. Purchase) BUY $100 of (he Following Diskettes DYSAN 104 1 5" SOFT SECTOR List PRICE 6.00 SAVE PER DISKETTE 3.99 S 104/1D =" DBL. DEN-SOFT SEC 6.40 4.60 37401 8" SOFT SECTOR 7.25 4.75 3740. 1D 8" DBL DEN -SOFT SECTOR 10 75 6,90 MD A l¥sOFTSEC- TOR.DBL DEN. 5.00 4.00 MD-2 = " SOFT SECTOR.'DBL SIDE.'DBL DEN 7.00 4.90 FD-1 8" SOFT SEC.'DBL. DEN. 6.50 4.50 FD-2 8" SOFT SEC.'DBL SIDEIDBL. DEN. 8.50 5.95 1.80 2.50 1.00 2.10 2.00 2.55 MODEMS NOVATION CAT MODEM NOVATION D-CAT NOVATION APPLE-CAT HAYES MICROMODEM HAYES SMARTMODEM 189.95 199.D0 349.00 379 00 279 00 140.00 150.00 310.00 295.00 239.00 49.95 49.00 39.00 84.00 40.00 TERMINALS TELEVIDEO List Our Price SAVE 910 699.00 599.00 100.00 912C 950.00 699.00 251.00 920C 995.00 795.00 200.00 950C 1.19500 949.00 244.00 DRIVES ^ CORVUS 5 MBYTES 3.750.00 3.050.00 700.00 10 MBYTES 5.350.00 4.449.00 901.00 20 MBYTES 6.450.00 6,450.00 1,125.00 CALCULATORS CASIO HR-10 HR-12 FR-100 FR-1210 PQ-20 LC-785 LC-3165 FX-68 Scientific FX-81 Scientific FX-3600P Scientific FX-602P "Computer Talk" 86 Memories Pro- gramming Upper & Lower Case Dot Matrix FX-702P Solves Problems with Alpha-Numeric Clarity, uses Basic Language 39.00 42.00 59.00 99.00 23.00 10.00 10.00 23.00 17.00 29.95 10.95 12.95 20.95 30.95 4.95 2.95 2.95 4.95 2.95 10.00 7.95 99.00 M.95 7.95 159.00 40.95 TELE. ANSW. DEVICES PHONE MATE 900 905 Remote 910 920 925 Remote 930 Remote 950 Remote 960 Remote 119 95 199 95 159.95 199.95 239.95 299.95 339.95 399.95 86.00 144.00 115.00 144.00 173.00 216.00 245.00 288.00 33.95 55.95 44.95 55.95 64.95 83.95 94.95 111.95 AVISOS EBVKE f' K1JCCTION U-.- ATJSKACT/OJV i — ■»'— We reserve theT7rjTii**io correct typographical errors. This ad supercedes all previous ads. _ MAXELL • DYSAN • EPSON • CCS • SHARP • CASIO • HP • VERBATIM • MEMOREX • SOROC • CORVUS •PERSONAL SOFTWARE • CCS Circle 254 on inquiry card. BYTE November 1981 139 information. When all the subfiles have been built, requesting a musical selection will give a list of all versions in the collection, where each may be found (including the side and band of the album), when, where, and by whom each was performed, and a critical comment. You can see how this would be useful for a radio broadcaster handling requests from listeners while on the air. Another worthwhile application is the ability to organize the contents of journals and periodicals. Finding that particular article in an extensive periodical collection can be quite a job. But if you have a Datahandler file of articles indexed by subject, author, title, when and where published, and a brief abstract, find- ing the desired article is no problem. An additional benefit is that Datahandler can scan all entries on a particular subject for relevant ar- ticles. Of course, building this kind of data base from scratch takes time. If you are a member of a computer group, each member could build a file on a different publication with The Datahandler and all members could share their files. The number of data bases is limited only by your imagination and your need to organize and control in- formation. Photographers could catalog their prints, amateur radio buffs could keep their station logs, sports fans could keep individual and team records — the list goes on and on. Anyone interested in learning about or using the FORTH language will appreciate several of the data files included on The Datahandler disk. A member of the MMSFORTH Users' Group has developed and made available a glossary of standard FORTH words (ie: program-coding commands) in Datahandler file for- mat. This file can be accessed and used by anyone operating in FORTH, or it can be modified, updated, or ex- tended using the Datahandler. Whole new vocabularies, such as the nonstandard FORTH words of which The Datahandler itself has been con- structed, can be added. The routine allows listing by word class, gives a description of what the word does and how it is used, and includes a page reference to MMSFORTH's hard-copy documentation for more information. Another data file, known as ASSEM, is included for assembly- language users or students. ASSEM contains the 149 commands of the Zilog Z80 microprocessor's instruc- tion set and the associated page number in the TRS-80 Editor /Assem- bler user's manual from Radio Shack. Both are cross-referenced to the equivalent MMSFORTH Z80-assem- bler command (the same elements but with arguments and operators in reverse-Polish sequence) and (where applicable) the older MMSFORTH 8080-assembler equivalent. The Editor-Assembler manual provides a detailed description of the operation of each instruction. The Datahandler's formatted hard- copy output is provided by the REPORT routine. You can print a line listing of all fields in each record of your file, or a selected subset. If the records are longer than one line, subsequent lines are indented and an extra line feed can be inserted be- tween records. REPORT gives the op- tion of generating a custom format, listing your file or selected subset with fields in any order. The format is completely under user control and can be set for your video screen or your printer's line and page length. It automatically truncates field lengths to fit your requirements. Unless you want it to, printer output does not in- clude the various computer-generated prompts and operator responses of the interactive program. Speed is one of the advantages of this data-base system, a direct result of the nature of the FORTH language (for specific information on this language, see the FORTH theme issue of BYTE, August 1980). The threaded interpretive structure of FORTH makes possible an indexed-sequential file organization. This combines the efficient use of memory space of a se- quential file with the speed of random access. The memory efficiency is im- portant because both The Data- handler program and the entire cur- rent data file are resident in the TRS-80 user memory to improve the response time of the system. In FORTH, source code precom- piles as it loads, and thus it occupies a minimum of memory. Once loaded, the compiled FORTH code is very fast. Precompiled code can be saved on floppy disk, reloaded, and reused. While it takes eighty seconds for The Datahandler source code to load and compile, the precompiled code loads _At a Glance. Name The Datahandler Type Data-base-management utility program Manufacturer Miller Microcomputer Services 61 Lake Shore Road Natick MA 01760 Price $59.95 Format 5y4-inch floppy disk Language used MMSFORTH Computer needed Radio Shack TRS-80 Model I with a minimum of 32 K bytes of memory, one floppy-disk drive, and the MMSFORTH system. Documentation Reprint of the Scelbi PIMS manual, additional text from MMS, and built-in help functions to guide users through the program. Audience For persons who need a program to help organize and manage in- formation using their TRS-80. Additional comments Requires MMSFORTH system, $129.95, for operation. 140 November 1981 © BYTE Publications Inc Finding the best software on the market can take you weeks. Reading this ad takes 31.7 seconds and gives you the same results! Westico Software Review Committee is easy to recognize. It's their red- rimmed eyes. You get that way checking through an endless parade of software programs. And they do it so that you don't have to. But selecting good software is only part of what makes Westico one of the fastest growing com- panies in the software industry. Having experts on staff who really understand both software and hardware is another, But Westico offers more than quality products and TWO MORE GREAT PROGRAMS FROM WESTICO LYNX, a friendly overlay linker. LYNX is an overlay linker for creating executable programs from relocatable files produced by Microsoft's FORTRAN, COBOL, and MACRO-80 languages. LYNX allows the construction of pro- grams that use all available memory including that used by LYNX itself. Maxi- mum size programs under Microsoft's L80 linker can be increased at least 9K using LYNX without overlays. The overlay capability of LYNX is vital for programs larger than available memory. With overlays, many large programs on minicomputers or large mainframe computers can be easily moved to a microcomputer. LYNX offers many features not found in L80. For example, LYNX can be told to get commands from a disk file. The "HELP" feature displays a complete list of LYNX commands. Mapping informa- tion can be sent to the screen, printer or disk files. LYNX can decode Microsoft REL files for inspection. LYNX uses overlays in a tree structure. Any routine is available to any overlay that is higher on the branch than the routine itself. Complete system with documentation $250. Documentation alone $25. Now it makes sense to MINCE words. MINCE is a full screen editor based on the "Emacs" text editor, developed after years of research in editor technology and user Interface at M.I.T. and other uni- versities. With MINCE you can edit several files simultaneously, allowing the text to be moved between the files. The screen can be divided to display any two files or two parts of the same file at one time. Text can be manipulated by the word, sentence or paragraph, as well as character, line and entire screen with simple, easy-to-remember commands. MINCE automatically adjusts line length to margins as the text is entered. Com- mands change words to UPPERcase, lowerCASE or Capitalize. The MINCE unique "query replace" allows global changes to be "tried-out" and then accepted or rejected. Lines can be cen- tered, "white space" removed and text then inserted or overwritten. MINCE is as powerful an editor for programmers as it is for creating documents, MINCE fea- tures "type ahead" and a status line which constantly displays: editing mode, the files being edited, the current posi- tion in the file, the file modification — if any, the state of the "save" buffer and the command currently being executed. Complete system with documentation — S175. Documentation alone — $25. support. We offer our unique 24-hour service overnight! Westico. We're working hard to be your software company. The Westico 24-Hour Computer Hotline (300 baud) (203) 853-0816 for detailed program information and quick access ordering. — A full range of professional software. — Support fora wide variety of CP/M " and other computer systems, In- cluding: TRS-80 Model II, Apple, Vector Graphic, Cromemco, North Star, Micropolis, Ohio Scientific, Altos, Dynabyte, SuperBrain, Xerox, Zenith and more. _ys to Order - Write Westico, Inc., 25 Van Zant Street, Norwalk, CT 06855, - Call (203) 853-6880. Telex 643-788. Dial-up our 24-hour computer (300 baud) (203) 853-0816. COD. MasterCard and VISA accepted. Prices do not include shipping and are subject to change. In CT add 7' ;% sales tax. All sales final. Manual price may be credited towdrd Dealer inquiries Invited. Copyright © 1981 Westico. Inc. WES-36 WESTICO The Software Express Service 25 Van Zant Street • Norwalk, Connecticut 06855 (203) 853-6880 • Telex 643-788 in less than eight seconds. Once load- ed, the system disk is not needed for file operations because, as mentioned above, all the program code is in memory. The remaining space on the system disk can be used for file storage, or it can be removed and replaced with a data disk, transfer- ring control to the new disk directory usually located at block zero. On multiple-drive systems, control can be switched at will from one directory to another for access to the files on each; it is even possible to have one directory refer to more than one disk. This can be complicated, however, requiring that such disks always be used as a set, each in its proper drive. Both the source code and the precompiled version of The Datahandler are useful, and both should be retained. The source code can be easily modified, whereas the precompiled program cannot. Modified source code can be precom- piled and saved on the disk; the documentation describes how this is done. Once the program is loaded, how much space is left for holding a file? If you have a 32 K-byte TRS-80, about 9 K bytes. System overhead (device- control blocks, system stacks, etc) use about 3.5 K bytes while The Datahandler and the portion of the FORTH system it requires compile in- to about 19.5 K bytes. The remaining 9 K bytes of user memory are used ef- ficiently, with data tightly packed. Each entry is linked to the next by a 2-byte address pointer to eliminate the vacant space at the end of partial- ly filled or empty fields, which are often found in other data -base pro- grams. For many personal applica- tions 9 K bytes is enough; with a 48 K-byte system, the data space is about 25 K bytes, enough for a fairly large file. If still more space is needed, you can split your data file into two or more parts, usually with no loss of convenience. For example, my phonograph-album file has 245 en- tries, which exactly fills my 48 K-byte memory space. To make room for further acquisitions, I split my file in- to a "classics file" and a "general file" (jazz, folk and humor). A large mailing-list file could be divided alphabetically by addressee, or by zip code for presorted bulk mailings. Having the entire file resident in memory is much faster than a system which uses frequent time-consuming transfers to and from disk. My memory-filling phono-record file has entries stored in order of accession number; resorting to alphabetic order by title takes 13.2 seconds. Sorting by code designation within the alphabetic sort increases this time to 14.1 seconds. Up to ten successive levels can be sorted. Sorts are the slowest of the file manipulations. Other operations occur as fast as you can punch the keys. There are also small conveniences that speed up the human end of the operation. For example, when enter- ing a group of checks written on the same day, you need only enter the date for the first entry; entering a semicolon in the date field of the V.I.P.'s Call A.E.I. V.I.P's call A.E.I, because A.E.I, tests before shipping, has expertise on all items offered, and is price competitive. TELEVIDEO COMPUTER System 1 Computer System 2 Compute! System 3 Computer TS-80 user station 3995 8995 19995 Sell CALL CALL CALL CALL TELEVIDEO TERMINALS 910 Termt 912C Terr 920C Terr. 950 Termi 3510 7710 7720 5510 5520 NEC PRINTERS List 1 30CPS Serial 2450 1 55CPS SERIAL CALL 1 KSR Serial CALL 1 55CPS Serial 3055 1 KSR Serial 3415 Sell 2050 CALL CALL 2495 2895 NORTHSTAR HORIZON COMPUTERS HRZ HRZ HRZ HR2 HDS 2D-32K 2D-64K 2Q-32K 20-64 K 8 Hard Dis 3695 4195 3995 4495 2890 3250 NORTHSTAR SOFTWARE Northword D'O Mailmannger D>Q Into manager D/'O General Ledger DO A/R D/Q A.'P D/Q 399 299 499 TEXAS INSTRUMENTS PRINTERS LI si Sell 810 BASIC 10 Full ASCII :0 FLC/CP !0 R/O BASIC 820 KSR Package 1995 1580 2195 1760 1995 1625 2395 1950 NORTHSTAR ADVANTAGE COMPUTER List S ADV-20-64K 3995 C> SIO Board 175 C/ PIO Board 200 C/ FPB Board 399 C/ Graphics Option 299 Cf SYSTEMS GROUP 2000 Computer DM-6400 Memory DMB-6400 Memor CPC-2813 CPU FDC-2801 Controll O QUME PRINTERS Sprint 9 35CPS R/O Sprinl 9 45CPS R/O Sprint 9 55CPS R/O Full Control Option Memory Option MORROW DECISION COMPUTER ion 1 BASIC List Sell 1350 CALL CALL 65K Sialic Ram 1000 780 Switchboard I/O 259 210 Select drives from Morrow disc systems for desired configuration MORROW DISC SYSTEMS DlEi a 2D 1 Dm Discus 2D 2 Drive Discus 2-2 1 Drive Discus 2'2 2 Drive M26 Hard Disc M2I) Hard DtSC List 1095 1875 1395 2495 4495 4795 Cat Modem D-Cat Auto-Cal Apple- Cat DC Hayes Micro-100 ZENITH DATA SYSTEMS Lisl Sell VM-121 Green Moniloi Z-19 Terminal Z-89 Computer Z-90 Computer — Call tor Accessi Pe 2895 3195 ly Pm : Softwat f? Available *H4» MICROPRO SOFTWARE WordStar Apple Words! Spoil star 250 190 350 250 250 !90 DISCS— CABLES —SEE THESE PRODUCTS AND MORE IN OUR SHOWROOM- PRICES CHANGE DAILY— CALL OR VISIT FOR CURRENT PRICING AUTOMATED EQUIPMENT, INC. (714) 963 -1414 18430 WARD STREET, FOUNTAIN VALLEY, CALIFORNIA 92708 (800) 854-7635 142 November 1981 © BYTE Publications Inc Circle 44 on inquiry card. Circle 184 on inquiry card. At Hayes, we don t believe in sec- ond best. Or planned obsolescence. We believe in taking the state of the art to the limit. Our new Smartmodem, for exam- ple, is the most sophisticated 300-baud originate/answer modem you can buy. And yet, it is perhaps the easiest-to-use modem ever. RS-232C Compatible. Smartmodem lets any RS-232C compatible computer or terminal communicate by phone with other computers and time-sharing sys- tems located anywhere in North America. You get full and half-duplex operation with both Touch-Tone* and pulse dialing. Auto-Answer/ Dial / Repeat. Smartmodem can answer the phone, dial a number, receive and transmit data, and then hang up the phone- automatically! If desired, Smartmodem will even repeat the last command. You can depend on Smartmodem for completely Unattended operation. Completely Programmable. Smartmodem can be controlled using Microcomputer Component Systems any programming language. Over 30 dif- ferent commands can be written into your programs or entered directly from your keyboard. Smartmodem also includes sever- al switch-selectable features that let you tailor performance to your exact needs. You can "set it and forget it" for the ulti- mate in convenience. Built-in Audio Monitor. Thanks to an internal speaker, you can actually listen to your connection being made. You'll know immediately if the line is busy or if you reached a wrong number— and you don't even need a phone! Status at a Glance. Seven LED's indicate Smartmodem' s current operating mode: auto-answer, carrier detect, off hook, receive data, send data, terminal ready and modem ready. You're never left in the dark! Direct-Connect Design. Smartmodem is FCC registered for di- rect connection to any modular phone jack— there's no acoustic coupler to cause signal loss and distortion. Smartmodem, Smart Buy. Pro- fessional quality features. Versatile per- formance. A full two-year limited warranty A suggested retail price of only $279. What more could you want? Per- haps the matching Hayes Stack Chrono- graph, an RS-232C compatible calendar/ clock system. Check out the Smartmodem wher- ever fine computer products are sold. And don't settle / y \ for anything less 111 LI**. i»r than Hayes. I J nay©!. Smartmodem. The ultimate concept in modems isnowareali ptreeCOrners East, Norcross, Georgia 30092 (404) lonlyinlhe'U.S.A, ' TM American Telephone and Telegraph © 1981 foducts, InC: Circle 297 on inquiry card. FLOPPY DISKS & SUPPLIES EBASF $26.70* n Led 100' >i Free FLEXYDISK' ) - Cross-linked oxide coating for low head wear and long media life - Special self-cleaning jacket liner ■ Double lubrication — special lubricants in formula and on disk surface minimize head friction wear. Every BASF flexible disk is tested at thresholds 2-3 times higher than system requirements, to be certified completely error-free. '5.25" or 8" Single Side, Single Density, Box of 10 Most types in stock. Call for prices. Oty. pricing avail. basf Headcleaning FlexyDisk BASF's new Headcleaning FlexyDisks' are specially- designed to quickly and conveniently clean the read/ write heads of your diskette drive with- g ox f 3 out the mess and bother of chemical Anp e\f\ solvents or liquids. $00.00 Note: Use only on single-side diskette drives! HARDHOLES Added strength rein- forcing rings prevent hole tearing and rippling damage. Made of heavy duty mylar. 8" Application Kit S11.9E Extra Boxes of 50 Holes . SB.OC «r^\ mn'ercii nitj it ">} ■Pencil" M-&j 5.25" Application Kit ... S8.95 Extra Boxes of 50 Holes . . . $6.00 Applicator Only S4.00 Applicator Only . S3. 00 Kas-sette/10" and Mini Kas-sette/10" —^ Library Case 5.25" S2.25 a- $2.95 (t» Flip N' File 7 • Protective storage system for up to 60 disks * Transparent smoke colored acrylic construction with hinged lid 5.25" $24.95 $29.95 Paper Tractor The Paper Tractor turns your tractor feed printer into a friction feed printing system. Inexpensively. • Fits 9'-4" print frame. ■ Compatible with Matrix, Impact, Daisywheel and Ink Ejection printheads. • Fits front, back and dual tractor paper feeds. • Positions letter or legal size paper automatically with an edge-protecting guide. ■ Proven with all major manufacturer printers, including Epson, Tiger, GP-80M, and more. ■ Inexpensive! $11.95 Mastercard C.O.D. • Visa - Bank Wire Transfer Personal checks require two weeks to clear. Minimum $2.00 shipping and handling charge. Add $1.50 for C.O.D. Prices are subject to change. CALL OUR ORDER DESK NOW! (805) 985-9824 MAIL ORDER ONLY NATIONAL DATA SUPPLIES. INC. 1741 CAPSTAN DRIVE OXNARD. CA 93033 subsequent entries copies the date in- formation from the previous entry. This semicolon function can be used with any field, whether you're enter- ing a series of articles from the same magazine, friends in the same city, or addresses with the same zip code. When updating a record, a null entry leaves the field unchanged, while entering a couple of spaces erases the previous contents, and any valid en- try replaces the old data. For search-and-match operations, you do not have to enter the exact field desired; The Datahandler will locate close matches if so directed. For example, if you want to find the account of Dr. Neilson but don't know the correct spelling of the name, you type in the name string (the target of the search in each record in this case) as "N77LS7N", and any alternative spellings will be located (eg: NIELSEN). The wild-card character, 7, indicates that any character in that location is accept- able. Even if you have lowercase capability and have recorded a name with initial-capital letters, instead of using all uppercase, it can still be located on the first try. By changing the program constant 7UL from its default value of to 1 (the command in FORTH to do this is { 1 7UL C! }), all lowercase characters will be regarded as uppercase for the pur- poses of string matches. This is very convenient for those with lowercase capability on their TRS-80. Product Support One of the most attractive features of The Datahandler is the excellent documentation. The well-known Scelbi PIMS (Personal Information Mangagement System) program, written in BASIC, provided the con- cept upon which The Datahandler was built. By arrangement with Scelbi Computer Consulting, the very fine PIMS user manual is supplied as the main documentation for The Datahandler. As in the original PIMS, The Datahandler leads you by the hand with the HELP command, which displays all available options, then supplies prompts that tell you what to do next. Additional text takes you step by step through all the operations, from loading the program to adjusting a custom report format (the most complex operation for a beginner), and using sample practice data files included with The Datahandler disk. Beginners will find The Datahandler easy to use. Only an ex- tremely experienced user will not re- quire the prompts. Not only do they guide you through all the program options, they provide great flexibility in formatting a custom report. However, the versatility and interac- tive nature of this program can be a disadvantage. Some options or parameters will not change from day to day, and it can be a nuisance to have to reenter them every time. This minor nuisance can be over- come if it becomes a problem. For those users familiar with FORTH pro- gramming, custom modification of some of The Datahandler routines (such as replacing the #IN routine, which receives keyboard input, with the desired parameter as a literal) is not too difficult. It's easy to eliminate unnecessary inputs while retaining needed flexibility. Even neophytes who know how to use the full-screen FORTH editor will learn a lot in the process. If, on the other hand, you have a business application and want no part of programming, but do need custom modifications, the group at Miller Microcomputer Services (which in- cludes Tom Dowling, author of both MMSFORTH and The Datahandler) can create a custom version. The typical cost is $500 to $1000, depend- ing on the extent of the modifications. This is competitive with many business systems with fewer features, running twenty times slower in BASIC. To get new customers started more easily (those who purchase both the MMSFORTH and The Datahandler disk with single-system licenses), MMS will provide a third disk customized for your system con- figuration and precompiled for eight- second loading. Though the firm does not promote this service, it is available on request for an extra $10. 144 November 1981 © BYTE Publications Inc Circle 249 on inquiry card. C_ inn rTQTir Mownou QOEQi/Tijoni iru -I IUU -til II IL I ILI IUI 1 1 Ul ILI II III II IUUUI I ••• ••• ••• ••• ••• ••• •• ••• ••• ••• ••• ••* ••• ••••• •••••• ••• ••• ••• ••••••• •••••• •••••■ ••• ••• ••• ••••••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••* ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• •••••• «»• ••• ••••• ••• _ _ ••• ••• ••••••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••* ••• ••• ••• ••• ••• ••• ••••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••••••• ••••••• ••• ••••• ••••• ••• •••••• ••• ••• ••• ••• ••• ••• •••••• ••••••• ••• ••• ••• ••• ••• ••• ••• •*• ••• ••• •• ••• ••••••••• •••••••••• •••••••••••••••• •••••••••• ••• ••• ••• ••• ••• ••• ••• ♦*• ••• ••• ••• ••• ••• ••• ••• •• •• ••• ••• ••• •«•••• ••• ••• ••» ••• •••••• ••••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• •••••• *•• ••• ••• ••• ••• •••••• ••• ••• ••• _ ••• ••• •••••• ••••• ••• ••• ••••• ••••••• ••• ••• ••••••• •••••• ••• ••• ••••••• ••• •••••• •••••• •••••• ••• •••••• ••• ••• •••••• •••••• •••••• ••• •••••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• •••••• ••• ••••••• ••• ••• ••••••• ••• ••• ••••«•• ••• ••••••• ••••••• •••••• ••• ••• ••• ••• ••• ••• ••• ••••••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••••••• ••« ••• •••••• ••• ••• ••• ••• ••••• •••••• ••• •••••• •••••• ••• ••• ••• •••••• > ••• > ••• > ••• i •••••• ••••• ••• ••• ••• ••• ••• ••• ••• ••• •• ••• ••• •••••• •• ••• ••• ••••• •••••• ••••• ••••••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• • •• ••• ••• ••o ••• ••• ••• ••• ••• ••• •«• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• •••••• ••• ••• ••• ••• ••• •••••• ••• ••• ••• ••• ••• •••••• ••• ••• ••• ••• ■•• ••••••• •••■••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••••••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• • •• ••• ••• ••• ••• ••• ••• ••• ■•• ••• ••• ••• ••• •••••• ••••••• 1 f •• ••• < ••• ••• < ••• ••• ••• ••• ••• •••••• •••••• ••• ••• ••••• •• ••• •••••• ••••••• ••••••• •••••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• •••••• ••• ••• ••• ••• •••• — ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• ••• 16K STATIC RAM $169 64K STATIC RAM $795 32K PARTIALLY POPULATED $479 48K PARTIALLY POPULATED $659 Finally, you can buy state-of-the-art S-100 static memory for your computer at unprecedented savings. Memory Merchant's memory boards provide the advanced features, quality and reliability you need for the kind of operational performance demanded by new high-speed processors. COMPLETELY ASSEMBLED These memory boards are not kits, nor skeletons— but top quality, high performance memories that are shipped to you completely assembled, burned-in, socketed, tested and insured with one of the industry's best warranties. SUPERIOR DESIGN & QUALITY Memory Merchant's boards are created by a designer, well-known for his proven ability in advanced, cost-efficient memory design. Innovative circuitry provides you with highly desired features and incredible versatility. Only first quality components are used throughout, and each board is rigorously tested to assure perfect and dependable performance. SHIPPED DIRECT FROM STOCK All Memory Merchant's boards are shipped direct from stock, normally within 48 hours of receipt of your order. Prices, NO RISK TRIAL We are so convinced that you will be absolutely delighted with our boards that we extend a no risk trial offer. After purchasing one of our boards, you may return it (intact) for any reason within 15 days after shipment and we will refund the purchase price. NEW 18 MONTH LIMITED WARRANTY! The reliability of our boards, through quality controlled production and proven performance, has enabled us to extend our warranty to a full 18 months. This includes a 6 month exchange program for defective units. HOW TO ORDER Please send check, money order, VISA or MASTERCHARGE (add ICA#) with your order. Sorry, no C.O.DIs. Specify model number, and quantity desired. Shipping and handling charge is $5.00 per board. California residents add 6% Sales Tax. Credit card purchases may be telephoned to (415) 483-1008. OEM and DEALER inquiries invited. lyy/™ memor v uuul\ merchant 14666 Doolittle Drive San Leandro, CA 94577 (415) 483-1008 terms, specifications subject to change without notice 64K RAM, Model MM65K16S Cool running operation to 10 MHz Ultra low-power consumption Fully loaded 64K board draws: Typ. 350 Ma. (Max. current 550 Ma.) Bank Select Capability Extended Addressing Capability One 16K submodule equipped with a 2K window which may be located in any of the 2K segments 2716 (5V) EPROM Compatibility: Programmed 2716 EPROM's may replace any or all of the RAM Four independently addressable 16K submodules on one board organized as two pair of independent 32K banks or as one 64K Extended Address Page. Each 32K bank responds independently to phantom. Bank Select logic is compatible with either Cromemco Cromix* or standard Bank Select software. *Cromix is a trademark of Cromemco. New 16K (2K X 8) 150ns Static RAM Runs on any S-100, 8-bit system MPM Conversion Option: Write for details. 16K RAM, Model MM16K14 Bank Select Capability Extended Addressing Capability One 4K segment equipped with IK windows Four independent 4K X 8 byte segments Uses field proven 2114 (IK X 4) Low-power consumption (Typ. 1.3 Amps) Runs on any S-100 8080, 4 MHz Z-80 or 5 MHz 8085 system. We Wish Apple Computer Inc. and all Apple Users a Happy Holidayl Microcomputer Call For Our Price If you're considering a computer, consider thin: 4 Mhz Z-80A Operation 80 or 40 column modes STANDARD Built-in Centronics printer port Full ASCII keyboard with Shift lock Real Time Clock STANDARD RGB Color Output Mixed text and graphics Numerlca Keyboard STANDARD CP/M Compatibility 5 programmable Function keys 24K Microsoft NBASIC in ROM with enhanced color graphic commands The NEC PC-8001A has all these features and much more. Expandlbllity you want, expandability you get. Through the use of the PC-8012A I/O unit, total system RAM can be extended to 160K. The PC-8031 Dual Disk Drive puts 286K of floppy disk storage at your com- mand. The NEC PC-8001A has so many things that are op- tions on other computers built right In that you may never have to buy another accessory! The quality that the NEC name has come to stand for has been built-in, too. Compare the competition, and then call Consumer Computers for the NEC PC-SOU I. NEC COMPATIBLE SOFTWARE CP/M Operating system with graphics control. . .CALL SUPERCALC Financial & Scientific Modeling (requires CP/M) ■ CALL WORDSTAR Word Processing System (requires CP/M) CALL SYSTEMS PLUS Complete Accounting System (requires CP/M) CALL MICROSOFT BASIC-80 (requires CP/M) CALL MICROSOFT FORTRAN-80 (requires CP/M) CALL MICROSOFT COBOL-80 (requires CP/M) CALL X/lrOOH '" PERSONAL V IV/^U COMPUTER commodore Personal Computer Color " Sound ' Graphics Call or write for more info. Disk drives available soont $259 [apple computer "•Authorized Dealer APPLE If PLUS 16K ,$1025 48K now $ 1089 ^^^^m \j^^ APPLE DESK DMVES w/cont. & DOS 3.3. $499 Disk II Drive only $439 ORDER TOLL FREE 800-854-6654 In California and outside continental U.S. (714) 698-8088 Telex 695-000 Beta CCMO APPLE /// Special h ----- ~ --, Holiday I^L^JjEJ Sale / MflMn 1*iOI\ now only »P»ll!lD Apple Cards and Hardware 1 6K RamBosrd by ConComp industries 130 Language System w/PascalSV BASICS 379 Silentype Printer w /Interface card 349 Hayes Mlcromodem II 299 Novation Apple-Cat 339 Videx Videoterm 80 column card 269 Vldex Keyboard Enhancer IIS Z-80 Softcard by Microsoft 299 16 K RamCard by Microsoft 169 Integer Basic or Applesoft II Firmware Card 145 Graphics Tablet 619 Parallel Printer or Hl-Speed Serial l/F card 135 Communications Card w/cable 185 Centronics Printer Interface card 185 Apple IEEE-488 Interface card 399 16K Language card by Apple Computer 169 Thunderclock Plus clock/calendar 119 Smarterm 80 column card 299 Corvus Winchester Hard Disk Drives CALL ALF 3 Voice Music Card 239 ALF 9 Voice Music Card 169 Lazer Lower Case Plus + 55 Lazer Keyboard Plus + 99 23 Key Numeric Keypad by Keboard Co 120 Joystick II by Keyboard Co 45 6809 CPU Card (The Mill) by Stellatlon 319 AlO Serial & Parallel interface by SSM A&T 189 Music System (16 voices) 479 A/D + D/A Interface 289 Expansion Chassis (8 slots) 599 Intro! X- 10 Controller card 169 Clock /Calander card 225 CPS Multi-function card 189 Supertalker SD-200 239 Romulus + card 135 Romwriter card 149 Symtec Ill-Res Light Pen 210 Sup-R-Fan ventilation system for Apple II 45 Sup-R-Termlnal 80 column card by M&R 329 SVA ZVX4 Megabyter 8" Disk Controller 589 SVA 2+2 Single Den. 8" Disk Controller 345 Speechlink 2000 by Heuristics 249 Veraawrlter Digitizer Tablet 229 Asynchronous Serial Interface card by CCS ....... 139 Centronics Parallel Interface card by CCS 119 We carry all California Computer System Cards . . CALL ; We stock many more Items for the Apple II. Please call or write for current price list. CALL OR WRITE FOR FREE CATALOG 16K RAMBOARD by ConComp for Apple II Computers * 16K Hl-speed Dynamic RAM FOR ONLY " Compatible with all software * East Installation & operation _ ^— ., ^ ^^ ' Read & Write select Indicators ffl™ ^ »1 M\ ' One Year Warranty ^k I "^k ■ ■ AVAILABLE NOW Circle 111 on inquiry card. # c© ^ *8§^ M ^^J A^a .i<5 ,vv * 1 Atari Personal Computers ATARI 800 16K $749 Atari 400w/16K 349 410 Program Recorder . , ... 65 810 Disk Drive 449 825 80 col. 7x8 Dot matrix Impact printer 699 822 40 col. Quiet Thermal Printer 349 850 Interlace Module 159 Atari 16K Ram Module 69 Anion Ramcram 32K Module 189 Available Now!! Asteroids, Missile Command and Star Raiders . . . 35 ea. WE STOCK ALL ATARI COMPUTER SOFTWARE AND HARDWARE. PLEASE CALL OR WRITE FOR COMPLETE PRICE LIST. Software for the Apple VlslCalc version 3.3 159 VIslFlle (NEW data base manager) 199 VIslTrend/VlslPlot 219 VIslDei 159 VIslTerm 129 Desktop /Plan II 159 DB Master 169 WordStar (Apple 80 col. version 249 Dow Jones Portfolio Evaluator 45 The Controller (G/L. A/R & A/P) 499 Apple Post 45 Apple Writer 65 Apple DOS Toolkit 65 DOS 3.3 Upgrade 49 Dow Jones News & Quotes Reporter 85 Apple Fortran (requires 64K memory) 165 Apple Plot 60 Easywrlter word processor (80 column) 225 Tax Preparer 99 Real Estate Analyzer 129 Creative Financing 129 Personal Filing System (PSF) 85 Peachtree Accounting Software CALL BPI Accounting Software CALL Systems Plus Accounting Software CALL Apple Entertainment Software We stock all Apple Special Delivery Software along with HUNDREDS of other games and utilities. Please call or write for a complete price list. Raster Blaster 29 Gorgon 39 Pool 1.5 34 Ultima 39 Snaggle ■ • Space Eggs •" Flight Simulator 33 Gobbler Allen Rain 23 Pulsar II 29 Space Warrior 24 Warp Factor 39 Dragon Fire 45 We stock HUNDREDS of software games and utilities. S-100 California Computer Systems Flop py Disk Controller $ 3 O" 64K Dynamic Ram Board, 200ns $ 499 Z-80 CPU board w/ monitor ROM $269 16K Static memory board, 200ns 369 32K Static memory board, 200ns 599 S-100 12 Slot Mainframe 475 4-Port Serial Interface 299 2-Port Serlal/2-Port Parallel Interface 299 4-Port Parallel Interface 229 ORDER TOLL FREE 800-854-6654 In California and outside continental U.S. (714) 698-8088 Telex 695-000 Beta CCMO PRINTERS EPSON MX-80 Anadex 9501 w/2K Buffer 1349 C. Itoh Starwrlter 25 CPS dalsywheel 1449 C. Itoh Starwrlter 45 CPS daisywheel 1649 Epson MX-70 CALL Epson MX-80 & MX-80 F/T CALL Epson MX-100 CALL NEC 8023 Impact Dot Matrix 695 NEC Spinwrlters (Latest models) CALL Paper Tiger IDS-445G w/graphlcs 699 Paper Tiger IDS-460G w/graphlcs 949 Paper Tiger IDS-560G w/graphlcs 1249 Silentype Printer w /Apple Interface 349 Qume Sprint Dalsywheets (Latest models) CALL Silentype w/ Apple II Interface $349 Video Monitors ZENITH 12" GREEN SCREEN ONLY $149 Amdek/Leedex Video 100 12" B&W. .155 Amdek/Leedex Video 100G 12" Green Phospher. . .179 Amdek (Hitachi) 13" Color w/audlo output. ..... .389 NEC 12" Green Phospher Display JB-1201M CALL NEC 12" Lo-Res Color Display CALL NEC 1 2" Hi-Res RGB Color Display CALL Sanyo 9" B&W Display 185 Sanyo 9" Green Phospher Display .CALL Sanyo 12" B&W Display 269 Sanyo 12" Green Phospher Display. ........... .285 Sanyo 13" Color Display 449 Zenith 12" Green Phospher Display ZVM-121 149 lering information: Phone orders using VISA. MASTERCARD. IER1CAN EXPRES5. DINER'S CLUB. CARTE BLANCHE, bank e transfer, cashier's or certified check, money order, or personal tck (allow ten days to clear) Unless prepaid with cash, please add . ior shipping, handling and insurance (minimum 5 00) Califor- residents add 6% sales lax We accept CODs OEM's. Institutions I corporations please send lor a written quotation. All equipment .object to price change and availability without notice All equip- :nt is new and complete with manufacturers warranty (usually 90 js] Showroom prices may differ from mail order prices. Send Orders To: G®GD£ Mail Order 8314 Parkway Drive La Mesa, Calif. 92041 Circle 112 on inquiry card. The NO Compromise on P 3 * S-100 Plug-Ins *( Performance, Power, Price) STATIC RAM BOARD The 32K x 8 bit/ I 6K x 16 bit STATIC RAM BOARD uses low power and its fast device access^ time of 200 nsec (max.) allows for operation @ 4 MHz without any wait cycles. Features: IEEE-696 compatibility with extended addressing D Memory ad- dress may start and stop on any 4K/ 2K boundary □ Special Memory Man- agement and Control Functions (sel- ectable via output port control word(s): Bank select/deselect 8K/4K Bank write protect 8K/4K Bank readdress 8K/4K DSoftware page select/override □ Software wait cycle select (if slower devices util- ized by user) □ External power source back-up capability for Memory Array □ Low input power requirements (full memory array - I 50 MA max. @ 8 VDC IN — support logic- 500 ma typ @ 8 VDC IN) □ Socketed RAMs and support logic IC's for easy maintenance D Comprehensive Manual Assembled and Tested P/N 52748-500-100 $485 Kit P/N 52748-500 $395 Bare Board P/N 52748-5XX $95 MULTI-FUNCTION I/O BOARD The multiple on-board functions allow for complete software and hardware I/O task(s) control. Features: Two independent SYNC/ ASYNC serial ports (Software program- mable with status read interface: RS- 232-C or current loop — 20 or 60ma — or TTL with handshaking. Dedicated output connectors for each port) D One strobed 8-bit parallel port with handshaking (Software status read) □ Three 8-bit parallel ports undedicated &. user configured (Software program- mable for input, output, plus input/output/bidirectional with handshaking or com- binations thereof. Software status read for handshake logic) □ Three independent 16-bit timers (Software programmable for 5 operating modes. Indiv. clock source input &. gate control — int. or ext. Uninterrupted read. Two buffered outputs) □ Eight level priority interrupt controller (Software programmable highest interrupt level. 8080/Z80 auto restart command) □ Two software programmable baud rate generators with crystal controlled frequencies — .01 % tolerance [J Large proto- typing area with access to regulated +5, +12, - I 2VDC. Kit Assembled and Tested P/N 52748-100 $225 P/N52748-100-10I $375 Bare Board P/N52748-IXX $85 PROTOTYPING BOARD Provides flexibility and saves hours of power busing layout time. Features: Bus-bar power distribution □ Allows wire-wrap or soldering of sockets and discrete components □ Accepts all std. sockets on .30" &. .60" centers □ 3 regulators ( + 5V ± 12V) with filter and decoupling capacitors □ Accepts edge connectors on .10" centers. Or complete as shown in photo. Kit includes: 3 regulators w/3 heat- sinks/filter capacitors/2 bus bars and manual P/N52748-400 $49.95 Bare Board P/N 52748-4xx $34.95 I/O CA residents add 6% tax U.S. Domestic Price, FOB Factory TECHNOLOGY P.O. Box 2119 Canyon Country, CA 91351 (805) 252-7666 The Datahandler program is upgraded and improved constantly. New capabilities beyond those already mentioned are often sug- gested by users. Features are added to the standard version only if their general usefulness is considered worth the extra memory they take away from the available file space. Other more specialized functions are distributed via the MMSFORTH Newsletter. The user's original floppy disk may be returned to MMS for upgrading at any time. The fee for upgrading is $10, plus $1 shipping and handling. Fifteen dollars must be sent by the customer with the disk; the extra $4 is returned with the upgraded disk unless the original arrived damaged and had to be replaced. The first two issues of the MMSFORTH Newsletter are com- plimentary to new MMSFORTH and Datahandler licensees. A subscription of four more issues costs $10. Con- sidering the valuable information contained in these newsletters, most users will find them well worth the price. The September-October 1980 issue, for example, provided information on a new utility disk providing a Z80 assembler, floating-point math- ematical operations, a program for looking up source-code definitions of FORTH words, and a routine for con- verting lowercase text to uppercase. The issue also explained and listed the programming needed to access the interrupt-driven clock in the TRS-80 Expansion Interface and its use in tim- ing operations. Also included was a listing and discussion of the latest ad- dition to MMSFORTH version 1.9, which reports available memory space on the directory-menu screen whenever DIR is entered, and uses no additional memory space itself. There were other suggested improvements a user could make without waiting (and paying) for a full upgrade, news of coming events, short tutorial articles by Tom Dowling, and a listing of user-group contacts scattered throughout the nation. The Datahandler is a personal data-base management and utilities 148 November 1981 © BYTE Publications Inc. Circle 191 on inquiry card. Circle 174 on inquiry card. SAVE A FEW THOUSAND DOLLARS WITH GE's FREE LIGHTING ENERGYAUDIT General Electric Watt-Miser® II fluorescents and other GE energy-efficient lamps saved a bank in Maryland $2,000 a year, saved JCPenney $19,000 a year in just one store, and Eaton $665,000 a year in 18 plants. Many other GE customers are saving thousands of dollars just by replacing the standard lighting products in their existing fixtures. That's why lighting energy savings offer one of the quickest paybacks of any energy saving you can make, with no capital investment. Maybe GE can save you lots of money too. All you have to do is cut out the form below, fill it out and mail it to us. When you do, you'll receive a personalized computer-generated analysis of potential savings and other benefits when using GE WE BRING energy 1^ GOOD THINGS TO LIFE. t * V* GENERAL ELECTRIC C-150 SEE WHAT YOU CAN SAVE WITH GE's FREE LIGHTING ENERGYAUDIT Fill out this form and mail to General Electric Company, 7 Lighting Energy Audit, Department PMN-1, Nela Park, Cleveland, Ohio 44112. Now in use Standard Fluorescents 12 4'F40/RS 20 8' F96 ?s 8' F96HO 36 8' F961500MA Recessed Downlight Floods « 75R30/FL 52 150R/FL Incandescent Bulbs 60 60 Watt 68 100 Watt PAR-Lamps 76 150PAR/FL 84 150PAR/SP Mercury 92 400 Watt Total Lighting hours Number per week U> o «<3> Now Total in use Number Ballast 4' F40/RS ioo 8'F96 ^~p* 105 8'F96HO SSP' no 8'F961500MA n 5 My energy rate is $ per kilowatt hour 120 (Divide total dollars from your last bill by total kilowatt hours used.) Please send the savings analysis to: Name Company. Address City State_ Zip Code_ Phone . 124 . 159 . 194 . 229 . 264 . 269 □ Please have someone come out and help 294 me fill out this form. Circle 85 on inquiry card. If you're looking for the best prices in the U.S.A. on m MICROCOMPUTERS We have consistently offered the TRS-80 line at savings up to 20%. You can save up to $1500 by buying from Computer Discount of America. Model II 26-4002 64K, 1 disc $3385.00 Model III 26-1051 4K, Level 1 26-1062 16K, Level III 26-1066 48K, Level II 2-drive/RS-232 $ 610.00 $ 845.00 $2115.00 Color Computer 26-3001 4K 26-3002 16K w/Ext. Basic $ 325.00 $ 489.00 EPSON MX70 Printer MX80 Printer MX80FT Printer $ 375.00 $ 485.00 $ 585.00 ATA D p/ _ \ microcomputers: naaa ^ s ' We have the full line of ATARI personal computers and systems. Our savings are as big on expansion inter- faces, printers, diskettes, Apple Computers, 0KIDATA Microline, C-IT0H Starwriter, Lexicon Modems — everything for your computer. We have the largest inventory in the North- east, and most models are in stock, for immediate delivery. Our full price catalog or a price quote is as near as your phone. CALL TOLL FREE: 800-526-5313 Computer of America COMPUTER DISCOUNT OF AMERICA, INC. 15 Marshall Hill Road, West Milford Mall West Milford, New Jersey 07480-2198 In New Jersey Call 201-728-8080 package of impressive capability, well documented and easy to use. If you want to make the most of your TRS-80, this program provides the best way I know to put it to work organizing and managing informa- tion. If you have or can upgrade to a 32 K-byte system with one or more floppy-disk drives, it is well worth the price to acquire MMSFORTH, if only to use The Datahandler. With 48 K bytes of user memory and a printer, many small-business tasks can be managed very capably. For the FORTH programmer, The Data- handler can be used as a starting point for a wide variety of custom ap- plications, since source code is pro- vided and FORTH programs are characterized by ease of modification and extension. Programs run about twenty times faster than equivalent operations in BASIC and compile in- to relatively little memory space. The Datahandler, with complete documentation and a single-system license, sells for $59.95. MMSFORTH with license and equally good documentation is $129.95, giving the TRS-80 user an additional powerful computer language and operating system. I have the first Datahandler sold by MMS and have been an active member of the users' group since it was formed. In this time I have heard of no user who is less than en- thusiastic about the program's features and many uses. Most users of a suitably configured TRS-80 should find many constructive ways to put The Datahandler to work. Conclusions • The Datahandler is a data-base management utility for TRS-80 Model I microcomputers, ideal for personal use and for many business applications. • It requires at least 32 K bytes of pro- grammable memory and one floppy- disk drive. A memory size of 48 K bytes with two drives and a printer complete an ideal system for most uses. • MMSFORTH is required as the operating system and also gives you a powerful new language with many advantages. No knowledge of FORTH is needed to use The Datahandler. • Advantages include excellent documentation and interactive pro- gramming for easy use by anyone, many convenient features to speed keyboard operations, and very fast computer operations, including fast sorting. Routines are included for maintaining a mailing list, printing address labels, checkbook balancing, and custom reporting. The Datahandler is completely flexible in number and size of fields and field titles. Custom report formats for special needs can be tailored to order by MMS and by many other compe- tent programmers. A wealth of powerful routines in source code are provided from which the professional can rapidly assemble custom soft- ware. • Disadvantages are limited to the fact that very large files which cannot fit within the computer's user memory must be divided into sections that do fit. For the applications for which this utility was primarily in- tended, dividing files is seldom necessary and causes little inconve- nience when it is; the speed of opera- tion achieved by having the entire file in user memory is of more value. I know of no other major disadvan- tages. • The cost of the entire Datahandler/MMSFORTH package (with single-system licenses and documentation) is, in my opinion, very reasonable and would not be out of line for The Datahandler alone. • For the programmer, source code is provided and custom modification is not difficult. In fact, this one utility program can be used as the starting point for a wide range of special ap- plication programs. ■ Make America smarter. Give to the college of your choice. 150 November 1981 © BYTE Publications Inc Stop the Floppy Shuffle 5> Announcing The David Heard Disk Subsystem Compared to cassettes, floppies were the greatest thing since the inte- grated chip. But with in- creased ap- plications, data bases, and speed requirements, a lot of busi- ness people are spending more time doing the "Floppy Shuffle' and less time doing work, Now with Konan's David Hard Disk Sub- system you can have 32 times the storage of a mini-floppy in about the same amount of space. At a cost per megabyte that really makes sense, the David Subsystem is available for a variety of micro- W computers. So if you own a personal computer, check into the David Hard Disk Subsystem at your local dealer and stop do- ing the Floppy Shuffle. And if you want real timesharing capabilities, a networking card is available. The David Subsystem is available immediately. Toll-free Information Line 800-528-4563 KONAN CORPORATION 1448 NORTH 27TH AVE, PHOENIX, AZ 85009 (602) 269-2649, TWX/TELEX 9109511552 Circle 218 on inquiry card. BYTE November 1981 151 System Review Microsoft Softcard Mark Pelczarski 1206 Kings Circle West Chicago IL 60185 The Microsoft Softcard offers Apple owners increased flexibility and a strong alternative or comple- ment to the Language System from Apple. At a suggested retail price of $399 Softcard comes with version 2.2 of the CP/M operating system and Microsoft's BASIC-80, version 5.0. In addition, a number of other Softcard support products are avail- able, including Microsoft's FOR- TRAN and COBOL, an assembly- language development system, a BASIC compiler, muMath and muLisp, and 16 K-byte memory ex- pansion cards. None of these are inex- pensive; for example, the COBOL language system retails for $750 (making FORTRAN seem like a com- parative bargain at $195), but the point is that you can now have these languages, plus a variety of software already written for CP/M, on your Apple. Overview The Softcard package comes with the card, 13- and 16-sector disks, and two thick manuals. The card is manu- factured for Microsoft by California Computer Systems of Sunnyvale, California, and was designed by Don Burtis of Burtronix in Huntington Beach, California. With the exception of slot 0, it works in any of the Apple peripheral slots and the Softcard package will work alongside the Apple Language System. The Lan- guage System actually extends the ability of the Softcard system by pro- viding an extra 12 K bytes of pro- grammable memory. The Softcard is not compatible with the Apple III. It does work with all of the 80-column Photo 1: Microsoft's Softcard package. Included are the card itself, software for the Apple 11, and a two-volume set of manuals (with installation instructions, information on using CP/M, hardware details, Microsoft BASIC reference, and documentation on other utilities. boards now available for the Apple II. The software supplied is the CP/M operating system and two versions of BASIC. The 13-sector disk contains MBASIC, which is Microsoft's ANSI (American National Standards In- stitute) compatible BASIC-80, with a few additions to accommodate Apple's low-resolution graphics features. The 16-sector disk also con- tains GBASIC, which includes high- resolution graphics commands. CP/M, the operating system, is an abbreviation for Control Pro- gram/Microcomputer, and is licensed by Microsoft from Digital Research, Inc. This version of CP/M includes a variety of disk and transfer utilities, plus an 8080 editor/assembler/ debugging utility. The software was produced by Neil Konzen, a name that will be familiar to anyone for- tunate enough to own Synergistic Software's Program Line Editor, another of Neil's Apple creations. Using the Softcard The two system manuals are very thorough and provide simple to very technical information. One is for CP/M, the other tells how to use BASIC 5.0 and the included software utilities. The first subject covered is how to back up the master disk. The beginner will probably want to go from there to more familiar ground and play with some of the BASIC About the Author Mark Pelczarski is a software consultant and Director of Micro Co-op, a consumer buying cooperative. He previously zuas Editor of Soft- Side magazine, and a computer science in- structor at Northern Illinois University. 152 November 1981 © BYTE Publications Inc Most small system users think all micro- nputers are created equal. And they're nt. If you want performance, convenience, 'ling, high technology and reliability (and ,o doesn't?) your micro usually has a price j that looks more like a mini. It seems big rformance always means big bucks. But t so with the SuperBrain! Standard SuperBrain features include: twin jble-density 5 1 4" drives which boast nearly 0,000 bytes of disk storage - expandable 10 megabytes. A full 64K of dynamic I/I. A CP/M* Disk Operating System to ;ure compatibility to literally hundreds of Dlication packages presently available. And, 12" non-glare, 24 line by 80 column screen. You'll also get a full ASCII keyboard with an 18 key numeric pad and individual cursor control keys. Twin RS232C serial ports for fast and easy connection to a modem or printer. Dual Z80 processors which operate at 4 MHZ to insure lightning-fast program execution. And the list goes on! Feature after feature after feature. Better yet, the SuperBrain boasts modular design to make servicing a snap. A common screwdriver is about the only service tool you'll ever need. And with the money you'll save on purchasing and maintaining the SuperBrain, you could almost buy another one. For under $3,500, it is truly one of the most remarkable microcomputers available anywhere. Whether your application is small business, scientific, educational or just word processing, the SuperBrain is certainly an exciting solution to the small computer problem. And since you can easily expand it, you'll probably never outgrow it. Call or write us today for a complimentary copy of our "SuperBrain Buyer's Guide." We'll show you how you can get big system per- formance without having to spend big bucks. r= INTE3TEC Cdata s systems. isiefed uaflemaft ot Digital Research inc 2300 Broad River Rd. Columbia, SC 29210 (803) 798-9100 TWX: 810-666-2115 Circle 205 on inquiry card. «*& "8* '0, e *ea, *0. ■'■'>•:*■ 111 ::. NTR1TC DATA SYSIEMS SUPf?BRA!N ...... commands, learning how to use the operating system as the need arises. BASIC 5.0 is a nice way to convert to a structured language. If you're already familiar with BASIC, Apple- soft or another version, you won't be trying to learn a new language from scratch. The advantages of BASIC 5.0 include several new commands that support structured program- ming. (See table 1 for a list of en- hancements and their descriptions.) The most convenient additions are the inclusion of the ELSE clause in the IF-THEN statement, the PRINT US- ING statement for explicit formatting of output, the inclusion of real disk commands, replacing the ungodly PRINT Control-D commands of Apple's DOS, and BASIC'S version of a DO WHILE loop: WHILE /WEND. An example of the latter, paraphrased, would be: WHILE this condition is true, keep repeating all the com- mands before the WEND statement. This version of BASIC is also com- patible with current ANSI standards, so the use of BASIC programs written Text continued on page 158 At a Hanrp Name Research, and Microsoft BASIC 5.0, Microsoft Softcard 13-and 16-sector versions with Apple enhancements Manufacturer Microsoft Consumer Products Documentation 400 108th Ave NE Two manuals, approximately 400 Bellevue WA 98004 pages, one primarily about CP/M, (206) 454-1315 the other about BASIC 5.0 Price Options $399 Microsoft's FORTRAN, COBOL, muMath, muLisp, assembly-lan- Computer needed guage development system, and Apple II, 48 K-byte minimum BASIC compiler; 16 K-byte memory storage, and a disk drive expansion card (or the Apple Language System) Hardware Peripheral card that fits in any of Audience the Apple expansion slots (except Those seeking to increase the soft- 0). The microprocessor is a Z80A ware flexibility of their Apple II computers Software CP/M, version 2.2, from Digital RACET SORTS — RACET UTILITIES — RACET computes — RACET SORTS — RACET UTILITIES — RACET computes — RACET SORTS — RACET UTILITIES — RACET computes - FIELD PROVEN!! 10 MEGABYTES and MORE for the TRS-80* Model II plus SHARED ACCESS to HARD DISK DRIVE Hard/Soft Disk System (HSDS) Software allows access as single drive. You can have that 10 Megabyte continuous file - that 50,000 name maillist or inventory! Or a directory with 1000 entries! All completely compatible with TRSD0S 2.0 BASIC. You can mix floppy and hard disk drives. Includes special utilities including HPURGE, DCS Directory Catalog System, HZAP Hard Disk Superzap, and many special formatting options. Three to eight times faster than floppy! RACET quality. HARD DISK DRIVE & CONTROLLER $5995. Second User $595. HSDS Software $400. (Note: HSDS now also available for C0RVUS drives!!) INFINITE BASIC (Mod I & III Tape or Disk) Mod I $50.00, Mod III $60.00 Extends Level II BASIC with complete MATRIX functions and 50 more string functions. Includes RACET machine language sorts! Sort 1000 elements in 9 seconds! ! Select only functions you want to optimize memory usage. Mod I & III $30.00 footers, page numDers. -,*,/. Binary search INFINITE BUSINESS (Requires Infinite BASIC) Complete printer pagination controls — auto headers, Packed decimal arithmetic — 127. digit accuracy +, of sorted and unsorted arrays. Hash codes. BASIC CROSS REFERENCE UTILITY (Mod II 64K) $50.00 SEEK and FIND functions for Variables, Line Numbers, Strings, Keywords. 'All' options available for line numbers and variables. Load from BASIC — Call with ' CTRL' R. Output to screen or printer! DSM Mod I $75.00, Mod II $150.00, Mod III $90.00 Disk Sort/Merge for RANDOM files. All machine language stand-alone package for sorting speed. Establish sort specification in simple BASIC command File. Execute from DOS. Only operator action to sort is to change diskettes when requested! Handles multiple diskette files! Super fast sort times — Improved disk I/O times make this the fastest Disk Sort/Merge available on your TRS. (Mod I Min 32K 2-drive system. Mod II 64K 1 -drive. Mod III 32K 1 -drive) GSF (Mod I & III Tape or Disk - Specify Memory Size) Mod I $25; Mod II $50; Mod III $30 Generalized Subroutine Facilities. The STANDARD against which all other sorts are compared! And then compare prices! Machine language — fast and powerful! Multi-key multi-variable and multi-key character string. Zero and move arrays. Mod II includes USR PEEKS and POKES. Includes sample programs. DISCAT (32K 1-drive Min) Mod I, III $50.00 This comprehensive Diskette Cataloguing/Indexing utility allows the user to keep track of thousands of programs in a categorized library. Machine language program works with all TRSD0S and NEWD0S versions. Files include program names and extensions, program length, diskette numbers, front and back, and diskette free space. KFS-80 (1-drive 32K Min — Mod II 64K) Mod I, III $100.00; Mod II $175.00 The keyed file system provides keyed and sequential access to multiple files. Provides the programmer with a powerful disk handling facility for development of data base applications. Binary tree index system provides rapid access to file records. MAILLIST (1 -drive 32K.Jp - Mod II 64K) Mod I, IIIJ75.00; Mod II $150.00 This ISAM-based maillist minimizes disk access" times: Four keys — no separate sorting. Sup rjprts. 9 : d ig i t zip code and 3-digit stale-code, Up to 30 attributes. Mask and query seict'ion. Record access times under 4 seconds!! C0MPR0C (rvjodl & Mod III — Disk only) Mod I $20; Mod III $30 . : Command Processor. Auto your disk to perform" ariy sequence of instructions that you can giveTrofn the keyboard. DIR, FREE, pause, waft for user input, BASIC, No. of FILES and, MEM SIZE, RUN program, respond to input statements, BREAK, return to DOS, etc. Includes lowercase driver software, debouftce and screenprint! UTILITY PACKAGE (Mod II 64K) ; .y $150.00 Important enhancements to the Mod II. The file recovery capabilities alone will pay for the package in even one application! Fully documented in 124 page manual! XHIT, XGAT, XCOPY and.SUREBZAP are used to reconstruct or recover date from bad diskettes 1 XCOPY provides 1 multi-file copies' 1 , 'Wild-card' mask select, absolute sector mode and other features. SUPERZftraflOws examine/change any sector on diskette include track-Q.. and absolute disk. backup/copy with 1/0 recovery. DCS builds consolidated directories from mutttpte diskettes into »*stn,> = ,=) and logical operators (AND, OR) with parenthesis • Complete interface to QUEST (SPI's relational data base), ASSET (SPI's Accounting system) and word processor • Built in financial functions like linear regression, present value, depreciation, consolidation and more • Column format feature for individual column width, column precision or individual entry precision • Dump utility to obtain a hard copy of the model to facilitate audit trails • Merge command to combine two or more reports • Print command to print entire or partial reports according to parameters you specify including titles, page width and length. If the report to be printed exceeds the width of the printer LOGICALC automatically splits the report into two or more pages which when laid side by side form the complete report. Only $290.00 QUEST is a relational data base providing single, multi-user and distributed processing capabilities. Concurrent access to QUEST is handled through a built-in record locking mechanism. QUEST uses a subset of the SQL query language (IBM's recently announced relational query language). • Interface to application software via high level calls • User definable screen mask (up to 8 pages per record) • Arithmetic expression evaluator to combine fields in formulas • Conditional expression handling ("what if" processing on selected fields) • Data entry range checking and password protection on selected fields • Scan for records with partial information. • Find records qualifying on any number of search criteria using relational and logical operators • Sort records by as many as 15 key fields (ascending or descending) • Join, select and project implementation to facilitate relational query processing • Create, restructuring and recover utilities of files • Complete interface to LOGICALC AND ASSET (SPI's accounting system) • Report Generator lets user define report formats, headings, page footing, subtotals, level breaks. Built in arithmetic and logic processor enables the user to design very complex reports. 0n | y ^gg qq Other Programs which interface to Quest and Logicalc are available now: . ASSET, SPI's Accounting System ■ Medical Billing • Boutique Management System ■ School Management System Software [Products ^International 5482 COMPLEX STREET, SUITE 115 SAN DIEGO, CA 92123 PHONE (714) 268-4346 • Visa and MasterCard orders accepted. • Dealer inquiries invited. Visicalc is a registered trademark of Personal Software, UCSD Pascal is a registered trademark of the Regents. University of California, SEE US AT COMDEX BOOTH 685 Geta $20 rebate on the TI-59 Programmable. Even without the $20 rebate, the TI-59 is special — it's our most powerful programmable, and we've never offered it at a lower price. The TI-59 gives you up to 960 program steps, or up to 100 memories, plus magnetic card read/write capability. You can also slip in one of TI's Solid State Software™ modules and successfully attack complex engineering, business, statistical and scientific problems. And by adding the optional PC-100C printer, you can record your calculations. But if that's not enough, any TI-59 owner can join our Professional Program Exchange for access to over 2500 additional programs. So if you like the idea of having real programmable power, take us up on the rebate offer. Buy a TI-59 now, and fill out the coupon below. The offer ends December 31, 1981. Texas Instruments I NCORPORATED NAME. ADDRESS CITY- ©1981 Texas Instruments Incorporated I bought my TI-59 Programmable at (store name): and have attached the dated sales receipt and completed customer infor- mation card (packed in box). My TI-59 Serial No. is (from back of calculator). Please send my $20 rebate check to: . STATE Send to: Texas Instruments TI-59 Rebate Offer, P.O. Box 725 Dept. 59, Lubbock, Texas 79491. NOTE: Proof of purchase must be dated between August 1 1981 and December 31, 1981. Offer void where prohibited. Offer good only in U.S.A. Rebate applies to purchases of TI-59 Programmable only. Items must be postmarked by January 15, 1982. Allow 30 days for delivery. Limit one per person/address 1002 Built-in CP/M Commands: DIR— Lists the disk directory. ERA — Erases a file or files from disk. REN — Renames a disk file. SAVE — Saves a file to disk. TYPE— Displays the ASCII con- tents of a disk file. USER— Used to divide the disk into up to 16 separate user areas. USER specifies access to one of those 16 areas. Transient Commands: ASM— Loads the 8080 assembler and assembles a program from disk. DDT — Dynamic Debugging Tool, an interactive machine-language debugging aid, allows program traces and editing. DUMP — Displays the hexadecimal contents of a file. ED— CP/M's editor utility. LOAD-Creates a transient com- mand file from a machine- language file on disk. PIP — Peripheral Interchange Pro- gram, allows you to copy, merge, print, and load disk files. STAT — Provides statistical infor- mation about disk space and device assignments. SUBMIT— Executes the CP/M commands put in a special file with the editor program. Allows pro- grams and commands to be Table 2: List of the features and utilities with the purchase of a Softcard. batched together as Apple's EXEC command does. CP/M Software: APDOS— Allows transfer of ASCII and binary files from Apple-formatted disks to CP/M disks. This program requires two or more drives and cannot write CP/M files to Apple DOS disks. CONFIGIO— Allows you to con- figure CP/M to your system, such as upper/lower case, 80 columns, and redefinition of keyboard characters for external terminals. COPY— Disk copy utility. DOWNLOAD— In conjunction with the UPLOAD program on another system, allows transfer of CP/M files to the Apple CP/M system. FORMAT— Formats new disks. GBASIC— BASIC 5.0 with high- resolution graphics enhancements, provided on the 16-sector disk on- ly. MBASIC— BASIC 5.0, with some additional commands for use with the Apple. RW13— Allows the 16-sector CP/M to read and write on a 13-sector CP/M disk. UPLOAD — A listing of a program to be used on another CP/M system in conjunction with DOWNLOAD for transferring of CP/M files. A working knowledge of assembly language will be necessary to implement this pro- gram on another system. of the CP/M operating system included The Converter that transforms your electronic typewriter into a computer printer. $> No modifications to the typewriter ^ Does not affect normal typewriter functions ^ All typewriter functions accessible by computer $> RS232C, IEEE and parallel interfaces available ^ KSR version turns typewriter into a computer terminal &■ Fully assembled, tested and burned in NEW! NOW AVAILABLE OLIVETTI PRAXIS 35 TYPEWRITER ■■ ' 4- CONVERTER TP35 = DAISY WHEEL PRINTER FOR LESS THAN $1000. Prices start as low as $275. CONTACT YOUR LOCAL OFFICE EQUIPMENT DEALER OR VERTICAL DATA SYSTEMS INC. FOR FURTHER DETAILS. m Wf www Vertical Data Systems Inc. 1215 Meyerside Dr., Unit 2A, WWW M ississa uga, Ontario, v v v Canada L5T1H3 (416)671-1752 Dealer inquiries invited November 1981 © BYTE Publications Inc 161 Program to Recover "Crashed" Discettes AUTOMATICALLY! Maybe it was a lightning storm, static from the rug, or just too late at night to be working. Whatever the cause, when a discette "crashes" and valuable data or programs are destroyed, the loss is enormous, both in time and money. DISK DOCTOR is a program which automatically recovers bad discettes. Best of all DISK DOCTOR does not require any knowledge of CP/M file structure! If you can operate CP/M, then you can use DISK DOCTOR. The entire system is menu driven with key information displayed. DISK DOCTOR is comprised of five "wards", each capable of performing a specific discette recovery operation. • Ward A: Verifies discettes and locks out bad sectors without touching the good files that remain. • Ward B: Copies whatever can be read from a "crashed" file and places it into a good file under user control. • Ward C: Copies discettes without stopping for bad sectors. Bad sectors are replaced by spaces. • Ward D: "Un-erases" files. That is, Ward D will recover accidentally erased disk files. • Ward E: Displays directory of recoverable erased files. DISK DOCTOR will pay for itself the first time it is used. Best of all, DISK DOCTOR operates almost complete automatically. The small amount of user interaction is explained in the manual as well as prompted by DISK DOCTOR. Requires: 48K CP/M, two drives needed for complete operation. DISK DOCTOR: $100.00 Manual Alone: $ 10.00 CP/M Formats: 8" soft sectored, 5" Northstar, 5" Micropolis Mod II, Vector MZ, Superbrain DD/QD, Apple II + SuperSoft First in Software Technology All Orders and General Information: SUPERSOFT ASSOCIATES P.O. BOX 1628 CHAMPAIGN, IL 61820 (217)359-2112 Technical Hot Line: (217) 359-2691 (answered only when technician is available) CP/M REGISTERED TRADEMARK DIGTAL RESEARCH Text continued from page 158: ten for the 6052 processor. The Z80 is enabled with a memory write to a specific location. This soft switch can be toggled back to the 6502 with a similar write performed by the Z80. 6502 subroutines may be called by putting the subroutine address in a predesignated location, then toggling the soft switch. Values can also be passed to the 6502's A, X, Y, and status registers through another set of specified memory locations. The only confusion may come from the fact that the Softcard re-maps the Apple's memory to conform to CP/M stan- dards. This means that the same loca- tion will have different addresses under the 6502 and Z80 modes. Apple's zero page has been moved to the top of the Z80's memory, so the Z80's location zero is actually hexa- decimal 1000 to the 6502. This may sound confusing, but the adjustment is not difficult. Conclusions Because of the flexibility it offers Apple users, I consider the Softcard an excellent buy. Despite the in- troduction of many new and often better languages, three of the first popular computer languages (FOR- TRAN, COBOL, and BASIC) con- tinue to enjoy the widest use. Although I'd like to jump on the Pascal bandwagon, I don't think that it and other languages will replace any of the above three. New lan- guages will be used, but the trend is that existing languages continue to evolve to keep pace with the times. Look at BASIC. It's hardly recogniz- able from its original version or the version of FORTRAN of which it was supposedly a subset. The cost of rewriting software and retraining programmers is just too high to allow drastic changes or entirely new lan- guages. The Softcard lets you choose among the many standards of the in- dustry as it now exists. It has the most current version of BASIC, is capable of handling COBOL and FORTRAN, and uses CP/M, the closest there is to a standard operating system for microcomputers. The price is reasonable, and it works. ■ 162 November 1981 © BYTE Publications Inc EXCITING NEWS FOR TRS-80" MODEL III USERS! Standard & Poor's unique software and data system-STOCKPAK-can help you manage your investments like a Wall Street Professional! Now for TRS-80 Model I and Model III users too ! STOCKPAK not only delivers a "stand-alone" Port- folio Management System but also gives you the soft- ware for Standard & Poor's monthly Common Stock Data Service (available to TRS-80 owners on a sub- scription basis). With STOCKPAK and the Data Ser- vice you command one of the most powerful and versatile investment tools available. Here's How STOCKPAK Will Help You: A 900 COMPANY DATA BASE SERVICE Monthly Data Service subscribers receive a diskette containing 30 vital financial items on 900 of the most widely traded stocks (S&P "500" and 400 NYSE, ASE andOTC issues). Accompanying this monthly diskette is an Investor's Newsletter highlighting important fi- nancial news and investment strategies, with sugges- tions for maximizing the usefulness of the system. STOCKPAK SELECTION SYSTEM The heart of STOCKPAK is a powerful, analytical stock selection tool which enables investors to choose stocks which meet their investment criteria. For exam- ple, you may wish to select only those oil and gas stocks with price/earnings ratios of less than 7 and yields of 6% or more. Once a group of stocks has been selected, you can store it as a separate data file for continuing use. REPORT WRITER You can define the report formats you would like to see on those stocks meeting your investment objec- tives. Hundreds of calculations and ratios that you define can be sorted, averaged or totalled, and dis- played on video screen or optional printer. PORTFOLIO MANAGEMENT SYSTEM Now you can effectively evaluate and manage your own stock portfolio of up to 100 securities with as many as 30 transactions for each. You can record "buy" and "sell" transactions, price and dividend information and stock splits for instant retrieval, for record keeping and tax purposes. You can measure actual performance or create hypothetical situations to help you make "buy" or "sell" decisions. HOW TO ORDER STOCKPAK STOCKPAK is designed exclusively for TRS-80 users with 32K business systems with two mini-disk drives. You can obtain the basic software and sample Data Base, plus a comprehensive User's Manual from your local Radio Shack Store for only $49.95. The STOCKPAK Monthly Data Updating Service can be ordered directly from Standard & Poor's for $200 an- nually, or from the order form provided in the basic package you purchase from Radio Shack. s/i Standard & Poor's Corporation 25 BROADWAY, NEW YORK, NY 10004 (212) 248-3993/3374 Circle 391 on inquiry card. EPSON PRODUCTS by Orange Micr EED HERE AT LAST! A friction feed kit for your EPSON MX 80/70. The kit allows the user to convert his Epson printer to a friction feed and pin feed mechanism. The friction feed will accept single sheets of your letterhead, or multiple copy forms such as invoices with up to 4-part carbon copies. The pin feed replaces the adjustable sprocket mech- iii It allows use of 9J4" wide continuous fanfold paper which is an industry standard size. No drilling required. Installation takes about 30 min- All parts are included with easy to follow instruc- tions $75.00. DEALER INQUIRIES INVITED, 9x9 dot matrix • Lower case descenders • 80 CPS • Bi-directional, logic seeking • 40, 66, 80,132 columns per line • 64 special graphic characters • TRS-80 Com- ible • Form handling • Multi-page printing • Adjust- able Iractors MX 80... (List $645)$ Call Graftrax-80 Dot Graphics Upgrade. (List $95) $ Call MX 80 FT includes Friction (List $745)$ Call Super low-priced dot res- olution graphics ■ 5 x 7 dot matrix • User replaceable printhead & Top of Form MX 70. . . (List $450)$ Call rinter Orange Micro. LETTER QUALITY PRINTERS Daisy Wheel Letter Quality 25 CPS (Optional 45 CPS) • Typewriter quality • Centronics parallel • RS 232 Serial (Optional) • Pro- portional spacing • Bi-direc- tional • Programmable VFU • Self test • Diablo compatible • Friction feed (Optional tractors) • 136 printable columns • Manufactured byTEC VISTA V300 (C. ITOH) Starwriter l ist $1895) $ Call 3h Speed Le ity • 55 CPS • Typewriter quality • Bi-directional • Plotting & Proportional spacing 77XX RO, Serial/Parallel (List $3055) $2575 QUME 9/45 typewriter quality DIABLO 630 Typewriter quality NEW! NEC 8023 DO $ Call $ Call Dot graphics • 100 CPS • Bi-directional, logic-seeking • Tractors & friction feed • 5-Alphabet fonts • 8 cli. acter sizes • Proportional spacing NEC 8023 DOT MATRIX (List $795)$ Call TELEVIDEO CRTS TVI910, TVI912C, TVI920C, TVI950-Please call toll free. Prices are too low to advertise $ Call NEW! CENTRONICS 739 (Radio Shack Line Printer I :s and word processing Print Quality ■ 18 x 9 dot matrix; suitable for word processing • Underlin- ing • proportional spa< i • right margin justification • serif typeface • 80/100 CPS • 9!/ 2 " Pin Feed/Friction feed • Reverse Platen • 80/132 columns ■ Top of Form CENTRONICS 739-1 (Parallel) . . I List $955) $725 CENTRONICS 739-3 (Serial i (List $1045) $815 The printer specialists. Dot Graphics, Wide Car- riage • 11 x9 dot matrix; lower case descenders • Dot resolution graphics • Bi- directional, logic seeking ■ Up to 200 CPS ■ RS 232 Serial & Parallel • Forms control • X-ON/X-OFF • Up to 6 part copy. ANADEX9501 R TIGERS (List $1650)51350 IDS460G IDS560G. Dot Resolution Graphics, quality print, speed 9 wire staggered printhead with lower case descenders • Over 150 CPS • Bi-direc- tional, logic seeking • 8 character sizes; 80-132 col- umns • Adjustable tractors • High-resolution dot graph- ics • Proportional spacing & text justification (List $1094)$ Call (List $1394)$ Call INTERFACE EQUIPMENT CCS APPLE PARALLEL Interface & Cable $150 ORANGE INTERFACE for Apple II parallel interface board & cable $110 MICROTRONICS Atari parallel interface $69 TRS-80 CABLES to keyboard or Exp. Interface. ..$ Call NOVATION D-CAT direct connect modem $ Call THEGRAPPLER by Orange Micro TM E AND CABLE i ne urappier inierrace card is the first to provide on-board firmware for Apple high resolution dot graph- ics. No longer does the user need to load clumsy soft- ware routines to dump screen graphics— it's all in a chip. Actually, it's our E-PROM, and it is replace- able to accommodate the Anadex, Epson MX 70, 80* and 100, IDS Paper Tigers. Centronics 739, NEC Prowriter, and future graphic printers. The Grappler™ accepts 18 software commands including Hi-Res inverse. 90° rotation, double size, and much more. Invented by, and available from Orange Micro and Orange Micro deal- ers only $ Call for price. •Requires GRAFTRAX 80 VISIT OUR PRINTER PRO SHOPS If you live in California, or are visiting, don't miss our two Printer Pro Shops, devoted to and filled with all the printers you want. Expert consultation and know-how to assist you in getting the best printer for the application 13604 WM OronciemkroM |j= "printer store! 1 ISHBR---.I SHERMAN OAKS, 13604 Ventura Blvd., (213) 501-3486 ANAHEIM, 3150 E. La Palma, Suite I, (714) 630-3622 Store Hours: M-F10-6, Sat. 10-4 At Orange Micro our printer specialists fit the right printer to your application. Call us today for free consul- tation (and don't forget to ask for your free catalog). Phone orders are WELCOME; same clay shipment Free use of VISA and MASTERCARD CODs accepted. Personal checks require 2 weeks to clear. Manufacturers warranty included on all equipment Prices sub- ject to revision CALL TOLL FREE (800) 854-8275 CA, AK, HI (714)630-3322. V/SA range Micro J inc. 31 50 E. La Palma, Suite 6, Anaheim, CA 92806 Circle 324 on Inquiry card. Software Review CourseWare Magazine Elaine Holden Reading and Language Arts Coordinator Merrimack School District Merrimack NH 03054 One of the problems limiting the use of microcom- puters in the classroom is the lack of good educational software. This comes as no surprise, since hardware developments have always outpaced software developments. The problems of generating educational software, however, are compounded by the fact that most educators do not have the technical skills to write good programs and, conversely, most good programmers do not have the educational background to design useful programs. CourseWare magazine was started to fill this gap. Its philosophy, as stated in the introduction: "Each issue of CourseWare magazine will include a C-10 cassette containing at least two programs selected from the ten pre-college curriculum areas of business, consumer economics, English, fine arts, foreign language, industrial arts, mathematics, physical education, science, and social studies, or from the area of teacher-assistance programs. Each student program will be accompanied by a teacher guide, a student guide, worksheets (if appli- _,, Af a Crlanrp Name Language used CourseWare magazine BASIC (September 1980) Computer needed Type Apple II or II Plus, Com- Software and documentation modore PET, or Radio for classroom use Shack TRS-80 Model I Publisher Documentation Course Ware 28 pages, in a 3-ring binder 4919 N Millbrook #222 Fresno CA 93726 Audience Price $12.95 (or 5-issue subscrip- tion, $50) School teachers with access to one of the computers listed above Format Cassette cable), suggestions on how to adapt programs for in- dividual lessons, a description of variables used in the program, and a listing of the program. Teacher programs (computer-managed instruction, computer-supported in- struction) will be accompanied by a user guide." In using the materials given in the Apple II version of SEPTEMBER 1980 VOLUME 1, NUMBER 1 HZ.B5 In U.S.A. 113.50 In CANADA BllSEUlE PROGRAMS FOR LEARNING MAGAZINE SPELL 'N' TIME QUIZSTAT Photo 1: September 1980 issue of CourseWare magazine. Each issue includes a cassette tape of the programs in that issue; separate versions are available for use with the Apple II or 11 Plus, Commodore PET, or Radio Shack TRS-80 Model I. 166 November 1981 © BYTE Publications Inc Tomorrow and You.. arid COMSfiT For COMSAT . . . what many view as futuristic is already part of our everyday business and plans. We offer: • ORGANIZATION OF THE FUTURE— a private corporation working directly with governments, at home and worldwide. • GLOBAL COMMUNICATIONS OF THE FUTURE— satellite communications systems serving over 100 countries and some 700 ships at sea. • OFFICE OF THE FUTURE— a partnership venture brings video conferenc- ing, electronic intra-company mail transfer, information and more, via satellite to business and government. • FACTORY OF THE FUTURE— computer-aided design and manufacturing services and systems. • HOME OF THE FUTURE— planned home entertainment through direct satellite relay. • NATURAL RESOURCES MANAGEMENT OF THE FUTURE - advanced satellite technology to provide natural resource management through prac- tical conservation and environmental programs. • RESEARCH OF THE FUTURE— advanced R&D facilities offering the latest in communications product technology. Our rapid expansion has created career openings in such diversified engineering dis- ciplines as spacecraft design, signal processing, power systems, scientific software development and RF systems. We offer excellent salaries and benefits, as well as the challenge of being in the forefront of high technology. If you are interested in working with us, send your resume to: Senior Employment Representative, Depart- ment 81-6RC, COMSAT, 950 LEnfant Plaza, S.W., Washington, D.C. 20024. if COMSAT AN EQUAL OPPORTUNITY/AFFIRMATIVE ACTION EMPLOYER. Zilog's System 8000, If you want to establish a low-cost UNIX*-based system, or need additional UNIX produc- tivity on your current system, Zilog's System 8000 is the perfect choice. System 8000 is a modular, free-standing unit built for multi-user office and labora- ■ H Syilcm BOOO Zucn tory application. Based on Zilog's reliable, high performance Z8000 IM microprocessors, System 8000 delivers supermicro power at prices far below those of comparable minicomputers. (See Mini Micro Systems, Sept. '81; benchmarks article.) The Price The quiet (48 decibel), compact (33 inches tall), System 8000 rolls easily into your work area ■ items of current interest: ur neu ZEUS operating system w to use this 'neus' package ■ V- (lug 27 11:07:35 1981 lute our 3:30 meeting to 8 am tomorrow thanks, doug memo. report I Syste ■ ■ I t\ *.' o w:* ■ ft wfak ■ • 1 ' the Supermicro. and requires no special environ- ment. Zilog provides a complete eight user system, including system software, 256 KB of main memory, a 24 MB Winchester disk and 17 MB tape cartridge back up, along with expansion capabilities, all for only $29,950. (U.S. list.) The Performance The System 8000 runs the ZEUS operating system, which is a faithful enhancement of the seventh edition of UNIX, per- fected through Zilog's extensive UNIX experience. Because ZEUS is a high performance implemen- tation of UNIX, any program that runs under UNIX, written in C, COBOL, or Pascal, can be easily ported to System 8000. Programs comprising the utilities and development tools provide user access, command processing, file management status informa- tion, and communication with other devices or systems. ZEUS also includes text processing software, libraries, a symbolic debugger, programming lan- guages (standard C, PLZ/SYS, PLZ/Assembler, plus optional COBOL and Pascal), and more than 100 other utilities. The Future System 8000 plans include hard- ware and software expansion as well as compatibility with future generations of microprocessors. Soon the System 8000 will become integrated with Zilog's Z-NET ,V Local Area Network ( LAN ) for commercial distributed data processing. No other manufacturer offers a UNIX- based system with the price and performance of the System 8000. So, if you're seeking the right UNIX solution, System 8000 is the perfect choice. For more information, write Zilog, Inc. General Systems Division, 10460 Bubb Road, Cupertino, CA 95014. Or call the office nearest you. Los Angeles (714) 549-2891 Chicago (312) 885-8080 New York (212) 398-4497 Dallas (214) 243-6550 Atlanta (404) 451-8425 Boston (617) 273-4222 Paris 778-14-33 London (0628) 36131 Munich 01806 4035 Tokyo 03-587-0578 System 8000, Z8000, and ; o( Zilog, Inn m EJgON COMPUTER SYSTEMS ' UNIX is a trademark of Bell Laboratories. IHHMi Circle 433 on Inquiry card. the first issue, September 1980, I found that these objec- tives were met. SPELL 'N' TIME I loaded the first program, SPELL 'N' TIME, without any problems. SPELL 'N' TIME is an electronic version of the traditional spelling bee, in game format. The drill can be used at all grade levels and for any subject. It is especially useful in subjects where specific vocabulary recognition is important. SPELL 'N' TIME works like this: a student starts up the program and the computer prints "watch carefully." A box with an arrow pointing to it appears on the screen. The program displays and erases a word in the box, and the student spells the word in a box below. If the answer is correct, the computer prints "Good job!," and another word is presented. If the answer is incorrect, the program gives a short, nonthreatening sympathy message, "Sorry, try again." After one misspelling, the word is displayed syllable by syllable, and the student tries to spell the word again. If he/she does not spell the word correctly the second time, the word is continuously displayed while the student types in the word correctly. This process continues for each word in the list. The number of correctly and incorrectly spelled words is displayed at the bottom of the screen. When the last word is finished, the computer gives a list of the incorrectly spelled words, which the student is to copy onto his/her worksheet (a master copy is provided in the documenta- tion). To the student, the program is a game, since the objec- tive is to finish the word sequence as quickly as possible. All students can experience success: • the presentation time of words depends on the in- dividual's word recognition and spelling accuracy • the word selection can be matched to the student's ability level • there's immediate positive feedback for a correct response An introduction states what the program does, what computers it runs on, its objectives, and why it is useful in a classroom. Explicit instructions tell how to change the number of words to be used (oi,<_ ^i^iaui line must be changed), and how the teacher can change the actual words to be used (by typing the words, hyphenated with dashes, into one or several DATA statements). With only minimal computer experience, I was able to make both kinds of changes and save the changed program under a new program name. By using the program, the teacher may leave the quiz- zing to the computer and give special attention to each student's needs by monitoring the student's response and revising the word list. Studies show that the best way to evaluate spelling is with a written test. Improvement in spelling often comes from regularly administered tests based on misspelled words found in the student's work and later corrected and practiced. SPELL 'N' TIME reinforces this basic con- cept. Students can practice on teacher-selected words and later take a written test. This testing method closely ap- proximates methods recommended by current studies and, as such, the teaching matches the testing. Consistent teaching and testing eliminates confusion on the part of the student. QUIZSTAT QUIZSTAT, the second program in the September 1980 issue of CourseWare, is a management program. It gives the teacher statistics on classroom performance on a given quiz. Only the memory capacity of the computer limits the number of students this program can handle. For a given test, QUIZSTAT tabulates the number of students who missed each question, the percentage of students who made the incorrect response, the overall PRICE IS OUR MOST IMPORTANT PRODUCT! CROMEMCO Reg. Price Our Price System I $3995. $2999. SystemZ2H 9995. 7399. System III 7995. 5999. •Registered trademark of North Atlantic Industries, Corp. TERMINALS HAZELTINE Esprit 1421 1500 Executive 80 Model 20 Model 30 S0R0C Model IQ120 Model IQ140 TELEVIDE0 Model 912 Model 920 Model 950 $569.95 689.95 849.95 CALL 699.95 1099.95 779.95 829.95 1099.95 . PRINTERS QANTEX Model 6000 Parallel $1149.00 Model 6000 Serial 1195.00 EPSON Model 80 499.95 Model 100 759.95 TEXAS INSTRUMENTS Model 810 1399.00 INTERTEC Superbrain 64KDD 2699.00 Superbrain 64KQD 3299.00 N0RTHSTAR Horizon II 64K 3299.00 Horizon IIQD 64K 3599.00 DATA DISCOUNT CENTER, INC. P.O. Box 233, Greenvale, N.Y. 11548 Phone Orders Call 516-869-8537 Most items in stock for immediate delivery. Factory sealed cartons. Full manufacturer's guarantee. All products subject to availability. All prices subject to change. N.Y.S. residents add Sales Tax. Shipping F.O.B. N.Y. 170 November 1981 © BYTE Publications Inc IF YOU CAN RECOGNIZE VALUE, YOU CAN SAVE; 00 $500 M.T.I. MOD III PLUS Now You Con Save $500 over comparable model. $1998 We hove raken the basic 16K Model III expanded the memory to 48K and added our MTl Double Density, Dual Disk Drive system. System is fully compatible with Radio Shack DOS and peripherals. MOD 1 1 l/EXPANDED Same as above bur has double storage capacity (708 storage). Your choice of 2 dual headed 40 track drives or 2 single headed 80 track disk drives $2400 !MiWira&®iaiE#€¥Mffi:!lJi& ■j-aiwmzmnm MOD 111/280 Our largest MOD III, approximately 1.5 mega byres of storage, utilizes 2 dual headed 80 track, double density disk drives. Complete with manuals and professional operating system. Microsystems DOS plus 0.0. *2799 MTl MOD III, SALES, PARTS 6- SERVICE CENTERS-INDEPENDENT DEALERS PHOENIX, AZ (602) 244-9739 SIERRA VISTA, AZ (602) 458-2479 TEMPE, AZ (602) 839-0546 TUCSON, AZ (602) 323-9391 ANAHEIM, CA (714) 773-0240 COV1NA, CA (213) 332-4088 HOLTVILLE, CA (714) 356-5185 INGLEWOOD, CA (213) 673-3295 LANCASTER, CA (805) 942-5747 OXNARD, CA (805) 486-5837 SAN DIEGO, CA (714) 275-4243 SAN JOSE, CA (408) 946-1 265 SANTA CRUZ, CA (408) 427-0836 WALNUT, CA (714) 594-831 1 FORT COLLINS, CO ...(303)221-1776 GROTON, Q (203) 445-5166 HOLLYWOOD, FL ....(305)981-1011 GEORGIA (404) 449-8982 KAILUA, HI (808) 261-6596 IDAHO (208) 785-1497 5HREVEPORT, LA (318)865-7189 JOPLIN, MO (41 7) 781-1 748 MIDWEST (618) 345-5068 MISSOULA, MT (406) 549-971 5 RALEIGH, N.C (919) 755-1 175 JERICHO, NY (516) 997-8668 MANHASSET, NY (516) 869-8335 NEW ROCHELLE, NY . . (914) 235-4444 TROY, NY (518) 273-841 1 N & S DAKOTA (701 ) 594-5674 CLEVELAND, OH (216) 779-6040 MAUMEE, OH (419) 893-4288 DALLAS, TX (214) 247-6679 CHEYENNE, WY (307) 632-9132 MEXICAU, BC (714)357-4717 OVERSEAS AUSTRALIA 3877-6946 BELGIUM 1663-2452 REP. OF SOUTH AFRICA .... 2145-1 047 EA MICROCOMPUTER TECHNOLOGY INC. 3304 W. MACARTHUR, SANTA ANA, CA 92704 • (714)979-9923 • TELEX 6780401 TADIRIN • MasterCard VISA US. PRICES F.O.D. SANTA ANA. CALIFORNIA Circle 267 on inquiry card. MICROSTAT™ Release 2.0 rFLE" ■ )ust some °' ,ne new Matures of Microstat Rel. 2.0 in- clude: new programs for moments about the mean, skewness, kurtosis and stepwise multiple regression, longer file names, faster sort routine, the ability to declare each data file's numeric precision and drive location plus an expanded user's manual with new appendi- ces for the equations and file structures used in Microstat. Also included is a Data Management Subsystem for file maintenance (edit, list, destroy, augment, sort, rank-order, move and merge) plus trans- formations (add, subtract, multiply, divide, reciprocal, log, natural log and antilog, exponentiation and linear) that allow you to create new variables from existing variables. After file creation with DMS, programs for analysis include: Descrip- tive statistics, Hypothesis testing (mean and proportion), ANOVA (one-way, two-way, and random blocks), Scatterplots, Frequency distributions, Correlation analysis. Simple, Multiple and Stepwise Multiple Regression (including files larger than available memory). Time series, 11 Nonparametric tests, 8 Probability distributions, Crosstabs and Chi-square, Combinations, Permutations and Factor- ials (up to one million factorial). All program output is neatly formatted for easy use. The price for Microstat Rel. 2.0 is $295.00 and the user's manual is available for $25.00 (credited towards purchase) and includes sample printouts with file lables that reference standard statistical texts and journals so you can compare the results from Microstat to those produced on much larger systems. Compare Microstat to any other package on the market and we think you'll agree that Microstat is the best at any price. I Interchange) l(nterchange) is a general purpose file maintenance program for use with the CP/M™ operating system. Since it is a single program written in optimized Z-80™ code, it is much faster and easier to use than other file maintenance programs. Features include: DIR as usual plus listing all files excluding those with a specified character(s), ERA as usual plus exclusive erases. Also, a "Q" switch can be used to query each erase, a "W" allows erases of R/0 files without query (normally you are queried), and an "R" switch if system files are to be included, LIST permits listings and uses TAB, WIDTH, LINES and WRAP for control, COPY as usual plus exclusive copies and supports the "Q", "W" and "R" switches plus an "E" switch for query on existing files, STAT with ambiguous, unambiguous and exclusive listings and produ- ces an alphabetized listing with file length, total directory entries and space used and unused, START-END allows for copying contiguous data files, and RENAME as usual plus ambiguous renames. Other commands include: QT, DATE, TIME and SETIT (for the QT clock board) plus CLEAR, RESET, HELP and TYPE. Disk copies can even be continued after a disk full condition by simply inserting a new disk. All of this in one program without ever having to leave I Interchange) and wait until you see the speed improvement . . . The price for l(nterchange) is $59.95 and the manual is available for $10.00 (credited towards purchase). I(nterchange) is recommended for 32K or larger systems using CP/M™ 2.0 or later. It will not run on an 8080 CPU and only User is supported. All programs are available on 8" SD or North Star 5'A" disk. Microstat is available for North Star Basic, Microsoft's Basic-80 (Rel. 5.0 or later) or compiler Systems CBasic2. Please specify when ordering. CP/M is a registered trademark of Digital Research. ECOSOFT, INC. P.O. BOX 68602 INDIANAPOLIS, IN 46268-0602 (317) 283-8883 class average, and a grade-percent scale. The information is entered and displayed in several frames. The first frame asks for the class size, the number of questions in the test, and other identifying information. In the second frame, the teacher types in the number of each question that was answered incorrectly (once for every time it was answered incorrectly). When this process is finished, the third frame shows a summary of each question, including the number and percentage of students who missed it. If 50% or more missed any given question, an asterisk ap- pears beside the question number. A record sheet is pro- vided in the program documentation for the teacher to copy the information from this frame. Finally, the fourth and fifth frames give the class average and a grade- percent scale. The program allows the teacher to correct transcription errors during data entry. In its simplest use, the program helps the teacher deter- mine which classes and which subject areas need work. When used in a pre-test/post-test system, the analysis of the pre-test data shows the teacher which material needs to be emphasized, and the analysis of the post-test data shows which areas were most effectively taught. Conclusion One criticism I have is that I would like to see documentation of certain statements made in the magazine. For example, in the introduction, passing reference is made to "four surveys made during the past five years." How comprehensive were these surveys? What were the actual results? That is not stated. Educators might want to see the research so an address should be given. In a second example, questions answered correctly less than 50% of the time were flagged by the QUIZSTAT program. My question to the program designers is "what research supports this seemingly arbitrary figure?" I feel that at least 85% of all students, a standard figure for many educators, must pass a given test question. I hope these problems with documentation will disappear in future issues. The two programs in the issue I reviewed are useful and complete. The importance of supporting the pro- grams with worksheets and documentation cannot be overstated. One of the most exciting aspects of using this software is that program improvements and new ideas come to mind immediately, causing me (and, I hope, other teachers) to see new uses for the classroom com- puter. The editor of CourseWare, Dr Dan Isaacson, is on the faculty of the School of Business and Administrative Sciences at California State University in Fresno, Califor- nia. The material in the first issue reflects a knowledge of teachers' needs as well as a proficiency in computer science. [Editor's note: At the time at which this review went to press, three issues of CourseWare had been published. ...GW] Efficient and creative use of the com- puter in the classroom will depend on programming efforts such as this. ■ 172 November 1981 © BYTE Publications Inc Circle 154 on inquiry card. PRIME SOURCE DISTRIBUTING ^TekMdeo COMPUTER SYSTEMS The Computer with the MmmOST® — Televideo's Multi-User, Multi-Tasking, Multi-Processor Operating System Technology makes Televideo the leader in multiple-user, distributed data pro- cessing systems. Televideo is incredibly faster than ordinary multiple-user systems, and it is also less expensive! • Each user has his own Z80 processor • Individual Programs run under CP/M® • File and record lock-out, and Fata Embraces are handled • Televideo-RM/COBOL supports shared files TERMINALS Outstanding Performance, Reliability, Price and Delivery have made Televideo the terminal chosen by the majority of new micro computer users. The newest member of the Televideo family, the Model 910, emulates three other terminals, knows 3 foreign languages, has a large set of screen attributes, 19.2K Baud, and a Selectric style Keyboard with numeric pad; but lists for only $699. Value for the dollar makes the Televideo 910 a best buy. Watch for more new products in the near future that will put Televideo further out front. DEALERS AND OEMs WHO CALL EARLY WILL BE FIRST IN THE SUPPLY LINE. RIGHT NOW! BECAUSE: PRIME SOURCE Delivers computer systems that work. We carry a complete line of microcomputers and peripherals backed by in-house technical expertise. Pretested and Preconfigured systems available. PRIME SOURCE is a stocking distributor with product ready to ship. PRIME SOURCE Supports the dealer with extras such as flooring plans, demonstra- tion software packages, sales leads from national advertising, and advertising funds for local advertising. PRIME SOURCE sells to Dealers, Manufacturers, Systems Houses, and Independent Software Vendors. We do not sell to end users. CP/MSisa licensed product supplied by Digital Research. Inc MmmOST* is a registered trademark of Televideo Systems Inc PRIME SOURCE DISTRIBUTING Circle 349 on inquiry card. 18380 Enterprise Lane Huntington Beach, CA 92648 714/842-2208 213/592-4201 Outside California 800/854-6451 DIF: A Format for Data Exchange between Applications Programs Candace E Kalish & Malinda F Mayer DIF Clearinghouse POB 527 Cambridge MA 02139 One of the most frustrating prob- lems facing users of applications soft- ware is the inability to use the same data with more than one program. Users often know that one program has stored data with which a second program could work wonders, but in- compatible storage formats make the data inaccessible to the second pro- gram. If you own an applications program, you ought to have control over the data in that program. But rarely do you enjoy full possession of this data. Generating graphics from stored data provides a good example of this problem. Suppose you are using a data-analysis program to project your company's profits for the years 1980 to 1982. You enter data and run calculations, and the program pro- duces table 1. You have a plotting program that can produce striking About the Authors Candace E Kalish is a freelance writer. Malinda F Mayer is a technical writer at Soft- ware Arts Inc. Contributing writers include Dena B Feldstein, publications manager, and Patrick ] Slaney, programmer, both of Soft- ware Arts Inc. graphics to illustrate data, but the plotting program won't accept data in the format of the data-analysis pro- gram. The need for a standard format for data exchange has long been recognized. In the absence of a recognized stan- dard format for data exchange be- tween programs, you have only three choices for making the data from the first program useful with the second. You can retype all the data, write a program to reformat all the data, or modify one of the programs to accept data in a different format. Each of these three data-transfer processes is inefficient and tedious. In a business environment, programs for billing, invoicing, inventory, order- ing, and projections may all need the same data. Transferring data among all these different programs can take a great deal of time. Clearly, if all the programs used the same data format, the problems and inefficiencies would be greatly reduced. Although many people see the need for a standard format for data ex- change, we still lack such a standard. From time to time, individual users and commercial software houses have tried to establish a standard (par- ticularly for use with VisiCalc, the electronic worksheet program written by Software Arts Inc and distributed by Personal Software Inc), but their efforts have failed to win wide accep- tance. Software Arts is now trying to pro- vide a standard by offering DIF, a specific format for data interchange. The DIF file format stores tables of data and provides easy access to the data by any program using DIF. Many commercially available pro- grams already use DIF, and more are coming soon. Some of the programs now available (in addition to Visi- Calc) are VisiPlot, VisiTrend/Visi- Plot, and CCA Data Management System, all from Personal Software Inc; TREND-SPOTTER, from Friend Information Systems, published by Software Resources Inc; and DB 174 November 1981 © BYTE Publications Inc Don't make your computer old before its time Now there's Palantir ™ — Word Processing and Accounting Software for Today's Computers You've just gotten a brand new computer. Don't tie it down with old software. Two-year-old software will make it run like a two-year-old computer. The microcomputer industry is the fastest growing, most exciting industry in the world. Today's printers, terminals and disk drives can do things no one even dreamed of two years ago. But a computer is just a dumb piece of metal until software gives it life, and, unfortunately, microcomputer software has not kept up with the hardware. Until now. There's a commonly held belief that you should not buy new software because it hasn't been tested. We say, "Hogwash!" At one time those complaints might have been valid, but the software industry has come of age. We do our testing before we release a product, not afterwards. More importantly, we've learned that quality cannot be tested into a product; it must be built in from the beginning by people who know what they are doing. And we do. We formed Designer Software because we believed that the quality hardware of today demanded software of equal quality. It took a lot of time, sweat, money, care, experience and talent to make that belief a reality. We set high standards, but our team of CPA's, systems analysts, programmers, writers, artists and marketers that created Palantir™ Word Processing and Accounting have exceeded all of our expectations. Palantir™ is the most professional packaged software ever to be offered to the CP/M® market. We don't expect to convince you of that with just one ad, and we won't try. But if you're in the market for business software, we hope we've convinced you to find out more about Palantir™ — today's software for today's computers. CP/M ij a registered trademark ol Digital Re Circle 134 on inquiry card. For more information and the name of a dealer near you, please write, call, telex or use The Source. Dealer, distributor and OEM inquiries invited. 3400 Montrose Blvd. • Suite 718 • Houston, Texos 77006 (713)520-8221 • Telex 790510 • Source TCU671 Master, from Stoneware Microcom- puter Products. All versions of Visi- Calc support DIF except VisiCalc 1 .37 on the Apple II and VisiCalc PLUS on the HP-83/85. The DIF Approach DIF is easy for both beginners and advanced programmers to use and understand, yet it has sufficient power and versatility for most appli- cations. Programs using DIF may be written in any language from BASIC to Pascal to assembly language. Fur- the r more, DIF is not dependent on the features of any particular comput- er. Because DIF avoids unusual fea- tures, data formatted in DIF can be transferred between programs regard- less of the computers on which they are run. Here are a few examples of DIF ap- plications: • Report generators and graphics pro- grams can take data saved in DIF and produce easily grasped reports and vivid illustrations of what the data means. • Programs that accept data from laboratory instruments can use DIF as a data-storage format, making the data easily accessible for later analysis by other programs. • Periodic data stored in DIF can be consolidated later into a master report. • If data is stored in DIF, two dif- ferent types of computers can ex- change the data over communications lines (such as an RS-232 connection). The DIF Format DIF represents data in tables and provides for optional accompanying information that describes the data. Descriptive information can be associated with all of the data in the table or with a specific column. In table 1, for instance, the title "Profit Report" clearly refers to the whole table. The labels 'Tear," "Sales," "Cost," and "Profit," however, each refer to only one column of data. Pro- grams can use the data values and ignore the title and labels if desired. Because tables can be structured in many different ways, DIF uses the terms "vector" and "tuple" instead of "column" and "row." Each tuple in table 2 contains one data value from each vector. This example has three PROFIT REPORT Year Sales Cost Profit 1980 100 90 10 1981 110 101 9 1982 121 110 11 Table 1: A simple table projecting profits for the years 1980, 1981, and 1982. DATAMAC'S MICROCOMPUTER SYSTEM The Best Features of a Large Computer for Under $5,000. A Unique System The Datamac System 1 200 Series of Microcomputers is a new and exciting contribution to the small business, education and scientific markets with high performance features previously available only in large mainframes. Highly Reliable The portable, self contained computer system is"user friendly" and utilizes a single card design that has been con servatively designed and extensively tested to keep you in top operational condition virtually every time. Easily Serviceable A unique self diagnostic capability is built into the system for both hard- ware and software and is easily checked through the keyboard and on the System Activity Monitor (SAM). 1 The experienced or inexperienced datS \nac programmer can display or alter memory and registers, set breakpoints or single step through program debugging as a standard function. MTTR is only 20 minutes. Exceptionally Flexible The industry standard *CP/M operating system provides for a wealth of acces- sible application software. Datamac's system permits simultaneous use of 5K" or 8" floppies and Winchester disk d rives for system expansion from % megabyte of processed data up to 80 megabytes utilizing various formats. And, input/output ports are com- patible for interfacing with almost any peripheral. Contact your Datamac represen- tatives for product details about "Tomorrows Microcomputer • System . . . Available Today!" DATAMAC COMPUTER SYSTEMS 680 Almanor Avenue, Sunnyvale, CA 94086 408/735-0323 176 November 1981 © BYTE Publications Inc "CP/M is a trademark of Digital Research. Visit us at Booth 579 for Distributor Opportunities. Circle 261 on inquiry card. Circle 434 on inquiry card. MULTIUSER tw I ^H L COMPUTER ON S- 1 OO BUS DESIGNED TO Y A WIDE VARIETY OF APPLICATIONS. STANDARD I INCLUDE: CP (VI a. 2 OPERATING SYSTEM, 6 4 K EXPANDABLE, BANKSE- IVII MQRY.4MHZ J WITH 4 SERIAL 1ALLEL PORTS, I S" FLOPPY DISK □ RIVES IN A STURDY ALL METAL CABINET. $4900 MP M OPTIONAL. ^^ ffH P.O.BOX 1847 SAN DIEGO, CA. 7343-J RONSON RD.SAN □ I E G O , C A . S 2 1 1 1 (714) 57 1-697 1 tuples of four data values each: 1980,100,90,10 1981,110,101,9 1982,121,110,11 To keep the format simple, DIF re- quires that all the tuples in a table have equal length and that all the vec- tors have equal length. The Structure of DIF To illustrate the structure of DIF, we will show how DIF would store the data presented in table 1. Figure 1 shows the DIF file for the data in table 1, with large braces drawn to label various subdivisions of the file. Every DIF file has two parts: a header section containing descriptive information about the table, and a data section containing the data values. DIF Header Items The header section consists of a series of header items, each describing one aspect of the file. Each header item consists of four fields, and each field contains a piece of information about the data-file format. The fields in a header item are the topic, the vector number, the value, and the string value. DIF arranges the four fields of each header item on three lines: Line 1 Topic Line 2 Vector Number, Value Line 3 "String" Figure 2 shows the header item TABLE with the fields labeled. The topic field is the name of the header item; information in this field must be an uppercase alphabetic string with no spaces or quotation marks. TABLE is the topic in figure 2. The vector number, the first field on the second line, specifies the vector being referenced. Note, however, that if the header item does not belong to a single, specific vector, then the vector number used is 0. Since the header item TABLE refers to the entire file rather than to any single vector, TABLE'S vector number is 0. The data value for the header item TABLE is the version number, and must be 1 . On the third line, the string value for TABLE ~\ Figure Is A DIF data file with the com- 0,1 ponents labeled. Each of the LABEL "PROFIT REPORT" header items labels one vector. The data is VECTORS stored in tuples. "BOT" marks the begin- 0,4 ning of each tuple, and "EOD" marks the ii ii end of the data file. TUPLES V Header 0,3 /item ii ii J LABEL 1,0 "YEAR" \Header LABEL Section 2,0 "SALES" LABEL 3,0 "COST" LABEL 4,0 "PROFIT" DATA 0,0 ii ii _^y -1,0 ~A BOT 0,1980 V 0,100 V 0,90 V 0,10 V -1,0 BOT 0,1981 V 0,110 V ~"\ Data /Value V Tuple V. Data /Section 0,101 V 0,9 V -1,0 BOT 0,1982 V 0,121 V 0,110 V 0,11 V -1,0 Fon 178 November 1981 © BYTE Publications Inc [taStar Meet Melanie. She was a data- handling novice until she met DataStar* Now, she's a star. Her revolutionary new system has taken her into a new dimension — and left all her old file cabinets, folders and paper forms behind. Melanie's learning fast. She lets her DataStar do it all, up on the screen, from creating forms to fast accurate entry and retrieval. And when Melanie uses DataStar with MicroPros other programs, WordStar™ and SuperSort,™ she's a whiz at a lot more than data. Melanie can enter her data . . . merge, select and rearrange it. . . and then produce "personalized" mailings. Discover what Melanie has. DataStar: the microworld's most comprehensive data entry, updating and retrieval system. Send for a free copy of our DataStar demonstration booklet by calling (415) 457-8990. Or visit your nearby authorized dealer. Remember, when you're the star, we're the star. 'Runs on most Z80/8080/8085 microcomputers with CP/M (TM of Digital Research!. 48K, and terminal with addressable cursor Circle 262 on Inquiry card. INTERNATIONAL CORPORATION MicroPro International Corporation 1299 4th Street. San Rafael. CA 9490 (415) 457-8990 TELEX 340388 Sold through authorized dealers and distributors only OEM inquiries invited The Star Maker oPro Circle 259 on inquiry card. micro S€€D The Powerful Mainframe Database Management System for Professionals Who Use Microcomputers Power: Mlcro-SEED was derived from the CODASYL SEED database system. It has both hierarchial and network struc- tures with power to handle any applica- tion regardless of its data complexities. Compatibility: Fully compatible with SEED for creating microcomputer data- bases tied to a large host computer. Productivity: Faster and easier to develop and maintain applications since data relationships are automatically and consistently maintained. Shared database allows integration of various application programs, each having selective authori- zation to access data. Consistent data naming allows programs to evolve in- dependently of one another. Performance: Since only Micro-SEED gives you full CODASYL access methods (plus additional ones), your database can be tuned for maximum performance. Critical portions of Micro-SEED are writ- ten in assembly language for fast, effi- cient operation, while the remainder is In standard FORTRAN to permit rapid evolution of Micro-SEED. Your data is secure since the database is never damaged in a system failure. Only the last transaction is lost. Proven: Mlcro-SEED has been in use since 1977 and is continually enhanced. Ease of Use: Documentation consists of a Reference Manual (over 1 00 pages) and a CP/M Operating Guide. Also, three example databases are illustrated in detail. Concise Data Definition and Data Manipulation Languages permit easy structuring and updating of your database. When Your Application Requires BIG Computer Power at little Computer Prices, Get Micro-SEED. Requirements are CP/M operating system, FORTRAN or PL/l-80, 48K bytes available to user program, and Zilog Z-80 or Intel 8080/8085 processor. Format is 8" single- density; others on special order. Single copy license is $1,195. Demonstration Package with Documentation is $75. Documentation only is $40. VISA, MC, and AE accepted. Dealer and OEM inquiries invited. the header item TABLE is "PROFIT REPORT," the title of the table. In summary, the header item TABLE is organized as follows: TABLE 0,version# "title" The header section in figure 1 con- tains other items. The header items TABLE, VECTORS, TUPLES, and DATA are required. The order of the items does not matter, as long as TABLE is first, DATA is last, and VECTORS comes before any use of vector numbers. The next two header items specify the number of vectors and tuples in the table. The topic VECTORS refers to the entire table rather than to a single vector, so the vector number is 0. The value of the header item VECTORS is the count of vectors in the file. Since the table has four col- umns, the data value of item VEC- TORS is 4. The item VECTORS has no string value, as shown by the emp- ty pair of quotation marks. Thus, the header item VECTORS has the following form: VECTORS 0, count Similarly, the header item TUPLES for our sample table has a vector of 0, a data value of 3, and no string value. The form of the header item TUPLES is: TUPLES 0, count Data values of the topic VECTORS and the topic TUPLES must always be integers. Before the last required header item, DATA, DIF permits standard optional header items. Among these are LABEL (described below), COM- MENT, and SIZE. DIF also permits defining new header items to meet special needs. The DIF Technical Specification (available from the DIF Clearinghouse) describes in detail all the standard header items. Looking again at figure 1, you can see that the header items whose topic is LABEL refer to specific vectors. Each item whose topic is LABEL has a vector number and may have a data value as well. The data value of a LABEL item is the number of lines re- quired by the label. This is how DIF provides for labels that require more than one line. Systems that allow only single-line labels can ignore the line number. Note that under DIF, the values and 1 are equivalent line numbers. Each of the LABEL header items has a string value, and that string value is the label of the vector. TABLE —Topic Vector Number — 0,1 — Value 'Profit Report" — String Figure 2: The organization of a DIF header item. The first line shows the topic. The second line shows the vector number and the value. Line 3 is the character string that is the header item's title. 4890 Biverbend Road Boulder, CO 80301 Phone (303) 443-2706 micro Decisionware SEED trademark ol International Data Base Systems (IDBS). Mlcro-SEED trademark of IDBS and Micro Decisionware. CP/M and PL/l-80 trademark ot Digital Vector 1 Vector 2 Vector 3 Vector 4 Tuple 1 1980 100 90 10 Tuple 2 1981 110 101 9 Tuple 3 1981 121 110 11 Table 2: A recasting of table 1 into DIF format, with tuples in place of rows, and vec- tors in place of columns. 180 November 1981 © BYTE Publications Inc Circle 355 on inquiry card. H you don't know a baud from a floppy . . . YOU NEED TO KNOW THE QDP-lOO MICROCOMPUTER Most people who need computers don't have the time, or desire, to become full-time computer "wizards." With the budget-priced QDP-lOO you get all the time-saving pre- cision information you want from a computer, now and in the future, without all the unnecessary com- plexity associated with less consider- ate computers. QDP-lOO IS A FULL-SCALE 8-bit computer, readily upgradeable to 16 bits as your business or professional information- processing needs grow. It uses the IEEE S-lOO bus, compatible with CP/M and MP/M disk operating systems. QDP-lOO HANDLES BOTH floppy disks and hard disks to give you total software versatility. QDP-lOO CONNECTS INSTANTLY to any standard terminal and printer. Both serial and parallel ports are available. Features most micro- computers can't match. It does more, does it easier, and costs a lot less. QDP-lOO HAS SINGLE BOARD SIMPLICITY. Eliminates the hassle of complex multi-chip, multi- board computers. QDP-lOO IS EASY to learn and to operate. Most owners use their QDP-lOO with professional skill and results in short order. Our instruction manual doesn't need an interpreter. If you'd rather be a wizard with computer results, than with computers, choose the QDP-lOO. Call or write for literature and full details. QDP NEEDS A FEW MORE GOOD DEALERS. Attractive, profitable, protected dealerships are still available in several high-potential computer market areas. Quasar Data Products 10330 Brecksville Road Cleveland, Ohio 44141 216/526-0838 Telex. 241596 CP/M and MP/M are registered trademarks oi Digital Research Corp. Thus, the form of the header item LABEL may be represented as: LABEL vector#,line# "label" In figure 1, vector 1 is the column labeled "YEAR," vector 2 is the column labeled "SALES," vector 3 is the column labeled "COST," and vec- tor 4 is the column labeled "PROFIT." Each label requires only one line, and so the data value is given as (it could also be 1). The last DIF header item must be DATA. It signals to the program that all items following are data values. A program can be structured to ignore all header items until it finds the DATA header item, which has the form: DATA 0,0 DIF Data Items The form of data items differs from that of header items. DIF organizes data by tuples. Within the tuples, values are arranged according to the order of the vectors. Each data entry consists of three fields on two lines. The first line con- tains two numeric values, which are respectively the type indicator and the number value. The second line contains only one value, the string value. Together the type indicator, the number value, and the string value represent one DIF data value, in the following form: type indicator, number value string value The type indicator, which must be an integer, can have one of three possible values. A type-indicator value of means the data is numeric and is stored in the field immediately following the type indicator. A type- indicator value of 1 means the data is a string. For string data, the number- value field is ignored and the string value is stored on the second line of the data item. Finally, a type- indicator value of — 1 indicates a special data value. The number-value field is 0, and the string-value field may have one of two special values: BOT (beginning of tuple) or EOD (end of data). These are discussed fur- ther in the section on string-field values. The Number Value. The number value may be signed (+ or — ) and may contain a decimal point. One or more blanks may precede or follow the number value. If the data value contains an exponent of a power of ten, the value is followed by the letter "E" and the signed or unsigned expo- nent. The number value is the only place that DIF allows a noninteger value. When the data value is numeric, the string-value field contains one of the values described in the following section. The String Value. When the type- indicator is 1, the data is a string and contains no control characters and no quotation marks. If the string is a sim- V/SA* CALL TOLL FREE: 1-800-547-2*192 |cippkz16K+ $999 V km if I version a8h+ $1059 Haw RFl version with Apple memory ATARI A 400 (16K) $329 800 H6H1 $719 Toll free number for order desk only. In Oregon and for service or warranties call (503) 479-4150. Bank wires, cashiers checks and bankcards accepted immediately. Allow 20 days for personal checks. MasterCard and VISA add 2%, sorry no C.O.D.'s. Add 3% (minimum $4.00) for all U.P.S. shipments to cover freight, handling and insurance. '100.00 minimum order (no sales ta>). Prices subject to change without notice. NOTE: We are registered with the State of Oregon, have been in electronic sales and service for 5 years and are fully qualified for repair of any micro computer system. Three full-time certified technicians insure one-day turnaround on most Apple repairs. Hours: 9:00 to 5:00 Monday through Saturday. "A Unique Combination of Quality Products, competitive Prices, and Service" APPLE HARDWARE DISK DRIVE w/3.3 CONTROLLER S4 89 DISK DRIVE ONLY S4 1 9 SILENTYPE PRINTER w/INTERFACE S3 09 GRAPHICS TABLET S599 APPLE SOFT OR INTEGER CARD S139 PASCAL LANGUAGE CARD S 3 4 9 PARALLEL PRINTER CARD S I 29 SERIAL PRINTER CARD $159 CENTRONICS PRINTER CARD S 1 3 9 LOWER CASE ADAPTOR $39 16K RAM CARD (MICROSOFT) S 1 59 Z-M C ARD (MICROSOFT) S 2 4 9 MICROMODEM (HAYES) * 2 6 9 SMART MODEM (HAYES) S 2 2 9 MOUNTAIN CLOCK S249 MOUNTAIN MUSIC SYSTEM S479 MOUNTAIN A/D CONVERTER S29 9 MOUNTAIN INTROL/X-10 CONTROL SI 79 MOUNTAIN C.P.S. MULTIFUNCTION S 1 9 9 10 KEYPAD (A.B.I.) S99 SUP-R-TERM (M COLO BY MAR) S269 SUP-R-MOD (MODULATOR ■Y MAR) S 1 9 16K MEMORY EXPANSION S 2 9 POYSTICK (T.G. OR PROGRAMMA) S39 9" UW MONITOR (SANYO) S 1 4 5 r RAW MONITOR (N.E.C.) S 1 3 9 11" RAW MONITOR (SANYO) S 1 89 12" GREEN MONITOR (SANYO) S 2 29 12" RAW (N.E.C.) SPECIAL S 1 6 9 ir COLOR MONITOR (SANYO) S385 I.D.S. 445C PRINTER I.D.S. 440G PRINTER I.D.S. 5MG PRINTER EPSON MX-7B EPSON MX-M EPSON MX-tOFT EPSON MX-1H EPSON CARTE A INTERFACE EPSON GRAFTRAX ATARI HARDWARE CX-2CO0 VIDEO GAME 410 PROGRAM RECORDER 810 DISK DRIVE ■20 PRINTER 122 PRINTER 825 PRINTER 830 MODEM ISO INTERFACE MODULE 853 16K MEMORY EXPANSION SI 49 S54 S419 S249 S339 S569 S149 S139 S79 SOFTWARE VISICALC (ATARI) BASIC (ATARI) VISICALC VISIDEX VISIPLOT VISITERM VISITREND D.O.S. TOOL KIT D.O.S. 3.3 UPDATE MICROLAB DATA FACTORY D B MASTER (STONEWARE) APPLE WRITER SUP-R-TEXT II WORDSTAR B.P.I. FOSTWARE (each) GENERAL BUSINESS CONTROLLER SOFT-TECH PAYROLL STOCKFILE INVENTORY ADVENTURE ZORK SARGON CHESS GALAXIAN CALL KM Otm« HA.DWAHE AND SOFTWARE WE WILL UNDERSELL S139 S49 S139 SI 29 SI 19 S99 S169 S55 S45 SI 29 SI 69 S49 S99 S269 S319 S479 S179 S299 S29 S29 S29 S22 530 N.E. f Street • Grants Pass, Ore. 97526 182 November 1981 © BYTE Publications Inc Circle 366 on Inquiry card. Circle 53 on inquiry card. See us at Comdex '81 in Las Vegas, Booth §774. The BOS M System: The Universal Donor The BOS M Card is the heart of the M System. It is designed to be IEEE S-100 bus compatible for universal system use. Virtually all elements of a computer mainframe now reside on one S-100 card — Z-80A CPU, 64k of 200ns RAM (no wait states), 4k 250ns EPROM, Winchester Disk I/O port, two RS-232 serial ports, system port, floating point processor, and parallel I/O. The same M Card can be used in single-user, multi-user, or even multi-processor systems. Second Generation Multi-Processor. With the BOS M Card, multi-processing is finally free of the Master/Slave and hand- shaking parameters so prevalent in first generation multiprocessors. Inter-system communications are FIFO buffered; the old "Master" is now a slave to the user, and the system functions without "S-100 bus overrun" or system generated wait states. The Universal Processor is now a reality! As a single-user system, the BOS M is unmatched in performance (up to ten times the speed of other microcomputers). As a multi-user system, this power can be translated into a low cost multi-terminal capability. As a multi- processor, the system leaves the realm of "microcomputer" and competes in performance with a minicomputer! You can start with a single-user computer and expand to a multi-user/multi-processor computer system when needed. terjlslered Trademark ot Digital Research. TUHBODQS IE a product ot Software 2000. The Universal Product. BOS has what you need — anything from a single M Card to a complete turnkey computer system. Diskette, rigid disk, tape and telecommunications sub-systems areall available. Compatible software includes CP/M*, MP/M*, CP/NET", BOS/TURBODOS, complete monitor, languages, application packages, and more! Dealer and OEM Inquiries Welcome Business Operating Systems, Inc. 283S East Platte Avenue Colorado Springs, Colorado 80909 In Colorado Call: (303) 634-1541 e BOS M System does what a Universal Donor must do — it provides high performance for all system types; single-user, multi-user, and multi-processor. M Systems start at less than $5,000.00 for a single-user computer with dual 8" double density diskette drives. " , i **\i\i mm m ALTOS BUSINESS t -»*c"'; % PROVEN VALUI PUT€ YST€MS PRODUCED IN THE HEART OF SILICON VALLEY. CALIFORNIA U.S.A. i - I i 1 LS ■I t I I » t UTE" .. 1-^ fr. Now— A four station, hard disk business computer with letter quality printer, terminals and get-rolling software for less than $15 a day.* 'Price approximate and may vary in your area. Daily lease based on: $17,000 principal, 20% annual interest, 5-year term. Includes: Altos ACS8000-10 computer, letter quality printer, four precision terminals and get-rolling software. Does not include tax. installation, training and maintenance. Introducing the Altos Business Computer Special. The most powerful, reliable, easy-to- use system in its price range. And Altos now offers on-site, nationwide service. The hardworking engine of our system is the Altos ACS8000-10 computer. It can cost-effectively hook-up with from one to four stations, as your needs demand. Its rapid access, 10 MByte Winchester hard disk is capable of storing a 3,000 page load. HVIPU :JI -4 fl P» . ^^H 17j f J -. 1 InMHMMllMMJ Afl ■ • ^■^^fcm»*I ""^^»_ Our get rolling business soft- ware package includes multi-user systems software, Wordstar" for word processing and Microplan'" for business analysis. And when you need more, your local Altos representative can route you through to hundreds of other business and accounting pro- grams, to meet virtually any requirement. Plus Altos also lets you communicate with other computers, mainframes, and even allows networking. Circle 18 on Inquiry card. Get on the right track! Join thousands of professionals, insti- tutions and businesses who rely on Altos computer systems. Call our toll free number or write today for the Altos sales and service depot nearest you. All aboard! Wordstar is a trademark of MicroPro International Corp. Microplan is a trademark of Chang Laboratories, Inc. © 1981 Altos Computer Systems Packed with fresh ideas for business COMPUTER SYSTEMS 2360 Bering Drive San Jose. California 95131 BOO 538 7872 (In Calif. 800-662-6265) See Us At ComDEX Booth 204 pie word, it may be entered directly on the line. If the string contains blanks or special characters, then the string must be enclosed in quotation marks. If the string is null, the string- value field contains quotation marks with no space between them. When data is numeric, the string value is one of the following upper- case, unquoted words: V: indicates a numeric value. NA: not available. Indicates that the value marked is not available; the number value is 0. ERROR: the result of an invalid calculation; the number value is 0. TRUE: the logical value; the number value is 1. FALSE: the logical value; the number value is 0. Special Data Values. If the type- indicator field is —1, then the data is one of two special data values, BOT or EOD. BOT flags the beginning of a tuple, and EOD flags the end of the last tuple in the file. Sample Programs Using DIF Listings 1 and 2 are BASIC pro- grams that illustrate the use of DIF. Listing 3 is a Pascal program that shows a Pascal procedure to use a DIF file. A teacher has written the program in listing 1 to create a DIF file that contains the names and tests scores of students. Because it is heavily com- mented, the program should not be difficult to follow. It prompts the teacher to enter a file name, the number of students, and the number of test scores for the students. The program organizes the data into one tuple for each student; a tuple con- sists of one string value for the stu- dent name and one numeric value for each test score. The number of vec- tors is one more than the number of test scores per student; the extra vec- tor is for the student's name. For example, if three test scores are entered for a student, there are four vectors, and a typical tuple might contain the following information: Stephenson 75 82 60 This program enters student records into a file by prompting the Text continued on page 206 Listing 1: A BASIC program that uses DIF. This program prompts the user for a student's name and test scores and then copies the information into a DIF file. 100 REM - THIS PROGRAM CREATES A DIF FILE CONTAINING THE 110 REM - NAME AND TEST SCORES OF A GIVEN NUMBER OF STUDENTS. 120 REM - IT PROMPTS FOR A FILE NAME, THE TOTAL NUMBER OF 130 REM - STUDENTS, AND THE NUMBER OF TEST SCORES FOR 140 REM - EACH STUDENT. IT THEN PROMPTS FOR A STUDENT'S 150 REM - NAME AND TEST SCORES, AND WRITES THEM TO THE 160 REM - FILE AS A TUPLE. 1000 PRINT "OUTPUT FILE NAME:"; : REM - GET FILE NAME. 1010 INPUT F$ 1020 OPEN "0",1,F$ :REM - OPEN FILE FOR OUTPUT. 1030 PRINT "NUMBER OF STUDENTS:"; 10 3 5 :REM - PROMPT FOR NUMBER OF 1040 INPUT NT :REM - TUPLES. 10 50 PRINT "NUMBER OF TEST SCORES PER STUDENT:"; 1060 INPUT NV 1070 NV = NV + 1 1080 GOSUB 3000 1090 2000 FOR I = 1 TO NT 186 November 1981 © BYTE Publications Inc REM - NUMBER OF VECTORS IS REM - NUMBER OF SCORES + 1. REM - USE SUBROUTINE TO REM - OUTPUT DIF HEADER. REM - OUTPUT A TUPLE FOR Listing 1 continued on page 188 Remember the $500 Docket calculator? The same thing just happened to computer software. Everyone remembers when pocket calculators first came out. They were so impressive and futur- istic, people were happy to pay $500 for one. But it didn't take the electronics industry long to offer a smaller, more fully-featured calcula- tor for only $25. Demand and Supply. As more and more individuals and businesses turn to small com- puters for their various needs, the small computer industry will turn out more and more computer soft- ware. This increased volume natu- rally lowers the cost per unit. And the rapid growth of the CP/M® com- patible computers has meant even greater sales volume for these pop- ular and valuable software packages. Here is what All Systems offers: Wordstar 3.0 C ' $199 CP/M is a registered trademark of Digital Research. VisAccount is a trademark of CSCA. All Systems i Quite simply, the best word processing pro- gram for the small computer. Price shown is for the Apple system, $249 for all others. SuperCalc™ $199 The state of the art in electronic worksheet programs, with features and enhancements that previous programs just did not have. *VisAccount™ $199 The greatest software buy in the country. It is a fully-integrated accounting package with a General Ledger, Accounts Receivable/Order Entry, Accounts Payable/Purchase Order, Payroll, Inventory, Fixed Assets, and even a Mailing List program— all for one price. "Data Manager $199 A powerful ana professional data base man- agement program that's wonderfully simple to operate. Features include: data base building, lists, comparative analysis (by generating his- tory & performance reports), various file maintenance, fast assembly language (sort/ merge), fast data retrieval, record selection, report writing and forms handling. "Both VisAccount and Data Manager come with a 45-day conditional money back guaran- tee. We know of no other software com- pany with the confidence to provide a similar guarantee. Wordstar is a registered trademark of Micro Pro International, a division of Computer Services Corporation of America. v 24 All Systems offers these programs for the following computers: Apple II Heath/Zenith Radio Shack Models I, Superbrain II & III North Star Osborne I IBM Hewlett Packard 125 Most CP/M Compatible Computers How To Order To find the dealer nearest you, or to order, call toll free 800-22 l-2486 f In New York or for further informa- tion, call 212-685-0090. You may use your Visa, MasterCard, American Express, or (for an additional charge) order C.O.D. Or you may send a check or money order to: All Systems 332 East 30th St., New York, N.Y. 10016 SuperCalc is a trademark of Sorcim. Inc hours, 7 days a week. Circle 92 on inquiry card. BYTE November 1981 187 Listing 1 continued: 2010 :REM 2020 T = -1: V = 0: S$ = "BOT" 2025 :REM 2030 GOSUB 4000 :REM 2040 PRINT "NAME OF STUDENT #";i; 2050 INPUT S$ :REM 2060 T = 1: V = :REM 2070 GOSUB 4000 :REM 2080 FOR J = 1 TO NV-1 :REM 2090 PRINT "SCORE #";J; 2100 INPUT V :REM 2110 T = 0: S$ = "V" :REM 2120 GOSUB 4000 :REM 2130 NEXT J 2140 NEXT I 2150 T = -1: V = 0: S$ = "EOD" 2160 GOSUB 4000 2170 CLOSE 1 2180 STOP EACH STUDENT. OUTPUT BOT SPECIAL DATA VALUE. GET NAME OF THIS STUDENT. OUTPUT AS STRING DATA VALUE . PROCESS EACH SCORE. GET SCORE. OUTPUT SCORE AS A DATA VALUE . REM REM REM REM OUTPUT EOD SPECIAL DATA VALUE . CLOSE THE OUTPUT FILE. DONE. 30 00 :REM - ROUTINE TO OUTPUT HEADER. 3010 PRINT#1,"TABLE":PRINT#1,"0,1":GOSUB 3500 3020 PRINT#1,"TUPLES":PRINT#1,"0,";NT:GOSUB 3500 3030 PRINT#1, "VECTORS" : PRINT#1 , "0 ," ;NV: GOSUB 3500 3040 PRINT#1,"DATA" :PRINT#1 , "0 , 0" :GOSUB 3500 3050 RETURN 3500 3510 3520 PRINT#1,CHR$(34) ;CHR$(34) 3 530 RETURN :REM - ROUTINE TO OUTPUT A :REM - NULL STRING (""). :REM - PRINT 2 QUOTATION MARKS, 4000 4010 4020 188 November 1981 © BYTE Publications Inc :REM - ROUTINE TO OUTPUT A DATA :REM - VALUE. T IS THE TYPE :REM - INDICATOR, V IS THE Listing 1 continued on page 190 Circle 372 on inquiry card. > Small, Dark and Handsome RHINO XR-1 HIGH-TECH ROBOT ■ FOR EDUCATION , RESEARCH & INDUSTRY he Rhino* XR-1 high tech robot, lough small in size, is built with the ame operating technology as large idustrial robots. And it features an IS232C interface (using 3 wires laking it compatible with the rogramming capabilities of any omputer from the small PET*, ,pple II*, or TRS-80* to the big 3M's. The Rhino 8 XR-1 is available 3r immediate delivery. Write for lore information on your company jtterhead to the address below. eatures: Digital Choppers on All Axes Powerful DC Servo Gear Motors Controller Card with Intel 8748 CPU Eight Motor Control Capability (Rhino* XR-1 has 6 motors) Operators Manual and Tool Kit Rigid %" Aluminum Space Frame Construction "Built-in" Functional Self-Test Program )ptions: Custom Hand Computer Controlled Carousel, Conveyor, or Lateral Slide Base Specs: Reach: 22.5" Maximum, 32" High Grasp: 2 lbs.— open 3" Lift: 2 lbs. at extension 'rice: 2,400.00 (F.O.B. Champaign, IL., )elivered via UPS in Continental USA) llinois residents add 5% sales tax icludes everything you need to run our Rhino" XR-1 (Except your omputer) Ve reserve the right to alter price and ;pecifications without notice. RHMCXR1 laANDHU 'mo. ' i Sandhu Machine Design, Inc. Sales Dept. 308 S. State, Champaign, IL. 61820 (217)352-8485 Apple and Apple II are registered trademarks of Apple Computer Inc. *TRS-80 is a registered trademark of Tandy Corporation. PET is a registered trademark of Commodore Corporation. Listing 1 continued: 4030 4040 4050 PRINT#1,T;",";V 4060 PRINT#1,S$ 4070 RETURN 5000 END :REM - NUMBER VALUE, AND S$ :REM - IS THE STRING VALUE. Listing 2: A BASIC program whose input is the DIF file created by the program in listing 1. This program calculates an average test score and a letter grade for each student. 100 :REM - THIS PROGRAM READS A DIF FILE CONTAINING THE 110 :REM - TEST SCORES OF A GROUP OF STUDENTS, CALCULATES 120 :REM - AN AVERAGE SCORE FOR EACH STUDENT, MATCHES THE 130 :REM - AVERAGE TO A LETTER GRADE, AND PRINTS THE 140 :REM - STUDENT'S NAME, AVERAGE, AND LETTER GRADE. 500 DIM T(100) 510 DIM V(100) 520 DIM V$ (100) 530 535 540 GOSUB 5000 550 GOSUB 6000 560 FOR I = 1 TO NT 570 GOSUB 7000 M=0 :REM - MAXIMUM OF 100 VECTORS. :REM - T IS THE TYPE INDICATOR, V IS ••REM - THE NUMBER VALUE, AND V$ IS :REM - THE STRING VALUE OF EACH DATA :REM - VALUE. :REM - INITIALIZATION SUBROUTINE. :REM - SUBROUTINE TO READ HEADER. :REM - FOR EACH TUPLE, :REM - GET ALL VECTOR ELEMENTS IN :REM - TUPLE. :REM - M IS THE SUM OF THE SCORES. FOR J = 1 TO NV :REM - FOR EACH VECTOR VALUE, IF T(J)=1 THEN PRINT V$ ( J) : REM - PRINT NAME. IF T(J)=0 THEN M = M+V(J) : REM - ADD SCORES '. NEXT J M = M/(NV-1): PRINT M :REM - PRINT STUDENT'S AVERAGE IF M<=50 THEN PRINT "THIS STUDENT'S FINAL GRADE IS F" IF M<=70 AND M>50 THEN PRINT "THIS STUDENT'S FINAL GRADE IS D" IF M<=85 AND M>70 THEN PRINT "THIS STUDENT'S FINAL GRADE IS C" IF M<=94 AND M>85 THEN PRINT "THIS STUDENT'S FINAL GRADE IS B" Listing 2 continued on page 192 190 November 1981 © BYTE Publications Inc 575 580 590 600 610 620 630 640 650 660 670 Cameo Makes Your Micro Big Enough for Big Business When you want a data base for your micro that will grow as fast as you do — look to Cameo. Whether your business is commercial, educa- tional or institutional — for large inventories, massive mail lists, extensive accounts receivable and effective cash management — Cameo has the system to meet your needs. Cameo's Cartridge Disk Subsystem provides reliable mass storage for most popular micros*. The Cameo subsystem gives you up to 100 times the storage capacity of floppies, while retaining the same flexibility that floppy media provide. With Cameo's system you can remove, copy and back-up massive amounts of data quickly and easily. And, byte-for-byte, cartridge disk mass storage is more economical than floppy disks. Even today's new technologies cannot give you the reliability, flexibility and back-up capability that Cameo provides. Installation and start-up is simple. Cameo's sub- system is compatible with most operating systems, eliminating the need for additional complex pro- gramming. Make Cameo your micro mass storage connection. Call today for the location of the dealer nearest you. ♦Apple, TRS-80 Model I & II, Heath H89 and most S-100's Cameo Electronics, Inc. 1626 Clementine Street Anaheim, CA 92802 (714) 535-1682 European Distributor Cameo Electronic Vertriebs-Gmbh Escherstrasse 3, D-8121 EberfinR West Germany Tel: 8802-8363 TELEX: 59903 C7IMEO Sculptured Brilliance in Mass Storage Circle 62 on inquiry card. Listing 2 continued: 680 IF M>94 THEN PRINT "THIS STUDENT'S PINAL GRADE IS A" 690 NEXT I 700 CLOSE 2 710 PRINT "FINISHED CALCULATING GRADES" 720 STOP 5000 :REM - INITIALIZATION CODE. 5010 PRINT "FILE NAME"; 5020 INPUT F$ 5030 OPEN "I",2,F$ :REM - OPEN FILE FOR INPUT. 5040 NV = :REM - INITIAL VECTOR COUNT. 5050 NT = :REM - INITIAL TUPLE COUNT. 5 060 RETURN 60 :REM - READ HEADER. GET NUMBER OF VECTORS AND TUPLES. 6010 INPUT#2,T$ :REM - GET TOPIC. 60 20 INPUT#2,S,N :REM - GET VECTOR NUMBER AND VALUE. 6030 INPUT#2,S$ :REM - GET STRING VALUE. 6040 IF T$="VECTORS" THEN 6500: REM - CHECK FOR KNOWN HEADER 6050 IF T$="TUPLES" THEN 6600 :REM - ITEMS. 6060 IF T$="DATA" THEN RETURN 6065 6070 GOTO 6010 6500 NV = N REM - "DATA" ENDS HEADER. REM - IGNORE UNKNOWN ITEMS. REM - NUMBER OF VECTORS. 6510 IF NV<=100 THEN 6010 : REM - CHECK FOR 100 OR LESS VECTORS. 6520 PRINT "TOO MANY VECTORS. PROGRAM CAPACITY 100 VECTORS." 6530 CLOSE 2 6540 STOP 6600 NT = N :REM - NUMBER OF TUPLES. 6 610 GOTO 6010 : REM - GET NEXT HEADER ITEM. 7000 :REM - SUBROUTINE TO GET ALL VECTOR ELEMENTS IN A TUPLE. 7 010 GOSUB 8000 : REM - GET NEXT DATA VALUE. 7020 IF Tlo-1 THEN 9000 :REM - MUST BE BOT, ELSE ERROR 7030 IF S$o"BOT" THEN 9000 Listing 2 continued on page 194 192 November 1981 © BYTE Publications Inc EB engineered for excellence 64K Byte/32K Word Fast Static Memory «eeo RAM ^~...^.., ? ■' ! " '•" '•" " ■ wstj'; im i mi i ©©eceoa lllliiiniil.,1 IMUI I Ui <-tf.tdU*Mkft* FEATURES • Byte or Word Width Operation • Extended Addressing or Port Select • 1 00 ns Access and Cycle Time ( Maximum ) •Low Power Consumption *IEEE 696 Standard *Four Layer Board *Byte Parity Option $995. : ntroductory Price valid for Purchase orders placed on or before Nov. 30, 1981. Assembled and Tested with I Year warranty.(For Byte Parity option, acid *ioo.) The B880 RAM represents one of the best solutions for ap- plications requiring a very high speed static memory card of compact design and remarkably low cost. Suitable for a wide range of commercial applications, the B880 RAM is form, fit and functionally compatible with the IEEE 696 (S- 100) bus standard. It automatically provides byte or word width access using the *sXTRQ signal. An exclusive ultra high speed bipolar memory mapping PROM allows the B880 RAM to be used with any current or future bank select scheme. The B880 RAM works with all SI 00 processors, and features a four layer board with full ground and power planes for noiseless operation. Use of the new JEDEC-stan- dard 20 pin slimline 16K Static RAM chips has given us enough board real estate to offer a very wide variety of op- tions, making the B880 RAM a truly universal S-100 memory card. Available through California Digital (for orders only, call toll-free 800*421-5041 ) and other fine distributors, or di- rect. Specification sheets on request. Manuals may be pur- chased separately for $25.00 refundable on order. AB DIGITAL DESIGN LABS designs and manufactures com- puter products that provide technological leadership and industrial-grade quality combined with unexcelled perfor- mance. AB DIGITAL was first in the industry to offer a 256K Dynamic Memory ( the B810 A and B810 B RAM cards). Our BS80 RAM is far superior to any other 64K Static Memory available. All AB DIGITAL products are manufactured to higher quality standards than any other computer product on the industry, No "surplus" components will ever be used on an AB DIGITAL card. All AB DIGITAL boards feature full interior ground and power planes in a multilayer board to eliminate noise and radiation. OEMs and distributors wish- ing to handle our line are invited to phone .1. Hill, Sales. Digital Design Labs lOQ Cuyama Road Shell Beach. CA 9344-9 (805)773 1731 Circle 2 on Inquiry card. Listing 2 continued: 7 040 FOR K = 1 TO NV : REM - GET EACH DATA VALUE 7050 GOSUB 8000 7060 IF T1>1 THEN 9000 7070 T(K) = Tl :REM 7080 V(K) = VI :REM 7090 V$(K) = S$ :REM 7100 NEXT K SAVE TYPE INDICATOR. SAVE NUMBER VALUE. SAVE STRING VALUE. 7110 RETURN 8000 :REM - SUBROUTINE TO GET NEXT DATA VALUE. 8010 INPUT#2,T1,V1 : REM - GET TYPE INDICATOR, NUMERIC 8020 INPUT#2,S$ :REM - VALUE, AND STRING VALUE. 8030 RETURN 900 :REM - ERROR ROUTINE 9010 PRINT "ERROR IN FILE FORMAT" 9020 CLOSE 2 :REM - END PROGRAM 9030 STOP 9040 END Luting 3: A Pascal program that reads data from a DIF file into an array and then displays the data on the terminal. The variant of Pascal used is Apple Pascal 1.1. { This is a simple program which reads DIF file data into an array and displays the results on the terminal. It makes use of a procedure called "get_dif_ar ray" which handles only numeric data. It is written for Apple Pascal 1.1 and may require modification to run on other systems. } program dif_read; const max vector = 10; max tuple = 10; { maximum number of vectors } { maximum number of tuples } type vector_index = . .max_vector ; 194 November 1981 © BYTE Publications Inc Listing 3 continued on page 196 i .t =ls i aesw? Linking People & Information Through Per >l Comt uters Nestar Systems combines the technology of local networking with the sophistication of our system software to bring you a personal computer system which delivers maximum benefits at minimum cost. Word processing. Financial planning. Data entry. Distributed data processing. All this is possible with Nestar's Cluster/One personal computer systems and it is all available today. When you're read taking a package off the Call or write us today Cluster/One personal cor 2585 East Bayshore Ro? (415) 493-2223 TELEX: 1 See us at COMDE* 81 i' as v e gap Booth 156P ■onic mail, it's 5 easy as ■•formation ab< ems. Nestar £ Ito, California ESTAR PLA Nestar's ems, Inc. (303-3266 Listing 3 continued: tuple_index = . .max_tuple ; dif_array = array [1. .max_vector, 1. .max_tuple] of real; var in file : text; num_vectors : vector_index; fname : string [15]') num_tuples : tuple_index; matrix : dif array; code, i, j : integer; { "Get_dif_array" reads a DIF file and returns the file data (currently only numeric) in an array. Also returns number of vectors and tuples -- these must be specified in file header — and an error code. } procedure get_dif_array (var dif_file: text; var real_array: dif_array; var nvectors: vector_index; var ntuples: tuple_index; var return_code: integer); const { currently defined data types } special = -1; numeric = 0; char_string = 1; other = 2; type header_item = record topic : string; vector_num : vector_index; value : integer; string_value : string end; data_value = record kind : -1..2; { currently defined data types } number_value : real; string_value : string end; var hdr_item : header_item; Listing 3 continued on page 198 196 November 1981 © BYTE Publications Inc You may be holding the most important Software you could ever own... in the Palm of Your Hands ■^ TITLE: "THE PROGRAM WRITER/REPORTER ® n Enables ANYONE to write complete, running, debugged BASIC LANGUAGE Pro- grams in 35 to 40 minutes with NO PRIOR PROGRAMMING KNOWLEDGE OR ABILITY. IF you are one of the many who bought a microcomputer in the belief that with just a little studying you could write your own programs, you now know that you can't. IF you, as a businesman, thought you could have stock software modified at a reasonable cost with reasonable results, you know that's not possible either. IF you are a hobbyist getting tired of the untold hours it takes to write a program, only to find it takes more hours to debug than to write. IF you are a skilled programmer you don't have to be reminded of the repetitious time spent on each new application. IF you have left your micro-computer sitting somewhere gathering dust . . . meet THE PROGRAM WRITER/REPORTER' . THE PROGRAM WRITER/REPORTER' is not just another data base generator. THE PROGRAM WRITER/REPORTER' , at your direction, makes complete run- ning programs that are thoroughly documented, easy to modify at any time by YOU! THE PROGRAM WRITER/REPORTER' cuts programming time up to 90% for a skilled programmer. THE PROGRAM WRITER/REPORTER' will make anyone a skilled programmer in 30 to 35 minutes! THE PROGRAM WRITER/REPORTER" does the work! You can answer the simple direct questions and THE PROGRAM WRITER/REPORTER' CREATES. . .AND ALL IN BASIC LANGUAGE. Q. After THE PROGRAM WRITER/REPORTER' has produced a program, can it be modified? A. Yes, the resulting program is modular, fully documented and readily accessible for alterations or deletions. Q. Does the program created use so much disc space that there is very little space left for the record storage? A. No, the code produced is extremely compact despite complete documentation. If requested THE PROGRAM WRITER/REPORTER' will even "pack" or compress intormation. You may even delete the "remarks" making it even more space efficient. Q. Must I be expert or even conversant with Basic Language? A. No, all questions to and answers from the operator require no computer language knowledge, simple every day English will do. Q. What about math ability? A. If you can count your fingers and toes, you'll have no problems. Q. Will the programs which I produce with THE PROGRAM WRITER/REPORTER' be bulky, slow or amateurish? Circle 425 on inquiry card. A. No, the resulting programs will be sophisticated and extremely fast operating. For example, should you create a mailing list or inventory program, the time for any record to be retrieved and displayed from a full disc would take a maximum of 1 second. Q. Must the programs produced conform to a pre-determined format and file length? A. No, you determine format and file size to fit your requirements. You may have as many as 22 fields or as few as 1. Q. Can I develop my own business programs? A. For the most part, yes. Q. What are the limitations? What programs can I produce with THE PROGRAM WRITER/REPORTER' ? A. Your own ingenuity and hardware limitations. 100's of different programs. TECHNICAL ASPECTS The Reporter Package - makes reports your way. Record access by a hashing algorithm guaranteeing fast record retrieval. Duplicate keys permitted. Record deletion automatically supported. Record access and file maintenance is user transparent. Minimal disc overhead since there is no special assembly language routine call- ed. No "Basic" overhead. Programs produced can be transported between 6800, 6502, 8080, Z80, 8085, 8086 and Z8000 based systems. Can be used with Micro-Soft Basic and CP/M systems. Complete file maintenance including up-date of any record in any field, delete and add new records even with duplicate key. o VATILOVeS Vital Information 800-255-5119 InC. 7899 Mastin Dr. Overland Park KS 66204 BYTE November 1981 197 Listing 3 continued: data_val : data_value; tuple, vector : integer; { "Read_integer " reads an integer terminated with a comma. The routine is required because this Pascal dialect's "read" procedure recognizes only , eoln and eof as delimiters of integer values. } { initialize } { get 1st character } { comma is delimiter } procedure read_integer (var number: integer); var sign, magnitude : integer; ch : char ; begin sign := 1; magnitude := 0; read (dif ile, ch) ; while ch <> ' ,' do begin case ch of ■*-■* : sign := -1; '0*,'1','2','3','4','5*,'6','7','8','9' : magnitude := magnitude * 10 + ord(ch) - ord('O') end; { case } read (difile, ch) { get next character } end; number := sign * magnitude { return result } end; { read_integer } { "Read_string" deletes leading and trailing blanks and strips the quotes from quoted strings. } procedure read_string (var str: string); begin readln (difile, str); while str[l] = ' ' do delete (str, 1, 1) ; if str[l] = '«' 198 November 1981 © BYTE Publications Inc { leading blanks } { strip quotes } Listing 3 continued on page 200 N r No business is too OF™ small for a The economical business computer that does it all. Bookkeeping. Mailing Lists. Word processing. Running your business is a lot more complex than running a lemonade stand. But it doesn't have to be. Sure, you may already know you could use a computer. But did you know that the North Star HORIZON® can do the job better than many bigger computers? For much less money? *S The North Star HORIZON is easy to install and operate. As you grow, add programs, work stations, and memory. Today, more than 22,000 HORIZONS are in operation worldwide. i And our sales and service support is there to help you. So look at the HORIZON before you buy a computer. You owe it to your- self. And to your business. For the dealer in your area, call toll-free (800) 447-4700. In Illinois (800) 322-4400. In Alaska and Hawaii (800) 447-0890. Or write North Star Computers, Inc., 14440 Catalina Street, San Leandro, CA 94577. Phone (415) 357-8500. TWX/Telex (910) 366-7001. HORIZON is a registered trademark of North Star Computers, Inc. FOLLOW THE STAR Jfe^ NorthStari Circle 307 on inquiry card. Listing 3 continued: then begin delete (str, 1, 1) ; delete (str, pos('"', str), length(str) - pos("", str) + 1) end else if pos(' ', str) > { trailing blanks } then delete (str, pos(' ', str), length(str) - pos ( ' *, str) + 1) end; { read_string } procedure read_header_item (var item: header_item) ; begin read_string (item. topic) ; read_integer ( item.vector_num) ; readln (difile, item. value) ; read_string (item. str ing_value) end; { read_header_item } { get topic } { get vector number } { get value } { get string value } procedure read_data_value (var value: data_value) ; begin read_integer (value. kind) ; readln (difile, value. number_value) ; read_string (value. string_value) end; { read data value } { get data type } { get number value } { get string value } begin { get_dif_array } return_code := 0; nvectors := 0; ntuples := 0; repeat read_header_item (hdr_item) ; if hdr_item. topic = 'VECTORS' then nvectors := hdr_item. value else if hdr_item. topic = 'TUPLES' then ntuples := hdr_item. value until hdr item. topic = 'DATA'; { assume no problems } { initialize } { read header } { vector count { tuple count } if (nvectors = 0) or (ntuples = 0) { check counts } 200 November 1981 © BYTE Publications Inc Osborne Welcomes Tfou to the World of Microcomputers INTRODUCTORY BOOKS Business System Buyer's Guide by Adam Osborne and Steven Cook Purchasing a computer for any busi- ness is a complex process, but this book will help. Before you buy any computer, read this book. You'll never make a better investment. #47-0, $7.95 □ Introduction to Microcomputers Volume 0: The Beginner's Book by Adam Osborne Here's the book to start with if you know nothing about microcomputers but wish to learn. Provides the con- cepts you'll need to understand this technology. #26-8, $7.95 D An Introduction to Microcomputers Volume I: Basic Concepts by Adam Osborne The world's best selling textbook on microcomputers uses concepts that are common to all microprocessor systems. Shows what a microcom- puter can do, and how it does what it does. This edition is the most com- prehensive and up-to-date introduc- tion to microprocessor systems avail- able anywhere. #34-9. $12.99 D Running Wild- The Next Industrial Revolution by Adam Osborne An insider's look at the microelec- tronics revolution. Will the coming years prove to be a dream or a night- mare? Running Wild tells the story. #28-4, $3.95 D GUIDES Apple II" User's Guide by Ion Poole. Martin McNiff and Steven Cook Complements your Apple II owners manual. Our gu'de will tell you more about your Apple II or Apple II plus computer than any other single source. It covers all the special fea- tures of the Apple computer. #46-2. $15.00 □ PET/CBM" Personal Computer Guide by Adam Osborne and Carroll Donahue A step-by-step guide which takes you from the "on" switch to assembly lan- guage subroutines for your Com- modore system. It's a BASIC tutorial and covers many recent CBM pro- ducts. #55-1. $15.00 D PROGRAMMING BOOKS Science and Engineering BASIC Programs ed. by John Heilborn An important collection of the most valuable programs for scientists and engineers. Easily used on most pop- ular microcomputers #63-2. $15.99 □ Some Common BASIC Programs by Lon Poole and Mary Borchers 76 well designed and brilliantly doc- umented programs that solve a variety of problems in statistics, finance, and math. Generalized BASIC Edition #06-3. $14.99 Q PET/CBM" Edition #40-3. $14 99 n Practical BASIC Programs Here are 40 useful and fully docu- mented programs designed to run on most microcomputers. Especially use- ful in small business and household applications. (Generalized BASIC). #38-1, $15.99 □ Osborne CP/M" User Guide by Thorn Hogan The most complete and up-to-date CP/M book you can find. It will make your first use of CP/M easy. If you already own CP/M, it will help you modify your system. #44-6. $12.99 □ ASSEMBLY LANGUAGE PROGRAMMING SERIES by Lance Leventhal and co-authors You needn't know anything about assembly language to use these books. Each one is a straightforward, self-teaching textbook that is both precise and easy to understand. I CO ASSEMBLY LANGUAGE PROGRAM SERIES 68000 #62-4. $16.99 D 6809 . #35-7, $16.99 □ 6502 #27-6. $16,99 tit Z80 #21-7. $16.99 n *P TRS-80" Level II Edition#54-3. $14 99 a tf « #53-5. $14.99 D Atari" Edition All 76 programs ready to run on: PET/CBM'" floppy disk #33-0. $22.50 □ PET/CBM'" cassette #25-x. $15.00 D TRS-80" Level II cassette #32-2. $15.00 □ CBASIC" User's Guide by Adam Osborne. Gordon Eubanks and Martin McNiff Co-authored by Gordon Eubanks, the creator of CBASIC, this is more than a self-teaching textbook, it is the de- finitive reference of the CBASIC lan- guage. #61-6, $15.00 D BUSINESS BOOKS by Lon Poole and co-authors Osborne's three business systems are renowned for excellence in design and documentation. Our books ex- plain in detail how to use the pro- grams. They contain complete pro- grams listings, supporting technical documentation, and specific infor- mation on changing and installing the programs. Payroll with Cost Accounting #22-5, $20.00 D Accounts Payable and Accounts Receivable #23-3. $20 .00 a #24-1. $20.00 a Z8000 #36-5. $19.99 D 6800 #12-8. $15.99 D 8080A/8085 #10-1, $15.99 D The 8086 Book by Russell Rector and George Alexy Part assembly language text and part hardware reference, this book covers all of the 8086's most important fea- tures. #29-2. $16.99 □ Osborne McGraw-Hill Dept. B21 630 Bancroft Way. Berkeley, CA 94710 Call Toll Free: 800-227-2895 in California (415) 548-2805 Address City /State/Zip Plus: D 75/item 4th class D SI 50/item UPS D S2. 50/item Air Mail D SlOOO/item Overseas (California residents add applicable tax ) Total amount enclosed $ General Ledger or charge my DVisa DMastercharge Cards Exp. Dt. Circle 328 on Inquiry card. Books, Price: Listing 3 continued: then return_code := 1 else begin for tuple := 1 to ntuples do begin read_data_value (data_val) ; for vector := 1 to nvectors do begin read_data_value (data_val) ; if data_val.kind = numeric then real_ar ray [vector , tuple] end end; read_data_value (data_val) ; if (data_val.kind <> special) or (data_val. str ing_value <> 'EOD') then return_code := 2 end { read data } { BOT } data val. number value { EOD } Listing 3 continued on page 204 MARYMAC INDUSTRIES, INC. In Texas Orders Questions & Answers 1-713-392-0747 21969 Katy Freeway Katy (Houston) Texas 77450 To Order 1-800-231-3680 800-231-3681 SAVE BIG DOLLARS ON ALL TRS-80 HARDWARE & SOFTWARE TRS-80 BY RADIO SHACK. Brand new in cartons delivered. Save state sales tax. Texas residents add only 5% sales tax. Open Mon.-Sat. 9-6. We pay freight and insurance. Come by and see us. Call us for a refer- ence in or near your city. Ref: Farmers State Bank, Brookshire, Texas. WE OFFER ON REQUEST Federal Express (Overnight Delivery) Houston Intercontinental Airport Delivery (Same Day) U.P.S. BLUE (Every Day) References from people who have bought computers from us probably in your city Telex 77-4132 (FleksHou) ' TRS 80 is a Registered Trademark ol Tandy Corp ED McMANUS m In stock TRS-80 Modal II and III No Tax on Out of Taxas Shipments! 10% 15% OR MORE We Specialize In Overseas Shipments Telex 77-4132 (FleksHou) WE ALWAYS OFFER NO extra charge for Master Card or Visa We use Direct Freight Lines. No long waits. We always pay the freight and insurance Toll free order number Our capability to go to the giant TRS-80 Computer warehouse 5 hours away, in Ft. Worth, Texas, to keep you in stock. JOE McMANUS 202 November 1981 © BYTE Publications Inc Circle 239 on inquiry card. Qume® Data Irak Floppy Disk Drives I III, lwll ^> V-' "N>1 14221 Edwards St., Suite 72, Westminster, CA 92683 (714) 891-9953 Telex: 678-401 TAB IRIN 204 November 1981 © BYTE Publications Inc Circle 265 on Inquiry card. IMPOSSIBLE! NO, JUST INCREDIBLE I6K RamBoar FOR APPLE II COMPUTERS Dealer Inquiries Invited INCREDIBLE IS RIGHT! If you've considered upgrading your Apple II to 64K you probably have also considered the price. Almost all of our competitions boards are selling for around $200. We are announcing incredible news for Apple owners by offering our 16K RamBoard for only $129.95. SOFTWARE COMPATIBILITY... NO PROBLEM. Let's face it... all RAM boards give you one thing; 16K more of Random Access Memory. They're all alike in how they install, what they are compatible with and how they operate. The RamBoard is compatible with all Ap- ple II languages and software. The RamBoard enhances the Apple II by allowing larger languages, data bases, and programs. It greatly improves the capabilities of CP/M, PASCAL, FORTRAN, COBOL, and programs like VisiCalc, VisiFile, and any large business or scientific program applications. COMPARE THE COMPETITION. The RamBoard offers all that you need to enjoy 64K of user ram in your Apple II at an affordable price. The Con- Comp RamBoard is constructed with high quality com- ponents and utilizes hi-speed dynamic RAM, (200ns). It comes complete with installation and operation instruc- tions, and to make good news better is covered by a One Year Warranty. NOW IS THE TIME TO BUY. They won't be available from your local dealer at this in- troductory price (suggested retail $149.95). So before it's impossible order your RamBoard today. To order or form more information please call or write. ConComp Industries 8338 Center Dr. La Mesa, Calif. 9204 1 (714) 464-8715 ConComp Apple II is a trademark ol Apple Computer In VisiCalc is a trademark of Personal Software. Pascal is a trademark of U.C.S.D. Regents, CP/M is a trademark of Digital Research. le 109 on inquiry card. industries Listing 3 continued: writeln ('"', fname:15, '"', ' contains ', num_vectors : 3 , i * vectors and ', num_tuples : 3 , * tuples.'); writeln ('The data values follow in tuple order:'); writeln; for i := 1 to num_tuples do begin for j := 1 to num_vectors do write (matrix[j, i]:10:2); writeln end; writeln end; 1: writeln ('Error. Tuple or vector count not found.'); 2: writeln ('Error. Data not properly terminated.') end { case } end. { dif_read } Text continued from page 186: user for a student's name and test scores, and then copying the informa- tion into a DIF file. Listing 2 takes the output DIF file from listing 1 and calculates an average score for each student and a letter grade for each student. Then the program prints the name, average, and letter grade for each stu- dent. Listing 3, in Pascal, reads data from a DIF file into an array and displays the data on a terminal. A close look at these listings will convince you that using DIF can simplify many programming tasks. Whatever your favorite program- ming language, try using the DIF for- mat when you write your next pro- gram. You'll find the format conve- nient and clear, and you may make your program attractive to a large body of software users who have already stored much of their essential data in the DIF format. The ac- companying text box tells you how to obtain additional information about joining the community of program- mers who use DIF. ■ For Further Information about DIF The DIF Clearinghouse coordinates and distributes information about DIF and commercially available programs that use DIF. For information, send a request to the DIF Clearinghouse, POB 527, Cambridge MA 02139. Include $6.00 along with your name, address, and ZIP code. The DIF Clearinghouse will send you the DIF Technical Specification, providing a more detailed description of the DIF format, as well as current in- formation about programs that sup- port DIF. The clearinghouse will also send you any updates published during the following year. The clearinghouse would like to add to its growing list of programs that support DIF. No royalties or fees are charged for using DIF, but the clear- inghouse does make three requests of authors of commercially available pro- grams that use DIF. First, please send a one-page descrip- tion of your program to the DIF Clear- inghouse. Describe what the program does, what computers it runs on, how it uses DIF, and how it can be pur- chased. Second, because DIF is a trademark of Software Arts Inc, the "tm" designa- tion must be used if DIF is mentioned in any material you publish about your program. The material also should in- clude the statement "DIF is a trademark of Software Arts Inc. " Finally, if you are unable to test your program with the VisiCalc pro- gram, please write the DIF Clear- inghouse before advertising your pro- duct as supporting DIF. Any program employing DIF should be capable of transferring data to and from the VisiCalc program. 206 November 1981 © BYTE Publications Inc Circle 407 on inquiry card. The Multi-User Computer With The MmmOST TheTeleVideo family of multi-user business computer systems brings you the highest job throughput . . . every user controls a private com- puter while sharing a common data base!!! The CP/M®t operating system fCP/M® is a Registered Trademark of Digital Research, Inc. 'MmmOST® is a Registered Trademark of TeleVideo Systems, Inc. ''"Multi-user, multi-task, multi-processor Operating System Technology opens the window to the largest array of business applications available for microcomputers. TeleVideo Systems provides the computing solution! Nationwide service by General Electric Company's Instrumentation and Communication Equipment Service Centers. PROCESSING ACCOUNTING INVENTORY ideo Systems __eo Systems, Inc., 1170 Morse Avenue. Sunnyvale, CA 94086 408/745-7760; 800/538-8725 (toll-free outside California) A Survey of Data-Base Management Systems for Microcomputers Advertisements for data-base management systems (DBMSs) seem more numerous all the time. At first glance, you would expect the adver- tised systems to perform similar func- tions. Yet, their prices range from $15 to $1500. What justifies such a price range? What functions do each of these systems actually perform7 Some of them claim to solve almost every problem facing businesses and in- dividuals today. Which problems will the available DBMSs solve? Most of the DBMSs available for large com- puters have principal goals of provid- ing data integrity, data security, and data independence. Do the DBMSs available for microcomputers meet these same goals? To answer these questions, we re- quested information from forty-eight companies that had advertised a DBMS for microcomputers. Our goal was not to judge systems against any preconceived DBMS standard, but rather to develop an overview of each system based on its user manual and compare all the systems feature by feature. Eighteen companies sent us a user manual, and several included a disk of software as well. The text box on this page lists the names and ad- dresses of these companies with the names of the products. General Features Table 1 lists some important gen- Kathryn S Barley DataWise POB 426 Windermere FL 32786 James R Driscoll Department of Computer Science University of Central Florida Orlando FL 32816 eral features of the twenty DBMSs, including hardware requirements, prices, available extension packages, type of data organization, method by which the user enters commands, and language in which the software is Company Product Company Product Apple Orchard The Informer Micro AP Selector IV 131 Highland Ave 9827 Davona Dr Vacaville CA 95688 San Ramon CA Business Computer Data Handler 94583 Services Co Micro Architect Interactive Data 9020 EBY 96 Dothan St Manager — IDM-IV, Overland Park KS Arlington MA 02174 IDM-M2 66212 Microcomputer The Microcon- Condor Condor Series Technology Inc ductor POB 8310 20/DBMS 3304 W MacArthur Ann Arbor MI 48104 Santa Ana CA 92704 Cromemco Cromemco Data Micro Data Base MDBS 280 Bernardo Ave Base Manage- Systems, Inc Mountain View CA ment System POB 248 94040 Lafayette IN 47902 Des Moines Micro Manager Muse Micro Informa- Computer 330 N Charles St tion System 4456 Parklawn Dr Baltimore MD 21201 Des Moines IA 50321 Personal Software Inc CCA Data Man- High Technology Information 1330 Bordeaux Dr agement System POB 14665 Master Sunnyvale CA 94086 Oklahoma City OK Radio Shack Profile 73113 700 One Tandy Ctr Profile II Innovative Software Total Informa- Ft Worth TX 76102 9805 Holly tion Management Systems Plus The File Man- Kansas City MO 64114 —TIM 1921 Rock St agement System Suite 2 — FMS-80 Jini Micro-Systems Inc Jinsam 2.0 Mountain View CA POB 274-K 94043 Bronx NY 10463 The Bottom Shelf Data Manager Ken Knecht Dynamic Data POB 49104 6 South St, Box 68 Base Atlanta GA 30359 Milford NH 03055 208 November 1981 © BYTE Publications Inc mUlTIPROCCJJOR MIJCAI das BelasyslfimH • SIMULTANEOUS Timeshared & Multiprocessor Operation • FULL UCSD™ PASCAL II Compatibility with IBS™PASCAL, SEMAPHORES, CONCURRENCY, CHAINING, TRUE WORD PROCESSING • 5, 10, 20, Mbyte FIXED DISK SYSTEMS, 5", 8" FLOPPY DISC SYSTEMS (415) 443-3131 INDEPENDENT BUSINESS SYSTEMS, Inc. 1328 Concannon Blvd., Livermore, CA 94550 TWO Timeshared Users on EACH Slave Processor, plus 128K RAM plus PARITY, 2I< EPROM, Full Interrupts, Hardware Floating Point, IEEE S-100, Software Bank Boundary, 2 Serial Ports for Synchronous or Asynchronous Protocol VIDEO TAPE ARCHIVING CP/M™ Compatibility with MuDOS™ LARGE DEALER MARGINS and GOOD DEALER SUPPORT Intere/ted? OUR DEALERS: FOREIGN • Philip Baksh, London England, Tel: 44 1 7413707* EEI, Sharjah, UAR, Tel: 354688 • Elif, Inc., Montreal, Quebec, Tel: (5141 337-3214« FDM, Madrid, Spain, Tel:402 24 97»J H Systems, Etobicoke, Ontario, Canada, Tel: (416) 621-0538 »S.A. Micro Service, Paris, France, Tel: 205 38 71 • Servonic, Munich, West Germany, Tel: 089 483253 •GBK, The Netherlands, Tel: 20-733376 • Terrace Computer Svcs., LTD, Terrace, BC, Tel: (604) 635-7606 • DOMESTIC - CEB3, San Jose, CA, Tel: (408)267-3547 • Donald Coffman, Cupertino, CA, Tel: (408) 253-2327 • ERS, Brea, CA, Tel: (714) 524-2470 • Innovative Interfaces, Berkeley, CA, Tel: (415) 524-8416 • ICE Services, Gaithersburg, Maryland, Tel: (301) 869-2896 • Khalsa Consultants, Cambridge, MA, Tel: (617) 864-3638 • Link Systems, Santa Monica, CA.Tel: (213) 453-1851 • EDS, Frazer, PA, Tel: (215) 296-7300 •Quali-Type, Inc., Livermore, CA, Tel: (415) 447-6121 «SPI, San Diego, CA Tel: (714) 268-4346 • Khalsa International, Herndon, VA, Tel: (703)437-0404 • UCSD PASCAL is a trademark of Regents of U. of C CP/M is a trademark of Digital Research, Inc. MuDOS is a trademark of MuSYSCorp. IBS is a trademark of IBS, Inc. SUPPLIERS SUPPLIER- PARTS ^ Figure 1: A visual representation of files in a network data-base management system. The user can move through the network of files. For example, a user positioned at part number 124 in the Parts file can find out all the suppliers of that part by moving through the Supplier-Parts file to the Suppliers file. PL/M SOFTWARE PORTABILITY FOR ONLY $500 This Versatile Software Package Features ■ PL/M Optimizing Compiler > Relocating Cnoss-Assembler and Linker • Intel-Compatible PLVM Syntax . ROM-able Object Code • Library Manager COMPILES UNDER ^ PRODUCES COOE FOR CP/IVI, COOS, IMDOS TEKTRONIX DOS/50 (8550) TEKOOS (BOOS) i . BOSO, SOS5, ZSO, * 6SOO, SBOa, iaoa, ssoo $ *SYSCOIM C OnpORATION Product Development Group 4015 Hancock Street, San CJIego, CA 921 1Q. Or Cell [714] SS&-PLMX TWX 310-335-1 66D written. The table groups the systems by the kinds of computers on which they run, with the group that runs on the greatest number of computers listed first. With the exception of Condor and Microconductor, all the systems that cost more than $250 will in principle run on any popular small computer. However, requirements for specific hardware (for example, an 8-inch disk drive) or a specific op- erating system (such as CP/M) may in some cases prevent these DBMSs from running on the smallest model of some personal computers. Most of the items in table 1 are easy to interpret, but a few require com- ment. The extension packages listed in column 8 fall into three categories: • word processors • utility programs; for example, pro- grams that rearrange a user's data to conform to a new definition • statistical packages We found no extension packages available for applications such as general ledger, inventory, or appoint- ment scheduling, whether in the form of separate programs that use the DBMS's files or batch-command files for use within the system. In the ninth column, headed Type, the systems that are simplest to un- derstand are the type "file." All the records that can be used at the same time will belong to just one file, and that file constitutes the data base. For example, you might have one file that contains many records, and each of these records could consist of a sup- plier number, supplier name, address, and phone number. Type "multifile" systems allow the use of more than one file. A data base of this type could include a file on suppliers, and a second file of records on parts. Each part record could con- tain a part number, part name, quan- tity on hand, and quantity on order. To indicate where each part comes from, a third file could be used as a cross-reference. Each record in this third file would contain a supplier number and part number. A system of the type "relational" 210 November 1981 © BYTE Publications lnc Circle 214 on inquiry card. Officially approved by Commodore for their 8000 Series Desk-Top Computers. Selected by NASA, Kennedy Space Center With Multiple Applications Related to the Columbia Space Shuttle Project SEE YOUR NEAREST COMMODORE DEALER FOR A DEMONSTRATION. OUR IBM EX- ECUTIVE VERSION WILL SOON BE AVAILABLE. *<•>■ i ^ffSB^mffS^W % USA m JINI MICRO-SYSTEMS, Inc. DATABASE MANAGEMENT SYSTEM DESIGN BOX 274 KINGSBRIDGE STN., RIVERDALE, N.Y. 10463 (212)796-6200 c O c EC m CO b o _c in Cfl b SI o c 00 in b ■o to X e E -* ■- in 5* fi ._ ID 25 o Gl CD o Q- 5" o a> Is X (0 LU DL . 1- ■a o c a> 1? Et o c OUJ c CO —I MDBS 1 Y Y Y 8 ? $900 RTL QRS/$600 DRS Network Type Out Machine language FMS-80 2 - Y - 16 48 K $750 - Multifile Menu and Type Out Machine language Selector IV 2 - Y Y Comb 48 K $550 - Multifile Menu and Type Out CBASIC TIM 2 Y Y Y Comb 48 K $400 WordStar File Menu Microsoft BASIC Condor 3 Y Y - 4 64 K $695 - Relational Type Out Z80 Machine language Data Handler 4 Y - - 2 32 K $ 25 - File Menu Applesoft BASIC Commodore BASIC CCA 5 Y - - ? 32 K $100 - File Menu Machine language Microconductor 5 Y - - ? 32 K $400 - File Menu and Type Out - Information Mstr 6 Y - - 2 48 K $150 Data Master/$100 File Menu Applesoft BASIC The Informer 6 Y - - 2 16K $ 50 - File Menu - Micro Info Sys 6 Y - - 2 48 K $100 - File Menu Applesoft BASIC Jinsam 2.0 7 Y ? 24 K $195 Mathpack/$40 Statpack/$50 Wordpack/$50 Label Gen/$50 File Menu Commodore BASIC; sorts and inputting in machine language Cromemco 8 Y Y - 4 64 K $ 95 - File Menu Cromemco BASIC Micro Manager 9 - Y Y Comb 48 K $249 - File Menu - Data Manager 10 Y - - 4 32 K $ 49 - File Menu - Dynamic DB 10 Y - - 1 32 K $ 25 - File Menu - IDM-IV 10 Y — — 4 32 K $ 69 — File Menu Radio Shack BASIC; sorts in machine language IDM-M2 10 — Y — 4 64 K $199 — File Menu Radio Shack BASIC; sorts in machine language Profile 10 Y - - 4 16 K $ 80 - File Menu Machine language Profile II 10 - Y - 4 32 K $179 Scripsit/$300 File Menu Machine language "Comb" in column 5 means support for 5-inch , 8-inch, or hard disks in combination 1 Any with machine's DOS* 2 Any with CP/M* 3 Z80 4 Apple, PET, TRS-80 5 Apple, TRS-80 6 Apple 7 Commodore PET 8 Cromemco 9 Ohio Scientific 10 TRS-80 •Where any means any one of the following: Cromemco Z80 Apple 6502 TRS-80 8086 8080 North Star 8085 Zilog Table 1: Some general features of the twenty data-base management systems participating in the survey. 212 November 1981 © BYTE Publications Inc Circle 348 on Inquiry card. POWER-ONE D.C. POWER SUPPLIES Our customers select their favorite models The choice wasn't easy. Not with 105 open frame linears and a full switcher line to choose from. Still, the top models of the past year — proudly pictured below — have been named. Actually, this is a statement of Power-One's most popular D.C. power supplies — as determined by our customers. Obviously, applications vary widely, from small floppies and micro-computers to large main- frame systems. But one thing they all have in common. They're built by Power-One. Which means the most reliable power supplies available, at the lowest cost possible. So take a look at our entire line. Send for our new 1981 Catalog and Facilities Brochure for details. Switchers Hi-Tech Design High Efficiency - 75% min. Compact/Light Weight 115/230 VAC Input 20 msec Hold-up Totally Enclosed Packaging Two Year Warrantee 24 Hour Burn-in SINGLE OUTPUT 5V to 24V Models SD, 60W : $115.00 SF, 100W : $170.00 SK, 200W : $250.00 MULTIPLE OUTPUT 150 Watts %, 5V @ 20A 12V @ 5A -12V @ 3A 5V to 24V @ 3.5A User Selectable SHQ-150W : $295.00 QUME PRINTER SUPPLY 5V @ 10A ±15V @ 4.5 A/1 6 A Peak SP305 : $345.00 Disk-Drive Powers Most Popular Drives 7 "Off the Shelf" Models Powers Drives & Controller UL & CSA Recognized 115/230 VAC Input 5'A" FLOPPY SUPPLIES 8.0" FLOPPY SUPPLIES WINCHESTER SUPPLIES 2 Models to Power any Manufacturer's Drive CP340, 1 Drive : $44.95 CP323, Up to 4 Drivers : $74.95 CP205, 1 Drive : $69.95 CP206, 2 Drives : $91.95 CP162, Up to 4 Drives : $120.00 CP379, CP384 : $120.00 Open-Frame Linear • Industry Standard Packages • 115/230 VAC Input • ±.05% Regulation • Two Year Warrantee • UL & CSA Recognized • Industry's Best Power/Cost Ratio SINGLE OUTPUT SINGLE OUTPUT DUAL OUTPUT 5V @ 3A 12V @ 1.7A 15V @ 1.5A HB Series : $24.95 24V @ 1.2A 28V @ 1.0A 250V @ 0.1 A 5V @ 6A 12V @ 3.4A 15V @ 3.0A HC Series : 24V @ 2.4A 28V @ 2.0A 48V @ 1.0A $44.95 to $49.95 ±12V @ 1.0A or ±15V @ 0.8 A HAA1 5-0.8 : $39.95 DUAL OUTPUT TRIPLE OUTPUT TRIPLE OUTPUT POWER FAIL MONITORS ±12V @ 1.7A or ±15V @ 1.5A HBB15-1.5 : $49.95 5V @ 2A + 9V to ±15V @ 0.4A HTAA-16W : $49.95 5V @ 3A ±12V @ 1A or + 15V @ 0.8A HBAA-40W : $69.95 • Indicates pending system power loss. • Monitors AC line and DC outputs. • Allows for orderly data- save procedures PFM-1 : $24.95 PFM-2 : $39.95 NEW '81 CATALOG & FACILITIES BROCHURE Get your free copies now! Phone or write us direct, or circle the reader service number 0k mmmone d.c. pouter supplies Power One Drive • Camarillo, CA 93010 • (805) 484-2806 • (805) 987-3891 • TWX 910-336-1297 permits a user to look at information as tables, regardless of how it is ac- tually stored on the disk. For the sup- pliers and parts information, a rela- tional DBMS could produce tables that look like the files of a multifile system. But in a relational system, these tables might be stored on disk in ways other than one file for each table. Condor, for example, keeps several files for each table. Condor is a limited relational system, but the company plans to release a version that can perform all the commands necessary to qualify as a fully rela- tional system. The names of Condor's commands suit a business environ- ment; for example, the command "POST" will update one table with another. Systems of the type "network," on the other hand, let the user view the data as a network of files. The sup- pliers and parts information could be envisioned as shown in figure 1. The network system allows the user to navigate through the records contained in the Suppliers file or Parts file with commands such as FIND NEXT RECORD or FIND PREVIOUS RECORD. In addition, a user positioned at a record in the Parts file where the part number is 124 could find the addresses of sup- pliers of that part by linking through the Supplier-Parts file to the Suppliers file. MDBS qualifies as a full network system. Its extension package, QRS, enables a user with no knowledge of the network navigational paths to query the data base with English-like commands. The systems in the first three com- puter groups, types network, rela- tional, and multifile, are the only sys- tems that can access more than one data file at a time. This is important for tasks of the following types: • Posting from one file to another. • Printing a report that is made up of fields from more than one file. • Creating one large list from several smaller ones. • Producing a list that consists of records that meet certain criteria ^V <#&55P ^tf«?3*3nfS*' ^^^»^ & V FINE BUSINESS COMPUTING 6340C AMERICANA DRIVE 315C WILLOWBROOK, ILL 60514 312-749-7444 when those criteria are based on re- quirements from more than one file. For example, producing a list of the names and telephone numbers of sup- pliers from whom you can purchase a specific part. According to the "Command Entry Method" column of table 1, some of the systems give the user a menu from which to choose a command, others require the user to type out com- mands, and a few systems let the user enter commands either way. Features Related to Ease of Use Software packages capable of per- forming amazing feats are worthless if using the software is more difficult than solving the original problem. Table 2 provides information about features that make DBMSs easier to use. When reading the table, however, keep in mind that a few of the fea- tures are unnecessary on some of the DBMSs. One such feature is the abili- ty to customize the DBMS for a spe- cific terminal (column 1). If a DBMS runs only on a TRS-80 Model I, there is no need to customize the software for other terminals. In effect, the DBMS is already customized. Most features in table 2, however, would benefit users of any system. An example is column 3, "Error Recovery." Error-trapping can pre- vent a system from crashing when the user tries to enter data of the wrong type. The cause of most crashes is an error the system failed to trap. The user manuals of six systems warn that certain errors in data entry will cause a system crash; six other manuals (question marks in the table) leave the issue in doubt. But there are also six DBMSs that do provide error-trapping. Some sys- tems provide error-recovery func- tions to deal with hardware failures, such as loss of power. Some systems allow the user to recapture data entered earlier. MDBS offers exten- sive error-trapping facilities. The manual devotes 75 pages to explain- ing the system's error messages. Should the user of a particular sys- tem be a programmer? A "Y" in col- 214 November 1981 © BYTE Publications Inc Circle 31 on inquiry card. •-'■•^v ■ State-of-the-art hardware demands state-of-the-art software Operating Systems & Support Software from Technical Systems Consultants To perform to its fullest capabili- ties, your hardware demands software designed to meet the specialized requirements of today's microprocessors. State-of- the-art software from Technical Systems Consultants keeps pace with the rapid advancements in computer technology so your hardware can live up to its full potential. Our complete line of state-of-the-art software includes: The uniFLEX Operating System UniFLEX, a true multi-user, multi- tasking system for the 6809 and 68000 microprocessors, supports such features as: • hierarchical file systems • device independent I/O • four Gigabyte disk capacities • full file protection • inter-task communication via pipes • I/O redirection • task swapping • full random-access files • comprehensive shell command language UniFLEX, structured for large-scale microprocessor systems, will not run with minimal systems and thus has avoided design compromise. (Off-the-shelf versions and OEM licenses are available.) The FLEX™ Operating System FLEX, a powerful, easy-to-use operating system designed for the 6800 and 6809 microproces- sors, includes: • dynamic filespace allocation • random files • batch job entry • automatic space compression • English error messages • user environment control • disk resident commands • flexible device I/O • printer spooling Plus, FLEX can accommodate hard disks as well as floppies. The System is available off-the-shelf for a variety of systems and in a field-adaptable version. (OEM licenses available.) FLEX and UniFLEX are trademarks of Technical Systems Consultants. Inc. Support Software Technical Systems Consultants offers a full line of state-of-the-art support software compatible to FLEX and UniFLEX, some of which are: • native C and Pascal compilers for advanced programming • extended BASIC for business and educational applications • text editing and processing software • sort/merge package for busi- ness applications • variety of absolute and relocat- able assemblers • debug and diagnostic packages . . . and more. Write or call today for our brochures describing our complete product line. (i Box 2570, 1208 Kent Avenue West Lafayette, Indiana 47906 (317)463-2502 Telex: 27-6143 Sculpture by Joann Chaney Introducing 4 new programs from the These new programs are going to do for you just what our VisiCalc™ program has done: make your computer work harder, so you can work smarter! They'll enable a personal com- puter to take over more of those tasks eating up so much of your time. That'll give you more time to concentrate on the tasks where your skills, experience and intuition can do the most good. Things like think- ing, planning and managing. A personal computer can help you do all these things better. And Personal Software™ programs will help you do them best! VisiDex. The VisiDex™ program makes it a snap for you to remem- ber anything, and everything, you don't want to forget. It's a free-form personal filing program with nearly unlimited cross referencing. VisiDex "thinks" and "remem- bers" just the way you ask it to — so you can access it anyway you want, and find exactly what you want — instantly! VisiPlot. The VisiPlot™ program makes it easy to see what your numbers really say. It adds real meaning to financial analysis, forecasting, budgeting and business planning. Because VisiPlot takes hard-to-grasp numbers and au- tomatically turns them into easy-to- comprehend charts and graphs, right before your eyes! All kinds of charts and graphs, with all kinds of flexibility in titling, shading, and color — all at the touch of a few buttons! . I'tMl PERSONAL SOFTWARE INC Apple is j registered trademark <>( Appk- Ask your favorite retail computer dealer for a demonstration of the Personal Software programs. HOW TO WORK JAT4 • I <■*■ m ■ people who brought you VisiCiilc! VisiTrend/ VisiPlot. If you want sophisticated trend forecasting and statistical analysis — and you know how hard it is to create them by hand — you'll want to get your hands on the VisiTrend/VisiPlot™ program! This program will enable you to rapidly perform regressions and time series analysis, plus providing you with comprehensive charting and graphing capabilities. VisiTerm. The VisiTerm ™ program enables you to reach out to the world. With VisiTerm, you'll be able to use your personal computer to com- municate with larger computers, to tap into data networks, to communi- cate with other personal computers. VisiTerm gives you all the benefits of a personal computer, plus all the advantages of an intelli- gent terminal, all in one package. All of these programs are currently available for the Apple II and II Plus. Besides their many individual ben- efits, these new programs deliver an even greater total benefit. That's because many of them interact with each other and with our new, enhanced version of VisiCalc. Together, they give you an unprecedented family of personal computing capabilities; making the computer work harder, so you can work smarter! ^ Hkl^T* PE S^SOHAl SOFI**^ Or call us at (408) 745-7841 for the name of the Personal Software dealer nearest you. Or write us at 1330 Bordeaux Drive, Sunnyvale, CA 94086. Circle 449 on Inquiry card. umn 13 of table 2 shows that the system belongs to one of the follow- ing three categories: • Designed to be used by a program- mer. Some systems assume the pro- grammer will modify the system to suit the user's needs. Some of the smallest, least expensive systems (such as Data Handler) are of this type. Dynamic Data Base, for exam- ple, instructs the user to modify the system in order to sort. • Does not require any knowledge of a programming language but is too difficult for a novice to understand. Microconductor and IDM-M2 fall in this category. Their user manuals contain computer jargon that would baffle anyone but a programmer. • Designed in such a way that only a programmer can benefit from every- thing the system offers. FMS-80's user manual, for example, has explana- tions for three different levels: novice, experienced FMS-80 user, and programmer. A "Y" in column 4, "Programming Language Interface," indicates that E CD >. W CD N " E « = E "5> ch- in E CD To >» w CD N E o u u> cd 3| cQ. CD o O CD CO CD D) CO CO c CO _l u> c E o CO CO OS OS Ui c?S CD C CD i— CO Q- CO c CO CD u. o> cd co m CD o T3 >. C O CI) 'C en cd cu DO. CQ< MDBS Y Y Y Y Y N N 512 Y Y Y Y Y Y FMS-80 Y Y Y N N Y Y N Y Y Y Y Y Y Selector IV Y Y Y N Y N N N Y Y Y N Y Y TIM Y Y Y Y N N Y 1 Y Y Y N Y N Condor Y N Y N Y Y Y N N Y Y Y Y Y Data Handler N N N N N N N N N Y N N Y N CCA N N Crashes Y N N N N Y Y Y N Y N Microconductor N N ? N Y N Y N N Y Y Y Y Y Information Mstr N Y Y Y Y N N N Y Y Y N N N The Informer N N 7 N N Y N N N N N N N N Micro Info Sys N N ? N Y N N N N Y Y N Y N Jinsam 2.0 N Y Y Pkg Avail Y N Y 3 Y Y Y N N N Cromemco N N Crashes N Y N N N Y N N N N N Micro Manager N N ? N Y N N 1 N Y N N Y N Data Manager N Y Crashes N N N N 1 N N N N N N Dynamic DB N N Crashes N Y N N N N N Y N Y N IDM-IV N N Crashes N N Y N N Y N N N Y N IDM-M2 N N Crashes N N Y N 2 Y N Y N Y N Profile N N ? Y N Y N 1 N Y Y N N N Profile II N Y ? N Y Y N 4 Y N Y Y N N Table 2: Features of data-base management systems that affect ease of use. In the "Error Recovery" column, "CRASHES" in- dicates that the user manual said certain errors in data entry would cause the system to "hang" or "crash. " 218 November 1981 © BYTE Publications Inc the system allows a programming language to access the data-base files either directly or through the DBMS. For example, Profile's user manual contains several lines of code to be embedded in a BASIC program, while Jinsam offers an interface pack- age on disk. MDBS can also be em- bedded in a host language such as BASIC, Pascal, or FORTRAN. This allows a program to access the DBMS with subroutine calls. By definition, a DBMS hides its method of physical storage from the user. The storage method is said to be "transparent to the user." Some of the manuals, however, have explained how their files are set up. These sys- tems are indicated in column 5. A user-designed screen (column 6) makes a system both more versatile and more pleasant to use. Normally, the fields of a record are placed one below the other on the screen. But a file may contain too many fields to fit on the screen at one time, preventing the user from simultaneously viewing them all. A screen designed by the user can position fields at any loca- tion desired. Several screens can be designed for viewing a record with many fields. Profile II allows charac- ters or lines to divide or highlight por- tions of the screen, and also supports reversed lettering. A help command, shown in col- umn 7 of table 2, is often provided by systems that require the user to enter commands, rather than choose from the choices on a menu. In response to the help command, the system pro- duces a list of commands the user might need. Condor allows users to design the help responses. The re- sponses can then include the names of the tables or files the user has specified. Data security (column 8) is impor- tant if more than one person will be using the system, and if only certain persons are allowed to see some parts of the data. Security provisions range from one level of protection, which permits a data disk to be read only The perfect marriage of Superbrain™ and Winchester.' *~« . . *%„ 700K or 350K floppy storage 5 Megabytes hard disk storage Finally, a price-performance breakthrough for mass storage in a one-piece, handsomely styled desk-top computer. • 5 'A " Micro-Winchester™ 5 Mbyte (formatted) hard disk. • 7O0K or .350ft floppy disk back up. • Dual Z-80 processors with 64ft HAM. • Dual HS232 ports. • Complete and ready to run with CP/M™ 2.2. DEALER N H 0) 2 o Ll >. 0) 2 0) <0 2 E 5 1 5< "D 0) o c o '> a> CO MDBS Y Int Char B Real Log in Y Y 255 Y FMS-80 Y A N V Y Y 255 Y Selector IV Y A N J G K U Y Y 80 Y TIM Y N C D $ 1 S N N 24 Y Condor Y A N $ J An N N 127 N Data Handler N - N N N CCA Y A N C Y Y 24 Y Microconductor Y A $ % ! # N N 20 N Information Mstr Y A N $ N N 20 N The Informer Y - Y Y ? N Micro Info Sys Y - Y N 22 ? Jinsam 2.0 Y - Y Y 255 Y Cromemco Y A N N N 25 ? Micro Manager Y - Y N 75 N Data Manager Y A N Y Y 10 ? Dynamic DB Y A N N N ? N IDM-IV Y A N Y Y 20 N IDM-M2 Y A N Y N 40 N Profile Y - N N - N Profile II Y A N Dec Y Y - N A Alpha N Number C Calculated J or D Date $ Dollar V Variable G Date U or K Key I Inverted An Alphanumeric % ! # Basic lang extension Dec Decimal Table 3: Facilities for defining data fields. Systems vary widely in their provisions for defining key fields (to be used for sorting) and in the number of fields allowed. Only six systems permit revising the characteristics of a field without losing previously entered data. systems allow sorting or searching of any field. Data Handler allows no field definition; an entire record is en- tered as a stream of characters. Then, to access any particular part of the record as a field, the user must give the beginning column number and a length. Most of the systems specify a max- imum number of fields allowed. This number differs significantly from MDBS's 255 to Data Manager's 10. Though the maximum allowed by IDM-IV is 20, there is also a max- imum of 10 alphabetic fields and 10 numeric fields. IDM-IV would not allow, for example, 15 numeric fields. Microconductor limits its fields to 20, but then allows 20 subfields for each of the 20 fields. Many systems restrict the number of fields by the number of characters allowed per record, so the maximum number of fields in any specific file depends on the field length chosen. At the other extreme, Micro Information System always uses 22 fields. Not surprisingly, the number of records or files allowed depends on the number of disk drives used, the size of the disks, etc. "Definition Revision," the last col- umn of table 3, refers to revision of field definitions such as length and type. A "Y" in this column indicates that revision is possible after data have been entered and will not cause loss of the previously entered data. More Than One File at a Time Systems that can access more than one file at a time usually provide the features included in table 4. With the subfile feature, the user can create a new file from an old one. An example is dividing a long mailing list into shorter lists by state. The user can also combine files or create a new file consisting of selected records from more than one old file. For example, a user might select from two files the names and addresses of widget manu- facturers and place the names and addresses in a new file. Updating Data Table 5 shows the variations found in facilities for updating data. Some systems bar entry of some specific 222 November 1981 © BYTE Publications Inc Circle 383 on inquiry card. MicroMed™ and MicroDent™ make your practice perfects Simply the best! They're the real solution to the problems confronting every physician's and dentist's office. Each is a unique package, developed through years of work in close conjunction with doctors and dentists. They'll help you treat your patients more efficiently and accurately, while saving you time and money in the process. Versatility. Whether you are in private practice or a member of a busy group, there's sufficient capacity to handle your needs. Thousands of patients can be accommodated on floppies, and even more on hard disk. MicroMed and MicroDent can easily handle everything in your practice from billing to patient records to complex insurance forms . With millions of hours of actual use in medical and dental offices throughout the country, they stand alone at the top, in a class by themselves. Solutions, not more problems. We know you're after solutions, not more problems. Our menus are simplicity itself, and are designed for your convenience (not our programmers'). The computer displays your options at every step. What could be simpler? Your own office staff can easily take care of the routine so that you can devote your valuable time to your patients. You are the boss. Forget about problems with outside billing services or manual record-keeping. You exercise absolute control over your billing procedures. Fingertip patient recall lets you know instantly whose accounts are due and what services were performed. Account aging is automatic, and past-due notices or statements are printed and addressed, ready for mailing. All types of reports may be requested to help you better understand your finances and cash flow. Daily backups are created automatically. Multiple Insurance Forms. Many patients have several different types of insurance coverage. With MicroMed and MicroDent you can enter almost any form, keep track of which patients it applies to, and get it processed and ready for mailing. When new forms come out (as we all know they will) you don't have to pay for custom programming, you can modify the form print format yourself. With our exclusive Formulator™ system it takes just minutes. Economic Spnsc The biggest surprise of all is that MicroMed and MicroDent are just $1500 each. Plus, having your own office computer provides you with great tax advantages . If you like what you see, contact your nearest computer store. They can provide you with MicroMed or MicroDent on any CP/M® based computer for an amazingly economical price. Or, if you already have a computer, a demo disk and manual set is available for just $75, and allows you to run the entire program. The manual separately is $50. Send for one today, and make your practice perfect! Features: • Automatic billing for any patient load • Handles practices with up to 20 doctors • Accepts all insurance forms • Exclusive "Formulator" form system • Multiple insurance coverage • Insurance preauthorization • Automatic statements with aging • Instant access to patient records • Full transaction and treatment details • Cumulative totals by doctor • Profitability analysis reports • Mailing list maintenance • Can be linked to word-processing • Appointment recall with reminders • Maintains hospital and lab codes • Keeps track of referring doctor codes Demo disk and manual set $ 75! Dealerships are available to established computer vendors on a territorial basis. MWW Booth A-86 ' November 19-22. 1981 Las Vegas Convention Center. Las Vegas, NV "MicroMed, MicroDent, and Formulator are trademarks of SoftwareHows^ »CP/M is a registered trademark ol Digital Research Copyright «1981. SofntiareHouus P.O. Box 36275, Los Angeles, CA 90036 (213) 731-0876 . TWX: 910-321-2378 characters as data; those characters are listed in column 1. All systems let the user update one record at a time, but column 2 shows that only seven systems provide a method for simultaneously updating all records that meet specified criteria. Adding $5 to all records with a balance less than zero is a task that would require this multirecord capa- bility. Data Handler has a process called "Mass Update." First, a column and length are specified as a field. Then, for each sequential record in turn, the user can enter a replacement value for that field. This is not an automatic multirecord update, how- ever, because the user must change each record one at a time. To speed data update and entry, TIM, Jinsam, Selector IV, Informa- tion Master, and FMS-80 permit one- key copying of data from a previous record's field. Criteria for Selecting Records A selection criterion is a rule against which a record can be tested to see if it qualifies for selection. The selection criterion can be simple and — THE BACKUP SYSTEM WITH MORE BYTE. More byte than any other system on the market, in fact. MCSave (Magnetic Cartridge Save) is not just another backup system — but a true file-oriented archive system. It gives you a full 67 megabytes of on-line archive/backup storage. So you can easily access, store, delete or transfer files with greater j^ speed, and backup even the largest of most hard disks. MCSave combines the cost effective 3M HCD-75 Tape Drive with CP/M* to give you the kind of performance you can really sink your teeth into. MCSave can handle 13,000 files per drive. You can transfer file-by-file from disk to tape, tape to disk, or tape to tape. MCSave runs on any S-100 Z-80 48KCP/M,*CDOS,*or CROMIX* system. Ask your dealer about MCSave ... the backup system with more byte! uac Microcomputer Consulting Services 8308 Juniper Ft. Worth, Texas 76180 (817)498-6390 Dealer & OEM inquiries invited *CP/M is a trademark ol Digilal Research - CDOS and CROMIX are trademarks of Cromemco, Inc. straightforward, such as "Part# > 124." On the other hand, the selection criterion can be complex: "Part# > 124 AND Part# < > 130 OR Part-name = widget." Relational systems usually permit the user to specify that the value in a field of one file match the value in a field of another file. Multifile systems pro- ' <*- 3 CO Combination of Files MDBS Y Y FMS-80 Y Y Selector IV Y Y TIM Y N Condor Y Y Data Handler N Y CCA N N Microconductor N N Information Mstr N N The Informer N N Micro Info Sys N N Jinsam 2.0 N N Cromemco N N Micro Manager N N Data Manager N N Dynamic DB N N IDM-IV N N IDM-M2 N N Profile N N Profile II N N Table 4: Facilities for accessing more than one file at a time. Only five systems can make a new file from part of an old file, and only five can com- bine old files or parts of old files to make a new file. 224 Novtmbtr 1981 © BYTE Publications Inc Circle 245 on inquiry card. The World's First Macro Computer mr ■■ " Hi System/48 The Parallel Processing® System/48® is the world's first MacroComputer®, an elegantly powerful and modular multi-user computer for business and industry. It was designed from the start to out-perform other computer systems at three or more times its price. The operating system software is so friendly, versatile and fast that it's called MAGIC®. In addition to outstanding new capabilities, MAGIC'S interface translator allows instant access to a large number of standard languages and applications for GL, AR, AP, PR, Inventory, Financial Planning, Fixed Assets, Property Management, Prospect Management, Order Entry, Word Processing and a host of others. DataMaglc II® is provided with the System/48, for comprehensive database management . . . and it makes new application programming a simple joy. Whether it's 2 or 3 users, or 128, MAGIC exhibits exceptional performance with transactional disk back-up to cartridge or 9- track tape; full access security; logical partitioning of tasks and users; fast Multi-Key ISAM access to multiple disks in each node (10-250 Mbytes); 1-16 Workstations and Task Processors in each node; up to 1 6 nodes; local and central printers for both word and data processing; remote Workstations and nodes; communications; real-time calendar and clock; and exceptional reliability because of its modularity and redundancy of software and hardware. Circle 405 on Inaulrv card. SEE US AT COMDEX BOOTH 536 And that's the whole point! You can get exactly the performance and configuration needed now and it can expand easily to meet future needs, taking advantage of the technology revolution. Large or small, real-time, batch or mixed, there's a System/48 that's just right for the job. If you haven't seen our Parallel Processing System/48 MacroComputer in ACTION, then seeing is believing! See your local dealer today for the full story. Or call Jim Knepton now at (713) 738-2300 and he'll explain how you can have your own private showing . . . and how easy and profitable it can be for you and your business. TEI has 14 years of experience in manufacturing it RIGHT! OEM and Dealer inquiries invited — come GROW WITH US! 5075 S. LOOP EAST, HOUSTON, TX. 77033 (713) 738-2300 TWX. 910-881-3639 » COPYRIGHT TEI. INC. 1981 • REGTM OF TEI. INC. 1981 Circle 306 on inquiry card. Introducing Pascal Sourcebooks from the NATI Pascal Software Library 14 I PROCEDURE wand_input 55 I BEGIN {wand $6 I read . ,-, ~^^ Complete Program Listings Cross References and Block Summaries Block Indices by Page This new library of UCSD Pascal* compatible pro- grams provides practical applications and system augmentations available nowhere else. Each Pascal Sourcebook ™ is a treasure trove of ideas and pro- ven program techniques. These Pascal programs will run on every major personal computer system cur- rently manufactured which has the UCSD p-Systenr installed. Pascal Sourcebooks™ contain completely com- mented and annotated source listings and machine readable bar code texts**" of well designed, clearly written UCSD Pascal* programs. Use the programs "as is", or modify and customize them to your own personal tastes. Either way, you gain a practical working library available nowhere else. Hlo Syitim: Interrogate directories from application programs in order to select existing flies or create new files interactively... FS.01 Pucil Sourcebook™ ilone'"*" S69.95 FS.02 Paacal Sourcebook™ and Apple Pascal" media . 199.95 Incremental Backup SyiUm: Use these daily rituals to save recently used files to prevent loss of floppy or hard disk data. IBS.01 Paacal Sourwbook™ alone"** S69.9S IBS. 02 Paacal Sourcebook™ and Apple Paacal** media. $99. 95 Report Generator: Use this report formatting program to create professional word processing quality documentation with the UCSD Pascal* system's Screen Editor. Uses Diablo. NEC. Ricoh. Ahearn&Soper, etc. printers with Diablo 1620 compatible serial interface. RGI.01 Paacal Sourcebook™ alone*"* $79.95 RGI.02 Paacal Sourcebook™ 4 Apple Paacal" media S109.95 Telephone Utllltlaa: Use these Hayes Smartmodem"" programs to dial originate or answer mode data calls. Save session images on disk. Transfer files to the line. Use the autodialer for voice calls. TU.01 Paacal Sourcebook™ alone"** $59.95 TU.02 Paacal Sourcebook™ and Apple Paacal" media. $89.95 Graphic Appllcatlona-hPracticai examples of Pascal programs driving application oriented graphics: examples of hydro power profiles, spherical lens ray tracing, sun-earth-moon orbital model, numerical integration, etc. GAI.01 Paacal Sourcebook™ alone*"* $19.95 GAI.02 Paacal Sourcebook™ and Apple Pascal" media $49.95 Typewriter Simulators: Use a word processing quality printer with your terminal as an eclectic electric typewriter. Automatic address accumuiatlon. envelope addressing, line by line correc- tion. Uses Diablo, NEC, Ricoh, Ahearn&Soper, etc. printers with Diablo 1620 compatible serial Interface. TSI.01 Pascal Sourcebook™ alone"** $49.95 TSI.02 Pascal Sourcebook™ and Apple Pascal" mortis , $79.95 ' UCSO Pascal and UCSD p-Syslsrn are trsdemarks of the Regents ot the Stale of California •• Apple Pascal Is a trademark of the Apple Computer Company ••* Smartmodem Is a trademark of Hayes Microcomputer Products •••• All Pascal Sourcebooks™ include NATI Tbx! Format™ bar code Images of compressed machine readable Pascal language source taxis. Bsr coda readers and bootstrap software are available for Apple Pascsl machines. Dealer Inquiries Invited FREE BONUS! With each order, we'll send customers a per- sonal copy ol the booklet "Alternative Software Delivery Media" describing our NATI Text Format™ printed Par code technology NORTH AMERICAN q v TECHNOLOGY, INC. f Strand Building „-/ 174 Concord St. Peterborough, NH 03458 (603) 924-7136 !■■ Order your Pascal Sourcebooks™ and media copies now. Call our 24 hour credit card phone order service with your Master Card, or Visa billing information: 800-854-0561 operator 860 (or in California, 800-432-7257 operator 860) vide the latter capability with the use of batch commands. Table 6 shows that all systems but one use selection criteria to specify conditions on at least one field. All but four systems allow a user to re- quest that more than one field meet given criteria. Most of the systems permit a user to search for a record falling within a specified range. Most systems also allow the user to enter only a substring of the desired field value. For example, "Smi" would return "Smith " as well as "Smiley." But only six systems allow you to ask if a field contains nothing at all. This •a a) S o < | O M z * •- co to E Si a 3 oSE CO a> CD CO il % CD (X CD ° . ■js -— "D CO CD .| CD I- TJC Q.O O ~ >,« ^ °> .3! n O ~ S| CO CD as T3 a. T3 CD CD a> O) E CD 0) CO "■5 eo 3 CD "*• | s J -o XI P CO 3 CO cd -a C CO ® o MDBS Y Y N Y Y Y FMS-80 Y Y Y Y Y Y Selector IV Y Y N Y N Y TIM Y N Y N N N Condor Y Y N Y Y Y Data Handler , ; Y N N N N N CCA Y N Y N N N Microconductor Y N Y Y N N Information Mstr Y Y N N N Y The Informer , : " ' Y N N N N N Micro Info Sys Y Y N N N Y Jinsam 2.0 , : " ,' ' * Shift Y N N N N N Cromemco Y N N N N N Micro Manager Y Y N N N N Data Manager Y N N N N Y Dynamic DB Y N N N N N IDM-IV Y N N N Y N IDM-M2 Y N N N Y N Profile Y N N N N N Profile II Y N N N N N Table 5: Facilities for updating data. Seven systems provide a method for simulta- neously updating all records that meet specified criteria (column 3). 226 November 1981 © BYTE Publications Inc Software prices for hardnosed • • t MICRO PRO APPLE CP/M® WORD STAR" 259.00 SUPER SORT - 145.00 MAIL MERGER- 90.00 DATA STAR- 215.00 SPELL STAR- 195.00 S-100 CP/M® WORDSTAR 310.00 SUPER SORT 195.00 MAIL MERGER 1 10.00 DATA STAR 245.00 SPELL STAR 195.00 BRODERBUND TAWALA'S LAST REDOUBT 24.95 GALAXY WARS 20.95 ALIEN RAIN (AKA GALAXIAN) 20.95 SNOGGLE (REQ. JOYSTICK) 27.95 ALIEN TYPHOON 20.95 APPLE PANIC 24.95 SPACE WARRIOR 20.95 AUTOMATED SIMULATIONS INVASION ORION 20.95 STAR WARRIOR 32.95 TUES. MORNING QUARTERBACK 25.95 CRUSH, CRUMBLE AND CHOMP 24.95 THE DRAGON'S EYE 20.95 MUSE SOFTWARE ROBOT WARS 32.95 THREE MILE ISLAND 32.95 ABM 20.95 GLOBAL WAR 20.95 CASTLE WOLFENSTIEN 24.95 SUPER TEXT II 129.00 ON-LINE SYSTEMS MYSTERY HOUSE 20.95 WIZZARD AND PRINCES 29.95 H/R FOOTBALL 32.95 H/R CRIBBAGE 20.95 MISSLE DEFENSE 25.95 CRANSTON MANOR 29.95 SABOTAGE 20.95 GOBBLERS 20.95 SOFT PORN ADVENTURE 24.95 PEGASUS II 25.95 EXPEDITER 73.95 PERSONAL SOFTWARE DESKTOP PLAN II 159.00 CCA DATA MGT. SYSTEM 89.00 VISIPLOT 159.00 VISITREND/VISIPLOT 199.00 VISIDEX 159.00 VISITERM 129.00 VISICALC 3.3 159.00 CHECKER KING 21.95 GAMMON GAMBLER 21.95 BRIDGE PARTNER 21.95 MONTY PLAYS MONOPOLY 29.95 ZORK 32.95 MONTY PLAYS SCRABBLE 34.95 SIRIUS SOFTWARE PHANTOMS FIVE 24.95 SPACE EGGS 24.95 AUTOBAHN 24.95 PULSAR II 24.95 GAMMAGOBLINS 24.95 GORGON 32.95 SNEAKERS 24.95 EPOCK 29.95 COPS AND ROBBERS 29.95 MORE GREAT APPLE GAMES COMPUTER QUARTERBACK 32.95 THE WARP FACTOR 32.95 CARTELS AND CUTTHROATS 32.95 TORPEDO FIRE 49.95 THE SHATTERED ALLIANCE 49.95 COMPUTER BASEBALL 32.95 POOL 1.5 „ 29.95 ULTIMA 33.95 RASTER BLASTER 24.95 FLIGHT SIMULATOR 27.95 INTERNATIONAL GRAND PRIX 25.95 COSMO MISSION 24.95 SARGON II 28.95 SHUFFLE BOARD 29.95 MICROSOFT APPLE FORTRAN* 165.00 BASIC COMPILER- 315.00 COBOL' 595.00 APPLE SOFT COMPILER 159.00 Z-80 SOFTCARD 299.00 RAMCARD 159.00 TYPING TUTOR 17.95 OLYMPIC DECATHLON 24.95 S-100 CP/M® BASIC 80 299.00 BASIC COMPILER 319.00 FORTRAN 80 399.00 COBOL 80 599.00 PEACHTREE APPLE CP/M ,S GENERAL LEDGER 219.00 ACCT. RECEIVABLE 219.00 ACCT. PAYABLE 219.00 PAYROLL 219.00 INVENTORY 219.00 S-100 CP/M® GENERAL LEDGER 595.00 ACCT. RECEIVABLE 595.00 ACCT. PAYABLE 595.00 PAYROLL 595.00 INVENTORY 595.00 PROPERTY MGMT 799.00 CPA CLIENT WRITE-UP 799.00 APPLE BUSINESS SOFTWARE MAGIC WINDOW 79.00 DB MASTER (NEW) 179.00 PFS: PERSONAL FILING SYS 84.00 PFS: REPORT 84.00 Z-TERM • 79.95 ASCII EXPRESS 63.95 HAYDEN APPLESOFT COMPILER 149.00 EASY WRITER-PRO 199.00 S-100 SOFTWARE d BASE II 599.00 SUPER CALC 249.00 MAGIC WAND 279.00 SPELLGUARD 239.00 PICKLES AND TROUT CP/M' MOD. IITRS-80. .175.00 EDU-WARE PERCEPTION PKG 19.95 COMPU-READ 24.95 STORY TELLER 18.95 COMPU-MATH: ARITHMETIC 39.95 COMPU-MATH: FRACTIONS 34.95 COMPU-MATH: DECIMALS 34.95 COMPU-SPELL(REQ. DATA DISK) 24.95 COMPU SPELL DATA DISKS 1-4,ea 17.95 TRS-80 GAMES TEMPLE OF APSHAI 34.95 HELLFIRE WARRIOR 34.95 STAR WARRIOR 34.95 RESCUE AT RIGEL 24.95 CRUSH, CRUMBLE AND CHOMP 24.95 INVADERS FROM SPACE 17.95 PINBALL 17.95 STAR TREK 3.5 17.95 MISSILE ATTACK 18.95 STAR FIGHTER 24.95 •REQUIRES Z-80 SOFTCARD IF YOU DON'T SEE IT, CALL US. WE HAVE ALL THE LATEST SOFTWARE. We built a reputation on our prices and your satisfaction. We guarantee everything we sell lor 30 days. II anything is wrong, just return the item and we'll make it right And, ol course, well pay the shipping charges. We accept Visa and Master Card on all orders. COD accepted up to $300 00 Please add $2.00 lor standard UPS shipping and handling on orders under 50 pounds, delivered in the continental U.S. Call us lor shipping charges on items lhat weigh more than 50 pounds Foreign. FP0 and APO orders please add 15% lor shipping California res- idents add 6% sales tax. (213)7060333 31245 La Baya Drive, Westlake Village, California 91362 The prices quoted are only valid lor stock on hand and all prices are subject to change without notice CP/M 1 ' is a registered trademark of Digital Research. Circle 15 on inquiry card. Circle 459 on inquiry card. from Ren Tec The Wedge • Fully emulates all features of the NEC PC-8012A module •NEC PC-8001A Sl/O (terminal mode) channel is brought out to a DB 25 con- nector • Additional ports for 40 bits of digital I/O and analog input including 2 Atari-type joystick ports; built-in 3 voice synthe- sizer with amplifier • 32K RAM card included; also capable of handling another 32K RAM = 96K of RAM • 16 levels of interrupt capability • NEC PC-8012A bus structure is imple- mented. ■ Attaches easily to the bottom of the NEC PC-8001A. Ren Tec Wedge $595.00 RS-232-C Interface Card for NEC PC-8012Aor Ren Tec Wedge 1 79.00 32K Memory Board for NECPC-8012Aor Ren Tec Wedge 199.00 RGB to Composite Video for NEC PC-8001A (40 column only) 79.00 and NEC Dot Matrix Printer 795.00 • 100 CPS • Bidirectional printing • Friction and tractor feed • Parallel interface • Single-ribbon cartridge NEC Monitors • 12" Green Screen 285.00 • 12" RGB Color 1095.00 • 12" Composite Video 430.00 * more * ATARI 10-Key Accounting Pad . . 124.95 ES100 Letter-Quality Printer/ Typewriter for Apple, Atari, Commodore, H.P., NEC, Northstar, Osborne 1 , TRS-80 Ren Tec Interface 295.00 Olympia ES100 and Ren Tec Interlace 1495.00 DEALER INQUIRES WELCOME RENAISSANCE TECHNOLOGY ^CORPORATION 3347 VINCENT ROAD PLEASANT HILL, CA 94523 (415)930-7707 228 November 1981 © BYTE Publications Inc facility could be used to determine Predefined Queries which records have not been up- Some systems let you define a dated, to find errors, or to print only query, name it, and use it repeatedly records that contain data in a par- by calling its name; table 7 shows ticular field. which systems provide this facility. A c CO o -o az CO T> c o O o 5 O 2 rr 2L MDBS Y Y Y No limit Y Y Y N FMS-80 Y Y Y No limit Y Y Y Y Selector IV Y Y Y 10 Y Y Y Y TIM Y Y Y ? N Y Y Y Condor Y Y N 32 Y Y Y ? Data Handler N N N - N N N N CCA Y Y Y - N Y Y N Microconductor Y Y N - N N Y N Information Mstr Y Y Y 6 N Y Y Y The Informer Y Y N - N ? Y N Micro Info Sys Y Y N | - N N Y Y Jinsam 2.0 Y Y Y # of fields N Y Y N Cromemco Y Y N - N Y N N Micro Manager Y N N - N N Y N Data Manager Y N N - N Y N N Dynamic DB Y Y N - N N Y N IDM-IV Y Y N | - N Y N N IDM-M2 Y Y Y 4 N Y Y N Profile Y N N - N N Y N Profile II Y Y N - N Y Y N Table 6: The kinds of criteria by which data-base management systems can select records. Most systems allow the user to search for a record that falls within a certain numerical or alphabetical range. Only four systems allow you to select from multiple files all the records that meet a set of conditions ("Multifile/ Set Conditions"). Circle 316 on inquiry card. SAVE now on ATARI •specially these products!! We carry the complete line of ATARI Hardware, Software Peripherals, and accessories. COLD! (Actual size Genuine 14K $24.95 retail) ATARI SPECIALS ATARI 400 16K Personal Computer ATARI PERIPHERALS 410 Program Recorder 810 Disk Drive 820 40 Column Printer 822 40 Column Thermal Printer 825 80 Column Printer 830 Acoustic Modem 850 Interface Module Buy an ATARI 800 and receive a Bracelet 16K t w Id $39 ATARI ACCESSORIES CX852 8K RAM Memory Module $ 60 CX853 853 16K RAM Memory Module $449 CX30-04 Paddle Controller (pain) $299 CX40-04 Joystick Controller (pair) $349 With any purchase of ATARI Hardware or $599 Software over $500 you can buy the bracelet $159 for only $9.95. $1 39 PRICES ARE SUBJECT TO CHANGE W/O NOTICE. $39.95 $89.95 $15.00 $15.00 WE CARRY THE COMPLETE LINE OF ATARI SOFTWARE. CALL FOR THE WEST COAST 1-800-235-3581 3533 Old Conejo Rd. #102 Newbury Park. CA 91320 1 -805-499-3678 CA. TOLL FREE 1 -800-322-1873 OMEGA SALES CO. EAST COAST 1-800-556-7586 12 Meeting Street Cumberland, Rl 02864 1-401-722-1027 query is usually, though not neces- sarily, displayed on the terminal screen, while a report is usually printed on paper with titles, etc. A predefined query thus permits periodic viewing of a list of records meeting a specific requirement, such as past due accounts, by entering all the information only the first time the query is used. A few systems limit the number of predefined queries a user can keep. Column 3 of table 7 shows which systems allow a predefined query for which the user can enter a value at the time the query is used. That value might be the date that identifies an ac- count as past due. Such a query could be used through the year, but with a different date each month. Producing Reports Reporting capabilities vary widely from system to system. In order to MDBS FMS-80 Selector IV TIM Condor Data Handler N CCA Microconductor — -. Intormation Mstr §■ 15 N The Informer Y - N. Micro Info Sys N - N Jinsam 2.0 Y - N Cromemco N - N Micro Manager N - N Data Manager N - N Dynamic DB N - N. IDM-IV N - N IDM-M2 N - N Profile N - N, < Profile II Y 5 N Table 7: Facilities for predefined queries. It is a real convenience to be able to define and name a query, and then repeat the query without reentering its parameters. il s c TJ Cl> 3, CL 11) ** Iff nj ■C b m o o LL ^H o IL at-.jc si So. a. ••- CO SB CO CO => a MDBS Y Y ? Y FMS-80 Y Y 255 Y Selector IV N Y ? Y TIM N Y ? N Condor Y Y ? Y Data Handler N N ;, CCA N Y : 20',/ N Microconductor Y Y :'■■■■> N Information Mstr M Y ; 15 N The Informer Y Y ? N Micro Info Sys N Y 3 N Jinsam 2.0 N Y Unlimited N Cromemco N N N Micro Manager N N N Data Manager N Y ? N Dynamic DB Y N N IDM-IV Y Y 10 N IDM-M2 N Y 10 N Profile N Y 1 N Profile II N Y 5 N Table 8a: General facilities for generating reports. Few systems can generate reports from multiple files. The ability to use predefined formats to generate reports from multiple files permits rapid production of complex reports. 230 November 1981 © BYTE Publications Inc For years many small business system buyers thought that in order to get "real" performance and enough storage to be a "real" business system they would have to sacrifice the family jewels. But with the introduction of the Smoke Signal Chieftain series office computers a lot of people's minds have been changed. Because we designed the highly reliable Chieftain small business system with the most innovative combination of performance and effi- ciency around. At your fingertips there are 64,000 characters of random access memory and you can address anywhere from 740,000 characters to 2 million characters with Smoke Signals's new double den- sity controller. For larger concerns, there's a 20M byte hard disk available. At a time when other small computer manu- facturers tell you "you're on your own", Smoke Signal offers an abundance of easy-to-use software programs such as order entry, inventory control, accounts receivable, invoice entry, payroll, word processing and much, much more. There's BASIC, COBOL and FORTRAN — even a multi-user BOS (Business Operating System) that allows for numerous users simultaneously. Chieftain systems starting at under $200.00 per month display per- formance on par with sys- tems costing twice to three times as much. So call (213) 889-9340 for your nearest autho- rized Smoke Signal dealer demonstrate the Chieftain's high reliability and ease of Operation. For dealers only, circle 382 All other inquiries, circle 474 he'll be glad to SMOKE SIGNAL BROADCASTING 31336 Via Colinas. Westlake Village, California 91361. (213) 889-9340 •I ) V * w / Caum in discuss the features listed in tables 8a through 8c, consider a hypothetical system having all those features. Such a system would allow a user to define a report format. The user could give the report a title, column headings, insert a paragraph of text, specify that some fields should print in ascending order, and that, within that ordering, other fields should print in descending order. The user could set the column widths, justify the margins, print a sample record to help line up the form on a printer, specify the number of lines to skip between each record, specify a break when a certain field changes value, and then print sub- totals or perform any of several statistical or mathematical functions. at c CD V I a o o Li. to § C e 3 O O r ID 10 C X 1 c o o w 3 C to 2 c o> co 5 a. E CO w 15^ CD o 5-° w c CO CD CD CD .£ g — « "5J 10 T3 i— O (0 o " CD cdoc jo © stiii CD £ to to o o < to T3 o u CD tr O O CD rr 13 CD C _J 3fc to c o CL to CD m £■ to E E CO MDBS Y Y N Y N N Y N N Y N N Y FMS-80 Y Y Y Y N Y Y Y Y Y Y Y Y Selector IV Y Y ? ? ? ? ? ? ? 7 ? Y Y TIM Y Y N Y Y Y Y Y Y Y Y Y Y Condor Y Y N Y N N Y N N N N Y Y Data Handler N N N N N N N N N N N N N CCA Y N N Y N Y N Y N N Y Y Y Microconductor Y Y N N N N N Y N N N N Y Information Mstr Y Y N Y Y N Y N Y N N Y Y The Informer Y Y N N N N N N Y Y N N N Micro Info Sys N Y N N N N Y Y Y Y Y Y N Jinsam 2.0 Y Y N Y N N Y Y Y Y Y N N Cromemco N N N N N N N N N N N Y N Micro Manager Y Y N Y N N Y N Y Y N Y N Data Manager N Y N N N N Y N N N N N N Dynamic DB N N N N N N N N N N N N N IDM-IV Y N N N N N N N N N N N N IDM-M2 Y N N N N N N N N N N N N Profile Y Y N Y N Y N Y N N N N N Profile II Y Y N N N N Y N N N Y Y Y Table 8b: Facilities for formatting reports Anadex Printer Distributors NORTHWEST (Oregon, Washington, W. Idaho) Sigma Distributing Bellevue , WA (206) 454-6307 NORTHERN CALIFORNIA Basic Electronic Distributors Santa Clara, CA (408) 727-1800 Terminal Rentals San Jose. CA (408) 292-991 5 Byte Industries Hayward. CA (415) 783-8272 Computerland San Leandro, CA (415) 895-9363 SOUTHERN CALIFORNIA Basic Electronic Distributors Inglewood.CA (213) 673-4300; San Diego, CA (714) 268-8000 Terminal Rentals Tustin.CA (714)832-2414 SOUTHWEST (Texas, Oklahoma, Arkansas. W. Louisiana) Barnhill Associates. Inc. Richardson, TX (214) 231-2573; Houston, TX (713) 688-9971; Austin. TX (512) 451-0217 ROCKY MOUNTAIN STATES (Colorado. Wyoming. Montana, Utah. E. Idaho. Arizona, New Mexico) Barnhill Associates, Inc. Englewood, CO (303) 779-3600; Scottsdale, AZ (602) 947-7841; Albuquerque, NM (505)299-7658: Murray. UT (801) 262-3000 MIDWEST (Illinois, Missouri. Kansas, Nebraska, N. Dakota, S. Dakota, Minnesota, Indiana, W. Kentucky, Iowa, Wisconsin) Tek-Aids, Inc. Arlington Heights. IL (312) 870-7400 Comtel Corporation Chicago. IL (312) 539-4838; St. Louis, MO (314) 428-5508 Shawnee Mission, KS (913) 722-1030: Minneapolis, MN (612)835-3060; Indianapolis. IN (317)253-1681: Cedar Rapids, I A (319) 377-9434: Brookfield, Wl (414) 786-1940 NORTHEAST (Connecticut. Vermont. Massachusetts, Maine, Rhode Island, New Hampshire) Pat Jenks Associates North Haven, CT (203) 239-6201; Woburn, MA (61 7) 938-0488 Microamerlca Distributors Needham, MA (617) 449-4310 NEW YORK METROPOLITAN AREA Logon, Inc. Fort Lee, N J (201 ) 224-691 1 / (21 2) 594-8202 MID-ATLANTIC STATES (Maryland. Washington, DC. Virginia. W. Virginia, E. Pennsylvania. S. New Jersey) Micro Distributors, Inc. Rockville. MD (301) 468-6450 Plymouth Meeting, PA (215)265-1600 SOUTHEAST STATES (Louisiana, Florida, Alabama, Mississippi, Georgia, N. Carolina, S. Carolina) Currie, Peak & Frazler, Inc. Huntsville, AL (205) 536-1506; Orlando, FLA (305) 855-0843; Greensboro, NC (919) 273-3040 CANADA Nelma Electronics Ltd. M ississauga, Ont. (4 1 6) 624-0334 A RnadGx TT.the plus in printers 232 Novembtr 1981 © BYTE Publications lnc Circle 24 on inquiry card. The important plus in matrix printers: T <■■ ^TiiTii^^ -. :: -v.- - H _j®Sa»£ ; ~ 6 MfcM ■S 1 "*■ u u u u u y »£~'< ■ >3\ Since their introduction in mid-1980, the Anadex high- I resolution DP-9500 Series matrix printers have set new t standards for printer quality and performance. All | models feature the rugged Anadex 9-wire print head > that combines long life with resolutions of 72 dots/inch f vertical and up to 75 dots/inch horizontal. Wilh this kind ( of resolution, fineline graphics (under data source con- trol) and razor sharp characters are pluses built into < every printer. I Performance Plus , The full standard ASCII 96 character set, with de- j scenders and underlining of all upper and lower case ; letters, is printed bi directionally, with up to 5 crisp copies, at speeds up to 200 CPS. Models DP-9500 and DP-9501 offer 132/158/176 and 132/165/198/220 columns ' respectively. Print densities are switch- or data-source selectable from 10 to 16.7 characters/inch. All char- acters can be printed double-width under communi- cations command. Interface Plus Standard in all models are the three ASCII compatible interfaces (Parallel, RS-232-C, and Current Loop). Also standard is a sophisticated communications interface to control Vertical Spacing, Form Length and Width, Skip Over Perforation, Auto Line Feed, X-On/Off, and full point-to-point communications. Features Plus As standard, each model features forms width adjust- ment from 1.75 to 15.6 inches, shortest-distance sensing, full self-test, 700 character FIFO buffer (with an additional 2048 characters, optional), and a quick- change, 6 million character life ribbon. Quality Plus Beyond the built-in performance of the grafixPLUS series printers, the engineered-in quality and support are equally important. The result? Approval of both UL and FCC, Class A; operating noise levels under 65dbA; and a nationwide service organization second to none. To see for yourself why the grafixPLUS printers offer more pluses for your printing dollar, contact us today. the plus in printers ANADEX, INC. • 982.S Dolioto Avenue • Choir, worth. California 91311, U.SA • telephone: (?I3) 998 8010 • IWX 9IO 494-2761 U.S. SALES OFFICES, Son Jose.CA (4f )H) 247 3933 • Irvine, CA (714) 5S7 0457 • Wakefield, MA (617) ?4. r > 9160 • Austin. IX (512) 327 5250 anadex. UD. • Wbovsi Home, Station Road • Hook, Basingstoke, Hants R< ■'■'/ 9JY, I noland • fel Hook (OZS6/2) 3401 • (etexi 858/6? ANADI X 1 1 A user could even print a column for which there is no data stored. For ex- ample, the system might allow, for each record, that the second column be multiplied by the third and the result put in a new fourth column. The system might then print grand totals in yet another column. The user could specify record num- bering, choose to have footings printed on each page, and use infor- mation from several files. A user CO 3 E CO c CD .S= 2 S CO E o o tr co M ?8 c <- CM a) CO 5 c 3 o CO o CO to CD a CD > CD c aj Q CD CO 3 C CO o CD U 3 CD ° s- E 2 o o O CO < 13 oo oc MDBS Y Y Y Y Y N Y Y Y Y Y N FMS-80 Y Y Y Y N Y Y N Y Y Y Y Selector IV Y N N N N N N N N Y Y ? TIM Y Y Y Y N N Y Y Y Y Y ? Condor Y N Y Y N N N N Y N Y N Data Handler N N N N N N N N N N N N CCA Y N N N N N N N N N N Y Microconductor Y N Y Y N N N N N N N N Information Mstr Y N N N Y N N N N Y Y Y The Informer N N N N N N N N N N N N Micro Info Sys D N • N N N D D N D N N Y Jinsam 2.0 (2) (2) (2) (2) (2) (2) Y (2) (2) N (2) Y Cromemco N N N N N N N N N N N N Micro Manager N N N N N N N N N N N N Data Manager N N N N N N N N N N N N Dynamic DB(1) D D N N N N N N D N Y N IDM-IV Y Y N N N N Y N Y Y N Y IDM-M2 Y N N N N N Y N Y Y Y Y Profile N N N N N N N N N N N N Profile II Y N N N N N N N N N ' N Y (1) Not printed; displays on screen for 15 seconds (2) Stat and Mathpack Available D Display only {not printed) Table 8c: Facilities for deriving new data from existing records to create a report. Only MDBS and TIM can derive statistics, although finsam offers an extension package for statistics. could save all these specifications in a predefined report format and use the format every month without reenter- ing the specifications. Tables 8a through 8c show that several systems offer many of these features, but some systems offer only a few. Some of the less expensive systems have excellent report generators. Note in the tables all the features In- formation Master offers. More expen- sive systems provide multifile report capabilities. Selector IV, for example, can report on up to 80 fields from as many as six files. TIM has its own built-in text editor that allows you to prepare form letters, checks, in- voices, and the like. Profile II and Jin- sam encourage the use of their word- processing packages in conjunction with their DBMSs. This combination enables the user to personalize form letters. Conclusion We caution the reader against bas- ing a buying decision solely upon the information in this article. Though we have attempted to show where these DBMSs differ and what func- tions they perform, a report as com- pact as this can present only a limited amount of information. Of course, these twenty systems do not include all software packages ad- vertised as DBMSs. Several new packages are currently being marketed, as are upgraded versions of some of these twenty. We believe that a potential buyer, by studying these tables, can determine which fea- tures he or she considers most impor- tant and then seek a system that of- fers those features. Attempts are being made to pro- vide integrity, security, and data in- dependence in data-base management systems for microcomputers. Even the smaller systems have provided a feature here and there that works toward these three goals. MDBS ap- pears to have come close to achieving all three. For software as young as data-base management systems, and hardware as young as microcom- puters, the achievement of Micro Data Base Systems, Inc, is im- pressive. ■ 234 November 1981 © BYTE Publications Inc PL/I-80™: Not for beginners* For internal savings, product capabilities, code speed and upward compatibility- How PL/I-80 meets these criteria is making software news. MC is a successful company selling business applications to first time users. MC switched from a popular but less efficient language. MC benefits from these PL/I-80 (ANSI Subset G) features. • Fast design with picture specifications for output. • Easy data retrieval with BT-80™ file manager. • Improved performance with LINK-80™ loading of disk resident overlays. • Small, fast programs with optimized object code and no interpreter. Specific examples of PL/I-80's speed, memory conservation, error checking, and control in the business environment are cited. In a candid interview, Mr. Charles Russell. MC's president, discusses his professional programming needs. Jfc Mr. Russell distinguishes. "PL/I-80 isn't a panacea. It's a programmer's language, ideal for the experienced programmer. Just as PASCAL and BASIC are good for beginners." Worldwide market exposure of your products and company through your listing in our CP/M " Compatible Software Catalog; news affecting your business in a free subscription to ISV FORUM; plus comprehensive seminars comprise our ISV Support Plan for those who write applications under CP/M. Yours free. See why MC switched. Then compare yourlanf*uajfe. Limited quantity. Respond now and receive a bonus book. PL/I-80 Command Summary, a quick reference to 343 PL/I-80 commands and error messages. I'd like to analyze PL/I-80 features. Send your Brochure & Bonus Book to: Name: Title:_ PL/1-10" COMMAND SUMMARY i i.i.i,-. ,,,.,, 71 Company: Address:_ M DOTAL RESEARCH P.O. Box 579D, Pacific Grove, CA 93950 Europe: Vector. Intl., Leuven. Belgium. 32(16)202496 Far East: Microsoft ware Assoc. Tokyo. Japan. 03-403-2120 CP/M is a registered trademark of Digital Research, lite. PL 1-80. BT-80 ar LINK-80 are trademarks ofDigltal Research. Inc. Copyright 1981. Digital Research. Ine. Circle 141 on Inquiry card. md PDQ: A Data Manager for Beginners Don't Reinvent the Wheel Paul Swanson 97 Jackson St Cambridge MA 02140 Floppy-disk drives are fantastic devices to add to a computer. They hold more information and are faster and more reliable than cassette tapes or other data-management systems. For the sophisticated personal user, they are essential, but managing the amount of data they hold presents a problem — especially if you are trying to do the programming yourself. This article presents the PDQ Key-File System, a data-management method that offers a good compromise be- tween speed of data retrieval and ease of programming. Basic Techniques Fortunately, a large amount of literature is available that will allow you to select some elegantly simple data-management techniques without reinventing the wheel. The easiest way to use a floppy disk is to store data in sequential files (see glossary, page 260, for definitions of italicized words) and use the disk as if it were a cassette tape. With a little modifica- tion, any program that works with cassettes will work faster by using a disk, but it will not take advantage of the disk's ability to access any portion of the file almost immediately. Random-access files are the next step toward sophisticated data storage. Using this system, you can divide your data into records and read any of the records in any order; it's not necessary to read through half the file to get to one record in the middle. You can modify the file by reading just one record, changing its contents, then rewriting just that one record. You leave the rest of the file alone. After working with random-access files for awhile, you will notice some annoyances. The one real problem is that records are stored by number. In order to find a record, you must know the right number. There are, however, ways around this: some techniques sort the file by arranging the records in order according to the data in each record. When all the records in the file are sorted, a searching technique, usually binary search, must still be used to find the desired record. Sorting takes an enormous amount of time, which is another drawback to the random- access method. Out of frustration, you may "in- vent" a way to store the name by which you want to find a record in an array in memory, along with the number of the record. Sorting this array in memory is much faster than sorting the entire file, and it gives you an ordered index to the file, but it still takes a long time. The Key to Managing Data Reading about data-management techniques may lead you to try other methods, such as direct hashing (which is a good method, but allows no way to put the file in alphabetical order — an obvious disadvantage if the data you are managing contains people's names). The end of your search, if you are persistent and selec- tive (see the list of recommended reading on page 262), may be the key- file system. This system normally re- quires an extra disk file (called the key file) to store the names by which you want to refer to the records (the names are called keys). The basic ad- vantage of the key file is that it is smaller than the record file and is, therefore, faster to search through. There are two drawbacks to using a key file. The first is that it requires two files instead of just one. The first file stores the keys and the other file stores the records. The second draw- back is the same as the one involving a random-access file: there still must be some way to find the key in the key file. 236 November 1981 © BYTE Publications Inc For 5 years, we've been introducing people to the biggest names in small computers. Five years may not seem like a long time. Except that's about as long as small, personal computers have been around. For example, just this year, IBM— the biggest name of all— introduced their first, the IBM Personal Computer. And they intro- duced it at ComputerLand. Just as Xerox did with their Series 820 Information Proc- essor, SAM. This year, also, Wang chose ComputerLand to be the first retail outlet for their word processors. ComputerLand, the world's largest independent chain of personal computer stores, intro- duced the first Apple II, the first Atari computer, and the first Commodore VIC-20. And many others. In fact, our first five years have been five years of firsts. And the only place to meet all the biggest names in small computers is where they were first introduced: ComputerLand. ComputerLand We know small computers. Let us introduce you. Over 200 stores worldwide. For locations call 800-227-1617 XI 18 (in California 800-772-3545; in Hawaii call 415-930-0777 collect). ©ComputerLand 1981 Circle 98 on Inquiry card. (la) f START J LET UPPER LIMIT < THE NUMBER OF RECORDS IN THE FILE LET LOWER LIMIT =0 LET RECORD NO.' THE AVERAGE OF UPPER LIMIT AND LOWER LIMIT GET THE RECORD NAME INDICATED BY RECORD NO. IS THE RECORD NAME > THE I NAME DESIRED I I IS THE RECORD ) NAME < THE I NAME DESIRED j LET UPPER LIMIT' RECORD NO. (lb) — <^ 3 \._ YES Tno LET LOWER LIMIT' RECORD NO. THE NAME DESIRED HAS BEEN FOUND f END J Many different methods offer solu- tions to the second drawback, finding the key. One method sorts the key file. Another technique loads the key file into a large string array in memory, then sorts the string array. But that has the same speed draw- backs as sorting the record file in the first place. Hashing methods are also used, and they too have a drawback: there is no way to get the keys back in alphabetical order. Another method involves saving a few of the keys in the file in alphabetical order, then using one of a variety of methods to load the file into memory in some semblance of alphabetical order. Key-file systems generally require an enormous amount of program- ming. I have one, which I use often, that takes four or five pages, depend- ing on the version, to list. For most applications on microcomputers, this much code is not necessary. The PDQ Key-File System does not require an extra file for the keys. It stores all of the keys, and information required for finding them, on disk, with the records in the record file. It is also shorter to program than other key-file systems. Listing the fun- damental routines requires less than two pages. The system is slower than a good separate key-file program, but it is fast enough for applications that require hundreds of records (as opposed to thousands of records). RECORD INVENTORY SPOIL NUMBER NAME NUMBER QUANTITY DATE 10 ZUCCHINI 10553 12000 9/21 9 POMEGRANATES 09631 353 8/17 8 PEACHES 0B377 726 8/22 7 OLIVES 40163 68 8/22 6 MANGOES 80192 12 9/03 5 LETTUCE 03926 497 9/12 4 KUMQUATS 67167 521 9/21 3 GRAPES 11131 331 8/27 2 BANANAS 41791 192 9/17 1 ARTICHOKES 10767 226 9/15 Figure 1: Conducting a binary search through a sorted file. The flowchart for the binary search is given in figure la. In order for this searching technique to work, it must operate on a sorted file, as shown in figure lb. Figure lb is a sample of the type of infor- mation needed for the produce inventory of a market. (Most files will not be this small.) Basic Binary Search The PDQ method is loosely based on the same principles used in the binary search. (Binary searching re- quires a sorted file, but this file will not be sorted.) To understand how the PDQ system works, see the binary search example of a super- market produce inventory shown in figure 1. Locating a record in a sorted file using the binary search involves dividing ranges of records in half. Using the flowchart of the binary- search algorithm, let's try searching through a file of 10 records for the record named "peaches." Set the upper limit to 11 (10 plus 1). Set the lower limit to zero. The variable record no. is the average of upper limit and lower limit (6 for the 238 November 1981 © BYTE Publications Inc KB The 5000 SX with: Announ That Can't BeTopped. mi m Capacity: 5.5 MB Winchester PlusTwo Mini Floppies If you know our Series 5000 table top computer line, you know that; good things come in small packages. Now, with the introduction of the 5000 SX, big things come in small packages. One integrated package can contain two double sided, double track density floppies plus a 5.5 megabyte Winchester drive. Speed: Load 20K in Less Than a Second Not only does our high performance Winchester subsystem include error detection with automatic error correction, its extreme speed is comparable to that of large main frame hard disk systems. A 20K program loads in less than one second, about 10 to 12 times as fast as a floppy. We invite comparison with our com- petitors' Winchester implementation then you will see how a truly engineered solution speeds up your application programs. Extras: You'll Be Glad You Have Them The 5000 SX comes standard with lots of extras, starting with a fully terminated S100 mother board. Add to that 64K dynamic RAM modules, with parity, of course, and receptacles for your CRTand Printer that turn on with the main power switch. Plus, convenient up front power reset switch, incoming power line filter and much more. Software: Operating Systems: CP/M, MP/M, TurboDOS Languages: BASIC, FORTRAN, COBOL Application Packages: FMS-80, WORDSTAK, Accounting Plus, all tailored to operate on the 5000 SX. Quality: So Good, It's Warranted 2 Years There isn't room on this page to even scratch the surface of the IMS Inter- national story. However, our 2-year warranty is a dead giveaway that we produce rugged, top quality, professional equipment. We do things right the first time so they don't come back to us. The truth is, we have fewer returns within our 2-year warranty period than other manufacturers have within their 90-day warranty periods. For full details and the location of your nearby IMS International dealer, call us today at (714) 978-6966. Or write: INTERNATIONAL We Build Computers As If Your Business Depended On Them. 2800 Lockheed Way, Carson City, NV S9701 Telex: 910-395-6051 <'!VMfiMP/M,TM of Digital Reseim-h ■TumoDOS, TM of Software 2000 • FMS-80, TM of D.IR Associates • WORDSTAR, TM of MICROPRO •ACCOUNTING PUIS, TM of SYSTEMS PLUS Circle 193 on Inquiry card. first pass, if you round up). Load this record, "mangoes," into memory. "Mangoes" is not greater than "peaches," it is less; so we set the lower limit to 6 and loop back to recalculate record no., but with the limits 6 and 11. This is how the binary-search method divides the file in half. The number of records to search through has been narrowed down to about five, instead of the 10 we started with. The next loop will look at the record whose number is 9 (the average of the new limits). When this record's name, "pomegranates," is compared with "peaches," the limits will become 6 and 9. This process of dividing the number of records to search continues until "peaches" is found, or until there are no more records to search (ie: upper limit is equal to lower limit plus one), which means that the record is not in the file. PDQ Key-File System As I have mentioned, the PDQ Key-File System uses a modified ver- sion of binary searching based on a Data communications can open up a whole new world to you and your computer. A world of the future. Now. A world full of information resources, time-sharing computer systems, and electronic 'bulletin boards.'' Ail you need for admission to this world Is your CP/M- based computer, a modem, and the proper software. That's where we come in. We have the proper software. CROSSTALK," 1 our smart terminal & tile transfer program for CP/M, allows you to call into thousands of dial-up computer systems around the world, and communicate with them. REMOTE, our CP/M remote console program, allows you to operate your CP/M system from a remote terminal, giving your computer added flexibility and usefulness. CROSSTALK • Allows your computer and modem to communicate with other computers, including other CROSSTALK systems, public-access "bulletin board'' systems, main frame computers, subscription "Information utilities" such as THE SOURCE,'" and much more. • Simple, easy to use "plain English" command structure makes CROSSTALK easy lo learn, yet provides a powerlul tool for exchanging files, capturing data, and controlling modem parameters. • Concurrent printer and video allows you lo print data while viewing II on Ihe CRT • Fully error-checked file transfers using 16 bit CRC protocol. Protocol transfers allow exchanging files which are larger than the system s memory. • Built in "DIR" command. • Data capture allows saving received data onlo your disk • Auto-dial, redial. and auto-answer (if supported by modem). Available for the following modems: Hayes 80-103a Hayes Smartmodem" Hayes Micromodem 100'" PMMI Communications MM-103 Hayes Micromodem II" tor the Apple II" Any RS-232 modem, including 1200 baud modems REMOTE • Allows remote use of your computer Irom a remote terminal location • May be called as a subroutine Irom BASIC. PASCAL, or any other program lo allow answering under program control • Provides nulls if needed lor printing terminals. • Uses less than 1 k ol memory space. • Automatically selects proper baud rate. ■ Available for S- 100 modems (Hayes and PMMI) only. For details, see your computer retailer, or contact us directly. I hrWiL-iilu r Microstuf. Inc. 1 — MMK 00x3333? Kk^H Decatur, Georgia30033 VflH (404) 491-3787 (voice) V^M (404) 939-1520 (demo system) 0EALEH INOUIHIES WELCOME. 240 November 1581 © BYTE Publications Inc tree structure (see figure 2). Each record is stored with the key (the name) and two pointers that are used in searching: the greater than pointer and the less than pointer. Using the same produce-inventory example, the first record in the file is the first one entered, "lettuce." It is simply recorded with each of the two pointers set to zero. When the second record, "olives," is entered, it is necessary to compare its name to that of the first record ("olives" is greater than "lettuce"). The second record is placed in the next available storage space, and the greater than pointer in the first record will be set to two. In this way, record one is said to point to record two, to indicate that the name of record two is greater than the name of record one. Searching this tree is as simple as following the pointers (see the flowchart in figure 2a). Unless the keys are entered in a random order, the tree will look lop- sided; there is no easy solution to this, but it is not much of a draw- back. The system will work most quickly when the tree is perfectly symmetrical. In that form, the system will step through exactly the same keys as it would if it were the sorted file of figure lb, and the binary search were used. A very lopsided tree will still work, but it will be slower than a symmetrical one. When using the system, don't enter the records in alaphabetical order or the system will search the entire file sequentially. A random order is best. A Closer Look at the System The PDQ key-file system (see listing 1) uses an array to define such things as the record length, the key length, etc (see the REM statements on lines 40 through 110 and the DATA statement on line 160, which contains the values for the array in the indicated order). The logic of the key-file system is entirely within the subroutines starting at line 5000. The rest of the listing (lines 200 through 2010) contains a sample application. The first subroutine gets the number of the next available record in the file. This is done using a counter that occupies record number Text continued on page 252 Circle 274 on Inquiry card. Introducing a work processor so easy even the chairman of the board can operate it. With Lanier's new EZ-I,™ suddenly it's easy to type reports, letters, memos, lists, and more. And get them done accurately right away. Your staff can start using the EZ- 1 the day it arrives, because Lanier experts offer immediate on-the-job training. THE EZ-I PROCESSES WORK, NOT JUST WORDS The EZ-I is more than a conventional word processor. It's a work processor that also files, keeps accurate records, and helps you stay ahead of all your paperwork. It can grow with your business too, because Lanier will continually update it with new capabilities. HARD WORK WAS NEVER THIS EASY work, while most other similarly priced equipment only allows you to process words. And when you consider how the EZ-I can increase office efficiency, you'll see how it virtually pays for itself. Even though your chairman of the board may never use the EZ-I , he'll certainly appreciate all it can do. Send us this coupon, or call today for a demonstration of how easy the EZ-I really is. (800) 241-1706. Except in Alaska or Hawaii. In Georgia, call collect: (404)321-1244. Lanier Business Products. Inc. Send to: Lanier Business Products, Inc. 1700 Chantilly Dr. N.E., Atlanta, GA 30324 LANIER'S EZ-1 \bur secretary types on a TV- like screen instead of on paper, so changes are made before printing. That saves time and helps avoid typos. All your work is produced in letter-quality printing at less than 30 seconds per page. 50-200 pages can be stored on a single memory disc In addition, the EZ-1 does more than one job at a time, which can free your secretary to work on other administrative tasks. EASY TO AFFORD ~ The new EZ-I gives you the ability to process all kinds of Circle 221 on Inquiry card. Show me how easy the EZ-I is. Best Time to Call Zip City County Stale LANIER \X/e make your good people even better. Oct. 81 Byte 4 81 8 J1 Makers ol [he T-ypeMaster.'" No Problem 1 * Typewriter, No Problem Shared Systenfand EZ- 1'" Work Processor, (2a) f START J LET RECORD NO. -- 1 GET THE RECORD NAME INDICATED BY RECORD NO. IS THE RECORD | NAME > THE r- NAME DESIRED j IS THE RECORD I NAME < THE ; NAME DESIRED YES LET RECORD NO. = LESS THAN POINTER YES THE NAME DESIRED HAS BEEN FOUND ( END j LET RECORD NO.- GREATER THAN POINTER (2b) .0 3 POMEGRANATES ( 2 J OLIVE o LETTUCE ( 4 j KUMQU* "0 MANGOES ARTICHOKES 8 PEACHES ( 9 J GRAPES / 10 BANANAS Figure 2: Traversing the PDQ tree. Figure 2a is the flowchart for a method of searching a tree. Note its simplicity when compared to the binary-search method of figure la; searching the tree requires fewer steps and calculations. A sample PDQ tree (of the same data used in figure lb) is shown in figure 2b. 242 November 1981 © BYTE Publications Inc Circle 16 on Inquiry card. Please call (213) 883-8594. Our Epson prices are so low, we're not allowed to print them. 30 95 30 100 60 70 EPSON MX-80 SCALL EPSON INTERFACES & OPTIONS 80 cps/9x9 matrix/Lower case with trs-so model i hi cable true descenders/Bi-directional & trs-so model i Keyboard interface Log,c seeking/Adjustable tractor/ ™n™ce CA & cable Expanded printing/Block graphics/ ieee 488 interface Forms control/Compressed printing/ serial interface Double-strike printing/Correspon- dence quality/Emphasized printing mode/Standard parallel interface EPSON MX-80 F/T $CALL Same features as the MX-80 plus Fric- tion Feed. Adjustable removable trac- tor is standard'for ease of handling forms and single sheets. EPSON MX-100 F/T SCALL Same features as the MX-80 & MX-80 F/T but on 15 1 /2 inch carriage for print- ing 132 columns with standard 10 cpi font or 232 columns in the com- pressed character font. The MX-1 00 is complete with Dot Resolution Graphics 31245 La Baya Drive, Westlake Village, California 91362 SERIAL INTERFACE (2K BUFFER) S 149 SERIAL CABLE Male to Male . . S 30 DOT RESOLUTION GRAPHICS . $ 90 REPLACEMENT RIBBON .$ 13 REPLACEMENT PRINT HEAD (Quiet type) .S 40 EPSON SERVICE MANUAL S 40 We built a reputation on our prices and your satisfaction. We guarantee everything we sell lor 30 days. If anything is wrong, just return the item and we'll make it righl. And, oi course, we'll pay the shipping charges. We accept Visa and Master Card on all orders. COD accepted up to $300.00. We also accept school pur- chase orders. Please add $2.00 lor standard UPS shipping and handling on orders under 50 pounds, delivered in (he continental U.S. Call us lor shipping charges on items that weigh more than 50 pounds. Foreign. FP0 and AP0 orders please add 15% for shipping. California res- idents add 6% sales tax. Listing 1; The PDQ Key-File System for the Radio Shack TRS-80 Model III. This program both creates and searches the PDQ tree for files of moderate length. The program should be easily portable for any computer using a form of Microsoft BASIC. P SWANSON • -- PDQ KEY FILE SYSTEM SAMPLE. INVENTORY PROGRAM USING KEY FILE SYSTEM — - 10 CLEAR 3000 1.5 DIMCA<6> 20 0PEN"R",1„ "NEWFILEsO"! '*** NEWFILE = NAME OF FILE *** 30 FJ.ELD1., 255ASB* 40 REM ********* PARAMETER ARRAY ********** 50 REM ***** :l. # RECORDS /BLOCK *********** 60 REM ***** 2 RECORD LENGTH ************* 70 REM ***** 3 FIRST BYTE OF GR ********** BO REM ***** 4 FIRST BYTE OF LR ********** 90 REM ***** 5 KEY LENGTH **************** 100 REM***** 6 # RECORDS IN FILE (MAX) *** 1 1 REM *********************************** * 120 RESTORE 130 FQR:i>lT06 140 READCA(I) 150 NEXT I 160 DATA 8,, 30., 6, 8,, 5,, 199 199 REM**** 200 SELECTOR **** 200 CI....S 210 PRINT" ** INVENTORY PROGRAM **" 220 PRINT 230 PRINT" 1„ ADD A RECORD TO THE FILE" 240 PRINT" 2, EDIT A RECORD ON FILE" 250 PRINT" 3„ PRINT FILE DUMP" 260 PRINT 270 INPUT" ENTER NUMBER OF YOUR SELECTION" ■, N 2 8 I F N ■ 2 7 T H E N 4 290 DNNGOT 6 , 9 , 1 4 300 GOT 0270 399 REM**** 400 INITIALIZE FILES *#** 400 CLS 4- 1 P R I N T "************ * F 1 1.... E I N I T I A I... 1 1 A T ION**********" 420 PRINT 4 3 P R I N 7 " E N "!" E R P A S S W R D :: " ; 440 p$»»" 445 CC=0 4 50 Q*= I NKE Y* s I F Q * = " " THEN 45 460 I Ff3*=CHR* ( 1 3 ) THEN500 470 PRINT" X":; 480 P*»P*+Q* 490 GOT 04 50 500 I F P * = " S E CRET " T H E N 5 1 s E L S E 2 5 1 B 1 *=STR I NO* ( 255 ,, 32 ) 520 FOR I = 17025 530 LSETB*=B 1 * 540 PUT1„ I 550 NEXT I 560 M I D* < B 1 $ ,, 1 , 2 ) =-W< I * ear Warranty on Entire System Double Density Floppy Disk Drives or 10MB Winchester Hard Disk Drive -j,,™,,, , c . . c ., . ... o--mc »» 2812 CP/M, 2 Single Sided Floppies $3775.00 • 20MB Winchester and Tape Backup 2814 CP/M, 2 Double Sided Floppies 4425.00 . . „ , ... . . . . _ . .. .. . 2819 CP/M, 1 10 MB Winchester & • 8-Slot Shielded and Terminated Motherboard 1 Double Sided Floppy 6675.00 =«? □ D _____---■■ • System Software Selection includes CP/M*, 2824 MP/M, 2 Double Sided Floppies.... 5235.00 MP/M* or OASIS" 2829 MP/M, 1 10 MB Winchester & .-.,,, wuti c 1 Doubled Sided Floppy.... 7500.00 • Single-User or Multi-User Systems, Expandable to 6 Users S-100 PRODUCTS lililiiiaiiiiin liIjlflHiiM QUALITY RAM FROM SYSTEMS GROUP • Z-80 4MHZ operation with no wait states • IEEE compatible timing - 200 NS 4116\s • Factory assembled, tested & burned in DMB6400 (54 K (Bank Select, shown) $ 740.00 DMfi400 64K 540.00 DM4800 4SK 510.00 DM3200 32K 475.00 CONFIGURE A COMPLETE S-100 SYSTEM WITH 2nd GENERATION" PRODUCTS FROM SYSTEMS GROUP. • CPC 2810 (shown) Z-80A processor board (4MHZ) with 4 serial & 2 parallel ports $369.00 • CPC2813 - same as CPC2810 but 2 serial ports only $345.00 • FDC2801/8 - 8" floppy disk controller board, up to 4 single/double sided drives, single or double density $349.00 • INO-2804 - 4 channel serial I/O 329.00 • CRA-100 - Cromix' adaptor board.. $55.00 CALL US FOR OUR MOST CURRENT PRICES! -*f^ -. , 1_ •2nd Generation is a trademark of Measurement Systems and Controls, Inc. Cromix is a trademark of Cromemco, Inc. CP/M and MP/M are trademarks of Digital Research. OASIS is a trademark of Phase One Systems. 16K MEMORY ^/*^ nn EXPANSION KIT 3>-M.UU For Apple, TRS-80 keyboard, Exidy, and all other systems using 4116 dynamic rams or equi- valent. All IC's are prime Mitsubishi MI 4116-3, 200 NSEC, burned-in and fully tested. wabash 8" or 5V4" flexible diskettes certified 100% error free with manufacturer's 5-year limited warranty on all 8" media. Soft-sectored in boxes of 10. 5'/4" available in 10-sector. (Arid $3.00 Jor plastic library cases) 8" single sided, single density $27.50 8" single sided, double density 35.50 8" double sided, double density 45.50 5'V single sided, single density 27.50 5'/<" single sided, double density 29.50 5'/4" single sided, double density, 10-sector $29.50 Adds Viewpoint CRT.... 569.00 PAPER TIGER PRINTERS IDS460G9x9Dot Matrix Printer 890.00 IDS 560G Wide Carriage Printer 1099.00 8" DISK DRIVES Shugart 801R $399.00 NEC FD1160 (double sided) 589.00 Memorex MRX-101 8" Winchester style, hard disk drive, 10 megabytes $2,000.00 6502 PRODUCTS ..-~T« -Ugf/.. .' 11/ Mhttff BETA 32K BYTE EXPANDABLE RAM FOR 6502 AND 6800 SYSTEMS AIM 65 KIM SYM PET S44-BUS • Plug compatible with the AIM-65/SYM expan- sion connector by using a right angle connec- tor (supplied). • Memory board edge connector plugs into the 6800 S44 bus. • Connects to PET using an adaptor cable. • Uses +5V only, supplied from the host com- puter. • Full documentation. Assembled and tested boards are guaranteed for one full year. Purchase price is fully refundable if board is returned undamaged within 14 davs. Assembled with 32K RAM '.... $349.00 & Tested with 16K RAM 329.00 Bare board, manual & 6 hard-to-get parts. 99.00 PET interface kit. Connects the 32K RAM board toa4Kor8KPF,T $ 69.00 AIM Professional Enclosure. ..$175.00 TERMS: Minimum order $15.00. Minimum ship- ping and handling $3.00. Calif, residents add 6% sales tax. Cash, checks. Mastercard, Visa and pur- chase orders from qualified firms are accepted. (Please allow two weeks for personal checks to clear before shipment.) Product availability and pricing subject to change without notice. INTERNATIONAL ORDERS: Add 15 % to pur- chase price for all orders. Minimum shipping charge is $20.00. Orders with insufficient fundi will he delayed. Excess funds will he returned with your order. All prices are U.S. only. 1 COmPUTER DEVICES 1930 W.COUinS AVE. ORflnGE, CA 99668 (714)633-7980 KEY ALREADY IN FILE" : B0T02000 ;Q* Listing 1 continued: 660 I FE»0THENPR I NT " DUPL. I GATE - I MPUT " DESCR I PT I ON " ; D* INPUT "QUANTITY IN STOCK" ;Q INPUT "UN IT PRICE" 5 P INPUT "ARE ALL VALUES CORRECT IFQ*="N"THEN600 IFQ*O"Y"THEN700 PRINT"***** SAVING RECORD IN THE FILE *****" A*«STRINB*=D*+STRINB*<14,32) MID* EI*THEN1430 1452 SI*=SI*+STRING*(5,32) 1454 EI*=EI*+STRING*<5,32) 1460 IFSI*>STRING*(5,32)THENMID*(SI*,5, 1 ) =CHR* ( ASC (MID* 0THEN 1 690 1 5 1 I FLEFT* ( A 1 * , 5 ) >LEFT* ( E I * , 5 ) THEN 1 690 1520 L9=L9+1 1530 IFL9<55THEN1590 1540 IFP9O0THENF0RI=L9T065: LPRINT" ":NEXTI 1550 P9=P9+1 1560 LPRINT" INVENTORY LISTING REPORT PABE"5P9 1570 LPRINT" " 1575 LPRINT" ITEM NO. ";TAB<10> ; "DESCRIPTION" ; TAB <30) ; "QUANTITY" ; TAB (45) ; "UNIT PRI CE";TAB<60) ; "EXT. VALUE" 15 BO L9=4 1590 Q=CVI (MID* (Al*, 24,2) ) 1600 P=CVS(MID*(A1*,26,4) ) 1610 LPRINTLEFT*(A1*,5) ; TAB (10) ;MID*(A1*, 10, 14) ; TAB (30) ; 1620 LPRINTUSING"#####";Q; : LPRINTTAB (45) ; 1630 LPR I NTUS I NG " #### . ## " ; P ; : LPR I NTTAB ( 60 ) ; 1640 EV#=Q*P 1650 TV#=TV#+EV# 1 660 LPR I NTUS I NG "#,### , ### . ## " ; EV# 1670 A*=A1* 16B0 GOTO 1490 1690 LPRINT" " 1700 LPR I NT "TOTAL VALUE OF INVENTORY ="; 1710 LPR I NTUS I NG "#,###,###.##"; TV# 1720 G0T020O 2000 INPUT"PRESS ENTER WHEN FINISHED VIEWING" ; Q* 20 1 G0T0200 4998 STOP 4999 REM**** GET NEXT FREE RECORD - FR **** 5000 GET1 , 1 5010 FR=CVI (LEFT*(B*,2) )+ls ' Record O, bytes 1 & 2 5020 B1*=B*: ' contain the count o-f 5030 MID* (Bl*, 1,2)=MKI*(FR> : ' records used. FR is 5035 LSETB*=B1*: ' next available rec. tt 5040 PUT1, 1 5050 RETURN 5499 REM**** 5500 GET RECORD #RR - Al* **** 5500 BN=INT(RR/CA(1) ) : ' BN = block no. 5510 RN=RR-BN*CA(1)+1; ' RN = re-ference on block — 5520 BN=BN+1 5530 GET1,BN 5540 A1*=MID*(B*,CA(2)*(RN-1)+1,CA(2) ) 5560 GR=CVI (MID*(A1*,CA(3) ,2) ) : ' GR = greater reference 5570 LR=CVI (MID*(A1*,CA(4) ,2) ) : ' LR = lesser reference 55B0 RETURN 5999 REM**** 6000 PUT RECORD A* INTO FILE **** 6000 G0SUB5000: ' Get next free record 6010 IFFR>1THEN6100: ' The first record gets 6015 A1*=A*+STRING*(CA(2) ,32) : ' special treatement. 6020 A*=LEFT*(A1*,CA(2) ) : ' Pack A*... 6022 MID*(A*,CA(3) ,2)=MKI*(0) 6024 MID*(A*,CA(4) ,2)=MKI*(0) 6030 RR=FR: ' Set record number (=1) 6040 G0SUB5500: * Get record. 6050 B1*=B* 6060 M I D* ( B 1 * , C A ( 2 ) * ( RN- 1 ) + 1 , CA ( 2 ) ) =A* Listing 1 continued on page 250 248 November 1981 © BYTE Publications Inc Circle 427 on Inquiry card. * Systems II €x a total business system. JOB COSTING MENU 1. TRANSACTION ENTRY/DATE 2. JOB/TASK TABLE MAINTENANCE 3. JOB COST FILE MAINTENANCE 4. JOB COST REPORTING 5. EMPLOYEE TABLE MAINTENANCE 6. RETURN TO MASTER MENU SELECT [1-6)7 mJTr SYSTEMS II EX MASTER MENU 1. INVENTORY 7.CHART0FACCTS. 2. PAYABLES 8. VENDOR MAINT. 3. RECEIVABLES 9. CUST. MAINT. 4. PAYROLL 10. CHANGE DATE 5. LEDGER U.SYS./BACKUP 6. JOURNAL 12.ST0PPR0CSSG. ' 13. OPTIONAL PROCSS'G. LJ SELECT 11-13]? DATABASE MENU 1. FILE MAINTENANCE 2. REPORTS/REPORT MAINT. 3. UTILITIES 4. RETURN TO SYSTEM MENU- SELECT 11-4)? ACCOUNTS PAYABLES MENU 1. FILE MAINTENANCE 2. PAYMENT SELECTION SELECT (1-5)? RECEIVABLES SYSTEM MENU 1. FILE MAINTENANCE 2. RECEIPT OF PAYMENTS 3. GENERATE BILLING 4. MONTH END 5. PAST DUE REPORT 6. APPLY MONTHLY INTEREST 7. RETURN TO MASTER MENU SELECT (1-7)? LEDGER SYSTEM MENU 1. FILE MAINTENANCE 2. BAL SHEET/INCOME STATEMENT 3. YEAR END PROCESS 4. RETURN TO MASTER MENU SELECT (1-4)? INVENTORY SYSTEM MENU TIME DATE 1. FILE MAINTENANCE 2. POINT OF SALES , 3. REORDER REPORT 14. RETURN TO MASTER MENU { SELECT (1-4)? SYSTEMS II EX — EX for EXTENDED PERFORMANCE. Westware brings you the most completely integrated and simplest to use business software for your Apple Computer. The SYSTEMS II EX is complete with an integrated Database. Yes! The DBII Database can move your system's files into Database format for customized reports or labels. Although the SYSTEMS II EX is a fully integrated system, you may purchase STATE PAYROLL MENU 1. MISC/TAX TABLE MAINT. 2. TRANSACTION FILE 3. MISC. PAY/DEDUCTION FILE 4. EMPLOYEE MASTER FILE 5. CALCULATE/PRINT CHECKS 6. PRINT W2s 7. RETURN TO MASTER MENU SELECT (1-7)? individual modules and later add additional modules, such as Job Costing for contractors. The power of our system is in the KSAM Firmware card that plugs into the Apple. This card permits high speed searches and eliminates running sort routines to get your files in order. SYSTEMS II is available on 5%" drives, and also on the Corvus hard disk. A Corvus based system will give you the power and capacity that challenges larger computers. COMING SOON — Cash flow analysis with graphics, Database II with graphics, and Bill of Materials for small manufacturers. CURRENT OPTIONS AVAILABLE — Job Costing, Cycle Invoicing, Order entry, and Layaway. All Checks, statements and invoices use NEBS forms. Dealer and OEM inquiries invited. Apple is a trademark of Apple Computers. Systems H€x 2455 S.W. 4th Ave. Suite 2 Ontario, OR 97914 (503) 881-1477 Yes. please send me your Systems II Demo Package. □ Yes, I would like to sample your software. Please send me the Systems II Demo Package. My check for $25 is enclosed. Name 2455 S.W. 4th Ave. Suite 2 Ontario, OR 97914 (503) 881-1477 Title Company Name. Address City State . Zip. Listing 1 6070 6080 6090 6100 6102 6104 6110 6120 6130 6140 6142 6144 6146 6148 6150 6152 6200 6210 6220 6240 6250 6260 6270 6280 6290 6300 6310 6320 6340 6350 6360 6370 6380 6400 6420 6430 6440 6442 6444 6450 6460 6470 6480 6490 6999 7000 7010 7020 7030 7040 7050 7100 7110 7 1 20 7200 7210 7220 7999 8000 8005 80 1 8020 8030 8040 8050 8060 continued: LSETB*=B1«: PUT1, li E=0: RETURN RR=1: I FFR< =CA ( 6 ) THEN6 1 1 E=2: RETURN S0SUB5500: IFLEFT*(A*,CA(5) ) IFLEFT*(A*„CA(5) ) E=l: GET1, Is B1*=B*8 MID*=MKI*(FR LSET B*=B1* PUT1, 1 RETURN IFLR=QTHEN6240: RR=LRr, G0T06110: MID*(A1*,CA<4) ,2-)«MKi*tFR> s B1*=B* MID*(B1*,CA(2)*(RN-1)+1,CA< L5ETB*=B1* PUTl,BNs GQTQ6400 IFGR«=0THEN6340: RR=GR: B0T06110! MID* CA1*, CA (3) ,2) =MKI* (FR) : B1*=B* MI D* )=A1* Save pointer record Branch if no more rec; RR= next to search Continue searching. Spot found - pack loc, SUB? !) Save pointer record RR now=new record no. Load record space... & pack Init, new record- , CA(2) )=A1* and save it on disk A* first rec, from file G0E A*=A*+STRING* KLEFT* (Al*, CA <5) )THEN8100 IFLEFT*(A*,CA<5) ) >LEFT* (Al*, CA <5) ) THEMB200 E=0: ' FpUnd clirect.lv. Listing 1 continued on page 252 FROM FILE **** ' Start with t Q e \ z record I LEFT* < A 1 * , CA < 5 ) ) THEN7 1 00 •LEFT*(A1*,CA<5) ) THEN7200 ' Equal - record found : RETURN: i RETURN: Not found Cant, search Not found Cont. search at tt LR at # GR of key 250 November 1981 © BYTE Publications Inc DEALERS: By now you know that it takes Financial Systems GL, A/P. A/R Payroll Cash Receipts/Disb. Job Costing Mailing List Mgmt. Medical/Dental Office Scheduler Patient Billing & A/R Insurance Forms Governmental/Educational Student Record Keeping and Scheduling Fund Accounting INTERNATIONAL IICRO Circle 198 on Inquiry card. s SOFTWARE TO SELL COMPUTERS and International Micro Systems can provide you with the largest selection of quality business applications ever developed for the microcomputer industry. If you are just looking for a G.L., A/P, and Payroll, you can find them in a dozen ads in this magazine. But thers's a much bigger market for micros out there than that. Wherecan you find a fully interfaced Wholesale/Retail Distribution System? How about Manufacturing Inventory Control including Production Scheduling & Control. See that one anywhere else? Maybe your market is Medical/Dental and IMS has the full systems there too. You can't sell computers without software and IMS has the finest selection of software available for you. Each system has been developed by the IMS professional staff and we support what we sell. But thats not all. International Micro Systems has the strongest dealer marketing plan in the industry. With our $ 295 Dealer Demo System. we put all the software shown below in your office or store ready to demo to your prospectsand we include the promotional material and our unique video sales presentation to help you move systems. Give us a call or drop us a card and let us show you what selling business systems should be all about. Wholesale Distribution System Purchasing & Receiving Inventory Control Invoicing & Receivables Salesman Comm. Reporting Backorder Management Manufacturing Inventory Control Finished Goods Inventory Mgmt Parts Inventory Mgmt. Parts Purchasing & Receiving Bill of Material Production Scheduling YSTEMS Listing 1 continued: 8070 RETURN 8100 IFLEFT$(A1$,CA<5> XLEFT* (A2$,CA<5) ) THEIMA2*=A1* 8110 IFLR>0THENS150: * Check -for end o-f search- 8120 A1*=A2*: ' A2* holds next greater — 8130 I FLEFT* ( A 1 * , 1 ) =CHR* ( 255 ) THEWE= 1 : ELSEE=0 8140 RETURN 8150 RR-LR: r Continue at rec no. LR — 8160 GOT 080 30 8200 IFGR>0THENS250: ' Check for end o-f search- 8210 G0TC8120: " Borrow a few statements- 8250 RR-GR: ' Continue? at rise, no, BR— 8260 GOT 08030 Text continued from page 240: zero. This is the first record in the file, physically, and is numbered zero by the way the mathematics of the next subroutine work. This first subrou- tine simply loads the value, in- crements it, then resaves it, storing the value of the record in the variable FR (for "free record"). The second subroutine, starting at line 5500, finds a record by number and loads it into memory as the variable Al$. The record number is assumed to be in the variable RR. Since this subroutine set allows for more than one record per file block, a few formulas are required. Lines 5500 through 5520 calculate the number of the block and the relative number (ie: number of the record on the block) of the record. Line 5540 extracts the cor- rect part of the buffer (B$) for the record. Lines 5560 and 5570 "decode" the two greater than and less than pointers so that the other subroutines don't have to deal with that job. These first two subroutines are there to simply help the other ones. They can be used in any random- access file (except for the unpacking of GR and LR). The rest of the ATTENTION GOVERNMENT D P USERS AND PURCHASERS We represent many fine micro products and manufacturers on the U.S. Government's GSA Schedule, including Apple f Cromemco, Micropolh, NorthStar, Osborne and Seequa Computers Purchasing from the Schedule will save you the time consumed by the bid process. Products shipped throughout the United States and world-wide. Visit or write any of our stores for more information or to receive our catalogue of products represented. •III* . J ( Li J LVr« • • 1 the dependable store 257 We 13AAlleg 9330 Georg 6671 Bad Plaza 38, 24 Caller Career Oppc st Street, Annapolis, MD 21401 - (301) 26 heny Avenue, Towson, MD 21204 - (301) ia Avenue, Silver Spring, MD 20910 - (301 dick Road, Springfield, VA 22150 - (703) 42 Route 38, Cherry Hill, NJ 08002 - (609 s outside metropolitan areas served by our s Please call (301) 268-5801 munities Available * An Equal Opportunity 8-6505 296-0520 ) 588-3748 644-5500 ) 779-0023 tores Employer subroutines handle the actual logic of the system. Line 6000 starts the subroutine that puts a new record into the file. If it is the very first record, it is simply saved as record number one and the two pointers are both set to zero. This happens in lines 6015 through 6090. The subroutine that gets the number of the next available record (line 5000) is used in this subroutine. If it is not the first record, then a more complicated solution is re- quired; this begins at line 6100. First, the file must be searched for the alphabetical position of the new record. Start with record number one (see line 6100). Before the routine goes any further, it tests the record number to see if there is any more room in the file. If there isn't, then there is no reason to go any further, because the record cannot be added to the file. Note the use of the variable E. This is used as a form of error code. If, when the subroutine returns, E is 0, then everything went as planned. If E is returned as 2 it means that the file is full and the record is not saved. If E is 1, the key is already in the file and the new record is not saved. This will come up later in this subroutine. The search is somewhat like the binary search. The record is looked up in line 6110, which uses the subroutine at line 5500. Lines 6120 and 6130 test to see which is greater. These branch to other parts of this subroutine. If these two tests "fall through," the record has a key equal to the one to be inserted. Lines 6140 through 6152 take care of this situa- tion. First, E is set to 1 to indicate the error. Next, since the record number 252 November 1981 © BYTE Publications lnc Circle 99 on Inquiry card. H Want a Better Printer @ Lower Cost? Compare DIP with the other best seller. (3 DIP-84G XX-80 F/T Print Speed 100CPS 80CPS Head Life 100x10 6 50x1 6 Character Sizes 40,48,66,80,96,132 40,66,80,132 RS232C STD $ 89.00 Dot Graphic STD $ 90.00 Friction Feed STD $100.00 Matrix 7x7/11x7 9x9 Paper Handling Rear&Bottom Rear Short Line Logic STD STD Continuous Input STD None Buffer Size 10 Lines 1 Line 2K Buffer $ 30.00 ? Ribbon Life 5 Million 3 Million Price Basic $795.00 $645.00 Friction STD $100.00 RS232C STD $ 89.00 Dot Graphic STD $ 95.00 >-°v # 4$* ss 1 $795.00 $929.00 In addition, we offer DIP-81 $499.00 DIP-82 $695.00 DIP-85 $895.00 Low Cost Friction Feed 11x7, High Performance, Friction Feed X-on/X-off, 9600 Baud DIP; inC 745 Atlantic Avenue- Boston, MA 021 11- (61 7) 482-421 4 Circle 142 on inquiry card. Circle 458 on Inquiry card. "Forget Memory Loss Problems" RAMI.OK FEATURES: * t/-10% LINE VOLTAGE LIMITS * MAX. ONE CYCLE RESPONSE TIME * BROWNOUT/SURGE PROTECTION * BUILT IN BATTERY CHARGER NOISE INTERFERENCE PROTECTION GET STANDBY POWER UNIT PRICE $495-00 Dealer inquiries inviled LADCO LADCO DEVELOPMENT CO., INC. P. O. BOX 464, OLEAN, N. Y. 14760 716-372-0168 BITE Back Issues for sale The following issues are available: 1976: July 1977: April thru December except October 1978: February thru December except October and November 1979: January thru December except March 1980: January, March thru August 1981: February to current issue except March Cover price for each issue through August 1977 is $1.75 Domestic; $2.75 Canada and Mexico; $3.75 Foreign. September 1977 through October 1979 issues are $2.50 Domestic; $3.50 Canada and Mexico; $4.50 Foreign. November 1979 to current is $3.00 Domestic; $4.00 Canada and Mexico; $5.00 Foreign. Send requests with payment to: Please allow 4 weeks for domestic delivery and 8 weeks for foreign delivery. * Payments from foreign countries must be made in US funds payable at a US bank. BYTE Magazine 70 Main St, Peterborough NH 03458 Attn: Back Issues will not be used, the value of the variable used to count the number of records used must be restored. It was incremented by the GOSUB 5000, so lines 6142 through 6150 decrement it, then 6152 returns to the main pro- gram. If the key to be inserted is less than the key in the record just loaded, line 6120 branches to line 6200. If there are no records indicated by the variable LR (ie:, LR = 0), then the spot to link up this new record is found and line 6200 branches to line 6240. If LR does contain a record number, then RR, which is the record number to test, is set to this pointer (LR), and the routine returns to line 6110 to continue the search. Line 6240 begins the section of pro- gram that inserts the record when it is less than the last one found in the search. The less than pointer is up- dated in lines 6240 through 6260 so that it will point to the new record. It is resaved in line 6270, then the routine branches to line 6400 to pack and save the new record. Between line 6290 and that routine in line 6400 is the routine that handles the situation where the record to be inserted is greater than the record be- ing tested in the search. Line 6130 tests this and branches to line 6300 if the condition is true. This is almost the same as the routine just described that starts at line 6200. The difference is that GR is the pointer used instead of LR. Line 6400 packs and saves the new record. By the time the routine gets to this line, the record that points to it has been updated. This part of the program just sets up the record and saves it on disk. E is set to just before the RETURN statement to in- dicate that all went well. The other two subroutines are variations of the search described for the subroutine that puts a new record into the file. The subroutine starting at line 7000, which gets a record from the file given the key, is the search with the values of the error code (the variable E) set to if the record is found and to 1 if it is not in the file. The last subroutine allows the reports to be in alphabetical order. It will take a key and find the next one 254 November 1981 © BYTE Publicatiora Inc Circle 416 on inquiry card. TRANSWAVE'S Tiny BASIC MICROCOMPUTER K-8073 The Computer That Recaptures Simplicity STD (MOD) BUS 4.5 x 6.5 in. 5 Volt Only— Cassette Tape In/Out — 2 Sense — 3 Flags — Interrupts IK Byte Local RAM [Expandable to 33KJ ART/RC Master, For Single Wire Data I/O Of 128 Slave Units Real Time Clock W/Ext. Battery Backup Yr, Mo, Wk, Day, Hour, Sec. INS8073 Microinterpreter Tiny BASIC Processor Autostart EPROM 2K Byte Utilities Firmware, For Software Dev., EPROM 2K EPROM— 2K Byte [Expandable to 24K] EPROM Programmer, 2K Byte Prm. Decoded — Req. Ext. 25V Only PP1, Programmable I/O, 24 Lines ^^►►►►►►decision ►►►►output TODAY'S NEEDS How many times have you thought about designing or purchasing the ultimate intelligent control system but were dis- couraged by the R&D time or price? Transwave took the initiative of design- ing one for you. Combining versatility with low cost, the K-8073 Tiny BASIC Microcomputer has already taken the lead in the process control market. Pro- gramming is reduced to mere hours because of the on-chip Tiny BASIC Microinterpreter. I/O is extended to previously unheard of limits because of the on-board ART/RC (Asynchro- nous Receiver Transmitter/Remote Controller). This processor-like chip provides bi-directional serial communication be- tween the K-8073 and its remotely located peripheral I/O devices. In addi- tion, the K-8073 can operate in a stand- alone, satellite, or host mode. When interfaced thru RS-232, you can utilize your host computer, large or small, for polling, editing and mass data storage. INPUT The DI-8020 is a 20 channel A/D input module designed to collect data from remote sensors monitoring temperature, humidity, light, pressure, etc. Each A/D module is capable of monitoring 16 analog and 4 digital signals. Remark- ably versatile, the DI-8020 is adaptable to any environment. In addition to an extensive input range, this A/D module eliminates the usual installation hassles because of the unique ART/RC communications route. A single twisted pair or coaxial wire serves as the bi-directional DPW (Data Pathway) between the DI-8020 and the K-8073 Tiny BASIC Microcomputer. DECISION After receiving data, the K-8073 exe- cutes from your EPROM based Tiny BASIC program. OUTPUT Completing the cycle of I-»D— O is the DO-8028; an 8 channel TRIAC Control Module. This board features 8 optically isolated TRIACS with a maximum rat- ing of up to 300 Watts AC control per channel. Receiving commands from the K-8073 via the full duplex DPW, you can daisy chain as many as 128 of these "slave" stations. STAND ALONE SIMPLICITY Whether you free your mainframe, free your mini or start from scratch, you can let closed loop control be the minimum configuration it should be. These cards are exactly the fundamental pieces needed for today's control applications. To order your K-8073 or for further in- formation on the Vanderbilt Series 8000 Product Line, write or call: TRANSWAVECORPORATION, Cedar Valley Building, Vanderbilt, PA 15486 Phone: (412) 628-6370. II" ■* 41 MlkllMlliri! COMPUTER DIVISION OF UTSC Circle 104 on inquiry card. Z8000i MICRO PRICE for MINI POWER MICRO-MINI '" matches Series I by IBM DELIVERING CURRENT ORDERS You cannot buy a more powerful micro: • Power: 1 to 32 independent users • Memory: directly addresses to 16 Meg! • Mapping: efficient memory management • Disk: 2M to more than 250M • Speed: throughput 10 times Z80 • Files: simultaneous access • Communication: inter-user via terminals • Security: all files password protected • Options: expandable in the field • Bus: Intel Multibus'" compatible • Languages: Pascal, basic. COBOL. FORTRAN System 3 $7053 This 16-bit Multibus" computer system includes: • Z8001 CPU and 256K RAM • 8 serial I/O ports • 15- slot backplane • Dual floppy disk drives • Multiuser Operating System Field upgrade to 16MB RAM, 26BMB of hard disk, 32 users. Pascal, BASIC, C, COBOL and FORTRAN languages. Call for further system specifications. AMPEX Dialogue 80™ Dialogue 80'" fully- featured video terminal: • Full ASCII with numeric and edit keypads • Elegant case with detachable keyboard • Display 24 lines with 25th status line • 20 user programmable function keys • 2 pages display memory (4 optional) • 1 1 graphics and 21 control codes • 10 modes including block, protect, program • Transparent mode displays control codes Dialogue 80'" , $1045 Dialogue 80™ with phone coupler.. ....... 1194 Applications: word processing, data entry, interac tive programming, data base inquiry/response/ update, transaction processing, whether on-site or remote. For our system or for yours, this inter active terminal is the perfect match. Prices: Prepaid or Purchase Order Net 10. Prices subject to change without notice. Warranty: 120 day minimum on all systems. Interfacing cables free with all systems. 10% down fixes price, guarantees priority. MasterCard and VISA cards accepted. (312) 684-3183 W COMPUTEX ^•k \ MICROCOMPUTER SYSTEMS \ \ \ 5710 Drexel, Chicago, IL 60637 in the file that is greater. How it works is fairly simple. It first in- crements the value of the last byte in the key, which makes it the next possible key higher than the one given. It then searches the file in the same manner as the other two sub- routines. If the key is found, there is no problem. The key found is the next higher key in the file. The interesting part is the condition where the key is not found. The key found may not be the next greater key (the "key found" meaning the last one tested in the search). A2$ is used to locate the next greater key. It is initially set to the highest possible value for a string (ASCII code 255). When, in the pro- cess of searching, the key loaded is greater than the key being searched (which causes line 8040 to branch to line 8120), the key loaded may be the correct one. It is greater than the one being searched. If it is also less than A2$, then line 8100 sets A2$ equal to it. The rest of the searching is the same except for the end of the search, which is handled by lines 8120 through 8140. Al$ is the string that is to contain the next greater record, so it is set to A2$. Line 8130 checks to see if a greater key was found. If there are no greater keys in the file, then the first byte of Al$ will be CHR$(255). If it is not, then the next greater key was found. Line 8130 sets E equal to 1 if there are no greater records in file and to if the next greater record is found and returned in Al$. Deleting Keys This is the simplest key-file system I know. Like the bubble sort, it is slower than other methods, but is so much simpler to program that it is hard to pass it up in favor of other methods. One drawback, however, is not easy to ignore: there is no way to delete a key. This is due to the pointers. Unless the key was at the end of one of the branches (ie:, both pointers were zero), deleting it would involve changing the pointers of many records. This would be a com- plicated routine. A simple solution is to insert a code in the record of a deleted key, leaving the pointers and key intact so that the key will not interfere with future searches. When the file is getting full and there are a lot of deleted records in it, a program can be set up to read this file as a simple random-access file and insert the records that do not have the delete code into a new file using the subroutines. This will form a new file with no deleted records in it. Accessing the Key File The program used to access these files will show how to use the sub- routines. It begins at line 200 with a selector. The selector lists three selec- tions and requests the operator's choice by number. A "hidden" selec- tion is used to allow initialization of the file. This must be used before the first record is entered and can be used at any time to wipe out all of the records in the file and start out fresh. The rest of the program is divided by line number into functions cor- responding to the selections. The first routine, starting at line 400, is the "hidden" selection (number 27). Lines 430 through 500 request and interpret a password so that some protection in addition to the hidden selection is provided to prevent someone from wiping out your data. Lines 510 through 590 save blocks full of spaces in each block that can be used accord- ing to the parameter array. The pro- gram then saves a in the first two bytes of record number so that the subroutine at line 5000 can use it as the record counter. The function starting at line 600 allows the addition of a new record into the file. In this example, the key is the item number and that is re- quested first. Next, the function uses the subroutine starting at line 7000, which gets the record given the key. If this subroutine finds the key and returns E equal to 0, then the key is already in the file. This causes the error message to be displayed. If it is not found (E = l), then the function proceeds to request the information you want the record to contain. When this has been entered, lines 730 through 790 pack it all into the string A$ and call the subroutine starting at 256 November 1981 © BYTE Publications Inc AH-H A ! EUREKA! ALLRIIIGHTI Introducing " Popular Computing/ ' the key to understanding* Now you don't have to be a computer professional to unlock all the mysteries, potential, and pleasures of home and small business computers. Popular Com- puting, the new monthly magazine from McGraw- Hill, is the key. Created in response to growing demand for our informative quarterly onComputing, Popular Com- puting explores every aspect of personal com- puters and their use. All reported in easy-to- understand nontechnical language. POPULAR. POPULA COMPUTING Choosing YourPopi Com, Wlwtto Where ci Buy It Compute YaurSmal: Business Asimov Reviews Asimov Home Computer Games The answer to ' * Computer phobia. ' ' Even the most computer- unsophisticated reader will find Popular Computing interesting and stimulating. Every issue will contain straight- talking product reviews, special news briefs, and feature articles by famous guest contributors (like Isaac Asimov). There'll even be a helpful glossary of computer jargon we couldn't avoid using, and much, much more. Special Introductory Offer. Send in this coupon to- day, and take advantage of Popular Computing's Special Introductory Offer. ,;/,*!" COMPUTING THE KEY TO UNDERSTANDING P.O. Box 397, Hancock, NH 03449 DATA FILE LAYOUT FILE NEWFILE — Inventory file to test subroutines FILE TYPE Key ACCESS BY Item Number VARIABLE START LENGTH PACK DESCRIPTION 1$ GR LR D$ Q P 1 6 8 10 24 26 5 2 2 14 2 4 Integer Integer Integer Alphanumeric Integer Single precision Item no. (key) Greater pointer Lesser pointer Description Quantity Unit Price Total Rec. Length = 30 # Rec./block = 255/30 = 8 First byte of GR = 6 First byte of LR = 8 Key Length = 5 # Rec. in file = 199 Table 1: A data-file layout f in when the record is in the irm. It shows the variables that the values will be stored memory and where each field is packed in the memory. line 6000 to insert this new record in- to the file. Note that there is no check for the error code E if E is equal to 1, which indicates that this is a duplicate key, because that was already checked by the subroutine called in line 650. There is a need to check for the end-of-file condition where E is equal to 2. This could be added to the function at this point. The fields in the file are shown in table 1, which is a data-file layout form. This table shows the variables that the values will be stored in when the record is in the memory and where each field is packed in the record. The information on this sheet is used to determine much of the in- I IMPORTS COMPUTERS NEW EPSON MX-BO's/100'8 Call for prices! OkldotaM-oO $374.00 OkldaraM-82A $589.00 Okldora M-80A $765.00 , HIGHSPEED Anadex 9500/9501 $1274.00 Datasourh ■ 1 80 New CP-Graphlcs call TI810Boslc $1295.00 [PAPER TIGERS] /%: i 445G $749 460G $895 560G $1129 northstafT" Burned and rested • backed by fast warranty service. Exclusive Sail® CP/M ! Increases drive capacity. Octoli and Winchesters available. Our Northstars are berter then "factory sealed" - call us - we'll tell you why. (free gomes disk). HRZII64KDD $2795.00 HfcZII64KQuad $3095.00 Advantage Call TELEVIDEO A new line of micros from the leading name In rerminols. Sysrem 1 includes 64K RAM, CP/M®, 1 MG on floppy, diagnostics, and more. System 1 $2385.00 ALTOS Single user 8000-2 Includes dual 8" double density drives (1 Mg. capacity), two serial ports, two parallel ports, ond CP/M®. Coll for other Altos prices. ACS8000-2 w/ CP/M $2995.00 ZENITH The all-in-one computer that's backed by your local Zenith/Heath service center. Green Phosphor screen ond CP/M" included. $2144 Z89w/46K 2S10's ATARI 800 S739.00 / ONYX SYSTEMS CALL. f*. \ y / v Scottsdale System Sw. 6730 E. McDowell Rood, Suite 1 1 0, Scortsdole, Arizona 85257 S (602)941-5856 Coll 8-5 Mon.-Fri. (We Export) TWX 910-950-0082 (IMEC SCOT) Televideo 910 Hozelfine Esprit ADDS Viewpoint Sorec IQ 130 $589 $589 $559 $589 TELEVIDEO Televideo 912 Televideo 920 Televideo 950 Ampex D80 D80 Amber Mime Act 5A ADM - 3A Soroc 120 $925 $969 $799 $775 $674 MORE P RINTERS Cenrronics 739 $649.00 Mallbu Dual Mode 200 $2395.00 DECLA34AA $1049.00 Monnesmann-Tolly MT-1802 $2095.00 NEC 5510 $2689.00 Diablo 630 $2295.00 C.ltoh Starwriter $1370.00 Qume Sprint 9/45 $2095.00 *Trocrors included in price ORDERING MAIL ORDER ONLY 2% cosh discount included/charge cords add 2%. Prices subject to change, product subject to availability. Arizona residents add 5%. F.O.D. point of shipment Sconsdale. 0-20% restocking fee for returned merchandise. Warranties included on all products. Personal checks take 3 weeks to clear. CP/M is o registered trademark of Digital Research. WE'RE LETTING YOU IN ON A BIG SECRET For the last couple of years we have been quietly delivering thousands of Tandon mini floppy disc drives into British computer manufacturers. Unfortunately, from the front they look very like someone else's but as soon . • as you boot your sys tern, little J& ..... things like the 3mS step ... <&k V*,. -f speed not to mention £ /^0 % capacities up to 1 M/byte ■€%, ^ ■- start to give the game away. yfc ^ 1 Our range runs from the 100 >; &?, K/byte TM 100-1 through to the 1 M/byte TM 100-4 which is presently manufactured at the rate of over 20,000 units a month. Many floppy disc manufacturers will tell you that they make their own read/ write heads.but what they really mean is that a lot of the time they buy in pre-ground core sets and coils and then glue all the bits together. Tandon grind their own cores, wind their own coils and more importantly control the quality themselves. This means that when the pieces go together they perform the way they are supposed to. Tandon build heads with electrical and mechanical specif ica tions that the competition cannot even approach. When you start to pack 1 M/byte onto the drive you will see what we mean. landon MAKE MORE OF WHAT THEY MAKE. Half-size 8" Floppy Our revolutionary new THINUNE can pack a fantastic 2 M/bytes into the space normally occupied by a single conventional 8" floppy disc drive. The THINUNE uses only DC power and has a step speed of ONL Y3mS. The read/write head is guaranteed for 15,000 media contact hours and the double sided drive uses the patented Tandon head design to work reliably without damaging the media. The TM848-1 single sided and the TM848-2 double sided drives are also available in packaged form complete with power supplies as are our minis. TM600 Series Winchesters 9.57 M/bytes in a mini floppy size package Our new mini Winchesters pack up to9.57 M/bytes into a desk top size disc package and come complete with controllers and interfaces, where needed, to work directly with CP/M 2.2 on most of the popular micros. 6.38 M/byte systems start from as low as £1425.00. TM600 Winchesters pack enough data to run serious business or technical applications software on small systems. Our650 Winchestercontrolleris the definitive OEM product. ..simple to interface and built completely from TTL components. It supports two discs with ease and while others are struggling with less stable analog data separators and speed eating error correction circuits.we use a high performance digital design which literally locks into the data stream and stays there. CP/M BIOS with extensive development aids on either 5V« "or 8" floppies combined with our own support team makes integration simple. Service and Support We at HAL know that when an OEM customer buys a product he is sticking his neck out and putting his trust in the supplier. We supply promptly and if you have any technical problems we will help you to sort them out. Call us any time knowing that you will get support that is second to none. We hold emergency spares, we can fix drives in a top priority 24 hours when really needed and we have a large investment in in-houseauto drive testing equipment which allows us to run up to 73 different diagnostics on your drives. To our knowledge there is no other supplier in Europe that does this. Our auto testers, by the way, are the same ones that Tandon use on the end of their production line. If you needless expensive test equipment, ask us about our OASIS 820 portable tester which we manufacture ourselves to fix not only disc drives but a lot of other peripherals as well. We also run regular training courses for service and production engineers. If you want to use the most up to date small disc drives made by the undisputed market leader and you would like to deal with a supplier who understands your needs and works to get your product into the field and then helps you keep it there, give us a call. HAL Computers.. ..making small discs work for you. HAL Computers Limited 57WbodhamLane New Haw Weybridge Surrey ENGLAND Telephone' Weybridge 4834617 Ma Circle 460 on inquiry card. Circle 190 on inquiry card. THE MOST POWERFUL SMALL BUSINESS COMPUTER IN THE WORLD The IBC ENSIGN business computer was designed from the ground up to run MP/M. multi- user OASIS, MVT-FAMOS, and other multi-user Z-80 operating systems faster than any other computer in the world. Consider these features: • Up to 16 users • Up to 768K byte memory • Up to 150M bytes/disk drive • 17M byte tape cartridge • 46M byte 9 track tape • 6 MHz Z-80B CPU But it takes more than a lot of I/O ports, memory, and disk storage to make a super multi- user computer. The ENSIGN has what it takes. MULTIPE MICROPROCESSORS: The ENSIGN has two separate Z-80's and 32K byte memory buffer to handle all I/O between CRT's and printers at baud rates up to 19,200 baud. A third Z-80 handles all disk and tape I/O. Commands from the main CPU are totally supervised by the disk slave Z-80. And the main CPU is the new 6 MHz Z-80B running at full speed with 120 nsec memory. PERIPHERALS: The ENSIGN supports the tape and Winchester disk family from Kennedy Co. These drives, tape cartridges, and 9 track tape drives are the premier of the industry. Yet prices are low on the ENSIGN. SOFTWARE: If you are running MP/M, OASIS, or MVT-FAMOS you will run better on an ENSIGN. And if you're not already tied to one of these systems you may want to try IBC-SUPERDOS. SUPERDOS is very powerful and very very fast. For dealership information contact: T^E^ / lnte 9 raled JJD^^ Business ~ Computers 22010 S. Wilmington Avenue, Suite 306 Carson, CA 90745 • Call (213) 518-4245 Glossary Array: A list or table for holding data in such a way that each datum may be accessed by one or two index numbers. Binary search: A method of searching an ordered list for a test value by comparing the test value with the value located at the middle of the list. This procedure effectively divides the list into two sections, and the search proceeds in the section having the value being tested for by, again, comparing the test value with the value located at the middle of the sec- tion. Character: A number or symbol that represents some amount (usually 8 bits) of information. Fields: A region of data within a record that refers to the same general properties as corresponding regions in other records. Hashing: A method of searching a list by using a portion of the test value as an index. Key: The field of a record that may be compared with a test value. Pointer: A variable or memory location whose value is the address of a memory location. Random-access file: A disk file whose records may be read in any order. Records: Divisions of data in a file such that each of the divisions contains the same type of information at corresponding positions. Search: To examine a file to locate certain information. Sequential file: A disk file whose records may be read only in sequential order. Sort: To put the records of a file in order according to the data they contain. Te9t value: The information that a file is being searched for. formation required in the parameter array. The next function, which starts at line 900, allows you to change data in records that have already been saved in the file. Lines 900 through 1030 get the item number to edit, load, and unpack the record, and perform some checking concerning the key entered. The checking consists of two parts. The first allows an "escape" from the function. If the key entered is "END," the function branches back to the selector. The second check is if the record is in the file. If it is not, the message at line 980 is displayed. The checking is on the error code E after the GOSUB 7000. The rest of this function could take many different forms. The one I used here allows the operator to select, by number, 1, 2, or 3 for the field to edit, to end editing and resave the record, or —1 to end the edit of this item and not post any changes. A —1 simply causes a branch back to the beginning of the function. The is handled in lines 1160 through 1280. Lines 1160 through 1220 repack the fields into the string A$. In order to resave the record, this function first reloads it (the "old" version before the changes were made), then re- places the area in the buffer with the new version of the record. The last function, the printout, uses the "get next higher key" subroutine. This function begins at line 1400. Lines 1430 and 1440 request the starting and ending keys for the listing. After these are checked (to make sure the starting key is not greater than the ending key), line 1460 decrements the first key. The listing will be in alphabetical order by continually calling the subroutine starting at line 8000, which gets the next higher key. By decrementing the first key, the first key that will be printed could be the key entered, if it is in the file. If this decrementing were not done, and the starting key were a key in the file, the function would start with the next greater key rather than the one entered. The part of this function that con- trols which key is to be printed is in lines 1490 and 1500: 1490 gets the next greater key and line 1500 checks for the end-of-file condition. Added 260 November 1981 © BYTE Publications Inc I want to turn my microcomputer into a powerful information and communications system. Send me your free Information Kit. No, Thanks anyway, I'm already on-line with THE SOURCE If you are not one of the more than 1 1 ,000 microcomputer, data terminal or communi- cating word processor owners who already subscribe to The Source, send in this coupon or call us toll-free. We will send you our free Information Kit that de- scribes the over 1200 programs and services now available from The Source. You'll see how easy it is to turn your microcomputer into a powerful information and communications system. With TheSource, you get hundreds of useful services for the home or for helping you run your business more profitably. You can get current stock prices, make airline reserva- tions, find a good restaurant, barter goods and services, get up-to-the-minute sports and news from UPI. You can communicate instantly through electronic mail with branch offices and field representatives subscribing to The Source; you can create your own bus- iness programs.on either a simple or sophis- ticated level. In addition to all this, you also have access to hundreds of easy-to-use data bases, elec- tronic games, informative and educational For free Information Kit call toll free 1-800-323-1718 Ask for operator 91 . In Illinois, 1-800-942-8881 1 6-page color brochure. Complete listing of 1200 programs. programs (including lessons in geometry and spelling, foreign language drills and math reviews), and a unique shop-at-home service that lets you buy over 30,000 brand name items at discount prices. You can do all of this easily and inexpensive- ly with a local phone call in more than 350 cities across the coun- try, and at a one-time subscription fee of only $100.00 and usage costs as low as $4.25/hour. If you'd like to get the most out of your per- sonal computer or data terminal, call our toll- free number or send for your free kit today. You have nothing to lose and a world of infor- mation to gain. Mail to: Source Telecomputing Corporation, Dept. (HG-5) 1616 Anderson Road, McLean, Virginia 22102. Company^ Address City_ _State_ Zip. Telephone [ )- Type of Equipment . LU X SOURCE AMERICA'S INFORMATION UTILITY The Source is a servicemark of Source Telecomputing Corporation, a subsidiary of The Reader's Digest Association, Inc. Circle 387 on Inquiry card. BYTE November 1981 261 Circle 399 on inquiry card. DISCOUNT HARDWARE IEEE 696/S-100 Standard Boards $50,000 inventory - we probably have your board in stock!!!! CompuPro' from I STATE OF THE ART GPU BOARDS DUAL CPU 8/16 bit $349 Z-80 CPU $189 FAST RELIABLE STATIC MEMORY 32K $395 64K $ 695 48K $549 128K $1,495 SYSTEM AUGMENTATION l/O-l or l/O-ll $199 DISK-1 DMA Disk Cont $399 SUPPORT-1 Multifunction $299 Accolades - ' 7 appreciate the way you do business and you can count on me to be an ad- vocate of your company ..." Or. Graham Palmer, Professor Biochemistry — RICE University DISCOUNT HARDWARE Division of System Interface Consultants, Inc. 1 7440 Revello Drive Pacific Palisades, CA 90272 Enclosed is $ Please express the following assembled, tested, and warranted IEEE 696/S-100 boards: Name Address. Phone i ). Add $25 to each order for express shipping, handling and insurance. California residents add 6% tax. Allow 2 weeks for personal checks. Prices subject to change Follow the lead of the developers of dBASE-l I , buy your Dual CPU, Disk-1, Support-1, 64K memory, and CP/M-86 from DISCOUNT HARD- WARE Special Offer DUAL CPU Package $1,974.00 Z-80, Disk-1, 1/0-1, 64K memory, and CP/M-80 Special Offer Z-80 Package $1,595.00 10 slot mainframe with 2 Qume Double Density - DOUBLE SIDED disk drives, and powersupply $1,795.00 System Interface Consultants, Inc. (213 ) 454-2100 Established 1969 262 November 1981 © BYTE Publications Inc Recommended Reading In 1973, Donald E Knuth of Stanford University produced what must be the definitive work on computer-programming techniques: The Art of Computer Pro- gramming (Addison-Wesley) . It is a set of three volumes covering nearly every useful software trick, and it rates many varied competing techniques to show what works best under given circumstances. Because the computer's main purpose is to keep, sort, and search lists of data (just as the wheel's reason for being is to roll), a large portion of Knuth's work is dedicated to the storage, arrangement, and selection of data. I especially recommend: Volume 1, Fundamental Algorithms Chapter 2, Information Structures (page 228) Volume 3, Sorting and Searching Chapter 5.2, Internal Sorting (page 73) Chapter 5.3, Optimum Sorting (page 181) Chapter 6, Searching section 6.2.1 Searching an Ordered Table (page 406) section 6.2.2 Binary-Tree Searching (page 422) to this control is the logic in line 1510, which checks that the new key is not greater than the ending key, and line 1670, which places the last key printed into A$ for the next search. The remaining statements simply format the output. Added to the func- tion for the inventory application is the extended value, which is the quantity times the unit price. This is accumulated in line 1650 so that the total value of inventory can be printed at the end of the report. Possible Modifications The program given in the listing has no provision for deleting a record. As noted above, a key can- not be deleted from this type of file without extensive reshuffling of the pointers. A few simple alterations can add this function. The file layout must be altered first to add a one-byte field that is to serve as the delete code. For all active, not- deleted records, this field can store the letter A. When a record is deleted, use it to store the letter D. The easiest way to do this is to shorten the description by one byte and put the code where the last byte of the description was. Change the two packing routines to reflect this adjustment. There is one in the input section starting at line 740 and there is another one in the edit section starting at line 1160. Also change the printout section at line 1610. Additional changes will also be required to check this byte in the edit and report sections so that a deleted record will not be edited or printed. In the input section, you may want to introduce some way to change the delete status if the user enters the key of a deleted record. This could be part of the edit function, where it would be easier to program, but it would be easier for the user if it was added to the input section. The subroutines are fairly short, but they can be made even shorter by combining some code. This is a fairly new subroutine set for me, so it has not been subjected to any refinement. It has passed several tests, but it may still have some bugs. One obvious part of the program that can be shortened is to replace lines 6015 through 6090 with a GOTO 6400. Although the variable use is a little different, these routines do exactly the same thing. You may want to find some of these condensable parts or, since the subroutines work the way they are, you may want to use them without any changes. The programming was done on a Radio Shack Model III system. Since this uses a form of Microsoft BASIC, adaptation of this program to other systems that also use Microsoft BASIC should not be a big problem. Adaptation to other types of BASIC may be a little more difficult. I hope the structure of the program and the remarks make this task easier for anyone attempting that.B 2S2? *Q1 UP, , "N uiin ClL « • i 1 ' 4 1 t ■ ft • till , 1 1 ■ 1 I At •>CV ■ Turn your Apple into the world's most versatile personal computer The SoftCard™ Solution. SoftCard turns your Apple into two computers. A Z-80 and a 6502. By adding a Z-80 microprocessor and CP/M to your Apple, SoftCard turns your Apple into a CP/M based machine. That means you can access the single largest body of microcomputer software in exist- ence. Two computers in one. And, the advantages of both. Plug and go. The SoftCard system starts with a Z-80 based circuit card. Just plug it into any slot (except 0) of your Apple. No modifications required. SoftCard supports most of your Apple peripherals, and, in 6502-mode, your Apple is still your Apple. CP/M for your Apple. You get CP/M on disk with the SoftCard package. It's a powerful and simple-to-use operating system. It supports more software than any other microcomputer operat- ing system. And that's the key to the versatility of the SoftCard/Apple. Circle 272 on Inquiry card. BASIC included. A powerful tool, BASIC-80 is included in the SoftCard package. Running under CP/M, ANSI Standard BASIC-80 is the most powerful microcomputer BASIC available. It includes extensive disk I/O statements, error trapping, integer variables, 16-digit precision, exten- sive EDIT commands and string func- tions, high and low-res Apple graphics, PRINT USING, CHAIN and COM- MON, plus many additional com- mands. And, it's a BASIC you can compile with Microsoft's BASIC Compiler. More languages. With SoftCard and CP/M, you can add Microsoft's ANSI Standard COBOL, and FORTRAN, or Basic Compiler and Assembly Lan- guage Development System. All, more powerful tools for your Apple. Seeing is believing. See the SoftCard in operation at your Microsoft or Apple dealer. We think you'll agree that the SoftCard turns your Apple into the world's most versatile personal computer. Complete information? It's at your dealer's now. Or, we'll send it to you and include a dealer list. Write us. Call us. Or, circle the reader service card number below. SoftCard is a trademark of Microsoft. Apple II and Apple II Plus are registered trademarks of Apple Computer. Z-80 is a registered trademark of Zilog. Inc. CP/M is a registered trademark of Digital Research, Inc. CONSUMER^ PRODUCTS Microsoft Consumer Products, 400 108th Ave. N.E., Bellevue, WA 98004. (206) 454-1315 System Review Orchestra-80 Elizabeth Cooper and Yvon Kolya POB22 Peterborough NH 03458 Soon after the release of the Radio Shack TRS-80 microcomputer by the Tandy Corporation, programs promising to turn the TRS-80 into a music-producing in- strument appeared. These programs used an AM radio to pick up and amplify the RFI (radio-frequency interfer- ence) given off by the Z80 microprocessor and its support devices. The RFI produced by carefully arranging rou- tines executed by the computer played recognizable notes through the radio. The disadvantages to this method were: • the limited range of notes that could be produced • the odd timbre of the notes • distracting noises produced by the system were also played through the radio, usually at the same time as the notes The next stage in this development involved the use of the cassette-data port. Specific notes were generated by TRISWATCH Keeps your TRS-80 Mod II up with the times. The Triswatch, formally known as the CCB-II, is a clock, calendar, and audio alarm rolled into one! ■ ForTRSDOS users, the CCB-II eliminates the hassle of setting the time and date when you reset your Mod II. ■ The P&T CP/M® 2 system date and time are synchronized to the CCB-I I each time the system is reset. ■ The CCB-II is directly accessible from any language that allows direct port input and output. ■ A pacemaker battery is included, which provides over 8 years of continuous timekeeping. Keep up with the times and order the CCB-II for $1 75 plus shipping. TRS-80 is a trademark of Tandy Corp. CP/M is a registered trademark of Digital Research Inc. PICKLES & TROUT 1 K0U1 ® P.O. BOX 1206. GOLETA.CA 93116. (805)685-4641 Warning: Installation requires opening the Model II, which may void its warranty. We suggest waiting until the warranty period has expired before installing the CCB-I I. mathematical algorithms. These notes were then sent to the cassette port of the computer, where they were either recorded on tape or played through a small audio amplifier. This procedure produced a wider range of purer- sounding notes, but they sounded as if they were made by a toy electronic organ rather than by a true musical in- strument. This was due to the circuitry used in the TRS-80 to process signals sent to the port. Now, three years after its appearance on the market, it is possible to use the TRS-80 to its fullest capabilities in music generation. The company responsible for this breakthrough is Soft- ware Affair Ltd. The product is Orchestra-80 (see photo 1). Orchestra-80 claims to be a "unique combination of hardware and software that can turn any 16 K-byte TRS-80 (Model I) Level II into a high-quality musical in- strument," and it is. The hardware is a small circuit board soldered to a 40-pin edge-card connector that attaches to the TRS-80 expansion port, either on the computer keyboard unit or the expansion interface (see photos 2a and 2b). The cir- cuit board has an RCA-type phono jack that can be con- nected to any hi-fi amplifier with an RCA-type patch cord. The circuit board is not an amplifier, but a buffer- ing device between the TRS-80 and a hi-fi amplifier. This Name Documentation Orchestra-80 40-page manual Type Format music-generation soft- cassette tape ware/hardware combina- tion Computer TRS-80 Model I, Level II, Manufacturer 16 K programmable Software Affair Ltd memory 473 Sapena Ct, Suite 1 TRS-80 disk-based Santa Clara CA 95051 Model I (408) 295-9195 Audience Price music schools, teachers, $79.95 students, and anyone in- Dimensions terested in computer- 2 by 1 by 1 3 A inches generated music (hardware) 264 November 1981 © BYTE Publications Inc Circle 344 on inquiry card. Circle 28 on inquiry card. Take a look at our EPROM blaster for your Apple" or TRS-80; % Apparat announces the most versatile EPROM burner available today for your TRS-80 model I and III or Apple computer . . . the Apparat PROM Blasting system (A.P.B.). Most EPROM burners will program only one type of EPROM. The A.P.B. system will program all commonly used 24 pin EPROMs by using special personality modules that adapt the unit to the EPROM. The following EPROMs are programmable: 2704, 2708, 2716, (3-volt) & (5-volt), 2732, 2508, 2516 and 2532. The versatility and power of the A.P.B. system means you're getting a PROM burning package with extensive capabilities. The price, $149.00, insures you're getting the most cost-effective PROM burner on the market today. With a unique combination of personality modules and sophisticated software, A.P.B. will perform many operations impossible with conventional PROM burners. Mere's a brief list of some of A.P.B. s capabilities: • Verify ROM is erased • Read ROM • Copy ROM • Copy between different ROM types • Program ROM • Partial programming and copies ■ Verify programming • Read or save ROM data on disk or cassette (Apple only) • Program directly from computer memory ■ Examine and/or modify working memory • Preset working memory The A.P.B. system is the most flexible PROM burner available. The A.P.B. system package consists of an interface card that plugs directly into an expansion slot*, a complete set of personality modules, software on disk and a detailed instruction manual. The software will run under NEWDOS/80, or TRSDOS™ for the TR5-80, and APPLE DOS™ or APEX for the Apple. If you're looking for a powerful, versatile and cost efficient EPROM burner, call APPARAT today. Dealer inquiries welcome. (303) 741-1778 "TRS-80 version requires the TRS-80 bus extender (Cat. # 1-025) or a separate user provided power supply and cable. TRS-80, and Apple are trademarks of Tandy Corp. and Apple Computer. H Apparat, Inc. 440 1 So. Tamarac Parkway, Denver. CO 80237 (303) 741-1 778 "CWY GOING SUPPORT FOR MICROCOMPUTERS' <*> 5H ^3> fa2 k^ ^SX ^5^ ^ i fe^ SI <^> IS ■<3> HT^ SI 5=^ -©■ by^I , nr g£j © — 55 fe^> Figure 1: The correspondence between standard music notation and the code used in Orchestra-80. This figure is on page 26 of the Orchestra-80 instruction manual. is one reason for the low cost of the package. Also, this approach lets you use your own high-quality amplifier and avoids the problem of choosing between high-quality sound/high price and low-quality sound/low price. The software and instruction manual, on the other hand, are more impressive. After loading the software, you are given an oppor- tunity to have the Orchestra-80 program make a copy of itself. Then you are asked if your computer has a hard- ware clock speed modification. If it does, and this modi- fication is under software control, you can tell Orches- tra-80 what the enable and disable codes are for the changes in clock speed. The program will then automat- ically disable the clock whenever disk or tape I/O (input/ output) is necessary. The next question deals with whether you want the software to play in three or four voices. Four voices gives you greater flexibility in scoring music; three voices leaves you more memory in which to score music. Next, you must decide if you want to modify the wave- forms of the different registers (ie: voices). The waveform of a register is defined as a sum of sine waves or partials. The frequency of each partial is an integer multiple of the fundamental frequency of the register. Up to fifteen par- tials (also known as harmonics) can be specified, in addi- tion to the fundamental frequency. Once this has been done, you specify how much (from to 255) each partial should contribute to the overall volume of the register. A value of contributes nothing, while a value of 200 will be twice as loud as a value of 100. Finally, you select the overall volume of each register, as compared with the others. With these preliminary steps completed, you are ready to begin playing with Orchestra-80. If the instruction manual appears intimidating or over- ly complicated to the novice, it is largely because of its thoroughness. It leaves nothing out, from the necessary instructions about installing the hardware and configur- ing the software, to a section on "How it Works, " and the sections on the music-language code. Not only is the method of transcribing music covered in detail, telling how the music language of Orchestra-80 compares with standard music notation, but there is also a section giving a fine lesson in interpreting the Orches- tra-80 music language, as well as understanding musical notation for those unfamiliar with it. Even if you can't read music, you should be able to transcribe most written music, with a little effort. These instructions are well supplemented with ex- amples and tables summarizing the instructions, in- cluding illustrations of written music and how it com- pares with the notation used by the computer. Two of the figures in the manual show J S Bach's Capriccio in stan- dard music notation and in the code used by Orches- tra-80. There is also an excellent listing of the symbols used in music, their Orchestra-80 equivalents, and the definitions of these symbols. One of the most helpful diagrams (see figure 1) matches the symbols of the Or- chestra-80 scale to their places on the standard musical staff. The manual is repetitive to a certain extent, but that's not a problem; in fact, it helps clarify some points. The organization is a bit awkward. Some of the simpler, more fundamental instructions come after the more complex ones. A basic section on "Interpreting the music language" starts on page 27, while the section 'Transcrib- ing Music," which is a summary of the same information, appears on pages 11 through 13. In between these two sections, you are given lessons on how the synthesizer works, how to use Orchcopy, etc. However, it doesn't take long to become familiar with Orchestra-80's pecu- liarities and to realize the instructions are more than ade- 266 November 1981 © BYTE Publications Inc ■it -tr * -tr ■(( ■k-tr-k-tr-k-k-tr-k-tr-ti-h-tr-k-tftr-tr-tr'ti-tr-tfk-tr-tr-tr-tcir ifk-(r-tctt*-tfk'tr'ti-tc-tr-tr'k-tr-tr-(ftr1r-tfk 4MHZ, DOUBLE DENSITY,COLOR&B/W GRAPHICS . .THE LNW80 COMPUTER COMPARE THE FEATURES AND PERFORMANCE When you've compared the features of an LNW80 Computer, you'll quickly understand why the LNW80 is the ultimate TRS80 software compatible system. LNW RESEARCH offers the most complete microcomputer system at an outstand- ing low price. We back up our product with an unconventional 6 month warranty and a 10 days full refund policy, less shipping charges. LNW80 Computer $1,450.00 LNW80 Computer w/B&W Monitor S one 5" Drive $1,915.00 All orders must be prepaid, CA residents please include 6% sales tax. Contact us for shipping charges * TRS80 Product of Tandy Corporation. ** PMC Product of Personal Microcomputer, Inc. FEATURES LHW80 PHC-80** TRS-80* MODEL III PROCESSOR 4.0 MHZ 1,8 MHZ 2.0 MHZ LEVEL II BASIC INTERP. YES YES LEVEL III BASIC TRS80 MODEL 1 LEVEL II COMPATIBLE YES YES NO 48K BYTES RAM YES YES YES CASSETTE BAUD RATE 500/1000 500 500/1500 FLOPPY DISK CONTROLLER SINGLE/ DOUBLE SINGLE SINGLE/ DOUBLE SERIAL RS232 PORT YES YES YES PRINTER PORT YES YES YES REAL TIME CLOCK YES YES YES 24 X 80 CHARACTERS YES NO NO VIDEO MONITOR YES YES YES UPPER AND LOWER CASE YES OPTIONAL YES REVERSE VIDEO YES NO NO KEYBOARD 63 KEY 53 KEY 53 KEY NUMERIC KEY PAD YES NO YES B/W GRAPHICS, 128 X 48 YES YES YES HI-RESOLUTION B/W GRAPHICS, 480 X 192 YES NO NO HI-RESOLUTION COLOR GRAPHICS 128 X 192 IN 8 COLORS (NTSC), YES NO NO HI-RESOLUTION COLOR GRAPHICS 384 X 192 IN 8 COLORS (RGB), OPTIONAL NO NO WARRANTY 6 MONTHS 90 DAYS 90 DAYS TOTAL SYSTEM PRICE $1,915.00 $1,840.00 $2,187.00 LESS MONITOR AND DISK DRIVE $1,450.00 $1,375.00 — LNW80 BARE PRINTED CIRCUIT BOARD & MANUAL $89.95 The LNW80 - A high-speed color computer totally compatible with the TRS-80*. The LNW80 gives you the edge in satisfying your computation needs in business, scientific and personal computa- tion. With performance of 4 MHz, Z80A CPU, you'll achieve per- formance of over twice the processing speed of a TRS-80*. This means you'll get the performance that is comparable to the most expensive microcomputer with the compatibility to the world's most popular computer (TRS-80*)' resulting in the widest soft- ware base. FEATURES: . TRS-80 Model 1 Level II Software Compatible . High Resolution Graphics . RGB Output - 384 x 192 in 8 Colors . NTSC Video or RF MOD - 128 x 192 in 8 Colors . Black and White - 480 x 192 4 MHz CPU 500/1000 Baud Cassette Upper and Lower Case 16K Bytes RAM, 12K Bytes ROM Solder Masked and Silkscreened LNW SYSTEM EXPANSION ■ BARE PRINTED CIRCUIT BOARD AND MANUAL $69.95 WITH GOLD CONNECTORS $84.95 The System Expansion will allow you to expand your LNW80, TRS-80* or PHC-80** to a complete computer system that is still totally software compatible with the TRS-BO* Model 1 Level II. FEATURES: 32K Bytes Memory 5" Floppy Controller Serial RS232 20ma I/O Parallel Printer Real Time Clock Screen Printer Bus On Board Power Supply Solder Masked and Silkscreened LNW RESEARCH CORPORAT ION 2620 WALNUT ST. TUSTIN CA. 92680 LNDoubler&DOS PLUS 3.3D - Assembled and Tested w/DOS PLUS 3. 3D .$175.00 Double-density disk storage for the LNW Research's "System Expan- sion" or the Tandy's "Expansion Interface". The LNDoubler™ is totally software compatible with any double density software generated for the Percom's Doubler***. The LNDoublerTM provides the following outstanding features. . Store up to 350K bytes on a single 5" disk . Single and double density data separation . Precision write precompensation circuit . Software switch between single and double density Easy plug in installation requiring no etch cuts, jumpers or sol dering . 35, 40, 77, 80 track 5" disk operation . 120 day parts and labor Warranty *** Doubler is a product of Percom Data Company, Inc. DOS PLUS 3. 3D Micro Systems software's double density disk operating system. This operating system contains all the outstanding features of a well developed DOS, with ease in useability. KEYBOARD LNW80 KEYBOARD KIT The Keyboard Kit contains remaining components. $84.95 63 key plus a 10 key, P.C. board, and CASE LNW80 CASE $84.95 The streamline design of this metal case will house the LNW80, LWN System Expansion, LNW80 Keyboard, power supply and fan, LNDoublerTM, or LNW Data Separator. This kit includes all the hardware to mount all of the above. Add $12.00 for shipping PARTS AVAILABLE FROM LNW RESERARCK . 4116 - 200ns RAM 6 chip set $26.00 8 chip set $33.50 16 chip set $64.00 24 chip set $94.00 32 chip set $124.00 LNW80 "Start up parts set" LNW80 "Video parts set" LNW80 Transformer LNW80 Keyboard cable LNW80-1 $82.00 LNW80-2 $31.00 LNW80-3 $18.00 LNW80-4 $16.00 40 Pin computer to expansion cable $15.00 System Expansion Transformer $19.00 Floppy Controller (FD1771) and UART (TR1602) . . . $30.00 ORDERS & I N F0. NO. 714 - 544 - 5744 SERVICE NO. 714-641 -8850 Circle 229 on inquiry card. VISA MASTER CHARGE ACCEPTED UNLESS NOTED ADD $3 FOR SHIPPING £ EAST/WEST A LOOK NEXT MONTH FOR OUR NEW SUPER SPECIALS FOR 1982! LOOK CLOSELY AT THESE CHRISTMAS SAVINGS!! ATARI 800 16K $ 749 EPSON MX-80 $ 469 EAST COAST 1-800-556-7586 n WEST COAST 1-800-235-3581 PRICES ARE SUBJECT TO CHANGE W/0 NOTICE. OKIDATA MICROLINE-83A INTERTEC SUPERBRAIN 64K RAM $2799 QDSUPRBRAIN 2999 NEC5510SPINWRITER(7710) 2345 NEC 5520 SPINWRITER (7720) 2695 NEC 5530 SPINWRITER (7730) 2345 NEC 12" MONITOR 229 NEC COLOR 12" MONITOR 339 NEC PC 8023 Printer 1 00 CPS Tractor & Friction 639 OKIDATA MICROLINE-80A 399 OKIDATA MICROUNE-82A 529 OKIDATA MICROLINE-83A 769 DIABLO 630 1995 APPLE II PLUS 48K 1139 APPLE DISK w/ 3.3 DOS Controller 525 APPLE DISK w/o Controller 449 EPSON MX-80 469 INTERFACES: IEEE $55, TRS-80 S35, APPLE INTERFACE & CABLE $90, RS-232 $70 HAZELTINE1420 799 NORTHSTAR HORIZON II 32K QD 2925 ANADEXDP-9500/9501 1249 TELEVIDE0912C 669 TELEVIDEO920C 729 TELEVIDEO950 929 We Accept C.O.D.s • Stock Shipments Same Day or Next • No Surcharge for Credit Cards • All Equipment Factory Fresh w/MFT Warranty • we carry the complete line of Personal Software. 268 BYTE November 1981 Circle 315 on inquiry card. $749 CBM 8032 COMPUTER CBM 8050 DISK DRIVE CBM 4032 COMPUTER CBM 4040 DISK DRIVE CBM 402 CBM VIC-20 LEEDEX/AMDEK100 LEEDEX/AMDEK100G LEEDEX/AMDEKCOLOR-1 13" Color Monitor MICROTEK 1 6K RAMBOARD for Atari MICROTEK 32K ATARI 800 16K ATARI 400 16K atari 810 Disk Drive ATARI 82040 Column Printer atari 822 40 Column Thermal Printer ATARI 825 80 Column Printer OMEGA SALES CO. $1149 1349 1029 1029 649 269 139 169 329 79 149 749 349 449 299 349 599 EAST COAST 1-800-556-7586 OMEGA SALES CO. 12 Meeting St. Cumberland, Rl 02864 1-401-722-1027 WEST COAST 1-800-235-5581 OMEGA SALES CO. 3533 Old Conejo Rd. #102 Newbury Park, CA 91320 1-805-499-3678 CA. TOLL FREE 1-800-322-1873 OMEGA SALES CO. CHRISTMAS SPECIALS! CBM 8032 COMPUTER $1149 DIABLO 630 $1995 ANADEX DP-9500/9501 $1249 • ■ LEEDEX/AMDEKCOLOR-1 13" $ 329 Circle 315 on Inquiry card. BYTE November 1981 269 OrcfvestraL-SO •383 Saftwara Affair, Ltd Photo 1: The complete Orchestra-80 system. The system is sim- ple, and is mainly software intensive, as evidenced by the small size of the hardware interface. quate. The editor in Orchestra-80 is easy to use. It uses the ar- row keys on the keyboard to position the cursor wher- ever you want within the piece you are working on. Ad- ditionally, you can insert duplicate lines anywhere you want and move lines forward or backward through your file. When you are finished with a piece, or you want to hear what you have created, type SCORE and any syntax errors will be pointed out. Then type PLAY and listen to what you've typed in. When you are in the command mode, you can read in previously scored pieces from cassette tape or disk. Pieces can also be "chained" from the storage medium, so several pieces can be played one after the other without intervention from the operator. The disk-based version includes a directory command that lets you see what files are on your disks. Both versions, tape and disk, allow printing of any file in memory, a valuable feature in any program. The computer code used in composing music is quite straightforward. You can choose any musical key by stating the number of sharps or flats, for example: Kl# means the key has one sharp, ie: the key of G. From there, you can automatically transpose the music to a higher or lower key by inserting a line with the sym- bol > (greater than) or < (less than) followed by the number of half -steps you wish the music transposed up or down. On another line, you define the time signature and tempo. (Although a tempo conversion chart is supplied, a limitation of the program is that the tempo must be deter- mined largely by trial and error.) Next, you define the tone-color registers of up to four voices; in other words, how you want them to sound. A bit of experimentation reveals that if you want the first voice to play with a clear, bright sound and the second voice to have a fuller, more textured sound, you type VI YA V2YD. By defining each of the voices' tones using iiiiiiif OFF!! OR MORE ! Brand New, Top Quality, Exact Replacement Ribbons & Cartridges. These Ribbons Produce Super Jet Black Impressions and Ultra Reliable Print Life. They Are Delivered to Your Door Promptly for Much Less Than Most Retail Stores •SPE ;cl \L! BUY 10 and GET ONE FREE! YOUR PRINTER PACK SIZE RETAIL LIST" YOUR WHOLESALE PRICE SIZE COMMENTS CAT ORDER* ANADEX 9000 Serial l/pk 14 00 ea 14.00 114 00 ea) 500" Niton Jel Blk C-777 CENTRONICS 700-703. 737, 779 3/pk 18.95/3 pk 11.95/3 pk 13 98 ea) Nylon Jel Blk C-700 CENTRONICS 100. 101 A. 102. 3/pk 26.33/3 pk 17.55/3 pk 15.85 ea) 1" < 108' Nylon Jel Blk C-100 103.300.301,306.308.330, 5 mil High Speed 358.398.500,501,503.508. 588. S20. 820. CENTRONICS 704-705 l/pk 16.95 ea 13 95/Giant Cart 113 95 ea) 5 16" • 210' Giant Cart C-7045 OEC Vi « 40YD 3/pk 17.77/3 pk 12.95/3 pk 14.32 ea) 1 2 ". 120' Dooble Spools R-600 DEC V? t 60YD. 3/pk 20.12/3 pk 14.25/3 pk 14. 75 ea) 1 2"> I8D' Dooble Spools fl-644 DIABLO HYTYPE II |M/S BLK) HI l/pk 9.31 ea 6 87 ea 16.87 ea) 5 16" . 300,000 plus imp C-5II YIELD. FITS 70 PRINTERSI High Yield EPSON MX7D/B0 l/pk 16 00 ea 13.95//Cart 113 95 eal 50O.60' Nylon jel Blk C-522 IBM -SILVER DOLLAR" Sys. 5/pk 5.80 ea 14,90/5 pk 12.98 ea) 9 16" .30' Nyloo Jet Blk R-300 34, Sys. 32 M0LA. Series IMDL4974. 5256. 3287. 3770. 3771-3774.4974.5100.5103. 5110. 5228. 5256. 5320MDLA IBM - HARMONICA S4" SERIES 3/pk 9.42 ea 20 85/3 pk 16 95 eai 1 2 ' i 108' Nylon Jel Blk C-350 1. MOD 4973/11. 3200. 3289, MOO 2. NEC SPINWRITER 4/pk 23 40/3 cart 23.60/4 pk lb lelaad 15.90 ea) 1 2" » 51' Nylon/Ex Lng Lile R-400 QUME (FITS B0 PRINTER MODS) 3/pk 18.00/3 pk 13.95/3 pk 14.65 ea) 1 4" « 310 Mullisliike Film C-525 RADIO SHACK DAISY WHEEL II l/pk 24 95/3pk 8 25 18 25 ea) 250" Mylai Mullistnke C-7B9 RADIO SHACK LPIII. LPV one, pk 13.95/can 8 95 Reload lib' only 18 95 ea) 500" lib' Nylon Incl Insti R-T3 RADIO SHACK LPII. LPIV 3/pk 1896/3 pk 11.95/3 pk 13 98 ea) 563" i 45' Nylon Jel 81k C-700 TELETYPE MOD 33. 28. 35. 37. 38. 88. WANGM/S. 5541W.WC. 5581. 10/ pk 2.40 ea 13.90/10 pk II 39 ea) 1 2" .36' Nylon Jel Blk R450 l/pk 6.85 ea 5.95 ea 15 95 ea) 5 16" < 393' Mullistnke Film C-550 WD. 6581W. 22B1W TERMS: MINIMUM PURCHASE - $20 PAYMENT BY: C.O.D.(UPS), CHECK, MASTER CARD, OR VISA CHARGE CARD. VOLUME DISCOUNTS: 20-50 PACKS 10% 51 -100 PACKS 15% •UNDER $20, ADO $5 HANDLING. "APPROX. RETAIL. PRICE VARIES. ANCIE LABORATORIES 9204 BattmMi Blvd Ml-345-8000 I W.ih D C Locall Colw Pi*. MD 20740 JOJ-792-2050 (Bills M0 Local) 800-638-0987 (National) ADDRESS- CITY ANCIE Laboratories 9204 Baltimore Blvd. College Park, MD 20740 301-345-6000 (Wash. DC. Local) 301-792-2060 (Balto. M D Local) 800-638-0987 (National) D Check Enclosed □ C.O.D. □ VISA □ MASTER CHARGE ACCT. # EXP. DATE MIN. ORDER $20 PRICES SUBJECT TO CHANGE 270 November 1981 © BYTE Publications lnc Circle 25 on inquiry card. ■■-.-. . ■■■- - ■ '■ - . - , \ j!t* •fir' -r. •' -J* v x When two leaders in the complex information field get together, the results can be surprisingly simple. In the beginning, there was information. Execu- tives analyzed it, discussed it, used it to predict the future. But as the volume of information continued to grow, it got harder and harder to handle. Until the executives found that they could no longer get at the information they wanted when they needed it. Then SPSS Inc., developer of the world's largest- selling computer applications software, and McGraw-Hill, America's leading business pub- lisher, got together. And came up with a simple solution. SPSS Inc. created a series of software packages for analyzing and presenting information that were powerful yet easy to use. And McGraw-Hill pub- lished a series of guides for the software that were so clear and comprehensive, they became the standard of the industry. Now the executives could once again get their hands on their company's information and even create their own computer-generated reports and color graphics-all without any programming. Today SPSS software is serving the data analysis and management needs of over 3000 installations around the world. And McGraw-Hill has sold more than half-a-million SPSS software guides. The moral of this story is simple. If you're looking for the fastest, most cost-effective way to handle your company's information, talk to SPSS Inc. and McGraw-Hill today. And write your own happy ending. Partners in Information ^£V 5§p inc. 444 N. Michigan Avenue Chicago, Illinois 6061 1 (312)329-2400 College Division McGraw-Hill Book Company 1221 Avenue of the Americas New York, New York 10020 (212)997-6611 © 1981 SPSS Inc/McGraw-HII ^fc-^ 4 " RnHiHI 1 8H c^ • A fciSW "v. "^^ ' Photo 2: Orchestra-80 can be connected to either of the expansion connectors available on TRS-80 computer systems. A, B, C, or D, in different combinations, you can achieve a variety of effects. When you're ready for the actual notes and rests, you can transcribe anything from whole notes to sixty-fourth notes, dotted notes to triplets, and you can choose whether or not to modify any note with short or long staccato, or short or long articulation. These modifiers determine how sharply a note ends, and give expression to your music. To further alter the mood of a particular phrase or section of music, you can define a new part (P followed by a two-digit number) and change the tempo, tone color, etc, to achieve the desired effect. Repetition of a phrase or an entire part is easily achieved by entering the correct symbols (parenthesis, or R, followed by the number of the part to be repeated). There is one major limitation to Orchestra-80. It is in the area of dynamics. You can't change the loudness or softness of a phrase — there is no piano, forte, crescendo, or decrescendo. It is possible to compensate somewhat for this by altering the tone-color registers of the voices here and there, but the effect is like that of a modified harpsichord. In fact, the music composed when that in- strument was in vogue (the 17th to mid-18th centuries) — the even-tempered, full sound of the baroque period — is particularly suited to interpretation by Orchestra-80, although the program has much wider potential. Orchestra-80 is an excellent package for the program- mer or musician interested in making music with a TRS-80 computer. It requires neither an accomplished programmer nor a professional musician to operate. Its instructions are clear and well written, and the hardware is simple to attach and use.H Since this review was written, Software Affair has in- troduced Orchestra-85, featuring stereo output, percussion, new editing features, and an optional fifth voice for use with speed-up modifications; it is compatible with existing Orchestra-80 files. Orchestra-85 costs $129.95. An upgrade for Orchestra-80 systems is also available. COMPUSTAR **** **** **** SUPERBRAIN DEALER OEM PACKAGES AVAILABLE NOV! NOW AVAILABLE AND IN STOCK - THE ALL NEW AND EXCITING MULTIUSER COMPUSTAR AND STAND-ALONE SUPERBRAIN. WE ARE THE LARGEST AUTHORIZED INTERTEC DATA SYSTEMS DEALER IN THE SOUTHEAST. OUR OFFICE IS ONLY 80 MILES FROM THE FACTORY, THEREFORE WE CAN BEST ACCOMODATE YOU. CALL! CALL! CALL! 7301 South Blvd. CHARLOTTE N.C. 28210 * DESK-TOP COMPUTERS * (704) 553-7441 272 November 1981 © BYTE Publications Inc Circle 467 on inquiry card. Circle 273 on Inquiry card. ' WHY THE MICROSOFT fM k \W;M/if. I i I Memory — you never seem to have quite enough of it. But if you're one of the thousands of Apple owners using the SoftCard, there's an economical new way to expand your memory dramatically. 16K ON A PLUG-IN CARD. Microsoft's new RAMCard simply plugs into your Apple II," and adds 16k bytes of dependable, buffered read/write storage. Together with the SoftCard, ■ the RAMCard gives you a 56k CP/M'" system that's big enough to take on all kinds of chores that would never fit before (until now, the only way to get this much memory was to have an Apple . Language Card installed). x GREAT SOFTWARE: (V YOURS, OURS, OR THEIRS. |§| With the RAMCard and SoftCard, you can tackle large- scale business 'and scientific computing with our COBOL and FORTRAN languages. Or greatly increase the capability of CP/M II i I applications like the Peachtree Software account- ing systems. VisiCalc™ and other Apple software packages can take advantage of RAMCard too. And RAMCard gives you the extra capacity to develop advanced programs of your own, using the SoftCard and CP/M. Even with the RAMCard in place, you can still access your ROM BASIC and monitor routines. JOIN THE SOFTCARD FAMILY. The RAMCard is just the latest addition to the SoftCard family — a comprehensive sys- tem of hardware and software that can make your Apple more versatile and powerful than you ever imagined. Your Microsoft dealer has all the exciting details. Visit him soon, and discover a great idea that keeps getting better. Microsoft Consumer Products, 400 108th Ave. N.E., Suite 200, Bellevue, WA 98004. (206)454-1315. |.i- |. .■ i I Software Review Apple II File-Management Systems Ken Blochowiak c/o KRB Associates POB 11894 Milwaukee WI 53211 [Simonides] inferred that people de- siring to train this faculty [of mem- ory] must select places and form men- tal images of the things they wish to remember and store those images in the places, so that the order of the places will preserve the order of the things, and the images of the things will denote the things themselves. Cicero, De Oratore Strictly speaking, the terms data- base management system, data man- agement system, and data-base sys- tem refer to programs that meet the CODASYL (Conference On DAta SYstems Languages) standards for data-base systems. MDBS from Micro Data Base Systems is one such example of a system modeled after the CODASYL standards. The sys- tems we'll be examining are tradi- tionally referred to as file-manage- ment systems (see reference 5 for a more complete discussion). Because of various practical limits (such as time and space), we will not cover any programs that run under Digital About the Author Ken Blochowiak edits a newsletter, called Bits of Data, for the Cybernetic Mechanism. He is president of KRB Associates, which pro- vides information about Decision Support Sys- tems (DSS) and small computers, and vice chairman of the Milwaukee chapter of the As- sociation for Computing Machinery. Research's CP/M operating system. At the highest level of generality we will be looking at the portability, maintainability, and current utility of the following systems: Infotree, the CCA DMS (Data Management Sys- tem), the Data Factory, the On-Line Database, and High Technology's DBMS (Data-Base Management Sys- tem) and Information Master (with Data Master). (See textboxes for ad- dresses and ordering information.) Portability includes the notion of both the independence of the soft- ware from the Apple computer and the independence of your data from the software. Maintainability of the software system includes the ability to back up disks and access the source code. Maintainability of your infor- mation includes sort-and-f ile redefini- tion facilities. Current utility includes initial definition (system creation), data entry, retrieval, and report printing. Although we will be em- phasizing effectiveness, we will also cover several efficiency character- istics, such as whether or not data en- try is I/O (input/output) intensive, whether or not disk space is wasted, and whether or not searching or sort- ing is excessively slow. Your application and your values determine the importance of these various features. To effectively evaluate the systems, you must know yourself. If you use your microcom- puter to produce reports according to country and type of equipment for the multinational corporation you work for, your needs may differ from those you would have if you used your system for order entry and in- ventory information at your local computer store. Defining the Features Portability is divided into machine independence and data-file indepen- dence. In the face of the vast uncer- tainty about what equipment will be obsolete, portability frees you from the need to anticipate. Machine inde- pendence gives you the ability to At a Glance Name Infotree Type Tree-structured information system Distributor Siro-tech 6 Main St Ogdensburg NY 13669 (315) 393-2640 Price $70 Format 5-inch floppy disk in UCSD format Language UCSD Pascal Documentation 12 pages 274 November 1981 © BYTE Publications Inc Circle 172 on Inquiry card. FUTRA COMPANY P.O. BOX 4380 - DEPT. B TORRANCE, CA 90510 (213) 328-8951 Hours: Mon. - Fit: 8:00 am to 5:00 pm Sat: 10:00 am to 4:00 pm (PST) ding solutions and being competitive is our business. At ra Company we believe that it Is possible to find solutions your automation problems at the lowest possible prices, cany a complete line of products from major manu- birers and a variety of other accessories and software to I your home, professional and business needs. MSk HEWLETT PACKARD HP-85 and HP-83 Hewlett Packard Computers powerful problem solvers for professional. Quality built for istrial, scientific and business rations mat can not afford a y due to equipment failure, emely versatile trie HP-85 or can offer functions from re'ral analysis in an office to rolling devices on lest equip- t or numerical controlled in- trial machines. The HP-85 es with a tape recorder. :er and a CRT display and the HP-85 HP-83 $2575.00 $1790.00 HP-83 is the same in capabilities of the HP-85 less the tape storage and printer. 2903 A HP +85/83 16K Memory Module $255.00 Firmware Enhancements: Interface!: 82936A 82936A ROM Draw S 42 82937A HP-IB $339 -15001 Mass Stor. 135 82939A Serial (female) $399 -15002 Plotter/Print $135 82939 opt 001 (male) $339 -15003 In/Output S274 Same 002 (crmt 1p) $339 -15004 Matrix S135 82940A GPIO $421 -15005 Adv.Prog. -15007 Assembly $274 82941 A BCD $420 $127.5 82949A Printer Int. $269 722S aphlcs Plotter $2089.95 HP2631B Matrix Printer $3295.00 HP82902M Disk Drive $1275.00 HP APPLICATION PACS ■13001 Standard 13002 Basic Training -13003 Gen. Statistics ■13005 Math -13006 AC Circuit Analysis 13010 Games ■13042 VisiCalc PLUS 13045 Information Mgmt. 13046 Surveying 13044 Data Communications 13038 Graphics Presentation $79.00 each 85-13011 Linear Programming 85-13034 Text Editing 85-13035 Wave form Analysis 85-13036 Basic Statistics and Datamanipulation 85-13037 Regression Analysis $166 $175 $175 CALL $175 $299.00 Z-80 Soft Card with CP/M $159.00 16K Ram Card in your Apple II computer to a larger world. With the Z-80 Soft d and 16K RAM Card you can now run CP/M compatible software, and your memory for specific application, act as a firmware card much more. If you add any boards to your Apple this year these the ones. VIDEX 80 x 24 VIDEOTERM AND KEYBOARD ENHANCER $269.00 $110.00 Videoterm Keyboard Enhancer ALS "Smartem" 80 column card $295.00 intain optimum software compatibility industry wide. By adding the eoterm 80 x 24 videoboard and keyboard enhancer your Apple acts lilar to CRT Terminals on larger systems. Combine this with the rosoft Softcard and you've got some system. APPLE COMPUTERS APPLE II "Plus" 16K $1069.00 48K $1129.00 APPLE III 128K $3255.00 What can we say except that they're super systems and the prices are a steal. Apple II • Disk II w/cont. Disk II 2nd Applesoft Firmware Centronix Printer Int. Communications Card High speed Serial Int. Pascal Language Syst Integer firmware Parallel Printer Int. $509 $445 $149 $179 $179 $155 $379 $149 $149 Hand Controllers Vinyl Carrier Joystick II Graphics Tablet Silentype Printer Apple in • Into nlormation Analyst Softwre Pkg Disk II for All I Silentype Printer III $ 27 $ 33 $ 45 $665 $365 $345 $292 $495 ADD ON PRODUCTS California Computer Systems: • 12K PROM/ROM Brd $78 • Centronics Cable $30 • Calendar Clock $99 • Programmable Timer $95 • A/D Converter $95 • GPIB IEEE 488 CALL Mountain Computer Inc. • Apple Clock $219 • Supertalker $255 • Romplus $131 • Romwriter $152 • Romwriter $152 • X10 Controller $172 • X10 System $270 • CPS Multi-function $239 Other • SSM AIO • SSMA488 • ABT Keypad • ABT Soft Key • Asynchronous Serial • Synchronous Serial • Parallel Interface • Centronics Interface • Arithmetic Proc/Disk • Arithmetic Proc/ROM ' Music System i A/D + D/A i Keyboard Filter i Keyboard Fitter i Copy Rom 1 I/O Cable Assembly ■ Expansion Chassis • Card Reader $135 $149 $ 99 $111 $325 $345 $465 $299 $46 $48 $48 $47 $649 $1065 $159 CALL $115 $145 Novation Cat Modem $155 Novation D-Cat Modem $155 Novation Apple Cat $328 ABT Barwand $175 TKC Joystick II $45 TKC Keypad II $149 ThunderClock $120 Hayes Micromodem II $303 Hayes Micromodem 100 CALL ADD ON SOFTWARE Apple Computers: • Apple Post • Shell Games • Apple Bowl • DOS 3.3 Update • Apple Writer • DOS Tool Kit Personal Software: • Visicalc 3.3 • Desk Top/Plan II • CCA Data Mgt. $44 $28 $23 $57 $65 $65 $159 $165 $64 i Stellar Invaders i Apple Plot i Adventure i AP Music Theory i Tax Planner i Visilerm i Visiplot ■ Visidex ' VisiTrend/Visiplot Microsoft: (requires Z80 SoftCard & CP/M) • Basic Compiler $296 • COBAL Language • Assembly Language $94 • Fortran Language $23 $57 $33 $47 $114 $125 $147 $159 $229 $562.50 $149.00 Peachtree/40: (requires Z-80 SoftCard & 16K RAM Card) • General Ledger $195 • Payroll $195 • Accounts Rec $195 • Inventory $195 • Accounts Payables $195 • Mail List $195 Misc: (48K All or AII + ) • Stoneware DB Master' $179 • BPI General Ledger $315 • BPI Inventory Control $315 • BPI Payroll $315 . BPI Job Cost Sys. $315 Software Publishing Corp. "PFS" $ 87.50 "PFS: Report" $ 87.50 i MicroFocus "COBOL" $743.00 MicroPro Wordstar $229.00 CPM Software Packages - 8" Diskettes • Peachtree CPM • Accounting Plus • MicroPro COMPUTER SUPPLIES: 3M Scotch 5" Diskettes (10) 3M Scotch 8" Diskettes (10) •744-0 5" SS/SD soft sect. $26 •74M 8" SS/SD $32 •744-10 5" SS/SD 10 sect. $26 -741-0 8" SS/DD $36 •744-16 5" SS/SD 16 sect. $26 «743-0 B" DS/DD $44 •7440 5" Head Clean. Kit $29 »7400 8" Head Clean. Kit $30 MISC. •Silentype Paper (roll) •5" Vinyl disk sleeves $4.50 $6.95 •Vinyl Disk Sleeves $6.95 ZENITH MONITOR 12" GREEN DATA MONITOR $119.00 Reduce eyestrain with the monitor from the people who say "The quality goes in before the name goes on." Excellent for All, AMI Atari and others. ALTOS XEROX 8000-2 8000-10 8000-15 $CALL 820-1 5V4" 820-2 8" SCALL Altos 8000 series and Xerox 820 series Don't buy anything until you've checked with us. VIDEO TERMINALS & VIDEO MONITORS Sanyo: • 12" Green Monitor $269 • 12" B&W Monitor $239 • 13" Color Monitor $432 • 9" B&W Monitor $169 • 9" Green Monitor CALL AMDEK: • 12" B&W Monitor $144 • 12" Green Monitor $174 NEC: • 12" Green Monitor • 12" Color (RGB) • 12" Color Monitor $212 CALL $402 VIDEO TERMINALS: • ADDS Viewpoint CRT $512 • Soroc 130 $595 • Televideo $595 EPSON PRINTERS MX-100 Your price $759.00 Probably the best buy in a printer this year. Compare features with any other and compare price (especially ours). 4 character sizes all may be placed into letter quality enhanced mode. Friction and remov- able tractor, 9 by 9 to 18 by 18 dot Matrix, logic seeking, and much more. Not to mention DOT PL0TTING7GRAFTRAX option built right in. WOW! What a printer! • MX 80 FT Printer • MX 80 Printer • MX 70 Printer • MX 80 Ribbons S569 • MX Ser. Interface Opt $65 $479 • Epson Apple Par. Int. $69 $394 • Epson Pat. Cable $22.50 $14 • MX-80 or 80/ft Graf- trax ROM $78 CALIFORNIA COMPUTER SYSTEM The CCS 2210 is a low cost S100, Z80 computer system with 64K of memory, disk controller, parallel/serial I/O and CPM operating system. $1743.00 Separate Component! • 2200A Mainframe • 2810A CPU • 2065 64K RAM $454 $247 $540 • 24221 Disk Cntrlr. • 2718 Par/Ser I/O $354 $275 ATARI COMPUTER SYSTEMS ATARI 800 16K Computer Your price: $785.00 The Atari 800 Computer with accessories and software make up a complete system for home, educational, financial and business use. • Atari 400 •810 Disk Drive •815 Dual Disk Dr. •825 80 col. print. $347 »853 16K RAM Mod $83 $475 *930 Acoustic Mod $156 $1218 *850 Interface Mod $60 $780 »410 Prog. recorder $79 TERMS: Shipping: add 3% for product shipped within continental USA via UPS surface (minimum $3.00). If the Order placed Is prepaid with U.S. funds in the form of check or money order, a Total Charge of $3.00 for shipping is all you pay within the continental USA via UPS surface. Allow 14 working days for personal and company checks to clear. Credit card charges limited to $1000. No COD's. FPO, APO or orders outside continental USA call or write for shipping charges or add 10% to purchase price (any difference will be refunded). California residents add 6% sales tax. All offers subject to change or withdrawal without notice. SOFTWARE DEVELOPMENT TOOLS FOR INDUSTRY CP/M CROSS-ASSEMBLERS Fast, comprehensive cross-assemblers to run under CP/M.* Extensive pseudo- ops include full listing control, nested conditionals, mnemonic synonyms, and inclusion of external source files. Generate object file, assembly listing, and symbol table from source code for nine popular microprocessor families. XASM05 6805 XASM09 6809 XASM18 1802 XASM48 8048/8041 XASM51 8051 XASM65 6502 XASM68 6800/6801 XASMF8 F8/3870 XASM400 COP400 Assemblers . . . $200.00 each Manual only. . . $ 25.00 8048 DEVELOPMENT PACKAGE Now you can use the 8048 family of single-chip microcomputers without buying expensive equipment. Develop 8048 software with the XASM48 cross- assembler. Then plug our EPR-48 board Into your S-100 system to program the 8748 EPROM version. 8048 Development Package . . . $574.00 EPR-48 alone $449.00 EPROM SIMULATOR BOARD Debug dedicated systems quickly. Our PSB-100 PROM Emulator is an S-100 board with up to 8K of RAM. Cable with 24-pin plug replaces 2708 or 2716 EPROM(s) in your target system for Ins- tant program testing PSB-100 EPROM Simulator . . . $445.00 w/2K RAM 'Trademark ol Digital Research 804 SOUTH STATE ST DOVER. DEL. 19901 302-734-0151 f I Visa and Mastercharge accepted. We ship 8" slngle- I density and Softcard+ 5.25" diskettes. Ask us I about other formats. OEM AND DEALER INQUIRES I INVITED. I + Trademark of Microsoft 276 November 1981 © BYTE Publications Inc move from machine to machine and not waste time learning new soft- ware. Data-file independence gives you freedom to use your data file with another file-management sys- tem. None of the systems described in this article gives true CODASYL data independence, but some give you more flexibility than others. With a text editor, a copy of the structure of your record, a little analysis, and some programming, you can often achieve considerable flexibility, even if at first glance your record structure seems to be set in concrete. Maintainability consists of backup, access to source code, sort facilities, and redefinition facilities, and it refers to your ability to continue op- erating your system. If your data files need some slight changes, if your pro- gram has a bug, or if your "locked" (uncopyable) disk doesn't work any more, how do you get up and running again7 This area is complicated by the spectre of software piracy and the high mortality rate among new busi- nesses. Current utility refers to initial de- finition, data entry, data retrieval, report printing, interface to outside packages, human factors, document- ation, and something I call "macro- efficiency." No matter how portable and maintainable a system is, if it's not useful there's no point in having it. Portability Infotree is the most machine-inde- pendent system we will examine here. It is distributed in UCSD Pascal (de- veloped at the University of Cali- fornia at San Diego) p-code (pseudo- code) and, with the proper utilities, can be transferred to other UCSD sys- tems. The CCA DMS also has slight CD CD o c V) Q < O O & o o CO li- co to Q CD <» £ .E a -1 CO O D 00 2 00 Q 2 CO CO co Q c g i 8 ° S3 S 5 Source code available N Y N N N N N Copyable disk Y Y N N Y N N ^ Characters per field NA 232 239 26 100 NA 19,** 20 Fields per record NA 24 88 20 20 NA Characters per record NA 232 21 K 239 2 K NA 1980 Select by specified range N Y Y Y Y Y Y Select by partial match N N Y N N Y Y Select using multiple fields N N Y N Y Y Y Allows subsorts Limited Y Limited Y Y NA Y Prints mailing labels Y Y Y Y Y NA Y User-defined print formats N Y Y Y Y NA Y Multiline defined print formats N Y Y N Y NA Y Add/delete fields to/from file Y N Y N N Y N Merge files N N Y N N Y N Calculation options N Y Y N Y Y Y In-memory data entry N N Y Y N NA Limited Data entry default values N N N Y N NA Y Interface to VisiCalc N Y N N N N N Table 1: A quick summary of features for Apple II data-base management systems. DBMS and Information Master are both file-management programs used in conjunc- Hon with Data Master, a file-restructuring program. Infotree 's tree structure gives record sizes slightly differen t meanings (each node is identified by a key of up to 18 characters in length; each n ode can contain up to 18 lines of 26 text characters). Circle 52 on inquiry card. Nobody's better protection than The Marshal in Winchester territory. You got yourself a Winchester disk drive with all that large system power. Great! But trying to utilize your floppy drive for backup just isn't working. And bit-streaming tape cartridge drives offers no practical protection, because the usual need is archival storage and replacement of individual files lost through operator error; but the streamer tape data cannot be reconstructed by separate files easily. Enter The Marshal to your rescue. He's the only match in speed, capacity, and capability for your Winchester. As Thomas S. Stellinger, Manager of Marketing Literature with Computer Service Systems Network, Inc. stated in InfoWorld, "Intelligent tape subsystems, combining the 1/4-inch tape cartridges with file-oriented software offers the best solution to hard disk backup. ..a utility program... allows the user to save every file in the system, as well as to restore individual files by name." The Marshal from TKS Corporation. The only complete hardware/software protection device for computer hard disk systems. The Marshal follows commands, is fast, and thinks for himself. Formatted capacity is 13.4 megabytes. The transfer rate is 192,000 bits per second. And he can determine which files have been updated since last saved, in order to recopy only those specific files — saving time. Then records the date he made the copy. Perfect protection for the perfect price. Your OEM Distributor can introduce you to a rack mount unit or a table top console for much less than you'd guess. Take this ad to your dealer today, save a heap of money off the regular price, and get the best protection available in Winchester territory. The Marshal from Turnkey Systems Corporation would sure be happy to help you. Call 1-800-327-2848. Turnkey Systems Corporation 8472 NW 56 Street, Miami, FL 33166 ©VJNSET FINE ADVERTISING potential for machine independence; it is available in source code and could be translated into another dialect of BASIC. The other systems (Data Factory, On-Line Database, and High Technology's DBMS and Information Master) come on locked or unlistable disks and have no ma- chine independence. At a Glance Name The Data Factory 3.0 Type File management and retrieval system Distributor Micro Lab 811 Stonegate Highland Park IL 60035 (312) 433-7877 Price $150 Format Locked 5-inch floppy disk Language Applesoft BASIC Documentation 88 pages — At a Glance Name CCA Data Management System 5.2 Type File management and retrieval system Distributor Personal Software 1330 Bordeaux Dr Sunnyvale CA 94086 (408) 745-7841 Price $100 Format 5-inch floppy disk Language Applesoft BASIC Documentation 130 pages Infotree does not include any data- file transfer utilities, but there is a text file on the program disk that details how data is stored. Infotree uses a binary tree and consists of a set of records that can be used for text or as nodes in the tree. The CCA DMS provides utilities for transferring data between Visi- Calc and DMS using Software Arts' DIF (Data-Interchange Format). The documentation provides information on the structure of DMS records and examples of the use of this informa- tion (including a program that uses DMS files). The Data Factory provides a Con- struct/Append option that enables you to read text files created by other systems into Data Factory files. The Data Factory can also add or delete fields in a record and create new files that include the new format and your old data. Information is not provided on the structure of Data Factory files. This system provides flexible meth- ods of moving data into the system, but no documented way of moving data out to other systems. The On-Line Database does not provide any transfer utilities or file- structure information. High Technology's DBMS has no utilities that increase flexibility, but both Data Master and Information Master will accept DBMS files. An option for transferring data from In- formation Master to DBMS is not provided. Data Master can create new DBMS files from old DBMS files. Data Master is a package of utilities for use with either DBMS or Informa- tion Master. It does not document methods of working with files created by other systems. Data Master in- cludes some nice options for adding or deleting fields in a record and for transferring records that meet user- specified criteria to another data file. There is a Data Master equivalent to the command "Select all records where the ZIP code field has the value 22153, and the Amount Owed field is greater than $10,000; then, transfer only those records to a new data file leaving out the phone number but in- cluding a new field called Comments whose value is big spender. Data Master does supply an extensive set of file restructuring features that are quite useful. Maintainability With the coming of the locked disk, a widespread misnomer has devel- oped an appropriate meaning. I refer to "software maintenance." Infotree and the CCA DMA come on copy- able disks, which enables you to keep as many backup disks as you wish. The Data Factory comes on two un- copyable disks. "Disk insurance" is available for $17.50 per year. This provides for replacement of blown disks and updates to the system. Data Factory disks can also be re- newed for a $10 fee if you don't have disk insurance. A backup copy of the On-Line Database is available for $15. When you return High Technol- ogy's license, you are sent a backup copy of Data Master or Information Master. DBMS is copyable but it can- not be listed. High Technology says it will replace blown disks for $25. Only the CCA DMS provides ac- cess to source code. Access to source code is reassuring to a purchaser (but see Gemignani's "Legal Protection for Computer Software" for a discussion of the current legal situation concern- ing software protection). Infotree provides a file compres- sion option that removes deleted in- formation and improves access time by sorting and relinking the remain- ing data. Sorting is also done during data entry. The only subsorts are those built into the tree structure (the subbranches of each branch are sorted). The CCA DMS allows up to ten levels of subsorts. (Whenever two records have the same primary-sort field, they are arranged by the sec- ondary-sort field, and so on.) The use of source and destination disks allows you to sort large files. The Data Factory allows what amounts to sorting by subfields for day, month, and year. But that's all. And since this information must be in one field, in an invariant format (dd/mm/yy), you lose considerable flexibility of ad hoc query. Of course, you could do without time subsorts (or enter the data twice). Single- or 278 November 1981 © BYTE Publications Inc Circle 268 on inquiry card. Virtual Mfmory Management f- Motorola (60000 Professor 12 Mhz operation 02 bit computations \ 4 Dillion byte address'v LRU demand paging Peripheral iprocessot UNIX multiuser operating vf stem Only the world's finest minicomputer TODAY. Complete single-user system UNIX-based [1 6 MD virtual system with 5 1 costs under 125,000! Want proof? Call oi on our68K feminars. Or spnd$75 for rhp 7 ofers these features in systeVns cwaWateAe s start under $A0,000. And a o u^ex 2K Dytes RAM and 14NV b^ftes V\a\d d\sc write now fonbrochuves ana\nAoYrn.Q\\on complete teahn'icoA manvicA se\. J MlT'lMiHL' 'all (213) 829-6781 A 1m poster ol litis acits available while supply lafts. ••mark ol Ball Laboratories BSKMimFiame >s a trade fan ol MicroDaSys. Inc I ■lain •.m-32.V23 dual-drive sorts of a full-disk data file are possible. The On-Line Database allows sub- field sorts. Data is sorted at time of entry, but with reasonably small sets of defined sorts, data entry is not slowed too much. The High Technology DBMS also allows subfield sorts, but sorting is separated from data entry. An Omit Sort Update option allows Informa- At a Glance Name Data Base Management System (DBMS) 5.2 Type File management and retrieval system Distributor High Technology POB 14665 8001 Classen Blvd Oklahoma City OK 73113 (405) 840-9900 Price $100 Format 5-inch floppy disk Language Applesoft BASIC Documentation 55 pages At a Glance. Name Data Master 3.2 Type File-reorganization utility Distributor High Technology POB 14665 8001 Classen Blvd Oklahoma City OK 73113 (405) 840-9900 Price $100 Format Locked 5-inch floppy disk Language Applesoft BASIC Documentation 36 pages tion Master to postpone sorting until the end of your entry or file-modifica- tion session. Sorting can also be com- pletely separated from data entry, but some extra work is involved (deleting and redefining sort-definition files). Technically, Data Master performs no sorting, but is simply a utility pro- gram for reorganizing files into dif- ferent formats. Inf otree allows you to add or delete nodes, one by one, to or from your "infotree" — not a particularly power- ful method. The On-Line Database doesn't have any facilities of this sort. There are no explicitly documented methods of adding or deleting fields from an existing CCA DMS data file. But a small file could be transferred to a VisiCalc program that added or de- leted columns and transferred back to DMS (a VisiCalc row is a DMS record and a VisiCalc column is a DMS field). This may seem awk- ward, but it is possible. The Data Factory has several file redefinition facilities: Construct/Ap- pend is the most useful, but Replace and Math can also be useful. Con- struct/Append allows you to add or delete fields from your record defini- tion, change field length or field posi- tion, or append files that have fields of different lengths or in different positions. Replace lets you enter a constant into a specified field of all or selected records. Math lets you do one arithmetic operation involving two fields and store the result in a third field. Data Master is a comprehensive file-redefinition system. It requires source and destination files created by DBMS or Information Master. It can relocate fields and transfer se- lected subsets of a file, and create files that have an increase or decrease in the number of fields per record. It can merge files by multiple transfers to the same source file. You can transfer the results of calculations that use up to ten intermediate variables (like a calculator with memory locations) and, apparently, as many arithmetic operations as you have fields. Record selection can be by inequalities, equalities, or pattern matching (lead- ing or trailing string, floating string, or character in a specified position). Information Master has no file-re- definition options of its own. Its in- itial file-definition features are re- quired to create Data Master source files. Information Master allows you to load, edit, and save an existing file definition with a new name. A new file definition can be edited until data is entered into the file it defines. This capability simplifies the process of de- fining new source files for Data Mas- ter if the required file is similar to an existing file. Current Utility What will these systems do for you right here, right now? We will be ex- amining features that tell you whether or not you can use these sys- tems to define a data file that meets your needs, enter your data easily, get the reports you want, or exchange data with outside packages. We will see whether or not the systems take human factors into consideration, and will look at the documentation and discuss "macroefficiency." With Infotree, the initial definition of the information structure (which most of the systems refer to as system creation) is intimately related to data entry. As you enter data you create a tree structure. If this structure fits your application naturally and isn't too redundant, it can be very pleasant to use. If it doesn't fit, or results in re- dundancy, then it isn't pleasant to use. Each node in the tree is identified by a key. Keys may contain up to eighteen letters. Text may be stored at each node. Text lines are twenty-six characters long and multiple lines can be appended. Each node has only one parent but may have multiple children. The CCA DMS has a close-to-stan- dard record-definition block that in- cludes information on field number, field ID (identification), field name, and field length. Sorts are defined separately. DMS allows you to define fields in which values are calculated automatically. You can say the DMS equivalent of "add field one to field two and put the result in field three." The length of a DMS record must be less than 233 characters, and a record may contain up to twenty-four fields. The Data Factory has fairly stan- 280 November 1981 © BYTE Publications Inc Circle 140 on Inquiry card. k !^ rM . m m m Ultra FAST BASIC Compiler CB80," Compiler System s new native code Basic compiler offers maximum speed and flexibility in creating applications to solve today's business problems. CBASIC compatible: As an addition to the CBASIC family, CB80 has all the features of CBASIC (14 digit accuracy, long variable names, stream and record I/O, multiple line functions) plus these extras: • Relocatable machine code • 32K byte strings • Nested IF statements • ON ERROR GOTO • Variable type declarations • CALL statement with parameters • EXTERNAL and PUBLIC functions • Local variables in functions • Alphanumeric labels • Record LOCK and UNLOCK Expand your versatility. CB80 includes our LK8CT linker It allows you to create programs in separate modules and easily combine them. Powerful CHAINING capabilities, multiple library scanning, and easy linkage to assembly routines, are all part of LK80. CP/M" and MP/M II™ compatible: CB80 supports the popular CP/M and MP/M II operating systems. CB80's record LOCK and UNLOCK, combined with its superior speed makes it a natural for multiuser environments. Increase productivity and profits. Faster execution boosts system throughput and maximizes your computer's resources — an essential user feature. Coupled with reduced programming time, CB80 definitely improves your bottom line benefits. For your free CB80 brochure and licensing details, call us at (408) 649-3896, or write us today. M DIGITAL RESEARCH' RO. Box 579. Pacific Grove, California 939S0 Europe Vector. Int'l , Leuven, Belgium, 32(16)202496 Far East Microsoftware Assoc „ Tokyo. Japan, 03-403-2120 ^£! Solving complex business problems with BASIC simpli CB80. CBASIC, LK80 and MP/M II are trademarks of Digital Research. CP/M Is a registered trademark of Digital Research, c Copyright 1981 Digital Research dard file-definition features, although some are implemented strangely. For example, your field name must not be larger than your field. The tradeoff forced by this peculiarity will be dis- cussed later. A field may have up to 239 characters. The number of fields per record must be less than 89. Initial definition for the On-Line Database is standard. You specify the At a Glance Name On-Line Database Type File management and retrieval system Distributor Blue Lakes Computing 3240 University Ave Madison WI 53705 (608) 233-6502 Price $100 Format Locked 5-inch floppy disk Language Applesoft BASIC Documentation 21 pages At a Glance Name Information Master 3.10 Type File management and retrieval system Distributor High Technology POB 14665 8001 Classen Blvd Oklahoma City OK 73113 (405) 840-9900 Price $150 Format Locked 5-inch floppy disk Language Applesoft BASIC Documentation 145 pages number of fields in your record, and for each field you specify its name and length. You can have up to twen- ty fields per record, twenty-six char- acters per field, 239 characters per record, nine sort keys per file, and unlimited subsorts per sort (three is recommended as a practical limit). DBMS gives you simple, direct file- definition features. You can define sorts during or after your initial defi- nitions, and subsorts are allowed. You can have up to twenty fields per record, and 100 characters per field. Information Master provides ex- tensive system-creation options. You can have up to twenty fields per record, 99 characters per alphanu- meric field, nineteen characters per numeric field, five sort keys per file, and five subsorts per sort. Up to 1000 records are allowed per file, but not as many long records will fit on a disk: the number of records is limited to what will fit on one disk. Data entry for Infotree is disk-I/O intensive (as it is for all systems that don't let you accumulate data in memory). You spend a lot of time waiting for it to write information to disk. Worse, if you need the same in- formation in two separate branches of your tree, you must enter this in- formation twice. Data-entry com- mands are simple and direct (al- though they could be better docu- mented). The CCA DMS does not allow you the option of inspecting and correct- ing a record after you have finished entering it and before it is saved. If you wish to make corrections, you must use individual search, and up- date or delete commands. CCA DMS uses the standard prompt: it lists the field names before you enter your data. DMS does not have in-memory data entry. The Data Factory has good and bad data-entry features. It does have in-memory data entry, but it forces you to choose between cryptic prompts or efficient use of disk. (This is discussed in more detail under macroefficiency.) You can verify your entry before moving to the next record. The On-Line Database has the best data-entry features of any of the sys- tems I have examined. You can define default entries, and do in-memory data entry and avoid waiting for the completion of needless disk I/O. In- correct entries may be easily cor- rected by directing the cursor to the spot and reentering the data. DBMS allows field correction at the end of the entry of a record — it also does error checking. However, it does not allow in-memory data entry or default values. Information Master does not have user-controlled in- memory data entry. Sometimes it ac- cepts more than one record on its own initiative. Sometimes (rarely) it will miss characters because an inter- nal Applesoft operation takes place. It allows you to correct records be- fore saving them to disk, and it beeps after writing to disk. (The previous entry to any field is the default value of the current field.) The benefit of systems like these comes from the reports they produce. We will examine the way these sys- tems select a record to report, format the report, and calculate any derived results. Infotree's retrieval commands re- trieve either information about the tree structure or information that you have stored at the various nodes. The commands are easy to learn (even though the documentation is a bit sparse), but they are not very powerful. If you do not anticipate the requests you need to make of Infotree and build them into your tree struc- ture, you will not be able to ask them, much less get an answer. If your tree structure goes directly from the "in- formation retrieval systems" node to the specific program nodes without passing through a "for the Apple" node, you will not be able to ask Info- tree "what information retrieval sys- tems run on the Apple7" — not even if that information is somewhere fur- ther up the tree. Several record-selection options are scattered through the CCA Data Management System. You can select records that have a particular record number, records that have a partic- ular value in a particular field ("Dis- play all records that have a value of information system in the type of software field"), and records for 282 November 1981 © BYTE Publications lnc When it comes to microcomputer software we wrote the book. How do you stay up-to-the-minute with the rapidly changing world of microcomputer software? Get the Lifeboat Catalog. The Latest Innovations The new Lifeboat Catalog is packed with the latest state-of-the-art software. And if we publish a new program after m the latest catalog has gone to press, we \ Cott^^ enclose a flash bulletin in your copy. The Greatest Selection Because Lifeboat is the world's largest pub- lisher of microcomputer software, our catalog offers you the greatest selection of programs for busi- ness, professional and personal use. Our more than 200 programs range from integrated accounting and professional practice systems to office tools for book- keepers and secretaries to sophisticated tools for pro- grammers. Included are business systems, word processors, programming languages, database man- agement systems, application tools and advanced sys- tems utilities. We specialize in software that runs on most small business computers. Our more than 60 media formats, including floppy disks, data cartridges, magnetic tape and disk cartridges, support well over 100 computer brands of domestic and foreign manufacture. yfttfc tuttsu' pport Get Full Support We give the crucial dimension of after-sales service and full support to everything we sell. That includes: •A telephone hotline where technical and customer service representatives will answer your questions 11 hours a day. An update service for software and documentation. •Telephone, telex and mail-order service at the New York headquarters and at overseas offices in England, France, Switzerland, West Germany and Japan. •Export service providing software delivery to six continents. •Subscriptions to Lifelines 1 ", the monthly magazine that offers comparative reviews, tips, techniques, iden- tified bugs and updates that keep you abreast of change. Get It Now Lifeboat now serves tens of thousands of satisfied customers with our breadth of up-to-date, fully tested, fully supported and competitively priced software. You may not need all we offer, but we offer just what you need. After all, we wrote the book. Lifeboat Associates 1651 Thud Ave New York. NY 10028 lei (212) 860-0300 Telex 640693 ILBSOFTNYK) TWX 710-681-2524 Lifeboat Associates GmbH Hmterbergsliasse Postlach251 6330 Cham. Switzerland lei: 042-36-8586 Telei=865265 IMICO CHI lifeb LIFEBOAT WORLDWIDE offers you the world's largest library of software. Contact your nearest dealer or Lifeboat: | Mail coupon to: Lifeboat Associates, 2015 1651 Third Avenue, New York, New York 10028 or call (212) 860-0300. □ Please send me a free Lifeboat Catalog. D Please send me Lifelines subscription information. Name Title Lifeboat Inc. OK Bide. 5F 1-2-8. Shiba-Oaimon Minato-ku, Tokyo 105. Japan Tel: 03-437-3901 Telex: 2423296 ILBJTY0) Lifeboat Associates. Ltd. P0 Box 125 London WC2H 9LU. England Tel: 01-836-9028 Telex: 893709 (LBS0FTG) Intersott GmbH Lifeboat Associates. SARL Schlossgartenweg 5 10, Grande Roe Charles de Gaulle D-8045 lsmaning. W Germany 92600 Asnieies. France Tel 089-966-444 Tel 1-733-08-04 Telex 5213643 (ISOFDl Telex 250303 (PUBLIC X PARIS) Software vS| societies support Company- Street City_ -State Li Lifelines is a trademark ol Lifelines Publishing Corporation Copyright |) 1981. by lifeboat Associates Circle 226 on Inquiry card. BYTE November 1981 283 which the value of a particular field lies within a certain range ("Display all records for which the value of the cost field is between $50 and $400"). You cannot, however, do selections that require testing the values of multiple fields ("Display all records where the value of the host machine field is Apple and the value of the allows multiple selection criteria field is yes"). The system does select on partial matches. DMS has a some- what limited set of features that are quite cumbersome to use. The Data Factory includes several methods of selecting records that are not, however, grouped together. List, Search, Level Search, From/To, Compare, and Inspect/Change are separate main-menu options. The Level Search option allows multiple- criteria searching and searching for partial matches. You can specify record numbers if you wish. A com- prehensive set of features is provided, but using them is more difficult than need be. The On-Line Database does not allow selection by multiple criteria on multiple fields. You can specify a range that the value of a particular field must satisfy in order to select the record ("Select all records for which the last name field has a value of Dijkstra or greater and Wirth or less"). You cannot search for partial matches. DBMS allows multiple selection criteria on multiple fields. Inequalities are allowed, but not partial matches. Since subsorts are allowed, I consider these features to be reasonably com- plete. They are certainly very easy to use. Data Master has sophisticated se- lection features, but they are used to restructure files. They are not used directly for report purposes. Up to seven selection criteria may be entered. Multiple fields may be tested. You can test for equality, in- equality, or pattern match (leading, trailing, floating, or in a particular position). Information Master provides the same selection features as Data Master. The only difference is that they are used for reports rather than restructuring. They even use the same notation and menu format. Both sys- tems are comprehensive and usable. Inf otree allows you to print mailing labels, text you've stored at a node, or the structure of your tree. You don't have the power to create your own formats, so the program is limited in this area. The CCA DMS gives good control over the format of your reports. You can create single- or multiple-line for- mats. Field position is variable in each line. You can save and reuse the formats you've created and use DMS to print mailing labels. Pages can be titled. Formatting features seem rea- sonably complete, and they're less cumbersome to use than other DMS features. In-memory data entry speeds up file- management systems by reducing continuous disk-Intensive I/O. The Data Factory allows multiline formats, but gives no spacing option. You can specify the number of fields per line, title your report, print mail- ing labels, and save formats, but these features are somewhat limited. The On-Line Database has a mail- ing-label format, but otherwise does not allow multiline formats. You can specify field position in its single-line format and save these formats. Its features are limited. Information Master allows you to create up to fifteen report formats per data file. You have up to 15 columns per line. Each column can have a heading, and you can specify that decimal points be aligned. You can also specify totals, subtotals, and al- gebraic calculations, insert short labels (such as "total," "subtotal," etc), and define multiline formats and print mailing labels. A nice set of fea- tures. DBMS has a mailing-label format and allows multiline printed reports. You can specify which columns your fields are to occupy, insert unchang- ing characters into your report for- mats ("literal strings"), and save for- mats. It's complete and easy to use. Infotree does not provide any cal- culation options. Neither does the On-Line Database. The DBMS pro- vides totaling. The CCA DMS allows you to create calculated fields at the time you define your data file. Available func- tions are addition, subtraction, multi- plication, division, and expon- entiation. The total number of char- acters used in your formulas must be less than 228. Within this limit, you can create as many formulas as you wish and specify which fields should be used to store the results. The Data Factory provides a calcu- lation option called Math. You can add, subtract, multiply, or divide two fields, and store the result in a third field. You can also receive a report on the total, average, or count (number of records) of a specified field. You can enter selection criteria and use these functions at any time. Data Master allows you to add, subtract, multiply, or divide one field by another field, or use intermediate variables that you define. The inter- mediate variables are like memory lo- cations on a calculator. You can use up to ten intermediate variables. Mul- tiple-step calculations are allowed. Information Master allows the same operations as Data Master, as well as exponentiation and roots. Multiple- step calculations are allowed. DML (Data-Manipulation Lan- guage), as provided by CODASYL data-management systems, lets you read and write information into your data base from outside programs (among other things). None of the systems we're examining gives you a data-manipulation language, but some give you a little help. I get a headache when I think about all the incompatible files I'm collecting and want all the help I can get (see Martin's Principles of Data-Base Management for more about data- manipulation languages). Software Arts' DIF (Data-Interchange Format) is used to transfer information to and from VisiCalc and the CCA DMS. If DIF is widely used we might get some relief from incompatability head- aches. Only the CCA DMS provides a di- 284 November 1981 © BYTE Publications Inc Circle 177 on inquiry card. JUDGE THE REST, THEN BUY THE BEST Only GIMIX offers you SOFTWARE SWITCHING between MICROWARE's OS-9 and TSC's FLEX. Plus you get the power of the GMXBUG system monitor with its advanced debugging utility, and memory manipulation routines. A wide variety of languages and other software is available for these two predominant 6809 Disk Operating Systems. You can order a system to meet your needs, or select from the 6809 Systems featured below. JUDGE THE FEATURES AND QUALITY OF GIMIX 6809 SYSTEMS GIMIX CLASSY CHASSIS™ is a heavyweight aluminum mainframe cabinet with back panel cutouts to conveniently connect your terminals, printers, drives, monitors, etc. A 3 position keyswitch lets you lock out the reset switch. The power supply features a ferro-resonant constant voltage transformer that supplies 8V at 30 amps, + 15V at 5 amps, and - 15V at 5 amps to insure against problems caused by adverse power input conditions. It supplies power for all the boards in a fully loaded system plus two 5 V drives (yes! even a Winchester) that can be installed in the cabinet. The Motherboard has fifteen 50 pin and eight 30 pin slots to give you the most room for expansion of any SS50 system available. 1 1 standard baud rates from 75 to 38. 4K are provided and the I / section has its own extended addressing to permit the maximum memory address space to be used. The 2 Mhz 6809 CPU card has both a time of day clock with battery back-up and a 6840 programmable timer. It also contains 1K RAM, 4 PR0M/R0M/RAM sockets, and provides for an optional 9511 A or 9512 Arithmetic Processor. The RAM boards use high speed, low power STATIC memory that is fully com- patible with any DMA technique. STATIC RAM requires no refresh timing, no wait states or clock stretching, and allows fast, reliable operation. The system includes a 2 port RS232 serial interface and cables. All GIMIX boards use gold plated bus connectors and are fully socketed. GIMIX designs, manufactures, and tests in-house its complete line of products. All boards are twice tested, and burned in electrically to insure reliability and freedom from infant mortality of component parts. All systems are assembled and then retested as a system after being configured to your specific order. 56KB 2MHZ 6809 SYSTEMS WITH GMXBUX/FLEX/OS-9 SOFTWARE SELECTABLE With #58 single density disk controller $2988.59 With #68 DMA double density disk controller $3248.49 to substitute Non-volatile CMOS RAM with battery back-up, add 300.00 for 50 Hz export power supply models, add 30.00 Either controller can be used with any combination of 5" and/or 8" drives, up to 4 drives total, have data recovery circuits (data separators), and are designed to fully meet the timing requirements of the controller I.C.s. 5 V*" DRIVES INSTALLED IN THE ABOVE with all necessary cables SINGLE DENSITY DOUBLE DENSITY matted Formatted Unformatted Chart shows total capacity In Bytes for 2 drives. Contact GIMIX for price and availability of 8" floppy disk drives and cabinets; and 5" and 8" Winchester hard disk system. 128KB 2Mhz 6809 DMA Systems for use with TSC's UNIFLEX or MICROWARES's OS-9 Level 2 (Software and drives not included) $3798.39 to substitute 128KB CMOS RAM with battery back-up, add 600.00 for each additional 64KB NMOS STATIC RAM board, add 639.67 for each additional 64KB CMOS STATIC RAM board, add 988.64 for 50 Hz export power supply, add 30.00 NOTE: UNIFLEX can not be used with 5" minifloppy drives. GIMIX has a wide variety of RAM, ROM, Serial and Parallel I/O, Video, Graphics, and other SS50 bus cards that can be added now or in the future. Phone or write tor more complete information and brochure. THE SUN NEVER SETS ON GIMIX USERS vllX Systems are found on every continent, except Antarctica. (Any users there? If so, please contact GIMIX so we can ange this.) A representative group of GIMIX users includes: Government Research and Scientific Organizations in stralia, Canada, U.K., and in the U.S.; NASA, Oak Ridge, White Plains, Fermilab, Argonne, Scripps, Sloan Kettering, 3 Alamos National Labs, AURA. Universities: Carleton, Waterloo, Royal Military College, in Canada; Trier in Germany; and the U.S.; Stanford, SUNY, Harvard, UCSD, Mississippi, Georgia Tech. Industrial users in Hong Kong, Malaysia, South ica, Germany, Sweden, and in the U.S.; GTE, Becton Dickinson, American Hoechst, Monsanto, Allied, Honeywell, Perkin ner, Johnson Controls, Associated Press, Aydin, Newkirk Electric, Revere Sugar, HI-G/AMS Controls, Chevron. Computer inframe and peripheral manufacturers, IBM, OKI, Computer Peripherals Inc., Glume, Floating Point Systems. Software uses; Microware, T.S.C., Lucidata, Norpak, Talbot, Stylo Systems, AAA, HHH, Frank Hogg Labs, Epstein Associates, ttwest, Dynasoft, Research Resources U.K., Microworks, Analog Systems, Computerized Business Systems. GIMIX Systems are chosen by the Pros because of quality, reliability and features. Formatted Unformatted Formatted Unformatted 40 track (48TPI) single sided 199,680 250,000 341,424 500,000 2 for $700.00 40 track (48TPI) double sided 399,360 500,000 718,848 1,000,000 2 for 900.00 80 track (96TPI) single 404,480 500,000 728,064 1,000,000 2 for 900.00 80 track (96TPI) double 808,960 1,000,000 1,456,128 2,000,000 2 for 1300.00 TO ORDER BY MAIL SEND CHECK OR MONEY ORDER OR USE YOUR VISA OR MASTER CHARGE. Please allow 3 weeks lor personal checks to clear. U.S. orders add $5 handling rl order is under $200.00. Foreign orders add $10 handling if order is under $200.00. Foreign orders over $200.00 will be shipped via Emery Air Freight COLLECT, and we will charge no handling. All orders must be prepaid in U.S. funds. Please note that foreign checks have been taking about 8 weeks for collection so we wouW advise wiring money, or checks drawn on a bank account in the U.S. . Our bank is the Continental Illinois National Bank of Chicago, account #73-32033 Visa or Master Charge also accepted. GIMIX INC. reserves the right to change pricing and product specrfications at any time without further notice. GIMIX- and GHOST" are registered trademarks of GIMIX Inc. © 1981 GIMIX Inc. FLEX AND Uniflax are trademarks of Technical SystBms Consultants Inc. OS-9 is a traderrwk of Microware inc. See their ads tor other GIMIX compatible software Gimix inc. The Company that delivers Quality Electronic products since 1975. 1337 WEST 37th PLACE, CHICAGO, IL 60609 (312)927-5510 • TWX 910-221-4055 rect interface to VisiCalc. Perhaps I should qualify that by saying Visi- Calc "programs" often require some editing before interchange (unless you like empty fields and literals inter- spersed in your data). Since VisiCalc provides only primitive filing options and limited information storage in main memory, I expect that many file-management systems for the Apple II computer will eventually supply a direct interface. Infotree provides a text file that contains information about how to interface your own software to the Infotree data files. Neither the Data Factory nor the On-Line Database provides such information. DBMS has new documentation (which I haven't seen). The old documentation didn't provide any interface informa- tion. Both the CCA Data Manage- ment System and Information Master provide useful information. DMS and Information Master give you the lay- out of their files and describe the pur- pose of each field. The CCA package even includes sample programs. Commands are simple and direct with Infotree. A help command prints out a list of possible commands with a brief explanation of each command. The command notation is consistent. Infotree is pleasant to run. There is considerable room for im- provement in this area for the CCA DMS. Commands are complex and the formats are not consistent. You must remember the correct places to put commas, exclamation points, apostrophes, and various cryptic codes. (Two good discussions of human factors are Shneiderman, 1980 and Snodgrass, 1980.) The Data Factory has the largest main menu of any of the seven pack- ages. Many of the main-menu options are slight variations of each other and could easily be grouped together as suboptions of a single main-menu item. This would improve the clarity of the system. The Data Factory asks you whether or not you have a printer each time you boot the system or shift from one data file to another. These are not the characteristics of a HE^U- Speech Synthesis using the Votrax SC-01 with the S-100 P.C. BOARD TM* ads ymCHEL ALKE3! • 64 PHONEMES AND 4 INFLECTIONS PROVIDE AN UNLIMITED VOCABULARY THAT IS USER PROGRAM- MABLE. • MORE NATURAL SPEECH OR MULTIPLE VOICES ALSO, WITH PROGRAMMABLE OSCILLATOR. • EASILY PROGRAMMED IN BASIC! • CALL OR WRITE FOR COMPLETE DETAILS. {sl&Vi* 6809 SMALL BASIC: OtJS BASIC! • 2K INTEGER BASIC FOR ADS MONITOR ADSMON (ADSMON I/O CALLS ALTERABLE). • POSITIONABLE ON ANY PAGE BOUNDARY. • 20 INTEGER VARIABLES AND AN INTEGER ARRAY. • 7 BUILT- IN FUNCTION CALLS ARITHMETIC, LOGICAL AND RELATIONAL OPERATORS AND MUCH MORE! "Votrax Trademark Federal Screw Works Ackerman Digital Systems, Inc. 110 No. York Rd., Suite 208 Elmhurst, IL 60126 (312) 530-8992 considerate system. On the other hand, it does have in-memory data entry (and that shows some consider- ation for human factors). The Data Factory is a little harder to use than need be. The On-Line Database is the most understanding in term of human fac- tors. It is menu driven, simple, and direct, and the data-entry features are outstanding. The menus are easy to understand, and because the system searches for the next record as you view the current one, your waiting time is greatly reduced. Very pleasant to use. DBMS has a few weaknesses (one being an excessively long main menu that distinguishes between "search the data base," "print the data base in user's format," and "print the data with mailing list format"). But, all things considered, it's reasonably well engineered and the menu format is generally uniform throughout the system. Information Master and Data Mas- ter have good consideration for human factors. Menus are not exces- sively long and commands are grouped logically. Their command structure is less uniform than that of DBMS, but otherwise seems well de- signed. High Technology made an in- telligent decision in using the same command format for both Informa- tion Master and Data Master (the two programs were designed for each other). They could have achieved more uniformity within that com- mand format (either letters or num- bers for specifying menu options, but not both; a single format for menus, etc), but their consideration for human factors is generally good. Documentation serves different purposes at different times. The kind of documentation that is best when you're first learning a system is not the best when you've had some expe- rience. The writer must include a tu- torial, reference material, and con- sider who the reader is (a novice! A grandmaster? someone in between?). Infotree's documentation is sparse, but because its user interface is well designed, this is acceptable. A text file on the program disk explains Text continued on page 292 286 November 1981 © BYTE Publications Inc Circle 7 on inquiry card. gift of the future^- ■ ■ from BYTE Booh ; ;-V'\ s 5 Qiaipcis's Oipcwit Settap So; m^ X\ sun BRAINS, BEHAVIOR ROBOTICS SAIbu, lines Erne AVAILABLE FALL 1981 DIGITAL HARMONY by John Whitney A new synthesis of sight and sound Digital Harmony lays the foundation for the whole new field of audio-visual art made possible by microcomputers. John Whitney, a pioneer of the special effects technology used in STAR WARS and 2001: A SPACE ODYSSEY, explains the special union of computer graphics and music. His computer-generated visual art graphically depicts the laws of harmonic motion common to all music. Digital Harmony includes a complete description of Whitney's computer, periph- erals, and film techniques. Colorful illustrations are in- cluded, as well as the program listings that generated them. The descriptions are sufficient for anyone to begin to explore this new territory as a com- poser and computer experi- menter - transforming the small computer into an ideal instru- ment for creating compositions in aural and visual art, John Whitney is on the Faculty in the Department of Art at the University of California, Los Angeles. ISBN 0-07-070015-X 240 pages hardcover over 50 color C 1 Qt\ photographs y*liT9 INVERSIONS: A Catalogue of Calligraphic Cartwheels by Scott Kim Foreword by Douglas Hofstader Backword by Jef Raskin Surprising symmetries in design and letterforms Illusion . . . calligraphy .,. . visual magic - Scott Kim's new book. Inversions, delights the eye and enchants the mind. Fiilea with intriguing designs, woids that read the same right- side up and upside down, words within words, and un- expected symmetries, these composition; create a fresh way to look at the alphabet. The text includes the visual principles of symmetry, lettering, and problem solving that are basic to these images. The author also draws parallels to related exercises in perception in such diverse areas as art, music, word play, and mathe- matics. Scott Kim's original inversion designs first appeared in Omni magazine, inspiring an overwhelming reader re- sponse. An irresistable chal- lenge, invertible writing appeals to everyone who loves beauty in mathematics and design. Scott Kim is a doctoral student in Computer Science at Stan- ford University and is a concert pianist and composer. ISBN 0-07-034546-5 1 28 pages softcover over 50 illustrations available summer 1981 $8.95 BRAINS, BEHAVIOR, AND ROBOTICS by James S. Albus Robotics design and applications This computer-oriented guide explores how the brain functions primarily as a computer device for generating and con- trolling behavior. The author assesses behavior as a product of three hierarchies of computing modules: • memory modules • behavior-generating modules • sensory-processing modules A section on artificial intelli- gence ties this hierarchical model to vital computer science techniques such as planning, problem-solving, machine vision, natural language understanding and knowledge representation. A closing section on robotics discusses the design consid- erations in constructing a robot control system fashioned after this model of the brain, and explores the current and potential use of robots in our environment. Dr. James S. Albus is Project Manager with the National Bureau of Standards. ISBN 0-07-000975-9 400 pages hardcover ISO illustrations $16.95 THE BRAINS OF MEN AND MACHINE by Ernest W. Kent Human models for computer design When the "Brains of Men and Machines" series of articles first appeared in BYTE magazine, the response was immediate and enthusiastic. Now Ernest W. Kent has expand- ed his ideas about the brain into a full-length book. As researchers begin to unravel the mysteries of the brain's chemical, electrical, and synaptic circuitry, their findings are becoming immediately applicable to advances in robotic behavior and computer design. The Brains of Men and Machines "dissects" the. brain to provide new insights into computer design and artificial intelligence. It is one of the rare books that transcends disciplinary bound- aries. In it the ever-increasing relationship between man and machine is freshly examined - a relationship. Professor Kent concludes, that is today being reexamined in the light of man's own neurological self-image. Dr. Ernest W. Kent is a Professor of Physiological Psychology and Psycho- pharmacology at the University of Illinois at the Chicago Circle Campus. ISBN 0-07-034123-0 304 pages hardcover Air ft C illustrated ^O.tO The BYTE BOOK Collection Circle 55 on inquiry card. BASIC SCIENTIFIC SUBROUTINES, VOLUMES 1 AND 2 by Fred Ruckdeschel ( PHM— Valuable programs for professional and hobbyist Designed for the engineer, scientist, experimenter, and student, this series pre- sents a complete scientific subroutine package in BASIC. • Volume 1 covers plotting, complex vari- ables, vector and matrix operation. random number generation, and series approximations. • Volume 2 continues with least-squares approximation, special polynomial functions, approximating techniques, optimization, roots of functions, inter- polation, differentiation, integration, and digital filtering. These volumes feature routines written in both standard Microsoft and North Star BASIC, extensive appendices, and subroutine cross-referenes. Dr. Fred Ruckdeschel is a Principal Scientist with Dynacomp, Inc. VOLUME 1 VOLUME 2 ISBN 0-07-054201-5 ISBN 0-07-054202-3 336 pages 384 pages hardcover hardcover illustrated illustrated available Fall 1981 $19.95 523.95 T7»* BYTE Book t* Pascal THE B YTE BOOK — OF ««— « PASCAL Blaise W. Liffick, Editor A powerful, structured language Based on articles, language forums, and letters from BYTE magazine, this work is a valuable software resource. Pascal con- tinues to be popular as a structured pro- gramming language. Written for both potential and established users, this book introduces the Pascal language and examines its merits and possible imple- mentations. Featured dre two versions of a Pascal compiler, one written in BASIC and the other in 8080 assembly language; a p-code interpreter written in both Pascal and 8080 assembly language; a chess- playing program; and an APL interpreter. ISBN 0-07-037823-1 334 pages hardcover $25.00 you ,st/ir sought a ■ -**.*! "** WHAT? ) THREADED INTERPRETIVE LANGUAGES by Ronald Loeliger How to implement FORTH on your Z80 Threaded languages (such as FORTH) are compact, giving the speed of assembly language with the programming ease of BASIC. They combine features found in no other programming languages. This book develops an interactive, extensible language with specific routines for the Zilog Z80 microprocessor. With the core inter- preter, assembler, and data type defining words covered in the text, it is possible to design and implement programs for almost any application and equivalent routines for different processors. Ron Loeliger is a Senior Analyst with Intermetrics, Inc. ISBN 0-07-038360-X 272 pages hardcover illustrated $18.95 BEGINNER'S GUIDE FOR THE UCSD PASCAL SYSTEM by Kenneth L. Bowles The most popular Pascal version explained by its creator Written by the originator of UCSD Pascal System, this informative book is an orienta- tion guide to the UCSD Pascal System, For the novice, this book steps through the System, bringing the user to a sophisticated level of expertise. Once familiar with the System, the reader will find the guide an invaluable reference tool for creating advanced applications. The package offers programs which may be run without alteration on: • DEC PDP-11 or General Automation minicomputers • Western Digital Microengines • 8080. 8085. Z80, 6502, 6800, 9900 or AM-lOO based microcomputers (includ- ing the popular Apple II and Radio Shack TRS-80 microcomputers) Dr. Kenneth L. Bowles is Director of the Institute for Information Systems. University of California, San Diego. ISBN 0-07-006745-7 204 pages softcover $11.95 ■•;. YOU JUST BOUGHT A PERSONAL '-tsBusss^-j, WHAT? ■m^mmt by Thomas Dwyer and Margot Critchfield A Structured Approach to Creative Programming Intended for both the novice programme' and the experienced computer enthusiast, this book presents practical ideas for personal computer use at home or at work. Its approach is especially suitable for educational purposes. Written by the leading contributors of computer educa- tion material, this book is an entertaining and resourceful tool. There are over 60 ready-to-use programs written in Microsoft and Level II BASIC for the TRS-80 in the areas of educational games, financial record keeping, business transactions, disk- based files, and word processing Dr. Thomas Dwyer is a Professor of Computer Science at the University of Pittsburgh. Margot Critchfield is a doctoral student in Foundations in Education at the Univer- sity of Pittsburgh. ISBN 0-07-01 8492-5 343 pages softcover 78 illustrations $11.95 BEYOND GAMES: SYSTEM SOFTWARE FOR YOUR 6502 PERSONAL COMPUTER by Kenneth Skier Creating programs for the Apple, Atari, Challenger and PET computers At last, a complete programming guide- book for owners of personal computers utilizing the 6502 microprocessor. A self- contained course in structures programming and fop-down design, this book presents a powerful set of tools for building an extended monitor, disassembler, hexadec- imal dump routine, and text editor programs. Programs are thoroughly explained, with clear instructions for modifications Kenneth Skier is a Systems Programmer for Wang Laboratories, Inc., and a Lecturer at MIT. ISBN 0-07-057860-5 440 pages softcover illustrated $14.95 stimulating, provocative, problem-solving Circle 56 on inquiry card. BYTE November 1981 289 CIARCIA'S CIRCUIT CELLAR by Steve Ciarcia Practical uses for home computers Imaginative and practical, Ciarcia's Circuit Cellar details a variety of microcomputer projects. A collection of the best articles from the popular series in BYTE magazine, this volume includes • D/A conversion • Programming EPROMS • AC remote-controlled appliances • digitized speech • touch input video display Complete instructions are given on how to construct each project. With amusing anecdotes and an easy-going style, Ciarcia presents his material in such a manner that even a neophyte need not be afraid of it. ISBN 0-07-010960-5 125 pages softcover color photographs and diagrams $8.00 CIARCIA'S CIRCUIT CELLAR, VOLUME by Steve Ciarcia More practical uses for home computers Composed of popular articles from BYTE magazine, this volume tells how micro- computers can be uniquely interfaced to our environment. Projects include • building a computer controlled home- security system • computerizing appliances • transmitting digital information over a beam of light • building the Intel 8O86 microprocessor system design kit • input-output expansion for the TRS-8O ISBN 0-07-010963-X 224 pages softcover photographs and diagrams $12.95 MICRO- COMPUTER STRUCTURES J by Henry D'Angelo #&&£** :w- Digital Electronics, Logic Design, and Computer Architecture Today, there is an increasing demand for computer users who are not only well-versed in software, but who can also maintain, modify, and design their own hardware systems. This text introduces computer users with little or no background in digital hardware to the basic computer structures used in microcomputer design and microcomputer interfacing. Helpful examples and end-of- chapter exercises further illustrate the various concepts presented, and a detailed bibliography provides additional reading opportunities. As a resource and textbook, it will assist • programmers and systems analysts • engineers and scientists • managers • students Detailed Instructor's Manual also available. Dr Henry D'Angelo is the Associate Dean of the College of Engineering and Professor of Manufacturing Engineering at Boston University. BUILD YOUR OWN Z8O COMPUTER by Steve Ciarcia ^110 ccynrvTEt ISBN 0-07-015294-2 288 pages hardcover 314 illustrations available spring 1981 $18.95 Instructor's Manual ISBN 0-07-015298-5 softcover $8.95 Every step spelled out for do-it-yourself buffs For the engineer, computer technician, student, and anyone interested in building a computer rather than buying one, this practical guide shows how to build a won ing computer based on the Zilog Z8O mic processor. Each computer subsystem is fu explained and supported by proven desij and testing information. The description focuses on a basic single-board micro- computer containing • easy expansion to include a video termii • a 1 K-byte operating system • serial and parallel ports • hexadecimal display • audio cassette mass storage Readers can modify the system to meet personal needs. Steve Ciarcia is a Computer Consultant Electrical Engineer, and author of "Ask Byte" and "Ciarcia's Circuit Cellar" column in BYTE magazine. ISBN 0-07-010962-1 330 pages softcover available summer 1981 $15.95 BYTE Books' reputation is based on providing technically accurate, useful, and timely information. Established on the same principle as BYTE magazine, BYTE Book's evolved in response to the rapidly ex- panding audience of home and business computer users. Computer professionals and enthusiastic newcomers need to keep pace with this unabated growth. This selec- tion of BYTE books can expand your library of knowl- edge and expertise. TO ORDER, CALL TOLL FREE 800-258-5420, OR FILL OUT YOUR CHOICES IN THIS COUPON and return it with check, money order, or charge card number to: 1 kiims 70 Main Street Peterborough, New Hampshire 03458 order now . . . ! m BIJII E11VS 70 Main Street Peterborough, New Hampshire 03458 Name Address. City State. Zip • Check enclosed in the amount of . • Bill Visa. Card Number Bill Master Charge. Card Number Expiration Date Include 75c per book to cover postage and handling. TITLE PRICE QUANTITY AMOL SHIPPING TOTAL Circle 57 on inquiry card. The MICROMINT Z8 BASIC COMPUTER/CONTROLLER board repre- sents a milestone in microcomputer price- performance. It is cheap enough to be programmed directly in a high level lan- guage, and efficient enough to be battery operated if required. The entire computer is 4" by 4V2" and includes a tiny BASIC interpreter, 4K bytes of program memory, one RS-232 serial port and two parallel ports, plus a variety of other features. Us- ing a powerful Z8 microcomputer chip and Z6132 4K X 8 RAM, the Z8 BASIC COMPUTER/CONTROLLER board is com- pletely self-contained and optimized for use as a dedicated controller. The unit is assembled and tested and comes with over 200 pages of documentation. The price, in single quantity, a tiny $195.* Optional power supply ( + 5, + 12 and -12V) $35. Please include $4 for shipping and handling. 'Call Micromint for quantity pricing Z8 MICROCOMPUTER • On board tiny BASIC interpreter. • Parallel and serial I/O ports. •6 interrupts. RS-232 CONNECTOR • Just attach a CRT terminal and immediately write control programs in BASIC. 4K BYTES OF RAM •Z6132 4K X 8 low power quasi-static RAM. EPROM pin compatible. SWITCH SELECTABLE BAUD RATES •110-9600 BPS. FULLY EXPANDABLE • Data and address buses available for 124K memory and I/O expansion. • 2 onboard parallel ports. • 7.3728M HZ crystal for fast control opera tions JUMPER SELECTABLE MEMORY OPTIONS •4K RAM, 2716 or 2732 EPROM operation. LOW POWER • Consumes only 1 1 /2 WATTS at +5, +12 and -12V (optionat power supply available). To Order: Call Toll Free 1-800-645-3479 For Information Call 1-516-374-6793 MICROMINT INC. 917 Midway Woodmere, N.Y. 11598 Micromint will put both a computer development system and an OEM dedicated controller in the palm of your hand for only $195. , Circle 447 on inquiry card. As featured in Byte Magazine, July, August, 1981. ; ;it\ » v ,« \A s Z8 is a trademark of Zilog Inc. Text continued from page 286: Infotree's file structure. There is a table of contents, but no index. A handful of examples would improve things: Infotree's documentation is tutorial. The documentation for the CCA Data Management System is clear and quite complete. In addition to all DMS functions (including the transfer of information between DMS and VisiCalc) there is, as previously noted, information on the format of DMS files and how to work with them from your own programs. The documentation includes a table of contents and an index. The documen- tation is both tutorial and for refer- ence. The Data Factory has reasonably complete documentation, but unfor- tunately it is sometimes unclear and most things are only explained once. The structure of the manual follows the structure of the main menu. For the most part, the manual works, but a little more detail (or an example or two) would make things clearer. There is a table of contents, but no index. Acceptable for both initial learning and subsequent reference. The documentation for the On- Line Database is very clear. It in- cludes a procedure for designing an application using the system and a backup procedure that uses disk rota- tion (similar to rotating your car's tires). Unfortunately, no descriptions of file structure have been included. There is a table of contents, but no index. It is mainly tutorial, but has some reference uses. Quite recently, High Technology introduced new documentation for DBMS. The previous documentation was sparse and I haven't seen the new documentation. But since it is re- ported to be fairly extensive (55 pages), and written by the same per- son who wrote the documentation for Information Master and Data Master (see the next paragraph), I expect it to be generally good. The documentation for Data Mas- ter is generally good, as is Informa- tion Master's documentation. Both manuals have essentially identical virtues. Chapter sections are divided into synopses and tutorial subsec- tions, and examples are numerous and detailed. The manuals go beyond describing the options and what they do; for example, under "Efficient methods for entering data," the Infor- mation Master manual describes which options work best for entering large amounts of data that don't need to be accessed prior to completion, and which options work best when data comes in little by little and the data file needs to be accessed in- between. Each manual has a table of contents, a quick reference chart, and an index. They are useful for initial learning and for reference. A "microefficient" program is slightly faster or uses slightly less memory than average (often at the expense of error-prone, hard-to- maintain dirty tricks). A "macroeffi- cient" program is substantially faster, or uses much less memory (usually because of intelligent choice of algo- rithm or data representation). For a We Want To Give You $5.00 ! Yes that's right, we want to give you a certificate worth $5.00, redeemable on your first order of $50.00 or more AND our NEW 48 page Catalog showing a complete line of Hardware & Software for APPLE, HEWLETT-PACKARD and TEXAS INSTRUMENTS computers, PLUS TEXAS INSTRUMENTS, HEWLETT-PACKARD, SHARP & CANON calculators and ITT telephones. P. 0. Drawer 808 Hwy. 64 at Old Hwy. 1 Apex, N. C. (919) 362-7000 WattusSKStssst &HtM ^H»! 292 November 1981 © BYTE Publications Inc Circle 396 on Inquiry card. THE BETTER BOARD SB-80 Single Board Computer M Z-80-A 64K RAM Fully Assembled and Tested Size: 16" x 13" Same as 2 8" floppy drives. Requires: +5V 1.5 Amp -5V 1.0 Amp +12V 1.5 Amp $82500 TheSB-80singlecomputerboardalong with 1or 2 8inchdisk drives.a power supply, an enclosure, and a CRT give you a complete computer system that can be used for either business or personal use and will still allow for upgrade options (up to 4 floppy drives. 5 to 40 meg hard disk, or 24 x 80 character video). CONSTRUCTION • Computer is fabricated on a single printed circuit board. • Sockets for all integrated circuits • 50pinconnectorallowsaccessto system for future expansion. PROCESSOR • Z80A with 4 MHZ system clock with no wait states. MEMORY • 64K of 200ns dynamic RAM is standard. 41 16 IC's. • Parity protection is standard. A memory error places the system in a permanent wait state and lights on LED indicator. ROM • 256 bytes bootstrap ROM. 2 SERIAL l/0's • Z80A-SIO/0 dual channel chip. • Two complete bidirectional serial ports with RS232 buffering. Fully programmable for Asynch. Bi- synch. andSDLC. • Programmable dual baud rate generator on board. Selectable baud rates up to 19.2kb Provi- sions for modem supplied clocks. • Interrupts or polling under pro- gram control. 2 PARALLEL I/O s • 280A-PIO chip. • Two complete TTL eight-bit bidi- rectional ports with extra hand- shake lines. Interrupts or polling under program control. • Punter support through one paral- lel port COUNTER/TIMERS • Z80A-CTC chip. • Four separate counter/timers under program control. Counters can count external events and can interrupt or be polled. Timers are programmed to inter- rupt or signal an external device after a desired time interval. FLOPPY DISK CONTROLLER • Uses Western Digital 1793 con- troller chip which supports soft- sectored formats under program control. • Standard IBM - CP/M single den- sity formats or double density for 600K bytes per side. Density is selected by way of software con- trol runs CP/M 2.2V EXPANSION 50 pin connector bus allows foi future expansion capabilities. OPTIONAL Character video board 80 x 24 foi use with black and white monitor using a stand-alone keyboard. S215.00. OPTIONAL Winchester Host Adaptor board for Shugart SA-1000 or Corvus Hard Disk. Includes cables S315.00. OPTIONAL Stand-alone keyboard and cable plugs into computer board for 80 x 24 video option. S 190. 00 CP/M- 2.2 & BIOS CP/M - 2.2 & BIOS modified by S & M systems lo run on single boaid is available for S145 00 HOW TO ORDER Phone ordeis using American Express. Visa. MasterCharge. Bank wire transfer. Cashier's oi Certified check. Money Order, or Personal check (allow 10 days to clear!. Please add 5% for shipping, handling and insurance minimum S500.00 Conn, residents add 7.5" o sales tax. All equipment is subject to price changes and availability without notice All equipment is new and comes complete with manufacturers warranty. Showroom prices may differ from mail-order advei - lisemenl SB-80 The | Price Is Nice. Introductory offer . . . $ OA O C Basic system with: 600K bytes fa^kOa • 1.2 megabytes $2990. • 2.4 megabytes $3490. Single Board Technology A Z80A CPU combined with the CP/M® operating system opens new vistas to software availability for eight-bit micros. FORTRAN, COBOL, BASIC, APL, PL/1 and Pascal are available now to accom- modate today's scientific, educational, sophisticated small business and personal system users. • 4 MHz Z80A CPU • • CP/M 2 operating system • • 64K 200ns main memory • • 8-inch dual floppy drives • • 50-pin expansion connector 2-serial ports 2-parallel ports 4-counter/timers Hard disk options available CPU -DISK DRIVE CABINET Metal cabinet with proportionately balanced an flow-convection cooling. AC power cord connector; lighted power switch: Fuse assembly: 0L65 Dual drive power supply (Will also power single board CPU). All hardware included to mount 2 8" disk drives. Includes space area to mount any single board computer. Fully assembled and tested. SB- Cabinet Kit S395 00 SB- Bare Cabinet S95 00 SS/DD DISK DRIVE SYSTEM SB Assembled tested with28" drives. . . S1 185.00 DD/DD DISK DRIVE SYSTEM SB Asembled tested with 2 8" drives . . . S1650.00 8" FLOPPY DISK DRIVES: Single Sided/Double Density Double Sided/Double Density Shugart 800/801R S395.00 2/S770 00 Shugart 850/851 R S590.00 2'S1140 00 ■iy PRINTERS Okidata Microhne82A Bidirectional Friction/Pin Feed 9 x 9 Pin Head Okidata Microline83A 120 cps: S595.00 IC's Bidirectional 9 x9 Pin Head S795.00 82A Tractor S75.00 C.ltohStarwriter (Parallel) 25 cps: Oaisywheel S1550.00 C.ltohStarwriter (Parallel) 45 cps; Daisywheel S1850.00 C.ltoh Starwriter Tractor S190.00 TERMINALS Televideo 910 S625.00 912C S725 00 920C S770.00 ADDS Viewpoint S620.00 16K Static RAM 4116200ns S2.30ea. 16/S32.00 Z80A CPU S6.00 Z80A CTC S6.00 Z80A PI0 S6 00 Z80ASI0/0 S19.00 ' CP/M is a trademark of Oigil.nl Research Coip " 1 tn 4 piece domestic U S puce (203) 288-2524 • Telex: 956014 Circle 76 on inquiry card. Colonial Data Services Corp. 105 Sanford Street Hamden, Conn. 06514 more extensive discussion of this issue, see Ledgard's BASIC With Style. Only the Data Factory and the On- Line Database have practical in-mem- ory data entry. All the other systems spend a lot of time writing to the disk. Because it regularly requires redun- dant data entry (if the same informa- tion is required by two branches of its tree) Infotree can be even more "inef- ficient." All the systems, except the Data Factory, make reasonably efficient use of disk space. Most systems allow you to give your fields a name that is longer than the data field itself. But if you wish to entitle a field "The Num- ber Of Years You've Owned This Sys- tem," the Data Factory requires you to reserve enough space in your record to hold the entire title. This means that you are regularly forced to choose between cryptic data-entry prompts and fairly large amounts of wasted disk. If you wish to sort your file in more than one order, there is more bad news. The Data Factory re- quires you to maintain a complete copy of your data file for each sort. Five sorts, five complete copies. The Data Factory's version of mul- ticriteria selection requires multiple readings of the data file. This is ineffi- cient. By contrast, the On-Line Data- base searches for the next record that meets your selection criteria while you view the current one. If the time you spend viewing the current record exceeds the search time, your next record seems to arrive the instant you request it. If you can choose when to sort, sorting speed becomes less important. Both Infotree and the On-Line Data- base require you to sort during data entry. You have no discretion (Info- tree also has a discretionary sort that performs slightly different functions). All the other systems allow you to choose when to sort. If you use a fair- ly small number of subsorts, On-Line Database and Infotree perform all right. The sorting efficiency of these THE FORMULA™ allows the computer professional to focus on the most important part of business: the needs of the client. Customized systems for any business appli- cation can be created in a fraction of the time required by conventional methods. "gRSSS* Interactive data entry, file updating, and maintenance routines are automatically generated from a definition of the fields. Reports can be created through a unique full screen editor simply by typing a sample format. Menus and job streams are defined through a preprogrammed parameter-driven pro- cedure. • Fast response time is insured because each routine can be interpreted directly by the computer and data management is controlled by an efficient ISAM algorithm. THE FORMULA™ is a complete system language which brings the process of developing applications closer to the user's description of his needs. That'sTHE FORMULA™ for success. Disk and manual, $595. Manual only, $60. THE FORMULA™ will run on any 8080 or Z80 computer with CP/M,* 48K RAM, 300K total disk storage, and a CRT. DMA • WE SPEAK YOUR LANGUAGE. DYNAMIC MICROPROCESSOR ASSOCIATES • 545 Fifth Avenue, New York, New York 10017 • (212) 687-7115 We ship prepaid and COD orders. Shipping & handling charges extra: $5 UPS areas; $7 non-UPS areas, Mexico, Canada; $10+ elsewhere. MasterCharge and VISA accepted. New York State residents add appropriate sales tax. 'CP/M is a trademark of Digital Research. 294 November 1981 © BYTE Publications Inc Circle 146 on Inquiry card. Microcomputer Workstations from $7,995.00 CM103LK — LSI 11/2 CPU, 64KB Memory, power supply, KEV 11 in 16 slot rack mountable chassis .... $2,450.00 PDP 1103SE — LSI 11/2 CPU, 64KB Memory, power supply, KEV 11 in 8 slot rack mountable chassis $2,695.00 CM 1/23 AC — LSI 11/23 CPU, MMU, 256KB Memory, power supply, in 16 slot rack mountable chassis .... $4,995.00 CI9448-96 — 96 mega byte cartridge disk system with controller. 80 mega bytes fixed and 16 mega bytes removable $10,500.00 CI-MWS03-SB — LSI 11/2 computer workstation. LSI 11/2 CPU, 64KB Memory, power supply, KEV 11, in 16 slot rack mountable chassis. 2 port serial I/O. CRT terminal. 1 mega byte floppy disk system. Desk- top workstation $7,995.00 CI-MWS23-MB — LSI 11/23 computer work- station. LSI 11/23 CPU, MMU, 256KB Memory, power supply, in 16 slot rack mountable chassis. CRT terminal. 10 mega byte cartridge disk system. 4 port serial I/O. Desktop workstation $11,995.00 DON'T ASK WHY WE CHARGE SO LITTLE, ASK WHY THEY CHARGE SO MUCH. € Chrislin Industries, Inc. 31352 Via Colinas • Westlake Village, CA 91362 • 213-991-2254 • TWX 910-494-1253 LSI II is a trademark of Digital Equipment Corp. Circle 67 on inquiry card. BYTE November 1981 295 Circle 26 on inquiry card. *:«»-•• • 20% • DISCOUNT COUPON Bring this COUPON into one of our stores or mail to our Mail Order address shown below and receive a 20% DISCOUNT on purchases from this page of $50.00 or more. Offer EXPIRES on December 15.1981 Z-80 SERIES 2.5 MHz Z-80-CPU S 7.10 I 2-BO-S1D/0 S20 10 Z-BO-CTC 5.90 Z-BO-S10/9 14.50 P10 5.90 Z-B0-DMA 21.50 Z-80-DART 54.30 I 4.0 MHz Z-80A-CP0 S 8 05 I Z-BQA-SIQ/O S21.25 Z-8DA-CTC 635 Z-B0A-S10/9 15.70 Z-80A-P1D 6.35 Z-BOA-DMA ■ 22.70 Z-80A-DAHT 15.50 I EPROM 2732 $11.90 EPR0M 2716-5 (5 VOLT) $6.50 EPROM Erasing Lamps ERASES 4 CHIPS IN LESS THAN 20 MINUTES • SIMPLE TO USE • SAFETY INTERLOCK • ERASES 270B. 2716. 1702A. »Ic. UVS-IIE S85.00 SORCERER COMPUTER |l- " '^ Speaks Your Language FEATURES Z80 - 4K ROM - 32K HAM - Dual Cassette I/O - 30 Lines of 64 Characters - 64 Defined Characters and 64 User Defined Characters- 512 1 240 Graphic Resolution - Edge Card Connection to S-100 Bus - Senal and Parallel I/O Order Part No. DP1002-2 32K .... S1395.00 • MICROPROCESSOR CRYSTALS • DO HC33 CY1A ! 8432 HC33 CDIA on HC33 CY3A 4516 HC33 CY2B 276B HC33 CY3B 519 HC33 CY30 DO HCia CY3A 434 HCIB CY4C 5S HCia CY4FJ HCIB CY6A S6 Q0 HC18 CV7A 6D0 HCIB CYSB 600 KC1B CB5C GOO HCIB CY6B 6.00 HCI8 CY6C 6.00 HCIB CYBC 6.00 HCIB CY12A 4.15 HCIB CYI4A 415 1500 HCIB CY15A 16.00 HCIB CYI3A 18411 HCIB CYI9B 19 6608 HCIB CYZOA 20 00 HCIB CYJ2A 23.EB4 HCIB CYZ3B 21.60 HCIB CY21A 32. DO HCIB CY32A 6500 SERIES MICROPROCESSOR A=(2MHz) B=(3MHz) C=(4MH IC's P6502 S 8.82 P6502A 9.66 P6502B 15.02 P6502C 21.00 P6503 8.09 P6503A 8.82 P6504 8.09 P6504A 882 P6505 309 P6505A 8.82 P6506 8.09 P6506AS8.B2 P6520A S3. 74 P6507 8.09 P6820 3.40 P6507A 8.82 P68B20 3.74 P6512 8.82 P6521 4.90 P6512A 9.66 P6521A 5.34 P6513 8 09 P6821 4.90 P6513A 8.82 P68B2! 5.34 P6514 8.09 P6522 8.40 P65I4A 8.82 P6522A 11.24 P6515 8.09 P6530-004 15.84 P6520 3.40 P6530-O05S P6532 P6532A P6545-1 P6545A-1 P6551 P6551A P6591 PI 791 -02 PI 793-02 STORES DO NOT ACCEPT MAIL ORDERS MAILORDER P.O. BOX2208Y CULVER CITY, CA90230 Minimum Order SI 0.00. Add 52.BB la cover postage and handhng. Mailer Charge md Visa welcomed. Pteate include your charge card number, interbank number and expiration dale. Some Hems are lubjeel to prior salt. Not responsible ior lypos. Store pricing miy vary Irom Mall Order pricing. We reserve the right to substitute mioufactur PHONE ORDERS (213)641-4064 CULVER CITY 1 1080 Jefferson Blvd. Culver City, CA 90230 (213) 390-3595 PORTLAND 1125 N.E. 82nd Ave. Portland. OR 97220 (503) 257-9464 SUNNYVALE l 054 E. El Camino Real Sunnyvale, CA 94087 (408) 243-4121 ATLANTA 3330 Piedmont Rd. N.E. Atlanta, GA 30305 (404) 261-7100 HOUSTON 2649 Richmond Houston, TX 77098 (713) 529-3489 SANTA ANA 1300 E. Edinger Ave. Santa Ana, CA 92705 (714) 547-8424 TUCSON 451 8 E. Broadway Tucson, AZ 8571 1 (602) 881-2348 systems should be sufficient unless your machine is busy more than 50 percent of the time. The On-Line Database has achieved a significant "macroeffi- ciency" by having the whole program reside in main memory. This elim- inates the time the other packages spend swapping modules from disk. Infotree Now we will look at our alterna- tives one by one: what collection of features each system has and how pleasant they are to use. Since Info- tree is in UCSD p-code, it is fairly ma- chine independent. Lack of file-redefi- nition features means your data is not so independent. Infotree is copyable, but again, you do not get source code. File maintenance is by individ- ual insertions and deletions. The pro- vided sort utility maintains efficiency of access to the data file. That gives you fair maintainability. Limitations in Infotree's query method reduce its usefulness. It will print mailing labels, but its formats are set in concrete. Within these limitations, human factors are good. System creation is a part of data en- try, and no calculation options are in- cluded. Information on interacting with outside packages is provided in a text file on disk, but documentation is sparse. Because tree structures often require redundant branches, Infotree wastes data-entry time and disk space (but only if your application requires redundant branches). There's no in- memory data entry. For all its limitations, Infotree is an interesting package and a good teach- ing system. After using it for a while, you will understand tree structures in a very direct way. It has good regard for human factors. CCA Data-Management System Since the CCA DMS runs on other systems (in other dialects of BASIC) and since you have access to its source code, you have some machine independence. Because you are given information on the format of its files and because there is a way to use the VisiCalc-to-DMS transfer facilities to restructure your files, you have some freedom. 296 November 1981 © BYTE Publications Inc You can make backup copies of DMS and you can examine its source code. It allows subsorts and full-disk data files. You can define calculated fields when you define your data file. You cannot do multiple-criteria se- lection on multiple fields. Format control is good (multiple-line for- mats, mailing labels, saving formats, etc). The CCA DMS is the only sys- tem that has an interface to VisiCalc. It provides examples of usage of DMS files by outside programs. Its regard for human factors is poor. Documen- tation is clear and complete (you'll need it). Other than its lack of in- memory data entry, the efficiency of DMS is acceptable. If the system you get must work with VisiCalc, this is the one. The Data Factory Since the Data Factory comes on a locked disk, you have no machine in- dependence. You do get enough file- restructuring options to have some freedom from your initial record structure. Moving data from an ar- bitrary record structure into the Data Factory is quite simple. You get two uncopyable disks and several options for replacing bad disks. Sort and file redefinition options are sufficient to maintain your data file. The Data Factory gives you good flexibility of file definition. If your application requires a few large records (up to 88 fields per record and 239 characters per field) the Data Fac- tory will accommodate you. You get in-memory data entry. Selection op- tions are comprehensive (multiple se- lection on multiple fields is permitted). Calculation options are good. Formatting options permit multiple-line formats. No interface to outside packages of your own soft- ware is supplied. Regard for human factors could be better. The menus are too long (that's confusing); sev- eral times, tedious sequences of ques- tions are used when a menu would work better; each time you change data files you are asked whether you have one drive or two, etc. It does not provide subsorts, except for the date- field subsort. It will let you choose when to sort. The Data Factory gives Circle 376 on inquiry card. * 64K Static RAM available now from stock 'I. I Ultra Fast - 100 nsec. chips Fast access allows memory management manipulation without wait states. vide 8/16 - 8 or 16-bits wide Dynamically switches data path width per IEEE Standard. Low Power Typical power consumption less than 2 amps for active board. Less for power down boards. Extended Addressing 24-bit IEEE addressing allows 16-megabyte range. Single shunt changes to 16-bit addressing. Fully Static No clocks, no refresh required for easy DMA use. Special Features Any 4K block can be disabled. Or, can disable everything above or below any 4K boundary. Available in 16K increments for OEM quantities. WK 100 nsec. Chips - Qty. 1-3 OEM & Dealer prices also available. iSBSSlMgS'' 'WBg&M&Mm I. mB TO ORDER: May be ordered through your local computer store or factory direct. Personal checks, CODs, VISA and MC accepted from within USA. 10-day return privilege on factory orders. Shipping paid by SCP on prepaid USA and Canadian orders. All boards fully assembled, guaranteed one year. ^COMPUTER 1114 Industry Dr. Seattle WA 98188 Information Hotline: 206/575-1830 Send more information: ( Name Company Address City . State. .Zip. you a fairly comprehensive set of fea- tures at a reasonable price, but it is harder to use than need be. The On-Line Database The On-Line Database comes on a locked disk. It does not provide any utilities or information that would help you transfer information from system to system. A backup disk can be purchased for $15. There are no file-redefinition facilities. Initial definition is easy and sub- sorts are allowed. The limit of twenty-six characters per field and 239 characters per record might be too confining for some applications. The data-entry options for the On- Line Database are excellent. Default entries, cursor-oriented editing of en- tries, in-memory data entry, and other options provide outstanding features. No calculation options are provided. Mailing labels and user-de- fined single-line formats are the only formatting options. Multiple-criteria selection on multiple fields is not allowed, but subsorted keys are avail- able. No interface to outside software is supplied. Documentation has some nice touches (the applications- creation procedure, for example). Sorting is tied to data entry. The en- tire program resides in memory, elim- inating the swapping of modules. While you examine one record, it is searching for the next one. The On- Line Database is well suited to appli- cations requiring fast response. Regard for human factors is consis- tently good. A pleasant system to use. The High Technology DBMS DBMS comes on a copyable disk. It has no data-file independence fea- tures of its own, but Data Master and Information Master will accept its files. You cannot catalog or list it, but it is copyable. In combination with Data Master, DBMS has extensive file- maintenance features. (Alone it has none.) The system has standard initial- definition features. It provides sub- sorts. In-memory data entry is not provided. It can select records for reports using multiple criteria on mul- tiple fields. It allows multiple-line report formats and mailing labels. It will calculate the total and the aver- age of a field, and you can decide when to do your sorts. The only out- side software packages DBMS is de- signed to work with are Data Master and Information Master. Menus have too many options (extra options should be in submenus), but menu format is uniform throughout the sys- tem. Fairly good regard for human factors. There is new documentation. Data Master Data Master is designed to be used with DBMS or Information Master and comes on an uncopyable disk. There are extensive file-reorganiza- tion options. You can merge files (with a series of transfers to a single destination file), you can add or de- PLAIN TALK ABOUT "COPY PROTECTION' A lot has been said and written about copy protection and software piracy since Omega made Locksmith available to Apple II users earlier this year. We have been accused of encouraging illegal copying of copyrighted software. Software publishers have threatened to boycott magazines which carry our advertising, and the pros and cons of Locksmith and copy protection devices have been debated in Apple forums throughout the country. But, we at Omega haven't really told you, the Apple user, our side of the story. Locksmith was originally developed as an intellectual exercise by an Apple user over a year ago. And we suspect that sufficient information about the Apple DOS and the way information is stored on a disk has been long available to the general public, so that ANYONE who was REALLY interested, and who wished to spend a LOT of time, could have written a program that does many of the things that Locksmith does. Similarly, there is really no "secret" to writing data base programs, adventure programs, or even spread sheet programs. The literature is there if you want to look for it. But it takes a lot of hard work to develop any software package that works in all cases, that is crashproof, that interfaces easily with a non-experienced computer user, and that is well documented. A LOT of hard work. But even before Locksmith was available to us, we, as Apple users, recognized a definite problem with the software we were buying and using. Much of it worked well. But it was very aggravating to not be able to make a backup copy of certain "copy protected" programs. Most software pubishers didn't supply backups of their programs, and those that had any policy required signing opressive agreements or paying questionably high yearly fees for presumed, but not guaranteed, updates. Among those who did not offer back-up was one who 'sold' us a new copy (when we returned our crashed disk). Although they advertised the importance of having their program running every day, they made us wait up to 6 weeks to get the replacement. Most vendors just ignored the problem. We, as consumers, were simply taken advantage of. In many cases we relied so much on a particular program, that it became very costly to have to wait weeks or more to replace a blown disk. Software publishers were just not responsive to the users problems caused by "copy protection". When we first became aware of Locksmith, we investigated the state of the law, and discovered that no one knew whether the owner of a program could copy it for backup. And for quite a while we debated whether we should market Locksmith. On December 12, 1980, a change was made to the Copyright Act which resolved these questions. It is now the law of the United States that the existence of a copyright notice on a computer program does NOT make it illegal for the legitimate owner of that program to copy it for archival purposes. Backups are now clearly legal. (Of course, when you sell your purchased program, you must destroy the backups you have made). Only after such use clearly became legal did we decide to sell Locksmith. Now with the new copyright law, which for the first time gave software publishers clear rights that were enforceable in court, but which also gave "backup" rights to software purchasers, and with the demonstration that Locksmith could and would provide back-up for the user, we assumed that software publishers would drop their copy protection schemes and educate the public as to their rights and responsibilities. Even the use of hardware protection that gives copy-ability to the software would be acceptable. Unfortunately, their response has been to pressure magazine publishers into refusing our advertising, and to invent new copy protection schemes. Well, the word about Locksmith was impossible to stop. We couldn't advertise, but we have sold a gratifyingly large number of programs. As to new copy protection schemes, the new Locksmith (version 4.0) will adjust to them, and copy virtually anything protected that way. But please. For us, for yourselves, and for the entire industry, use Locksmith only for its intended legal purposes. The new version is more than just the best copy program available. There are also four additional utilities included. A disk speed program, a degauasser, a nibble editor and a media surface analyzer are included. And we stand behind our products. Our customer service department is available (and anxious) to help with problems. Locksmith 4.0 is available from us, or your local dealer. Visa and Mastercard users call Toll Free 1- 800-835-2246. Kansas residents call 1-800-362-2421 or send $99.95. (Registered owners of prior versions can obtain an update for only $20. If you haven't received a letter from us, please call.) Another Quality Product from Omega MicroWare, Inc. (formerly Omega Software Products, Inc.) 222 So. Riverside Plaza Chicago, IL 60606 Phone 312-648-1944 6 ii '51981 Omega MicroWare, Inc. Apple is a registered trademark of Apple Compurer, Ir 298 November 1981 © BYTE Publications Inc Circle 314 on inquiry card. ATTENTION HOW DOES A $299 BYTEWRITER-1 STACK UP AGAINST A $650 EPSON MX-80? YOU DECIDE! The Only 80 Column Dot Matrix Printer Under $300. Why do we dare to compare the Bytewriter-1 to the Epson MX-80, the industry leader? Because we feel strongly that dollar for dollar, the Bytewriter-1 is tough to beat for performance and quality. Our extensive testing has proved that the Bytewriter-1 interfaces problem-free to the TRS-80, the Apple II and the Atari 400 and 800. We are not going to tell you that the Bytewn'fer-l is better than the MX-80, but by comparison, and for half the cost, you get more than a reliable printer — you get a great value. Call or write for more information today. Comparable features. Uncomparable price. Mil ■fec/Wnaii nlw in" JUL ■£&¥&■■' ■ MICROTEK^ 9514 Chesapeake Drive San Diego, CA 92123 (714) 278-0633 Outside CAcall TOLL FREE (800) 854-1081 TWX. 910-335-1269 TRS-80 is a trademark of Radio Shack, Div. of Tandy Corp. Apple II is a trademark of Apple Computer Inc. Atari 400 & 800 are trademarks of Atari, Inc. "*ji FEATURES Print speed Paper feed Ribbon Life expectancy Dimensions Character set Interface Warranty Printhead replacement Cost BYTEWRITER-1 60 lines per minute Friction feed original plus 3 copies Black, cartridge $9.95 Printhead — 100 million char. Drive Mech. — 10 million char. Ribbon — 5 million char. 3.8" x 15" x 9" 96 ASCII Parallel 90 days $29.95 $299 EPSON MX-80* 46 lines per minute Pin feed original plus 2 copies Black, cartridge $14.00 50 — 100 million char. 5 million char. 3 million char. 5.2" x 14.7" x 12" 96 ASCII Parallel 90 days $30 $650 MX-80 is a trademark of Epson America, Inc. 3ircle 338 on inquiry card 30 Day Money Back Guarantee Circle 89 on inquiry card. ■^plfc^ ^r SITTING PRETTY You can use just about any desk for a computer terminal stand. But with CF&A, you're sitting pretty. Our full range of desks, workstations, and ter- minal stands are designed to accom- modate a variety of computer equip- ment. Choose from our Classic Series desks, DR Series desks and enclo- sures, specialty items likeourApple II desk, or a universal printer stand. You'll be sitting pretty with attractive color selections, durable construc- tion, versatile configurations, useful options, competitive prices, quick delivery, and personal service. It's our way of doing business. CPA Computer Furniture and Accessories, Inc. 1441 West 132nd Street Gardena, CA 90249 (213) 327-7710 lete fields to or from records, and you can create subsets of a file that meet certain selection criteria. Data Master requires a source and destination file defined by DBMS or Information Master. It cannot create its own record definition. Both its documentation (extensive) and its regard for human factors are gener- ally good. Use with outside software is possible but not documented; effi- ciency is adequate. Data Master is an extremely useful addition to DBMS or Information Master. Information Master Information Master comes on an uncopyable disk. As mentioned above, Data Master provides it with considerable redefinition capabilities. In addition to the standard file-def- inition options. Information Master can edit existing file definitions (use- ful if a new application shares some characteristics with an existing one). Your previous entry is the default value of your current entry. Extensive selection and calculation options are available (inequalities, leading strings, trailing strings, floating strings, characters in particular posi- tions). Multiple-criteria selection on multiple fields is permitted. The file information eases the interface of out- side software to Information Master. Regard for human factors is generally good (Data Master and Information Master have the same command for- mat). Efficiency is adequate. A very practical system (particularly in com- bination with Data Master). Conclusions • The worst system we could con- struct using the features these systems provide would have the poor consid- eration for human factors of the CCA Data Management System, the inflex- ible tree structure and limited query options of Infotree, the huge menus and inefficient use of disk space of the Data Factory, the limited record size and lack of field redefinition options of the On-Line Database, the nonuni- form menu formats of Data Master/ Information Master, and the numeric error codes of DBMS. It would come with sparse documentation on a locked disk. • Even if the traditional distinction between the words "file-management system" and "data-base system" is lost, be aware of the difference be- tween systems that meet the CODASYL data-base standards and those that don't. • Software Arts' DIF holds out the possibility of relief from data-file-in- compatibility headaches. • The best system we could create us- ing the features these systems provide would have the basic characteristics of the very practical Information Master/Data Master combination; the data entry features, quick response, and general pleasantness of the On-Line Database; the interface to VisiCalc and good documentation of the CCA DMS; the educational value and good regard for human fac- tors of Infotree; the uniformity of command format of DBMS; and the cost per feature of the Data Factory. It would, of course, come in source code on an unlocked disk.B References Brandon, Dick H. Data Processing Con- tracts: Structure, Content, and Negotia- tions. New York: Van Nostrand Reinhold, 1976. Gemignani, Michael C. "Legal Protection for Computer Software: The View from 79," Rutgers Journal of Computer Technology Law 7, 2, 1980, 269-312. Ledgard, Henry F and Paul Nagin. BASIC With Style: Programming Proverbs. Rochelle Park NJ: Hayden, 1978. Ledgard, Henry F et al. Pascal With Style: Programming Proverbs. Rochelle Park NJ: Hayden, 1979. Martin, James. Principles of Data Base Management. Englewood Cliffs NJ: Prentice-Hall, 1976. Shneiderman, Ben. Software Psychology (Human Factors in Computer and Infor- mation Systems). Cambridge MA: Win- throp, 1980. Snodgrass, Richard. "A Sophisticated Microcomputer User Interface," Pro- ceedings of the Third Symposium on Small Systems, jointly sponsored by SIG- SMALL and SIGPC of the Association for Computing Machinery, 1980, 97-107. 300 November 1981 © BYTE Publications Inc AFTER YOU'VE SEEN HOW ALL THE OTHER PRINTERS STACK UP . . . THE ONE ON TOP WILL SURPRISE YOU. The Novell IMAGE 800 dot . matrix printer is on top because it is the performance printer. The printer mechanism has been running in the lab continuously since January, 1980—24 hours a day, 7 days a week— without failing— and it's still going. That's Novell quality. That's 100% duty cycle. The Novell IMAGE 800 is state-of-the-art: microprocessor controlled ... 30 programmable functions . . . compressed or expanded print . . . correspondence quality print. . . 11 channel pro- grammable VFU. If you require 150 CPS print speed and 136 column output, you can't do better anywhere. And at $ 1,395, we're hundreds less than comparable units. Check these other features: • 80 or 132 columns • Bi-directional print • 9 x 9 dot matrix • Dual tractor paper feed • RS232C or parallel interface • 1 10-9600 baud • 6 or 8 lines per inch vertical spacing • Tear bar • True descenders • Subscripting & superscripting • Vertical tabulation Compare. Find out how the others stack up. It won't take you long to see why Novell is on top. A Novell IMAGE 800 dot matrix printer can help you stay on top, too. Because higher per- formance means lower overhead. GENEROUS OEM DISCOUNTS. DISTRIBUTOR INQUIRIES INVITED. NOVELL DATA SYSTEMS, INC. 1170 No. Industrial Park Drive, Orem, Utah 84057 Telephone: (801) 226-8202 California — R.C. Data, Inc. (408) 988-7510, Video Specialists, Inc. (714) 557-5112, Vitek (714) 744-8305 Colorado — R.C. Data, Inc. (303) 425-9075 Arizona — The Systems Store (602) 255-0700 Texas — System Technology Assoc. (214) 343-0845, (512) 451-2018, (713) 440-8340 Washington — Desco Northwest (206) 883-6336 Utah — Peripheral Equipment, Inc. (801) 272-7414 Pennsylvania — Bartlett Associates, Inc. (215) 688-7325 Q.E.D. Electronics (215) 674-9600 Illinois — Kaltronics (312) 291-1220 Oregon — Rush S. Drake Assoc. (503) 224-3145 New York — Bartlett Assoc, Inc. (914) 649-6476 Massachusetts — Butler Associates. Inc. (617) 965-1080 Maryland — The Computer Supply Store (301) 424-1650 Minnesota — Computer Marketing, Corp. (612) 894-7150 Circle 310 on inquiry card. BYTELINES News and Speculation About Personal Computing Conducted by Sol Llbes I EEE S-100 Standard Is OnTheWay:ThelEEE-696 Standard for the S-100 microcomputer bus has been completed by the working group and submit- ted to the IEEE (Institute of Electrical and Electronics Engineers) Computer Stan- dards Committee for adop- tion. Formal acceptance is expected by early 1982. The S-100 bus has been changed radically from its original implementation in 1975 by MITS, who em- ployed the bus in the Altair 8080 microcomputer. New features include 8- or 16-bit- wide data path (to accom- modate the new 16-bit microprocessors), direct- memory addressing of up to 16 megabytes (previously 64 K bytes), direct I/O (in- put/output) addressing for as many as 65,536 ports (previ- ously 256 ports), a new pro- tocol that can handle 16 masters on one bus, timing specifications for 6 MHz clock operation (some man- ufacturers envision operat- ing at over 10 MHz), and an expanded interrupt system of up to 11 lines (previously 7). The standard will dispense with pin assignment and tim- ing conflicts that plagued S-100 users because of varia- tions between manufac- turers. It also allows for future expansion of the bus to support changes in the state of the art (e.g., 32-bit microprocessors). The importance of the standard is that there are al- most 40 manufacturers of S-100 systems and about 50 others making hundreds of S-1 00-compatible products. There is no doubt the IEEE 696/S-100 is presently the most powerful microcom- puter bus in wide use. If you would like a copy of the proposed IEEE-696 Standard, write to Sol Libes, IEEEr696 Committee Secre- tary, POB 1192, Mountain- side NJ 07092. Please note that each copy costs $6 in the US and $8 elsewhere (US funds only). tS apanese Find Moving Into US Computer Mar- ket Hard: The Japanese are starting to move into the US small -business -computer market in force, but they're finding it more difficult than expected. The Japanese ap- pear prepared for a long- term commitment: most are setting up dealer organiza- tions and developing soft- ware packages for their hardware. However, it is be- coming evident to the Japanese that their hardware is suited to the American market but their software is not. Because of this, it is likely that their penetration will take two to three years to become significant. Although NEC (Nippon Electric Corporation) has been selling systems in Japan for more than two years, it has met resistance from American dealers be- cause of a lack of software applicable to the US market. NEC is recruiting software suppliers to overcome this problem. Mitsubishi introduced its small-business computer in the US in 1979 and boasted that within three years it would have 10% of the mar- ket. Now Mitsubishi realizes that the US market is hard to crack. It, too, has met with considerable resistance from dealers and is attempting to have several software pack- ages developed. Toshiba has taken another tack by opening two com- puter stores in the Los Angeles area. The stores carry Toshiba's entire line of office products, including its desk-top computer. Sony appears to be having problems delivering its Series 35 word processor, which was introduced at the beginning of the year. Also, it only just started shipping samples of the new 3V2-inch disk drive to OEMs (original- equipment manufacturers). Rumors abound about a Sony personal computer, but none has yet surfaced either in the US or Japan. Canon has decided to play the role of an OEM, thus passing its CX1 desk-top system's software problems on to distributors. (The CXI is based on Motorola's 6809 microprocessor.) Canon has disclosed an agreement with a software supplier for seven accounting packages. Sharp has introduced the YX-3200 small-business sys- tem to the US market. It had been sold previously in Japan. For the US version, Sharp has decided to go with Digital Research's CP/M operating system and the software packages currently available to operate under it. Sharp plans to sell the YX-3200 through systems houses, office-machine dealers, and office-supply houses. H, lalf-SIze 5-Inch Flop- py Drives Coming: At least three floppy-disk makers will soon introduce 5-inch floppy-disk drives that are only 2'/ inches tall (half the height of a standard floppy disk). It will be possi- ble to fit two drives in the space previously occupied by one. The first "slimline" drive is expected to be introduced by Alps Electric Inc (a Japanese concern). It's ac- tually less than half-size, be- ing only 1"/ 6 inches high. It will be available in 125 K- and 250 K-byte versions. Remex, Irvine, California, is expected to have its 2 , / 10 -inch-tall drive out by year's end. The Oyx division of Exxon is making a half- size drive that's already be- ing used in a smart type- writer. ■VI, I Icroprocessor Mak- ers To Add Floating Point: Intel, Motorola, and Zilog will soon be adding floating-point functions (FPFs) to their 16-bit micro- processors. All three will use separate integrated circuits functioning as coprocessors. Intel is already providing samples of its iAPX 86-20, which contains both the 16-bit 8086 microprocessor and the 8087 numeric pro- cessor; production is ex- pected to begin early next year. Motorola plans a copro- cessor for its 16-bit 68000 microprocessor but, in the meantime, will supply an FPF firmware package that allows 32-bit multiplication and division. Both Intel and Motorola will conform to the proposed IEEE (Institute of Electrical and Electronics Engineers) FPF Standard. Zilog is rumored working on an FPF device for the Z8000. It should be announced by year's end. 302 November 1981 © BYTE Publications Inc THINK DIGITAL MARKETING. THINK AHEAD NOVEMBER MIUEST0NE™-$295. Manual alone-$30. "Critical path" network analysis program for scheduling manpower, dollars and time to maximize productivity. NEW IMPROVED. Interactive project management program that runs under CP/M. MILESTONE can be used to track paper flow, build a computer, check a department's performance, or build a bridge. MILESTONE can be used by executives, engineers, managers, and small businessmen. • Produce PERT chart in minutes. • Find critical tasks that can't be delayed. • Investigate tradeoffs between manpower, dollars and time. • Give plans to others using a printed project schedule. • Change details and immediately see the results on screen. • Balance time, manpower and costs. Requires 56K RAM and CP/M. Specify Z80 or 8080. Also available for Apple Pascal, UCSD Pascal or CP/M-86 operating systems. Formats: 8, NS, MP, SB, TRS2. APPL, OB-1. XX. I-5 ACCESS/80™ A report generator and cross-tabulator. Virtually any report that can be described on paper can be generated by using your existing ASCII data files. Produces reports in minutes that would take hours to program in BASIC. Level I— Report Generator and Cross-tabulator— $295. Read ASCII files and create sorted reports with subtotaling capability. Provides multi-dimensional cross tabulation and computation. Includes operating system commands. Level II— Output and Logic Processor— S495. Everything in Level I plus, write out new files in any sorted order (including subtotaling). Load arrays from files. Performs binary search on sorted arrays in memory. Includes control language extensions for complex applications. Level Ill-Information Management System-$795. Available 1st Qtr '82 Everything in Level I and II plus full screen data entry and updating, and Btree indexing. Requires CP/M and 48K RAM. Formats: 8. NS. MP. CDOS, SB. TRS2, APPL 0ATEB00K II™— 5295. Manual alone S25. • Schedules appointments tor up to 27 different doctors, lawyers, rooms, etc. • File structure allows for appointments up to one year in advance. • Searches for openings that fit time of day, day of week and/or day of year constraints. • Appointments made, modified or cancelled easily. • Copies of day's appointments can be printed quickly. Requires 56K RAM and CP/M. Specify Z80 or 8080. Also available for Apple Pascal, UCSD Pascal or CP/M-86 operating systems. Formats: 8, NS. MP, SB, APPL. TRS2, OB-1, XX, I-5 PLAN80™-S295. Manual alone-$30. A financial modeling system that's easy to use and powerful enough to replace your timesharing applications. Lets you calculate IRR and depreciation as well as trig functions effort- lessly. You write a PLAN80 model just the way you would write a letter using any editor or word processing program. PLAN80 results can be incorporated into any report that requires a financial model. It also tackles any numeric problem that can be defined on a worksheet. You'll remember how you created the model because calculations are defined using real English— not matrix coordinates. At any point in the PLAN80 model you may display or print the results on your screen, printer or disk. Save all or part of the results tor use by other models, or play "what if?" by inputting new values interactively. Requires 56K RAM and CP/M. Also available for CP/M-86. Specify Z80. 8080. or 8086. Formats: 8, NS, MP, SB, OB-1, XX, I-5. SOFTi/l^RE 1 SOFT^IRE DIGIL4L /MARKETING ^DOT/l /MARKETING Circle 138 on inquiry card. 2670 Cherry Lane • Walnut Creek, CA 94596 CBASIC/86™— S325. Manual alone-$30. Industry standard intermediate code basic compiler with run- time interpreter tor CP/M-86. Features include chaining, integer and external precision arithmetic, random and sequen- tial records of any length (not limited to 256 bytes). Requires CP/M-86. Formats: 8, I-5. PROPERTY MANAGEMENT PR0GRAM-J895. Tracks income properties from house rentals to apartment complexes, shopping centers or office buildings. Permits entry of all expenses in any of 99 different categories for over 150 separate properties. Now you can generate operating statements in minutes including totals of receipts and expenditures by category. Need more reports? This package includes a summary of trans- actions report, vacancy report, late rent report, rent roll report, check register and property management fees report. Requires CP/M, 48K RAM and CBASIC2. Formats: 8, NS. SB, TRS2, APPL, MP Personal PEARL™-S295. User friendly application software generator. A fourth gener- ation language, automatically creates completely new programs in CBASIC. Excellent documentation makes it easy to create "personal" software such as checking and financial pro- grams, name, address and telephone lists, etc. Requires CP/M. CBASIC2 and 48K RAM. Formats: 8, NS, SB, TRS2, APPL, OB-1, MP MICROSTAT™ VERS. 2.0-S295. Manual alone-$25. Now includes stepwise and more flexible file structure. Code size smaller ( = more data area). Also a data management sub- system for editing, sorting, ranking, lagging, data file transfers PLUS eleven data transformations (e.g. linear, reciprocal, ex- ponential, etc.} • Frequency and 8 probability distributions • Multiple regression, correction analysis • Tine series • Crosstabs/Chi-Square, non-paramelrics • Factorials, permutations, combinations • Scatterpiots • ANOVA (one and two-way) Requires 48K RAM. Northstar Basic or CP/M & CBASIC2 or Microsoft Basic 80. Formats: 8, NS, MP. SB TRS2, CDOS, APPL, XX SPELLBINDER™-$495. Manual alone-$50. Full feature word processing system with Office Management capabilities. Its special features include ease-of-use by office personnel, flexible print formatting & output, and a powerful macro capability which allows features to be added for the unique requirements ol each user. Mail list macro is included for mail merge with form letters. Requires CP/M & 32K RAM. Formats: 8. NS, MP, CDOS, SB, APPL, XX ACT I™ — $125. Manual alone— $15. CP/M compatible macro assembler for Z80, 8080/85. 6502 & 6800. Assembler family supporting all major 8 bit micros. ACT features include full macro capabilities, comprehensive pseudo-ops, link-file structures, cross reference map. and algebraic expression processor. Requires 24K RAM & CP/M. ACT 11-5175. Manual alona-520. CP/M 2.x compatible cross assembler for 8086/88 ACT III-S125. Manual alone -520. CP/M 2.x compatible cross assembler for 6809. ACT I and ACT II together— $225. Formats: 8, NS, CDOS, MP/M, TRS2, APPL, OB-1, XX (415) 938-2880 PASCAL/M™-$225. Manual alone-$20. CP/M compatible language for 8080/280 CPUs, supports full Jensen & Wirth plus 45 extensions to Standard Pascal in- cluding Random access tiles, 40 segment procedures & 16 bit BCD real type. Also includes symbolic debugger which leatures trapping on stores, examining and changing variables and trac- ing of program execution. Requires CP/M 2.2 & 56K RAM. Formats: 8, NS, APPL, TRS2 PASCAL/M™for 80B6/B8-$270. Manual alone $20. All the leatures of Pascal/M for the 8086 and 8088 processors running under CP/M-86. Requires CP/M-86 and 128 K RAM. Formats: 8, I-5. SUPERCALCTM_J295. Allows a layman to manipulate business data in a variety of forecasting and accounting applications. Combines the interac- tive nature of an electronic spreadsheet with the power and convenience of a simple simulation language. Video display can be scrolled over entire worksheet using cursor controls. Sym- bolic vector references eliminate repetitive low-level data manipulation commands. Easy to use menu driven "Help" commands. Requires CP/M and 48K RAM. Formats: 8. NS, MP, SB, APPL, TRS2 Call for terminal formats. SUPERDOSTM-J129. Upgrade ol CP/M 2,2 for Superbrain Includes ADM/31, Hazeltine, or Superbrain Terminal emulation mode. Other new features include 132 character keyboard buffer, repeat on all keys, key click, user programmable numeric keypad, 30% disk read/write improvement, real time clock, baud rates to 19.2K on RS232 ports, printer handshake modes, 4 new utilities, and 4 fixes. Requires Superbrain 3.0. Format: SB TRANS86™-$125. Manual alon8-$20. 8086/88 Translator for existing 8080/Z80 programs. New source code is easily edited and asembled using ACT II to produce hex code which is executed by 8086/88 CPU. Emphasizes the extensions and features available in the 8086/88. Requires CP/M & 32K RAM. Formats: 8. NS, APPL, OB-1, XX MORE SOFTWARE TEXTWRITER III SPELLGUARD MCALL PEARL LEVEL 3 CBASIC2 ULTRASORT-II FABS AMCALL SELECTOR/86 SELECTOR IV GLECTDR for SELECTOR IV S-BASIC baZIc dBASE II MAGIC MENU w/Spellguard option SPELL MENU MONEY MAESTRO DEALER INQUIRIES INVITED FORMAT CODES: 8 (8" single density IBM soft-sectored) NS (NorthStar DD), MP (Micropolis Mod ll/Vector MZ), SB (Superbrain 3.0). CDOS (8" Cromemco CDOS), TRS2 (TRS-80 Mod II). APPL (Apple II), OB-1 (Osborne-1). XX (Xerox 820), I-5 (IBM 5V<") PRODUCT/MANUAL ALONE $125. /J25. $295. /S20. $ 85./n/a SB50./S50. $120. /$25. S175./S20. $175. /$20. $ 95,/n/a $650. /S35. $550. /$35 S450./S35. $295. /$35. $150./$25. $695. /$50. $ 75./n/a $ 95./n/a $ 95./n/a $200. /n/a Access/80 trademark Friends Software, Money Maestro trademark Innosys, Pearl trademark Relational Systems, Pascal/M, ACT, Trans 86. SuperCalc trademarks Sorcim. CBASIC2, CBASIC/86 trademarks Compiler Systems Datebook II. Milestone. Textwriter III trademarks Organic Software Spellguard trademark ISA CP/M, CP/M-86 trademarks Digital Research Superbrain trademark Inter- tec Data Systems Microstat trademark Ecosoft S-Basic trademark Topaz Programming Spellbinder trademark Lexisoft MCALL, AM- CALL trademarks Micro-Call Services Selector IV. Selector/86, GLector trademarks Micro-Ap Prices subject to change without notice lor shipping add $7. per item California residents add sales tax Terms: Prepaid check Am. Exp. M/C, VISA or in US COD (UPS) Prices quoted do not include dealer installation & training Prices and availability subject to change without notice. Talex 17-1852 (OIGMKTG WNCK) DEALER INQUIRIES INVITED. DUTSIDE CALIFORNIA CALL (501) 442-0864. INSIDE CALIFORNIA CALL (415) 938-2883. BYTE November 1981 303 BYTELINES ■Japanese Robotics In- dustry On The Upswing: The Japanese government is subsidizing its nation's robot makers in the same way that the computer industry was backed ten years ago. In April 1980, the Japan Robot Leasing Company was launched. After one year of operation, it is already rent- ing $5.5 million worth of robots and expects to raise this to $12.5 million by the end of next year. Japanese robot produc- tion last year totaled $375 million and is projected to rise to $1 billion by 1985. Last year, only 3% of ro- botic production was ex- ported. One problem with these figures, however, is that they include human- operator manipulative and pick-and-place machines. About 40% of the robots are used in the automobile industry, about 20% in elec- trical machinery manufac- turing, and about 10% in plastics molding. There are an estimated 130 robot man- ufacturers in Japan. Local Networks . . . What's Up? Xerox is stak- ing a big pile of money on the "office of the future" concept using its Ethernet local networking system. The system is intended for lawyers, engineers, analysts, and other professionals wishing to zip documents, data files, graphics, and so forth between offices. Xerox has introduced several pieces of Ethernet equip- ment of which the latest is the Star workstation. The Star can be used as a stand- alone system or as a com- munications device between other Stars, file servers, and even non-Xerox equipment via an Ethernet system. The Star is very impres- sive. Xerox has invested a great deal of energy in developing a workstation with a highly intelligent user interface. In fact, a user can know next to nothing about computers and still use it proficiently because a four- hour machine-guided set of lessons is provided. Star's most striking fea- ture is its high-resolution video display that shows you two pages, side by side, ex- actly as they will appear in hard copy. You can vary character fonts, size de- tailed graphics, change gray tones, justify columns, move text on the screen, look into separate areas of different documents, and more. Using a standard keyboard, it has a free-roaming cursor con- trolled by a "mouse" and uses small graphic symbols to signify functions. No par- ticular language is needed to tell the system what to do. There is no doubt that the Star is ahead of the times — perhaps too far aheadl De- spite support from several other vendors (Intel, Digital Equipment Corporation, and Hewlett-Packard), there is still no standard for ex- changing information via Ethernet. At this time, the IEEE Local Networking Stan- dard Committee appears hopelessly deadlocked. So there is no guarantee that a file created on an HP (Hew- lett-Packard) computer, for example, will be compatible with Star's file-handling capabilities. Even bigger problems are looming: each week there seems to be another new local-network system an- nounced. Also, some of the personal-computer makers have indicated that they will introduce their own network systems, which, undoubted- ly, will be non-Ethernet- compatible. Thus, we appear headed for chaos, where there will be neither hard- ware nor software compat- ibility among vendors. On top of all of this, local networks are expensive: the Star workstation costs $17,000. The Ethernet coax- ial cable costs an estimated $2 per foot, plus installation, and an Ethernet file server is more expensive than the Star. Hence, a Xerox Ether- net system appears to be prohibitively expensive for a small business. It is in- teresting to note that Xerox's new 820 system, with an un- der-$3000 price tag, does not include any Ethernet inter- facing (of course, it could be introduced as an option). Everyone is watching to see how well Xerox will do with Ethernet. You can be sure that several manufac- turers have networking sys- tems in advanced stages and, if they feel it is worth- while, will quickly jump into the marketplace. This in- cludes IBM, DEC, several personal-computer makers, and the Japanese. A^ata-Processlng Law- suits and Awards In- creasing: An estimated 600 computer-related lawsuits are before the courts. This is expected to surge up to 5000 by 1985, placing them sec- ond only to personal-injury cases. A typical computer law- suit costs a company $500,000 and takes seven years to complete. Most cases are the result of an adverse relationship be- tween users and vendors. Users appear to be ignorant of what they are buying and expect the vendor to furnish a system to meet all their re- quirements, but vendors on- ly offer standard systems. So there is a wide gulf be- tween user expectations and vendor capabilities. Other causes are poor ma- chine reliability and poor system performance. Many suits involve undercapital- ized small systems, soft- ware, and consulting firms that would rather sell the wrong machine or software package than to lose a sale. But vendors counter that purchasers are infatuated with the best and fastest hardware rather than con- cerning themselves with the problems to be solved. Also, many vendor contracts con- tain phrases that may waive warranties. In a recent court case, NCR (National Cash Regis- ter) was ordered to pay the Clovatorium (a wholesale suede and leather cleaner) $2.3 million. The jury found NCR guilty of willfully sell- ing the Clovatorium a mini- computer package it knew would not work. NCR claimed that it was pro- tected from some of the award by a nonconsequen- tial damages clause in the user contract. The judge overruled the clause, which held that NCR was not liable for any loss of business, pro- fits, or consequential damages suffered by the user. IM ewspaper Guild Wants Video-Display Terminals Probed: The president of the Newspaper Guild, Charles A Perlik Jr, has urged a congressional subcommittee to back test- ing of possible long-term ef- fects on operators of video- display terminals. Perlik con- ceded that tests performed by the National Institute for Occupational Health and Safety have found the radia- tion to be minimal; however, he claimed that the in- cidence of cataracts among video-terminal users at newspapers was unusually high. He asserted that the test included only a small number of terminals in use. The Guild has arranged for the Mount Sinai School of Medicine to conduct a "wide-ranging study." 304 November 19S1 © BYTE Publications Inc UPMANSHIP. We opened our doors with two basic goals: To distribute as many software packages to as many dealers as possible. And to make money doing so. Our success on both counts is the result of hard work, a positive busi- ness attitude and a recognition that you, as a retailer, have a right to be treated fairly and honestly by your distributor. We're 1-up for three good reasons: 1. We always offer a wide selection of the latest and best microcom- puter software packages available anywhere. (Why should you have to hunt for what you need?) 2. Our dealer discounts start with quantities of 1. (Remember all those times you just wanted one or two to see how they'd sell?) 3. We don't play The BackOrder Game. (If we can't ship your order within 48 hours we'll let you know, instead of hanging you out to dry.) If there's anything else we can do for you, just let us know. Because we're 1-up and we intend to stay that way. Software Distributors, 9929 Jefferson Blvd., Culver City, CA 90230. Telex 4990032 BVHL, ATT: DISCSOFT. For our dealer info packa ge, call (213) 668-0238 toda y. SOFTWARE DISTRIBUTORS We won't leave you holding the bag. Circle 451 on inquiry card. BYTELINES _ Womputer Crime On The Rise: Two recently re- ported crimes involved com- puters. In the first, a student at San Jose State University was arrested and charged with unauthorized access to systems throughout the state and possibly other countries. The student illegally by- passed the school's security system and used the time to play games with other stu- dents, some as far away as Sweden and Taiwan. In the process, he accumulated more than $7000 in long-dis- tance telephone bills. He was also accused of erasing programs belonging to other students. In the other case, a former programmer in Louisiana was arrested after admitting that he stole more than $100,000 in money orders from a system he had pro- grammed. The programmer had been retained by a soft- ware house to remove bugs from a software package be- ing prepared for a customer. In the process of "fixing" the program, he altered the soft- ware so that he could write checks that were ignored by the system; consequently, the losses were not revealed. Womputer Science Graduates Command High Starting Salaries: According to a survey con- ducted by the College Place- ment Council, this year's computer science college graduates commanded an average starting salary of $20,000. Only engineers — particularly petroleum spe- cialists—earned more (aver- aging $26,000). u, 1 NIX Vs CP/M: There is no doubt that CP/M is the de facto standard for 8-bit microcomputers. It has been implemented on virtually all 8-bit machines, including the TRS-80, Apple, Heath, Xerox, Wang, Hewlett-Packard, and many of the new Japanese desk-top microcomputers. However, as we move into the 16-bit machine and mul- tiuser/multiprocessing era, CP/M's supremacy is being challenged by UNIX-like op- erating systems. The battle as to which will be dominant on 16-bit systems is just be- ginning to develop, and I est- imate that it will take an- other year or two (or possi- bly three) to determine the victor, if indeed there is one. The battle of words is al- ready raging within the De- partment of the Army's Readiness Command (DAR- COM), in magazines, and on several bulletin-board sys- tems. The arguments: CP/M cur- rently exists in only one uni- que version (2.2), compared to at least five versions of UNIX, with more to come when "UNIX-like" systems actually hit the market. UNIX is a multiuser system, while CP/M is a single-user system. File size on UNIX is limited to 1000 megabytes, for CP/M it's 8 megabytes, but both support random-ac- cess files. Currently, UNIX runs only on PDP-11-based machines, while CP/M runs on 8080-, 8085-, 8088-, 8086-, and Z80-based machines. UNIX employs a tree-direc- tory structure with an in- finite number of levels and path names, whereas CP/M has a dual-level directory structure with a limited path. Both systems allow linking files. There is com- plete device transparency and redirectability with UNIX, but this is limited in CP/M. UNIX's user interface is contained in a "shell" that is easily replaced. CP/M, however, uses a command control processor that is not easily replaced. UNIX has a complicated command lan- guage in comparison to CP/M. UNIX's commands have redirectable I/O (in- put/output). Only terminal I/O is redirectable in CP/M. UNIX has more extensive wild cards in addition to in- terprocessor information transfer (pipes) and corou- tines, both of which are lack- ing in CP/M. UNIX has type- ahead, while CP/M may not. UNIX allows parallel pro- cesses but CP/M does not. CP/M is limited to 20 argu- ments, yet UNIX allows in- direct command files with no limit to arguments. Con- ditional and construct ex- ecution of files are permit- ted only in UNIX. Also, UNIX allows shell variables and command substitution that CP/M does not provide. Both have proven reliabili- ty, but UNIX provides better security. UNIX is written in the C language, and CP/M is written in PL/M and assem- bler. CP/M appears to have much more public-domain and commercial software available for it than does UNIX. I BM Market Share Eroding: In 1956 when 100% of the computer in- dustry was geared toward big mainframes, IBM shipped 55% of all the data- processing equipment and had a handful of com- petitors. With the introduc- tion of the minicomputer in 1972, the number of com- petitors increased to over 600. Last year, because of the microcomputer, the number of computer manu- facturers rose to 3000. Although IBM has intro- duced mini- and microcom- puters, its share of units ship- ped has dropped to 25%. R, landom News Bits: Digital Equipment Corpora- tion claims to have more than 100,000 LSI -11 micro- computers in operation. . . . Advanced Micro Devices and Mostek are developing integrated circuits that should reduce the cost of an Ethernet interface from the current $1000 to under $100 by 1983. . . . Seagate Technology, Scotts Valley, California, has introduced a 12.76-megabyte version of a 5-inch Winchester-disk drive. . . . For the second year in a row, Fujitsu reported greater computer sales in Japan than IBM ($2.8 billion com- pared to $1.6 billion). But IBM reported greater net in- come ($174 million to $88 million). ... A recent letter in the New England journal of Medicine reported on a new malady termed "Space Invaders wrist." The symp- toms were a reported stiff- ness and pain in the right wrist. The cause was traced to "a large number of rapid, repetitive arm movements" required to play the Space Invaders game. The optimal treatment is rest. . . . Japanese integrated-circuit makers expect to produce 2 million 64 K-bit dynamic memories per month by year's end. . . . The largest disk drive yet is being developed by Ibis Systems, Duarte, California: 5 giga- bytes. ... A four-color minia- ture printer that uses 2V* -inch-wide paper will be offered by Alps Electric, Rockville Center, New York. It will cost only $300. . . . R andom Rumors: Digital Reserach of Texas' Big Board single-board microcomputer is rumored to be the heart of the Xerox 820, . . . Xerox is reportedly considering the introduction of an under-$1000 personal computer. It has already built a prototype containing a Z80, 16 K bytes of pro- grammable memory (ex- pandable to 256 K bytes), 64 K bytes of read-only memory, an 80-character by 25-line color display with 306 November 1981 © BYTE Publications Inc Teach your littleAppletotalk toWfesternUnion, Telex andTWX. Albany Omaha ' I4U4J t» Micro-Telegram™ lets your Apple II™ computer access Western Union™ services, worldwide. You can send Mailgrams.® Send and receive TWX,® Telex, and international cables. Receive Infomaster® up-to-the-minute news, stock, foreign exchange, gold, futures, sports, and ski reports. Use your Apple™ to wire money. To send flowers. To check the snow at Sun Valley. To see what the Yen is selling for. To contact over 900,000 TWX and Telex subscribers around the world. And because it's more intelligent than a mechanical Teletype™ machine, Micro- Telegram lets you edit messages right on the screen, sends them automatically without you in attendance, keeps subscriber directories and distribution lists, prints when you want it to, and asks you in plain English for your commands. Besides, it doesn't clatter and churn out reams of paper. Call our toll-free number today. And make your little Apple heard 'round the world. MICROCOM We make little computers talk big. Call 800-547-5995, ext. 188, toll-free, for the Micro-Telegram -Apple dealer nearest you. Dealer inqru tries invited. Microcom, Inc., 89 State Street, Boston, MA 02109. (617) 367-6362 Apple and Apple II are trademarks of Apple Computer. Inc. Western Union, Infomaster and TWX are trademarks of Western Union, Inc. Teletype is a trademark of the Teletype Corp, Circle 256 on inquiry card. System Log 3'SQ A/ft. - ^lMb& /W*^ j £/XUo( stf fl 4u&<£ 4*w L jUrts&n, ^facJ? *n ^Citu^j Diagnostic II builds upon the highly acclaimed Diagnostics I. It will test each of the five areas of your system: Memory Terminal Printer CPU Disk Every test is expanded. Every test is "submit"-able. A "submit" file is included in the package which "chains" together the programs in Diagnostics II, achieving an effective acceptance test. All output can be directed to a log file for unattended operation, for example over night testing. Terminal test is now generalized for most crt terminals. A quick-test has been added for quick verification of the working of the system. The memory test is the best one we have encountered. It has new features, including: • default to the size of the CP/M Transient Program Area(TPA) • printout of a graphic memory map • burn in test • bank selection option • memory speed test Diagnostics-ll still includes the only CPU test for 8080/8085/Z80. A Spinwriter/Diablo/Qume test has been added, which tests for the positioning and control features of the Spinwriter/Diablo/Qume as well as its ASCII printing features. (Serial Interface only) And, as with all SuperSoft products, a complete online HELP system and user manual is included. Price: $100.00 (manual only): $15.00 Requires: 32K CP/M CP/M Formats: 8" soft sectored, 5" Northstar, 5" Micropolis Mod II, Vector MZ, Superbrain DD/QD VISA SuperSoft All Orders and General Information: SUPERSOFT ASSOCIATES P.O. BOX 1628 CHAMPAIGN, IL 61820 (217)359-2112 Technical Hot Line: (217) 359-2691 (answered only when technician is available) CP/M REGISTERED TRADEMARK DIGTAL RESEARCH First in Software Technology graphics capabilities, radio- frequency modulator, and li- quid-crystal display. . . . The Apple IV could be released within the next few months. . . . IBM is said to be negotiating to implement BASIC and a VisiCalc-like package on its Displaywriter word-processing system, thereby acknowledging that it is really a general-purpose computer. . . . Expect about ten Japanese suppliers to enter the 5-inch hard-disk market by the end of next year, which should cause a softening of prices. . . . Rumor has it that a subset of Xerox's Smalltalk has been observed "chatting" at Ap- ple Computer. . . . MAIL: I receive a large number of letters each month as a result of this column. If you write to me and wish a response, please include a self- addressed, stamped envelope. Sol Llbes POB 1192 Mountainside NJ 07081 BYTE's Bits Logo License Applications Available The Massachusetts In- stitute of Technology has an- nounced that it is accepting applications from software distributors for the licensing of the Apple Logo Education- al Software System. A review of the prototype of the sys- tem is available in the June 1981 BYTE (see page 36). Companies interested in fur- ther licensing information should contact: Patent, Copyright & Licensing Of- fice, MIT, 77 Massachusetts Ave, Rm E19-722, Cam- bridge MA 02139. ■ 308 November 1981 © BYTE Publications Inc LETTER PERFECT ATARI 400/800 APPLE II ? u ~ " er Perfect IS a sin 9 |e load eas V to use program. It is a menu driven, character orientated processor with the user in mind. FAST machine language operation, ability to send control codes within the body of the program mnemonics that make sense, and a full printed page of buffer space for text editing are but a few features. Screen Format allows you to preview printed text. Indented margins are allowed. Data Base Merge with DATA PERFECT by LJK, form letters, accounting files and mailing labels only with MAIL MERGE/UTILITY by LJK. FEATURES - Proportional/ Incremental spacing * Right Justification * File Merging * Block movement * Headers * Footers * Print Multiple Copies * Auto Page Numbering * Scroll forward/backward * Search and Replaces * Full cursor control * Underlining * Boldface * Superscripts * Subscripts * Auto page numbering * Insert character/line * Delete character/line * Centering * Horizontal tabs/changeable * Multifunction format line (line spacing — left margin — page width — lines/page — change fonts — top/ bot margin adjust) MUCH MORE! $149.95 ATARI VERSION 2.0 #2001 Compatible with Atari DOS. Uses proportional font, right justified with Atari 825 /Centronics* 737, 739 printers. Uses EPSON MX* Series + Graftrax /italicized font. Can mix type fonts on same page; mix boldface and enhanced font in same line with justification. Can be used with 16K Atari MOO. "Compared to the price of many other word processors, this package is a steal. It does everything the advertisement claims and more. On top of this the software is very easy to use." A.N.A.L.O.G. MAGAZINE APPLE VERSION 5.0 #1001 DOS 3.3 compatible — Use 40 or 80 column interchangeably (Smarterm - ALS; Videoterm-Videx; Full View 80 — Bit 3 Inc.; Vision 80 - Vista; Sup-R-Term - M&R Ent.) Reconfigurable at any time for different video, printer, or interface. USE HAYES MICROMODEM ll*LCA necessary if no 80 column board, need at least 24 K of memory. Files saved as either Text or Binary. Shift key modification allowed. Data Base Merge compatible with DATA PERFECT* by LJK. "For $150, Letter Perfect offers the type of software that can provide quality word processing on inexpensive micro- computer systems at a competitive price." INFOWORLD DATA PERFECT T.M. LJK APPLE & ATARI DATA BASE MANAGEMENT $99.95 Complete Data Base System. User orientated for easy and fast operation. 100% Assembly language. Easy to use. You may create your own screen mask for your needs. Searches and Sorts allowed, Configurable to use with any of the 80 column boards of Letter Perfect word processing, or use 40 column Apple video. Lower case supported in 40 column video. Utility enables user to convert standard files to Data Perfect format. Complete report generation capability. Much More! $29.95 APPLE & ATARI EDIT 6502 This is a coresident - two pass ASSEMBLER, DIS- ASSEMBLER, TEXT EDITOR, and MACHINE LANGU- AGE MONITOR. Editing is both character and line oriented. Disassemblies create editable source files with ability to use predefined labels. Complete control with 41 commands, 5 disassembly modes, 24 monitor commands including step, trace, and read/write disk. Twenty pseudo opcodes, allows linked assemblies, software stacking (single and multiple page) plus complete printer control, i.e. paganation, titles and tab setting. User can move source, object and symbol table anywhere in memory. Feel as if you never left the environment of BASIC. Use any of the 80 column boards as supported by LETTER PERFECT, Lower Case optional with LCG. MAIL MERGE/UTILITY This menu driven program combined with LETTER PERFECT allows user to generate form letters and print mailing labels. With the Atari, you may CONVERT ATARI DOS FILES, or Visicalc files compatible for editing with LETTER PERFECT. Utility creates Data Base files for Letter Perfect. LOWER CASE CHARACTER GENERATOR $34.95 LJK DISK UTILITY APPLE $29.95 This menu driven program allows the user to manipulate a variety of different file types. Binary, Text, and Source files may be easily converted into each other. The pro- gram may be used with APPLESOFT*, VISCALC*, and other programs. These program files may be readily adapted for multiple use including editing with LETTER PERFECT word processings. >«r*tuvvxyz< ! > Lower Case Character Generator for the Rev. 7, Apple II or II+ computers. When installed, this Eprom will generate lower case characters to the video screen. Lower case characters set has two dot true descenders. Installation instruction included. Manual includes listing of software for full support and complete instructions for shift key modification. Compatible with LETTER PERFECT. LJK ENTERPRISES INC. P.O. Box 10827 St. Louis, MO 63129 (314) 846-6124 DEALER INQUIRES INVITED "Trademarks of: Apple Computer — Atari Computer — Epson America — Hayes Microcomputers — Personal Software — Videx — Bit 3 Inc. — M&R Ent. — Advanced Logic Systems — Vista Computers Circle 228 on inquiry card. DYNACOMP Quality software for*: ATARI PET APPLE II Plus TRS-80 (Level II)** NORTH STAR CP/M Disks/Diskettes CARD GAMES Price: S17.M CMtttlt /S21.95 Dliketie i. This program boih BIDS and PLAYS either contract or ;Lcr opponents will either play Ihc offense OR defense. If cl! BRIDGE 2.0 provides challenging entertainment for e bridge novice. Sec the software review in 80 Software BRIDGE 2.0 (Available for ail computers) An all-inclusive version of this most popular of car duplicate bridge. Depending on ihc contrail, your you bid too high, the computer will double your advanced players and is an excellent learning too Critique. Rated #1 by Creative Computing. HEARTS 1.5 (Available for alt computers) Price: MS.W CaiKtie/S19.95 Oitkcttt An exciting and entertaining computer version of this popular card game. Hearts is a (rick-oriented game in which the purpose is nol to lake any hearts or (he queen of spades. Play against two computer opponents who are armed with hard-to-bcat playing strategies. HEARTS 1. J is an ideal game for introducing the uninitiated (your spoust) to com- puters. Sec the software review in 80 Software Critique. Price: SI 1.93 C«j«lte/S15.95 Dlik.lte a time and you (and the computer) bet on :ver, il sometimes bluffs! Also included is 16K ATARI. Color, graphics, sound. See STUB POKER (Atari only) This is the classic gambler's card game. The computer deals the cards one i what you see. The computer does not cheat and usually bets the odds. Ho\ a five card draw poker betting practice program. This package will run on review in COMPUTE. POKER PARTY (Available for all computers) Price: J17.95 Caaettt/S21.» Dlikeite POKER PARTY is a draw poker simulation based on the book. POKER, by Oswald Jacoby. This is the most com- prehensive version available for microcomputers. The party consists of yourself and six other (computer) players. Each of these players (you will gel to know them) has a different personality in the form or a varying propensity to bluff or fold under pressure. Practice with POKER PARTY before going to that expensive game tonight! Apple Casselle and diskette versions require a 32 K (or larger) Apple II. CRIBBAGK 2.0 (TRS-80 only) This is simply the best cribbage game worthy opponent as well as for the n language routines provide rapid execu Price: $14.93 Custtle/SlS.95 Diskette it program for the cribbage player in search of a his game. The graphics are superb and assembly :w in SO Software Critique. THOUGHT PROVOKERS MANAGEMENT SIMULATOR (Atari. North Star and CP/M only) This program is played al gradu; Each player am design expendili :o outpcrforn :. The most s ching tool as well as ; each player or team i his competitors by s cccssful firm is the oi stimulating intellectual gsrr. introls a company which Bit (ling selling prices, product! : with the highest slock pt ic Price: (19.95 Cuultr SZ3.95 DUkelte . Based upon similar games nufneturers three products, in volumes, marketing and when the simulation ends. FLIGHT SIMULATOR (Available for all computers) Price: Jn.M c«iMtie/Slt.9S Diskette A realistic and extensive mathematical simulation of take-oft. flight and landing. The program utilizes aerodynamic equations and the characteristics of a real airfoil. You can practice instrument approaches and navigation using radials and compass headings. The more advanced flyer can also perform loops, half-rolls and similar aerobatic maneuvtrs. Although this program docs not employ graphics, il is exciting and very addictive. See the software review in COMPUTRON1CS. Runs in I6K Atari. VALDEZ (Available for all computers) VALDEZ is a computer simulation " of Alaska. Included in this sintulati viewed using the ship's alphanu. mathematically. The simulation al (outgoing ta Price: $15.95 C«setle/S19.95 Diskette ■f supertanker navigation in the Prince William Sound/Valdez Narrows region l realistic and extensive 256 x 256 element map, portions of which may be radar display. The motion of the ship itself is accurately modelled tains a mode) for the tidal patterns in the region, as well as other traffic ,e from the Gulf of Alaska to Valder Harbor! Sec the soft- BACKGAMMON 2.0 (Atari, North Star and CP/M only) This program tests your backgammon skills and will also impr puler or against another human. The computer can even play double or generate dice rolls. Hoard positions can be created t cordance with the official rules of backgammon and is sure I play- Price: 514.95 Caiielle/S 18.95 Dfsktltr ovc your game, A human can compete against a com- against itself. Either the human or the computer can ir saved for replay. BACKGAMMON 2.0 plays in ac- provide many fascinating sessions of backgammon Price: S 16.95 Cuselte/SlO.95 Dhktlte s available. It has 10 levels of play and allows the user to change jgh game at level 4-8, CHECKERS 3,0 is practically unbeatable CHECKERS 3.0 [PET only) This is one of the most challenging checkers prograr skill levels at any time. Although providing a very t< at levels s) and 10. CHESS MASTER (North Star and TRS-80 only) Price: S 19.95 Cuuiie/$13.95 Diskette This complete and very powerful program provides five levels of play. It includes castling, en passant captures and the promotion of pawns. Additionally, the board may be preset before the start of play, permitting the examination of "boot" plays. To maximize execution speed, the program is written in assembly language (by SOFTWARE SPECIALISTS of California). Full graphics are employed in the TRS-80 version, and two width; of alphanumeric display are provided to accommodate North Star users. See review in onComputing. I.EM LANDER (32K Apple Disk only) Price: 516.95 Dlskeitr Pilot your I.EM LANDER to a safe landing on any of nine different surfaces ranging from smooth to treacherous. The game paddles arc used to control craft altitude and thrust. This is a real-lime high res challenge! Price: S 16.95 Ciuelte/SlO.95 IXskelte ddleof a forest fire. Your job is 10 direct her and terrain. Nol protecting valuable make FOREST FIRE! very suspenseful FOREST FIRE! (Atari only) Using excellent graphics and sound effects, this simulation puts you in the n operations to put out the fire while compensating for changes in wind, wee structures can result in startling penalties, life-like variables are provided t Sing. I gain. c the l e 3 levels of difficulty. NOMINOES JIGSAW (Atari, Apple and TRS-80 only) Price: S 16.93 C«**«tle/S20.95 Dliketie A jigsaw pu/zle on your computer! Complete the puzzle by selecting your pieces from a table consisting of 60 dif- ferent shapes. NOMINOES JIGSAW is a virtuoso programming effort. The graphics are superlative and the puzzle will challenge you with its three levels of difficulty. Scoring is based upon the number or guesses taken and by the dif- ficulty of the board set-up. See review in ELECTRONIC C.AMES. MONARCH (Atari only) MONARCH is a fascinating n CHOMPELO (Atari only) CHOMPELO is really two challenging games ir iking the poisoned portion. The other graphic: .iiulMhv is hard It . This package will Price: SI 1.95 CutelIe/SI5.95 Diiket Price: SI 1 .95 Cunetle/S15.95 Diskette . One is similar to N1M; you must bile off pan of a cookie, but is the popular board game RGVLRSI. II fully uses the Atari's I6K system. SPACE LANES (Available for all computers) SPACE LANES is a simple but exciting space transportation game computer). The object is 10 form and expand space transportation ct is to amass more net worth than your opponent. The economics Watch your wealth grow! Price: SI 4.95 Dlikeite hich involves up to four players fincluding the : panics in a competitive environment. The goal elude stock purchases and company mergers. •egislered tradenames and/or supplied with DOS or DYNACOMP OFFERS THE FOLLOWING • Widest variety • Guaranteed quality • Fastest delivery • Friendly customer service • Free catalog • 24 hour order phone AND MORE... STARTREK 3.2 (Available for all compulers) Price: SI1.95 C*»eiir/S15.9S Diskette This is the classic Slartrek simulation, but wilh several new features. For example, the Klingons now shoot at the Enlerprise without warning while also attacking starhases in other quadrants. The Klingons also attack with both light and heavy cruisers and move when shol at! The situation is hectic when the Enterprise is besieged by three heavy cruisers and a starbasc S.O.S. is received! The Klingons gel even! Sec the software reviews in A.N.A.L.O.G,. SO Soft- ware Critique and Game Merchandising. BLACK HOLE (Apple only) Price: 114.95 C»uetle/S18.95 DMuttf This is an exciting graphical simulation of the problems involved in closely observing a black hole wilh a space probe. The objeci is lo enter and maintain, for a prescribed time, an orbit close to a small black hole. This is to be achieved without coming so near the anomaly thai the tidal slress destroys the probe. Control of the craft is realistically simulated using side jets for rotation and main thrusters for acceleration. This program employs Hi-Rcs graphics and is educational as well as challenging. SPACE TILT (Apple and Atari only) Use the game paddles to tilt the plane of the TV si when the hole gets smaller and smaller! A built-in Price: $10.95 CuMtle/S14.95 IHikclle a hole in the screen. Sound simple? Nol ire your skill against others in this habit- MOVING MAZE (Apple and Atari only) Price: S10.95 C*«elle/S14.95 IHiketle MOVING MAZE employs the games paddles to direct a puck Iron one side of a maze lo ihc other. However, the maze is dynamically (and randomly) buill and is continually being modified. The objective is to cross the maze without touching (or being hit by) a wall. Scoring is by an elapsed time indicator, and three levels of play are provided. ALPHA FIGHTER (Atari only) Price: S14.95 CMwttcVSU.M Diskette Two excellent graphics and action programs in otic! ALPHA FIGHTER requires you to destroy the alien starships passing through your sector of the galaxy. ALPHA BASE is in the path of an alien UFO invasion; let five UFO's gel by and the game ends. Doth games require the joystick and gel progressively more difficult Ihc higher you score! ALPHA FIGHTER will run on 16K systems. THE RINGS OF THE EMPIRE (Atari only) The empire has developed a new battle station protec rings and destroy the station, the empire develops a I on !6K systems, employs extensive graphics and sou Price: S16.95 Cassette /J20.95 Diskette iling rings of energy. Each time you blast through the t with more protective rings. This exciting game runs n be played by one or two players. INTRUDER ALERT (Atari only) Price: S16.95 Cauelie/S20.95 Dliketie This is a fast paced graphics game which places you in the middle of the "Dreadstar" having just stolen its plans. The droids have been alerted and are directed lo destroy you at all costs. You must find and enter your ship to escape wilh ihc plans. Five levels of difficulty are provided. INTRUDER ALERT requires a joystick and will run on I6K systems. GIANT SLALOM (Atari only) Price: S14.95 C«Melle/S18.95 Diskette This real-time action game is guaranteed addictive! Use the joystick to control your path through slalom courses con- sisting of both open and closed gates. Choose from different levels of difficulty, race against other players or simply take practice runs against the clock. GIANT SLALOM will run on I6K systems. TRIPLE BLOCKADE (Atari only) Price: SM.M Cuseltr/$IR.95 Diskette TRIPLE BLOCKADE is a two-lo-thrce player graphics and sound action game. It is based on the classic video arcade game which millions have enjoyed. Using the Atari joysticks, the objeci is to direct your blockading line around the screen without running into your opponenl(s). Although the concept is simple, the combined graphics and sound effect lead to "high anxicly". GAMES PACK 1 (Avallahlc for all computers) Price: S10.95 Caon of DYNACOMP's popular TEXT EDITOR I and cor EDITOR II you may build text lilcs in chunks and assemble them for later display. Blocl deleted. Files may he saved on disk/diskette in right justified/centered format to be lat or the CP/.M FD facility. Fulher, ASCII CP7M Hies (including BASIC and assembly h Price: 529.95 Mi.kdif 533.45 Dixit ams many new features. With TEXT of text may be appended, inserted or printed by cither TEXT EDITOR II sguage programs) may be read by the UFII.K (Atari and North Slar diskettes only) This handy program allows Norlh Star and Alari disk ■ slack of disks which invariably accumulates. DFILE i- locating of the desired file or program. ■r formatted using TEXT EDITOR II. All in all. TEXT Price: 519.95 i a specialized dala base of all Tiles and programs in the nd use. It will organize your disks lo provide efficient FINDIT (North Star only) This ts a three-in-one program which mi Commercial leg: plumbers) and Referent are birthday, annivctsaiy and appointme cords. Reference records arc accessed hi Price: 519.95 mains information accessible by keywords of three types: Personal (eg: last namel, ■ (eg: magazine articles, record albums, etc). In addition to keyword searches, there t searches for the personal records and appointment searches for the commercial re- ingle keyword or by cross-referencing ti three keywords. .. Adding, deleting. SHOPPING LIST (Alari and North SUl only) Price: J12.M Caaiem SHOPPING LIST stores information on items you purchase a) the supermarket. Before going shopping, ii then display tt very e TAX OPTIMIZER (North Star only) Price: $59.95 Diskette The TAX OPTIMIZER is an easy-to-use. menu oriented software package which provides a convenient means for analyzing sarious income tax strategies. The program is designed to provide a quick and easy data entry. Income tax is computed by all tax methods (regulat. income averaging, maximum and alternate minimum lax). The user may immediately observe the lax effect of critical financial decisions. TAX OPTIMIZER has been thoroughly Tield tested in CPA offices and comes complete with the current tax tables in its data files. DYNACOMP CASSETTES DYNAOOMP now offers high quahts DYNACOMP bi Box of 2f> cassetie AVAILABILITY DYNACOMP software is sup specified, all programs will run able on ATARI, PET, TRS-Bl density compatible) diskette. I nth complete documentation containing clear explanations and examples. Unless otherwise I 16K program memory space (ATARI requires 24K). Except where noted, programs are avail- I II) and Apple (Applesoft) cassette and diskette as well as North Star single density {double rally, mosi programs can be obtained on standard (IBM formatl 8" CP/M floppy disks for EDUCATION HODGE PODGE (Apple only. -UK Applesoft or Integer BASIC) Let HODGE PODGE be your child's baby sitter. Pressing any key on you periing" related to the letter or number of the chosen key. The program" from ages 1 K to 9. HODGE PODGE is a non-inlimidaiing teaching dev Price r Apple will result i graphics, color un cc which brings a r 519.95 Cauelle/52J.95 Diskette a different and intriguing "hap- sound are a delight for children ew dimension lo the use of com- TF.ACHF.R'S PET I (Available for all computers) This is the first of DYNACOMP's educational packages. Primarily intended Tor pr provides the young student with counting practice, letter-word recognition and three Price levels II US Cam 1 to grade ) ielle/STJ.95 Diskette TEACHER'S PET MISCELLANEOUS CRYSTALS (Atari only) Price: 1 9.95Caatetle/513.95Dtikettt A unique algorithm randomly produces fascinating graphics displays accompanied with tones which vary as the patterns are built. No two patterns are the same, and the combined effect of the sound and graphics are mesmerizing CRYSTALS has been used in local stores to demonstrate the sound and color features or the Atari. NORTH STAR SOFTWARE EXCHANGE (NSSE) LIBRARY DYNACOMP now distributes the 23 volume NSSE library. These diskettes each contain many prog standing value for the purchase price. They should be part of every North Slar user's collecrion. Call for details regarding the contents of the NSSE collection. ams and offer an out- » write DYNACOMP Price: S9.95 each'17.95 each (4 or more) The complete collection may he purchased for SI-9.95 STATISTICS and ENGINEERING DIGITAL FILTER (Available for ill computer*) DIGITAL FILTER is a comprehensive data processing program which perm choose [torn a menu ol filter farms. The filter forms are subsequently converted into non-recursive convolution coefficient which permit rapid data processing In ihe explicit design mode the shape of the frequency transfer function is specified by directly entering points along the desired filter curve. In Ihe menu mode, ideal low pass, high pass and bandpass filters may be approximated lo varying degrees according io the number of points used in ihe calculation. These filters may optionally also be smoothed wilh a Hanning function. In addition, multi-stage Butlerwonh fillers may be selecied. Features of DIGITAL FILTER include plotting of the dala before and after Tillering, as well as display of [I are convenient data storage, retrieval and editing procedures. r functions. Also included DATA SMOOTHER (Not available Tor Atari) Price: $19.95 Csw(ie/S2J.9S Diskette This special data smoothing program may be used to rapidly derive useful information from noisy business and engineering data which are equally spaced. The software features choice in degree and range of fit. as well as smoothed first and second derivative calculation. Also included is automatic plotting of the input data and smoothed results. FOURIER AN ALYZER (Available for all computer Use Ihis program to examine the frequency spectra oT I plotting of the input data and results. Practical applicat: Price: 519.93 Cutetle/523.95 m.Lr in- duration signals. The program features automatic scaling and elude the analysis of complicated patterns in such fields as elec- TFA (Transfer Function Analyzer) price; S19.W Caisetle/S23.95 Diskette This is a special software package which may be used lo evaluate the transfer functions of systems such as hi-fi amplifiers and filters hy examining their response to pulsed inputs. TFA is a major modification of FOURIER ANALYZER and contains an engineering-oriented decibel versus log-frequency plot as well as data editing features. Whereas EOURIER ANALYZER is de- signed for educationol and scientific use. TFA is an engineering tool. Available for all computers. HARMONIC ANALYZER (Available for alt computers) HARMONIC ANALYZER was designed for ihe spectrum analysis of repetitive wi lion, editing and storage/retrieval as well as dala and spectrum plotting. One parti need not be equally spaced or in order. The original data is sorted and a cubic splin required by the FFT algorithm. Price: 124.95 Cm* lie/ 5 21. 95 Mlketle eforms. Features include data file genera ilarly unique facility is that the input data interpolation is used to create the data file mbined price of J49.9J Price: 519.95 Canctle/523.95 Diskette res "polynomial" curve filling program. extensive internal library oT fitting func- mdard deviation, correlation coefficient, . REGRESSION I is certainly the corner- REGRESSION I (Available for all computers) REGRESSION I is a unique and exceptionally versatile one-din features include very high accuracy; an automatic degree deter lions; dala editing; automatic data and curve plotting; a statistical analysis (eg: s etc.) and much more. In addition, new fits may be tried without reentering the dot stone program in any dala analysis sofiwatc library. REGRESSION II (PARAFIT) (Available for all computers) Price: 519.95 CeiMtie/523.95 Diskette PARAE1T is designed to handle those cases in which the porameters are imbedded (possibly nonlincarly) in ihe fitting func- tion. The user simply inserts the functional form, including the parameters (All), A(2). etc.) as one or more BASIC statement lines. Data and results may be manipulated and plotted as with REGRESSION I. Use REGRESSION I for polynomial fitting, and PARAFIT for those complicated functions. MULTILINEAR REGRESSION (MLR) (Available for all computers) Price: 524.95 Cauetie/S28.95 Dtiketie MLR is a professional software package for analyzing data sets containing two or more linearly independent variables. Besides performing the basic regression calculation, this program also provides easy to use data entry, storage, retrieval and editing functions, In addition, the user may iaterrogate the solution by supplying values for the independent variables. The number of variables and dala size is limited only by the available memory. REGRESSION I, II and MULTILINEAR REGRESSION may be purchased together for 55 1 .95 (three cassettes) or 5,63.95 Price: $39.95 Caswlle/543.95 Dlikelte ic large mainframe computers. Now rsant with ANOVA, the DYNACOMP : the Yates 2 KP factorial designs. For (by a pro- ANOVA (Available for all computers) In the past the ANOVA (analysis of variance) procedure has been limilcd 10 DYNACOMP has brought the power of this method lo small systems. For those cor software package includes the 1-way, 2-way and N-way procedures. Also provided (hose unfamiliar with ANOVA. do not worry. The accompanying documentation w fessor in the subject) and serves as an excellent introduction lo the subject. Accompanying ANOVA is a support program for building the data base. Included are several convenient features including data editing, deleting and appending. BASIC SCIENTIFIC SUBROUTINES, Volumes I and 2 (Not available lot Atari) DYNACOMP is the exclusive distributor for Ihe software keyed to the popular texts BASIC SCIENTIFIC SUBROUTINES, Volumes I and 2 by F. Ruckdeschcl (see advertisements in BYTE magazine). These subroutines have been assembled according o chapter. Included with each collec:ii Volume I Collection *l: Chapters 2 and 3 - Data arid function plotting; complex variables and functions. Collection K2: Chapter 4 - Extended Collection *3: Chapters 5 and 6 - Ra Price per collection: 514.95 Cassette/SIH.95 Diskette All Ihrec collections are available for S39.95 (ihree casseiiei) and $49.95 (three diskettes) u program which selects and demonstrates each subroutin function plotting; complei and vector operations, number generators (Poisson, Gaussian, etc.); nsional. parametric least squares. Volume 1 Collection #1: Chapter I - Linear, polynomial. Collection *2: Chapter 2 - Scries approximation technique Collection #3: Chapter 3 - Functional approximations by iteratio Collection '4: Chapter 4 - CORDIC approximations to trigonometric, hyperbolic, exponential and logarithm shifting, ei tunc Collectio Collectio Collectio Collectio n MS: Chapter J - Table interpolation, differentiation and integratior. (Newton. LaGrange. splines). n «: Chapter 6 - Methods for finding the teal roots of functions. n H: Chapter 7 - Methods for finding the complex roots of functions. n fS: Chapter B - Optimization hy steepest descent. Price per collection: 514.95 Cassctte/51S.95 Diskette All eight collections are available for 599.95 (eight cassettes) and 5129.95 (eight diskettes). Because the texts are a vital pari of Ihe documentation. BASIC SCIENTIFIC SUBROUTINES, i'olumrs I and 2 are available from DYNACOMP: BASIC SCIENTIFIC SUBROUTINES. Vol I (319 pages): 519.95 4 T5C postage BASIC SCIENTIFIC SUBROUTINES. Vol 2 (790 pages): 523.95 - 51 .50 postage See reviews in KILOBAUD and Dr. Dobbs. ROOTS (Available for all computers) In a nutshell. ROOTS simultaneously dc the degree of the polynomial, and beciu; required as input, and the calculated roi Price 510.95 Cauet(e/S14.95 Diskette ermines all the zeroes of a polynomial having real coefficients. There is no limit on the procedure is iterative, the accuracy is generally very good. No initial guesses are s are substituted back into the polynomial and ihe residuals displayed. ACTIVE CIRCUIT ANALYSIS (ACAP) (4KK Apple only) Price: 525.95 C*Meti*/$29.9S Diskette ACAP is the analog circuit designer's answer to LOGIC SIMULATOR. With ACAP you may analyse the response of an ac- tive or passive component circuit (e.g., a transisior amplifier, band pass filter, etc.). The circuit may be probed at equal steps in frequency, and [he resulting complex (i.e., real and imaginary) voltages at each component juncture examined. By plotting [he magnitude of these voltages, the frequency response of a filter or amplifier may be completely determined with respect to boih amplitude and phase. In addition. ACAP prints a statistical analysis of the range of voltage responses which result from tolerance variations in ihe components. ACAP is easy to learn and use. Simply describe the circuit in terms of Ihe elements and their placement, and execute. Circuit descriptions may be saved onto cassette or diskette to be recalled at a later lime for execu- tion or editing. ACAP should be part of every circuit designer's program library. LOGIC SIMULATOR (Apple only; 48K RAM) Price: 514.95 Cassette/ 528.95 Diskette With LOGIC SIMULATOR you may easily test your complicated digital logic desijn with respect to given set or inputs lo determine how well the circuit will operate. The elements which may be simulated include multiple input AND. OR, NOR, EXOR, EXNOR and NAND gates, a: well us inverters. J-K ond D nip-flops, and onc-shols. The response oT Ihe system is available every clock cycle. Inputs may be clocked in with varying clock cycle lenglhs'displaccmenls and delays may be intro- duced io probe Tor glitches and race conditions At ihe user's option, a timing diagram for any given set of nodes may be plot- ted using HIRES graphics. Save your breadboarding until the circuit is checked by LOGIC SIMULATOR. ORDERING INFORMATION Shipping and Handling Charge! Within North America: Add 51.50 Outside North America: Add I0"« (Air Mail) with order and include the s (excluding books) are sent First Class. c programs. Dealer discount schedules arc available upon request. I" CP/M lilsk.i Add 52.50 to ihe listed diskette price for each 8" floppy disk (IBM soft sectored CP/M format). Program Microsoft MBASIC or BASIC-80. blc on H" CP/M disks i l-roHiiirm hi your local s iflware dealer. Write for d I, North Star format. liled descriptions of these and other p DYNACOMP, Inc. (Depi. B) 1427 Monroe Avenue Rochester, New York 14618 24 hour order phone: (716)442-8731 recording Office phone (9AM-5PM EST): (716)442-8960 New York Stat, rr.ld.nl. pkMC idd 7*i NY5 <■!.. Ux. Circle 152 on inquiry card. The Atari Tutorial Part 3: Player-Missile Graphics Chris Crawford Atari Inc 1265 Borregas Ave POB 427 Sunnyvale CA 94086 Animation is an important capa- bility of any personal computer sys- tem. Activity on the screen adds greatly to the excitement and realism of any program. Certainly, anima- tion is crucial to the appeal of most computer games. More important, an animated image can convey informa- tion with more impact and clarity than a static image. It can draw atten- tion to an item or event of impor- tance. It can directly show a dynamic process, rather than indirectly talk about it. Animation must accordingly be regarded as an important element of the graphics capabilities of any computer system. The conventional way to imple- ment animation with personal com- puters is to move the image data through the screen memory area. This is a two-step process. First, the program must erase the old image by writing background values (ie: the values of the image "under" the mov- ing one) to the memory containing the current image. Then the program This article (except for the appendices) ap- pears in slightly different form in De Re Atari, to be published by Atari, lnc, and is repro- duced with its express permission. must write the image data to the memory corresponding to the new position of the image. By repeating this process over and over, the image appears to move on the screen. The essence of the problem of playfield animation: the screen Image is two- dimensional, while the Image in memory is one-dimensional. There are two problems with this technique. First, if the animation is being done in a graphics mode with large pixels (picture elements), the motion will not be smooth; the image will jerk across the screen. With other computers, the only solution is to use a graphics mode with smaller pixels (higher resolution). The second prob- lem is much worse. The screen is a two-dimensional image, but the screen memory is organized one- dimensionally. An image that is con- tiguous on the screen will not be con- tiguous in the screen memory. The discrepancy is illustrated in figure 1. The significance of this discrepancy is not obvious until you try to write a program to move such an image. Look how the bytes that make up the image are scattered through memory. To erase them, your program must calculate their addresses. This calcu- lation is not always easy to do. The assembly code just to access a single screen byte at screen location (XPOS,YPOS) would be as shown in listing 1 (this code assumes 40 bytes per screen line). Clearly, this code to access a screen location is too cumbersome. It is not the most elegant or fastest code to solve the problem. A good program- mer could take advantage of special circumstances to make the code more compact or elegant. The point of this is that accessing pixels on a screen takes a lot of computing. The routine in listing 1 takes about 100 machine cycles to access a single byte on the screen. To move an image that oc- cupies, say 50 bytes, would require 100 accesses, 10,000 machine cycles, or roughly 10 ms. This may not sound like much, but if you want to achieve smooth motion, you have to move the object every 17 ms. If there are other objects to move or calcula- 312 November 1981 © BYTE Publications Inc Circle 131 on inquiry card. OUR SECOND GENERATION DP-NET We at Delta Products have been involved in 'NETWORKING SYSTEMS' for the past eighteen months. During this time we delivered our first net systems to beta test sites. These closely monitored field installations provided invaluable data, which Delta Products has incorporated into the design of our second generation of DP-NET systems. SECOND GENERATION DP-NET The S-4500 DP-NET system will sup- port from one to ten users, and provide each with their own Z-80 CPU and 64K of ram memory. Each user will also have access to 40 megabytes of hard disk storage, 17.2 megabytes of file managed tape backup, and floppy disk. TRUE RECORD & FILE LOCKOUT By simply reading in the entire record or file you wish to protect, the DP-NET 'DISK SELECTIVE LOCKOUT guar- antees complete data integrity. The DP-NET also allows the use of today's popular micro applications languages (i.e., Cbasic®, Mbasic®, Cobol®, etc.), without having to compensate for the problems inherant to these languages in the multi-user environment, while maintaining CPM compatibility. INTERACTIVE FAMILY OF SYSTEMS 4500 The S-4500 is but one of many DP-NET configurations utilizing parallel and/or serial communication links. Delta Products also manufacturers a wide range of conven- tional single and multi-user systems operating under CP/M and MP/M. Single and multi-user systems can be upgraded to DP-NET's, because their basic components are utilized in our network systems. We have intentionally developed an interactive family of systems that are completely configurable and compatible, never limiting the ability to adapt to a modification in the application. Delta Products systems are available thru a worldwide network of selec- tive distributors and dealers. Call for the name and number of the one nearest to you. See This System @ Comdex Booth #'s 285, 287 Cbasic is a registered trademark of Compiler Systems. Mbasic and Cobol are registered trademarks of Microsoft. CP/M and MP/M are registered trademarks of Digital Research. 1981 MICRO-TAX Microcomputer Taxsystems, Inc. Are you looking for the best tax package in the USA? Call MICRO-TAX For the 1981 Tax System Level 1 : 23 Schedules and Forms : Multiple Clients $250 : Prints IRS Approved Forms Level 2 ; 30 Schedules and Forms : Multiple Clients : Prints IRS Approved Forms $1 ,000 : Prints on IRS Forms or Overlays : Depreciation System : State Tax Interface : Integrated Data Base : Batch Compute and Print Level 3 : All Features of Levels 1 and 2 plus Partnership Forms and $1,750 Schedules ■ -SBBBM • All levels operate under most CP/M* formats including Apple* Compiled Microsoft Basic. State Income Tax Systems are available. Consider the advantages this State- of- the- Art package can bring you: • Complete System • Versatility • Complete In-Office Security • Time Saving • Pre Year-end Tax Planning ■ Bmmwva ■ Call or write today for additional information. Circle 275 for MICRO-TAX. MICRO-TAX Microcomputer Taxsystems, Inc. 22713 Ventura Blvd., Suite F Woodland Hills, CA 91364 (213) 704-7800 Available from WESTICO S (203) 853-6880 and at most Professional Computer Retailers •CP/M is a TM of Digital Research "Apple is a TM of Apple Computer. Inc. HEXADECIMAL REPRESENTATION OF IMAGE 00 00 00 00 00 00 00 00 99 BD FF BD 99 00 00 00 00 00 00 00 00 1 BYTE SPACING OF BYTES IN MEMORY 00 00 00 00 99 00 00 BD 00 00 FF 00 00 BD 00 00 99 00 00 00 00 ; IMAGE BYTES SCATTERED THROUGH RAM Figure 1: The problem of moving a bit-mapped graphics image. Although the image is two-dimensional, its representation is scattered through one-dimensional memory. The software necessary to change the appropriate memory locations slows down animation considerably. Listing 1: A 6502 assembly-language program to move a bit-map image within a graphics screen that uses 40 bytes per line of graphics. LDA SCRNRM Address of beginning of screen RAM STA POINTR zero-page pointer LDA SCRNRM + 1 high-order byte of address STA POINTR + 1 high-order pointer LDA #$00 STA TEMPA+1 temporary register LDA YPOS vertical position ASL A times 2 ROL TEMPA+1 shift carry into TEMPA + 1 ASL A times 4 ROL TEMPA + 1 shift carry again ASL A times 8 ROL TEMPA+1 shift again LDX TEMPA + 1 save YPOS*8 STX TEMPB + 1 into TEMPB STA TEMB low byte ASL A times 16 ROL TEMPA + 1 ASL A times 32 ROL TEMPA + 1 CLC ADC TEMPB add in YPOS* 8 to get YPOS* 40 STA TEMPB LDA TEMPA + 1 now do high-order byte ADC TEMPB + 1 STA TEMPB + 1 LDA TEMPB TEMPB contains the offset from top c CLC ADC POINTR STA POINTR LDA TEMPB + 1 ADC POINTR + 1 STA POINTR + 1 LDY XPOS LDA (POINTR), Y 314 November 1981 © BYTE Publications Inc THE LAST MEMORY 64K STATIC RAM/EPROM BOARD At last a 64K STATIC memory board for S100 systems. But it's not just a 64K static RAM board, EPROM's can also be intermixed with RAM making it the only memory board needed for S100 systems. That's why we call it THE LAST MEMORY. • 64 K DENSITY THE LAST MEMORY uses the new 2016 byte-wide 16K static RAM to achieve a board density twice that possible with old 2114 static memories. • 2716 EPROM COMPATIBLE A separate board is no longer required for EPROM's containing monitors, bootstrap loaders, etc. 2716 EPROM's can be inserted into the board without modification. • SIMPLE ADDRESS DECODING Where memory is required, just plug a RAM or EPROM in the corresponding socket. Empty memory sockets occupy no memory space, providing compat- ibility with memory mapped I/O devices. • EXTENDED ADDRESSING THE LAST MEMORY includes the IEEE S100 extended addresses. These are fully decoded allowing expansion to a full 16 megabyte system memory. • FAST The standard board allows 4 MHz operation. • LOW POWER Only one memory IC is ever active in byte-wide memory systems. The result is far less power con- sumption than older 16K static memory boards. • LOW COST Its best feature is the price: Kit A&T RAM-less Board 99.99 139.99 16K RAM 249.99 289.99 32K RAM 389.99 429.99 48K RAM 519.99 559.99 64K RAM 639.99 679.99 static memory systems 15 So. Van Buren Ave. Suite 209 Freeport, Illinois 61032 (815) 235-8713 VISA Circle 395 on inquiry card. BYTE November 1981 315 Circle 337 on inquiry card. BIGGEST DiSCOUIltS Ever On TRS-8CT rrnTTTTTTf Computers, Accessories & The Following NEW Items Hewlett-Packard® HP-85 Personal Computer Atari® CX-2600 Video Computer System Magnavox® Odyssey 2 Home Video System Magnavox® Magnavision® Videodisc Player • FREE SHIPPING in 48 continental contigious States • NO SALES TAX collected on out-of-state orders. • FREE Discount Price List available. TOLL FREE ORDER NUMBER 800/531-7466 Texas & Principle Number 512/581-2766 Fort Worth No. 817/625-6333 Telex Number 767339 Pan American Electronics Sales and Main Office Dept. 11 • 1117 Conway Ave. Mission, Texas 78572 NEW Fort Worth Branch Dept. 11 • 2912 N. Main St. Fort Worth, Texas 76106 tions to carry out, the 7 ms difference doesn't allow much processor time to devote to them. This means that this type of animation (called playfield animation) is too slow for many pur- poses. You can still get animation this way, but you are limited to a few ob- jects, small objects, slow motion, or a few calculations between motion. The trade-offs a programmer must make in using such animation are too restrictive, A New Approach — Players The Atari 400/800 solution to this problem is player-missile graphics. In order to understand player-missile graphics, you must understand the essence of the problem of playfield animation: the screen image is two- dimensional, while the image in mem- ory is one-dimensional. The solution was to create a graphics object that is one-dimensional on the screen, as well as one-dimensional in memory. What Is Shadowing? Some of the hardware registers talked about in this article are write- only — that is, you can write values to them, hut you can't read what their current contents are. Because of this, the designers of the Atari operating system created shadow registers for some of the more important hardware registers. When the Atari 400/800 has finished drawing an entire display screen of information (at a time called the vertical blank), it copies the con- tents of each shadow register into the corresponding hardware register (this occurs every V 30 second). In this way, you can read the contents of a shadow register, knowing that it has the same value as its hardware register. If you write to the hardware register itself, the old value (still in the shadow register) will be copied into the hard- ware register at the next vertical blank, and whatever effect you wanted to make will be almost instantly undone. Similarly, if you try to read the hard- ware-register location, you will get in- correct results. To conclude, you should always read from and write to shadow registers where they exist. If you fail to do so, your program will fail to work in a way that is not always obvious. 316 November 1981 © BYTE Publications Inc This object (called a player) appears in memory as a table either 128 or 256 bytes long. The table is mapped directly to the screen. It appears as a vertical band stretching from the top of the screen to the bottom. Each byte in the table is mapped into either one or two horizontal scan lines, with the choice made by the programmer. The screen image is a simple bit-map of the data in the table. If a bit is on, the corresponding pixel in the vertical column is lit; if the bit is off, the cor- responding pixel is off. Thus, the player image is not strictly one- dimensional; it is actually 8 bits wide. Drawing a player image on the screen is simple. First, you draw a picture of the desired image on graph paper. This image must be no more than eight pixels wide. Then you translate the image into binary code, substituting Is for illuminated pixels and 0s for empty pixels. You translate the resulting binary number into decimal or hexadecimal (depending on which is more convenient), and you store 0s into the player memory area to clear the image. Next, you store the image data into the player memory area, with the byte at the top of the player image going first, followed by the other image bytes in top-to-bottom sequence. The further down in memory you place the data, the lower the image will appear on the screen. Animating this image is easy. Ver- tical motion is obtained by moving the image data through the player memory. This is, in principle, the same method used in playfield anima- tion, but there is a big difference in practice. The move routine for ver- tical motion is a one-dimensional move instead of a two-dimensional move. The program does not need to multiply by 40 and it often does not need to use indirection. It could be as simple as: LDX #$01 LOOP LDA PLAYER, X STA PLAYER-1,X INX BNE LOOP This routine takes about 4 ms to move the entire player, about half as Circle 312 on inquiry card. -"♦ Introducing the Microline 84. The newest addition to the remarkable Micro- line family of printers from Okidata. The Microline 84 prints bidirectionally at 200 cps and has 72 x 72 dot-addressable and block graphics. A full 96-character ASCII II set and condensed printing. Tractor and friction feeds. Parallel Centronics- compatible or RS232 interfaces. With all that as standard, you get a full year's war- ranty on the print head and 4000 to 5000 hours MTBF. And print quality that's crisp and clear in both text and graphics applications. The Microline 84 gives you the throughput, and reliability you need. Once again, quality printing from the company that stands apart from the rest. Okidata. Interested? Contact us at III Gaither Drive, Mount Laurel, NJ. 08054, 609-235- 2600 for more information on the remark- able Microline 84. Also available through authorized Okidata distributors. aflBBriteaa wa— w X Making small priraereforpeopft Okidata is a subsidiary of Oki Electric Industry Company lid. tPU'S & SUPPORT CHIPS 8226 - 2.75 B080A 3 '& 822B - 4.50 80B5A - 7.50 8251 - 5.50 AMD 2901 8.95 8259 6.95 821? 2.25 8257IAM9517>- 7.95 8214 3.60 Z80ACPU 6.75 3216 2 90 Z80AS10 12 95 8224 - 3.26 8275 16 35 MM8307 9.95 RAM's ROM's 2I14L 3 2 /!> 2708 385 41163 2.S0 2716 ■ 5V 7.50 4116-2 3 50 2732 - 16.95 21LC2 3 90 2532 16 95 21024 80 B2S23 1 95 WK40273 150 B251I2 4.95 MK4096 11 2.95 B25115 4 95 TM54045 25 4 50 B25123 2 25 MS4O50NL 3 95 B2S126 1 95 2101 1 2 45 B2S129 1 95 MM5270 3 45 B2S130 1 95 MK400SP 1 95 82S131 2.25 IM7001 4R& 82S1B1 6 95 51D1E 2 95 3B28A-3 6.95 J111AL 2 45 AM9218C 295 8256-5IM188AI 1 25 UART's AV5 1013 - 3.75 M8868A B.95 TR1602B 395 COM2017 3.75 PT1462B - 3.25 AY3 8500 1 1.95 AY3 8700 2.25 INTERFACE SHIFT &DRIVERS REGISTERS i^S I'm MM1402 1-75 Him 2 HI MM1404 1 75 £m 200 MM5013 2-50 H83; 2 00 MM5016 2.50 BH38 2 0U MM5055 - 2.50 BT38f) 2 00 MM5056 2.50 8531N ? 75 MM5057 2.50 MM5321 950 MM5058 2.50 MM83M 2 50 MM5060 2-50 14PIN HEADERS .3/ $1.00 16 PIN HEADERS 40 24 PIN HEADERS 75 40 PIN HEADERS 1.10 50PINEDGEBOARDCONN 3.95 26 PIN EDGEBOARD CONN 2.50 50 PIN RIGHT ANGLE CONN 3.95 20 PIN RIGHT ANGLE CONN 2.25 PRINTED CIRCUIT BOARD 4" ■ 6" DOUBLE SIDED EPOXY BOARD '/„" THICK S.60ea 5/$2.60 MC74 'MCJ6 74C83 27 74C926 SPECIALS 8X300 - SIGNETICS 16 BIT MICROCONTROLLER 89.00 4ea. 2716 ( + 5VI 22.00 8 ea. 41 16-3 RAM'S 16.75 lOea. 8164E64K RAM I150NSI.. 99.50 L14H4 IR + VISIBLE DETECTOR ,3/$l .00 MM5307 - Baud Rate Generator . .$9.95 50 PIN RIBBON CONNECTORS ...3.25 40 PIN RIBBON CABLE CONN 2.75 20 PIN RIBBON CABLE CONN 2.25 10 PIN RIBBON CABLE CONN 1.50 RS 232 CABLE 10 Conductor, # 22 color coded wire, gray PVC outer cover, \" diameter .40 per ft. - 100 7$30.00 Add 20% postage for orders under 100'. Add 10% postage for orders over 100'. SPECIALS GOOD THRU NOV. 1981 CRYSTALS $3.45 ea. 2.000MH? 6.144MHz EPOXY GLASS VECTOR BOARD 1 H 6" thick with 1 M 0" spacing 4%" x 6Y2" $1.95 DATEL'S DAC-08EG 8 bit DAC - $7.95 INTERSIL DG1IBP ANALOG SWITCH ' 2 CHANNEL DRIVERS $11.50 INTERSIL ICL 7104-12 CPL 12 BIT AD CONVERTER $26.50 REDICON SAD~1024 ANALOG SWITCH $10.95 MS00 MSC13 MSM MSOS MS 10 30 70 74S25? 74 S 268 7«260 74S78D '4S373 7 WATT LD 65 LASER DIODE IR $8.95 25 wan Infra Red Pulse (SG 2006 equiv.) Laser Diode (Spec sheet included) i $24.95 2N3820 P FET S .45 2N5457NFET $ .45 2N2646UJT S .45 ER 900 TRIGGER DIODES 4/S1 .00 2N 6028 PROG UJT $ .65 DISC CAPACITORS .1UF16V 10 $1.00 100.$8.00 01UF35V 16-S1.QQ 100; $5.00 IN4148UN914) . 3.000 MHz 3.57 MHz 4.000 MHz 5.000 MHz 6.000 MHz 10.000 MHz 18.000 MHz 8.000MHz 18.432 MHz 20 000 MHz DIP SWITCHES CTS306, 4 4 POSITION! 25 CTS20G B 8 POSITION 1.50 CTS206 10 10 POSITION 1 95 MINIATURE MULTI-TURN TRIM POTS 50. 100. 5K, 10K, 50K. 250K $.75 each 3 '$2.00 NO. 30 WIRE WRAP WIRE SINGLE STRAND 100' si. 40 40 CONDUCTOR 3M CABLE. #28WIRE S .75/FT SCR's TRIAC's 3SA 110A PRV 100 1A 10A 25A 1.40 .45 80 1.55 1.90 9.00 200 8-1 1 30 2 10 260 12.00 400 1 30 1 90 3 10 3.60 15.00 600 2 00 2 ' r > 4.30 FP 100 PHOTO TRANS RED. YELLOW. GRf.EN m AMBEfl LARGE LEDs .?" HEP GREEN BIPOLAR LEO's. . MLED92IRLED MR014B PHOTO DARL XTOR IL 5 0PTOISOLATOR 1WATTZENERS3 3.4.7. 5 1.5.6. 6.8. 8 2. 9 1. 10. 12. 15. 18, r22V SFC 3301 - 50 PRV30A FAST RECOVERY DIODE (35ns) ..$2.25 TANTALUM CAPACITORS 47UF35V 5-' $1.00 58UF35V 5- $1.00 1UF35V 5/ $1.00 ' 2.2UF20V 5/ SI. 00 33UF20V 4/S1.00 4.7UF35V 4/S1.00 6.8UF35V 3'$1.00 10UF35V - $ .40 22UF 10V - $ .30 15UF 16V 3/S1.00 30UF6V 5/S1.00 33UF20V S .60 47UF20V S .85 120UF6V S .75 2O0UF2OV $1.75 SANKEN AUDIO POWER AMPS Si 1010 G 10 WATTS .$ 7.50 Si 1020 G 20 WATTS .$12.50 Si 1050 G 50 WATTS .$27.50 PRV 1A 3A 12A 50A 125A 240A 100 06 .14 35 90 4.25 6.00 200 .07 .20 .40 1.30 5.25 9.00 •TOO .09 .25 .65 1.50 6.50 12.00 6O0 .11 .30 .80 2.00 8.50 15.00 800 .15 .35 1.00 2.50 10.50 18.00 1000 .20 .45 1.25 3.00 12.50 26.00 CLOCK CHIPS $4.75 MM5316 MM53B7AA. .5 95 .5V at 800ma SOLAR CELLS 3 "diameter $4.35 RS232 CONNECTORS DB25Pmale $3.25 DB25S female ... $4.25 HOODS $1.50 7 SEGMENT DISPLAYS FSC8024-4 digir C.C.8"display . FND503C.C. .5' FND510C.A..5 DL-704.3"C.C. DL-707C.A. .3". .. DL747C.A. .6" .. FND810.8"CA ... FND803.8"CC . . MAN 5 C.C.Green $ .75 $1.50 $1.95 $1.95 $ .75 TRANSISTOR SPECIALS 2N1307PWGETO5 /N-WAf'NPtlE 10 5 llM-'l',W)14 PNPGE 1 1'Nf .I'!).! NF'NSWIN.IIINlil'QWER MIH BMMaCBHf Tii.VJS^TO" Ni'N .■N.i»ar'NPSiT0 3 .T, HI 1,' r.PN Si «T ."(■J.'l'lKINI'NSi TO 3 HI .'NMvutjpNSiro-5 ;nA';v;irMS. to IB 2N2 , J07F , NPS>TO IH 7N30SS NPtJ Si 10 3 J(J33fMNPNSiI0 97 7N3906PNPSiT0 9? 2N5?J6'jPNSi TO 220 2N6K8PNPSiTO220 1IP3IHNPNS. 10 220 lll':UHPNPSiT0 22(» nt*34PNPS Tit' l?1PNPSiUB4 Tli' !41NPNSiU97 TTLIC SERIES 7416 7417 7420 7425 7426 7427 7430 7476 7480 7483 748!. 7486 7490 7491 74U2 7493 7494 7495 7496 74107 74l?1 74122 74123 741 25 74126 74 145 74148 1 25 74150 - 1.10 74176 74 1 1 7 741BO MM1 74182 74190 1A 194 74195 74196 74197 74279 - 74365 - 74367 - 74368 74390 75324 75491 75.192 BT98 9312 FULL WAVE BRIDGE PRV DIP SOCKETS spin 17 ?? pin 30 14 PIN 20 24 PIN 36 16 PIN 22 28 PIN 40 IB PIN 25 40 PIN 60 74LS SERIES 20KV250MA DIODE $1.90 SILICON POWER RECTIFIERS 74LSI32 74L5136 74LS138 MLS 163 74L51S6 MlS 1S6 MLS 30 Ml S3? MLS 37 MIS241 74LS242 74LS243 MLS744 74L5J45 MLS247 741.S248 - 74LS251 NLS3S3 741SJ57 74LS259 741 S266 MLS273 MLS279 74IS7BO 74LS7B3 7415290 74LS293 - 74LS367 74LS36B 74LS373 - 1 '4LS374 1 74LS377 I 74LS3B6 74LS390 74LS393 74LS67D 1 BUS97 1 LINEAR CIRCUITS MAN 82 C. A. Yellow $ .75 IM377 LM382 LM383 LM38B LM387 - LMKJ IM556 CA3078 CA30B0 C A 3086 CA3094 IM290I REGULATORS LM337 S2.50 3?3K 5V3A S4 50 79H6KC-5V«6A $6.95 78L05 S 45 LM305G S .75 340K 12. l5or24VSI50 340T 5. 6. 8. 9. 12. 15, 1Bo'24V S .8B LAS1412 • 12V3AS3 95 POSTAGE ADD 10% FOR ORDERS UNDER $20.00 RATES ADD 5% FOR ORDERS BETWEEN $20.00 AND $50.00 ADD 3% FOR ORDERS ABOVE $50.00 TEHMS:FOB CAMBRIDGE, MASS SEND CHECK SEND 5 25 EOR OUR CATALOG OR MONEY ORDEfl MINIMUM TELEPHONE. FEATURING TRANSISTORS Er COD PURCHASE ORDER OR CHARGE 520.00 RECTIFIERS 145 HAMPSHIRE MINIMUM MAIL ORDER S5 00. ST . CAMBRIDGE. MASS 02139 SOLID STATE SALES TEL < 617 > 5477053 nn»v... "-»■"- *-"-vl_l_AJ W£ SH|p QVER QVER g5% P.O. BOX 74 B OF OUR ORDERS WITHIN SOMERVILLE, MASS. 02143 24 HOURS OF RECEIPT TOLL FREE NO. - FOR ORDERS ONLY TOLL FREE 1-800-343-5230 long as the playfield-animation routine. The player-movement routine is faster than the playfield- animation routine, even though the former moves 256 bytes and the latter moves 50 bytes. If high speed is necessary, the loop above can be trimmed to move only the image bytes themselves, rather than the whole player. Then the loop would easily run in about 100 to 200 /xs. The point here is that vertical motion with players is both simpler and faster than motion with playfield objects. Players and missiles are independent of the playfield— you can mix them with any text or graphics. Horizontal motion is even easier than vertical motion. There is a register for the player called the horizontal position register. The value in this register sets the horizon- tal position of the player on the screen (ie: the distance from the left edge of the screen). All you do is store a number into this register and the player jumps to that horizontal posi- tion. To move the player horizontal- ly, simply change the number stored in the horizontal position register. Horizontal and vertical motion are independent; you can combine them in any fashion you choose. The scale for the horizontal posi- tion register is one color clock per unit. Thus, adding one to the horizontal position register moves the player one color clock to the right. There are only 228 color clocks in a single scan line. Furthermore, some of these are not displayed because of overscan. The horizontal position register can hold 256 positions, some off the left or right edge of the screen. Depending on the overscan of the television, positions through 44 will be off the left edge of the screen and positions 220 through 255 will be off the right edge. Thus, the visible region of the player is in horizontal positions 44 through 220. Remember, however, that this may vary from 318 November 1981 © BYTE Publications Inc television to television; a conser- vative range is from 60 to 200. This coordinate range is sometimes clumsy to use, but it offers a nice feature: a simple way to remove a player from the screen is to set the player's horizontal position to zero. With a single load and store in assembly language (or a single POKE in BASIC), the player disappears. The system described so far makes it possible to produce high-speed animation. There are a number of embellishments that greatly add to its overall utility. The first embellish- ment is that there are four indepen- dent players to use. These players all have their own sets of control registers and memory areas; thus, their operation is completely indepen- dent. The players are labeled P0 through P3. They can be used side by side to give up to 32 bits of horizontal resolution, or independently to give four movable objects. Each player has its own color register, completely independent of the playfield color register. The player color registers are called COLP(X) and are shadowed at PCOLR(X). This gives you the capability to put much more color onto the screen. However, each player has only one color; multi- colored players are not possible without display-list interrupts (which will be discussed in the next article in this series). Each player has a controllable width. You can set it to have normal width, double width, or quadruple width with the SIZEP(X) registers. This is useful for making players take on different sizes. You also have the option of choosing the vertical resolu- tion of the players. You can use single-line resolution, in which each byte in the player table occupies one horizontal scan line, or double-line resolution, in which each byte oc- cupies two horizontal scan lines. With single-line resolution, each player bit-map table is 256 bytes long; with double-line resolution, each table is 128 bytes long. This is the only case where player properties are not independent. The selection of vertical resolution applies to all players. Player vertical resolution is controlled by bit D4 of the DMACTL Alan is a reg '" of Alan. Inc UPGRADE YOUR ATARI' REPORT C&RD i STUDE^ , PARENT (Mm 0cm^ SUBJECTS ■limr^. l KD TnU D RE0PB0 G B^^^' STRU IsiLE GBAPHKS \ PLAYER' W (SSIU m 0E P0RTMENT EASE OF USE . FLEXIBLY 1 C 0MPtf ,BlUTV ' BASIC A^ BASIC A •■ will rate an A+ from any Atari user! Upward compatible with Atari Basic, it adds statements and features that enhance the Atari 800's real power, flexibility, and ease of use: Superior I features for business and other applications Additional file manipulation commands. Significant help in program development and debug. Structured piogramming aids. And MORE! A partial list of the en- hancements of BASIC A+ includes: RPUT/RGET (record I/O) BPUT/BGET (binary I/O) ERASE PRINT USING SET TAB INPUT"..." DIR PROTECT RENAME TRACE WHILE. ..ENDWHILE IF. ..ELSE. ..ENDIF SUPERB PLAYER/MISSILE GRAPHICS BASIC A+ requires a disk and 32K bytes of RAM. Since no cartridge is used, BASIC At will take advantage of all the RAM (48K bytes) in a maximum Atari 800 system (recommended) $80 0S/A + Completely compatible with Atari's DOS (version 2), but with an advanced, command-driven console processor. Simple. Flexible. Powerful. With an easy-to-use BATCH capability. OS A t INCLUDES all the following utilities (and more): EASMD (Editor. ASseMbler. Debug) is our upgraded all-in-one assembly language development package for the 6502 microcro- cessor. The editor — with such features as FIND and REPLACE — can even edit BASIC A-i programs. The assembler can include multiple source files in a single assembly DUPDSK and FORMAT create master or slave disks. Make sector by sector copies of any 0S/A+ disk. COPY a simple, single file copy utility. All of this power is included in our OS/A I package $80 For the utmost in capability and flexibility, our combination system — BASIC At and OS/A-i is available $150 SOFTWARE IN A CLASS BY ITSELF AVAILABLE NOW THROUGH LOCAL DEALERS Optimized Systems Software. Int. 10379-B Lansdale Ave., Cupertino, CA 950I4, (408) 446-3099 Circle 322 on inquiry card. November 1981 © BYTE Publications Inc 319 Circle 11 on Inquiry card. WIREMASTER A COMPILER FOR HARDWARE • WIREMASTER is a software tool to aid in the design, layout, and construction of electronic hardware. Although intended primarily for wire wrap, it is also highly useful in the layout, error checking, and trouble-shooting of PC boards. • Inputs are easily derived directly from the schematic diagram and fed to WIREMASTER in a CP/M* text tile. Outputs include a network map that graphically shows all pins and wires (no plotter required), a wire list sorted by lengths and levels, a parts list, signal and pin cross-references, and wrap count and continuity checklists which ensure a perfect wiring job. • WIREMASTER checks for syntax errors, wires that go nowhere, and duplicated pins. Network lengths are minimized, and wire lengths are calculated and sorted in descending order so that the shorter wires on top hold down the longer wires beneath for a neat wiring job. • The resulting inlormation is then used for wiring, PC board layouts, error-checking, component stulfing, and system debugging. This makes a complete and easily updated documentation package. Although it runs on small computers, WIREMASTER can handle large projects. • The new WIREMASTER Version 3.11 features wire and track minimization, and includes CHANGEM ASTER, a new program which precisely documents all differences between two versions of a board. • CHANGEMASTER eliminates the confusion and loss of control caused by changes to a board during debugging and modification. It outputs a map of all networks which have been added, deleted, or modified, and automatically generates REMOVE and ADD lists so an old board can easily be brought into exact conformance with the latest design. • WIREMASTER runs on any Z80* CP/M system of 47K or larger, including TRS-80® Model II and Apple ll s> with SoftCard"" . The diskette also includes a SORT utility, a pagination and multi-column printing program, and FIX, a program which finds all bad spots on a disk, tells you which files they are in, places the bad sectors in a single file, and recovers erased files. WIREMASTER plus CHANGEMASTER. . . . $200 Manual only $ 15 Update to 3.11 plus CHANGEMASTER. . .,$ 50 Update to3. 11 only $ 15 Cam residents add 6% sales lax Checks. CODs. company POs are OK NO CHARGE CARDS AFTERTHOUGHT ENGINEERING 7266 Courtney Drive San Diego, California 92111 (714)279-2868 'Digital Research trademark register. In double-line resolution, the first 10 bytes in the player table area are lost to vertical overscan and are off the top edge of the screen, and the last 20 bytes are lost off the bottom edge of the screen. In single-line resolution, 20 and 40 bytes are lost correspondingly . Missiles The next embellishment is the pro- vision of missiles. These are 2-bit- wide graphics objects associated with the players. There is one missile assigned to each player; it takes its color from the player's color register. Missile-shape data come from the missile bit-map table in memory in front of the player tables. All four missiles are packed into the same table (four missiles times 2 bits per missile gives 8 bits). Missiles can move independently of players; they have their own horizontal position registers. Missiles have their own size register, SIZEM, that can set the horizontal width as the SIZEP(X) registers do for players. However, missiles cannot be set to different sizes. They are all set together. Missiles are useful as bullets or for skinny vertical lines on the screen. If desired, the missiles can be grouped together into a fifth player, in which case they take the color of playfield color register 3. This is done by set- ting bit D4 of the priority control register (PRIOR). Missiles can still move independently when this option is in effect. Their horizontal positions are set by their horizontal position registers (HPOSM0 through HPOSM3). Their shapes and vertical positions are determined by which bits are turned on in their area of the player-missile area (see figures 2a and 2b). The fifth player enable bit only affects the color of the missiles. You move a missile vertically the same way you move a player: by moving the missile-image data through their two bit-positions of the missile memory area. This can be dif- ficult to do because missiles are grouped into the same memory table. To access a single missile, you must ignore the bits for the other missiles. An important feature of player- missile graphics is that players and missiles are completely independent of the playfield (ie: the text or graphics information also displayed by the computer). You can mix them with any text or graphics mode. This raises a problem: What happens if a player ends up on top of a playfield image? Which image has priority? You have the option to define the priorities used in displaying players. Four priority schemes are possible (see the listing for register PRIOR in appendix B). If you wish, all players can have priority over all playfield color registers. Or you can set all playfield color registers (except background) to have priority over all players. Or you can set player and player 1 (P0 and Pi) to have priority over all playfield color registers, with P2 and P3 having less priority than the playfield. Or you can set playfield color registers and 1 (PF0 and PF1) to have priority over all players, which then have priority over PF2 and PF3. These priorities are selected with the priority control register (PRIOR) that is shadowed at GPRIOR. This capability allows a player to pass in front of one image and behind another, allowing three- dimensional effects. Who Did I Just Hit? The final embellishment is the pro- vision for hardware collision detec- tion. This is primarily of value for games. You can check if any graphics object (player or missile) has collided with anything else. Specifically, you can check for missile-player colli- sions, missile-playfield collisions, player-player collisions, and player- playfield collisions. There are fifty- four possible collisions, each one with a bit assigned to it that can be checked. If the bit is set, a collision has occurred. These bits are mapped into fifteen registers in CTIA (another custom integrated circuit in the Atari 400/800); only the lower 4 bits are used and some are not meaningful. These are read-only registers; they cannot be cleared by writing zeros to them. The registers can be cleared for further collision detection by writing any value to register HITCLR. All collision registers are cleared by this command. 320 November 1981 © BYTE Publications Inc Into Computers? Robotics? Want to get started? Take 6 great books for$Q95 fcd (values to $102.70) ... and get one FREE! All the latest info on software, hardware, applications, and theory at savings up to 75%. Plus, discounts on software, games, cassettes, disks . . . and more! Digital * ',*';.- 1332 List $16.95 1195 List $12.95 HO* T8 8ESi88JIM« * WW* mmm mm® SYSTEM. TEACHING rOJR GOiDFUTEH TO TflLH- 841 List $9.95 1187 List$15.95i 1095 List $9.95 Join now and get Computerist's Handy Databook /Dictionary . . . FREE! ! (List $4.95) ifll THE COMPUTER BOOK CLUB ~t Blue Ridge Summit, PA 17214 7 very good reasons to try The Computer Book Club . . . • Reduced Member Prices. Save up to 75% on books sure to increase your know-how • Satisfaction Guaranteed. All books returnable within 10 days without obligation • Club News Bulletins. All about current selections — mains, alternates, extras — plus bonus offers. Comes 10 times a year with dozens of up-to-the minute titles you can pick from • "Automatic Order". Do nothing, and the Main selection will be shipped automatically! But ... if you want an Alternate — or no books at all — we'll follow the instructions you give on the reply form provided with every News Bulletin • Continuing Benefits. Get a Dividend Certificate with every book purchased after fulfilling membership obligation, and qualify for discounts on many other volumes • Extra Bonuses. Take advantage of added-value promo- tions, plus special discounts of software, games, and more •Exceptional Quality. All books are first-rate publisher's editions, filled with up-to-the-minute info & Please accept my membership in The Computer Book Club and send the 6 volumes circled below, plus a free copy of Computerisf's Handy Databook/Dictionary. I understand the cost of the books selected is $2.95 (plus shipping/handling). If not satisfied, I may return the books within ten days without obligation and have my membership cancelled. I agree to purchase 4 or more books at reduced Club prices during the next 12 months, and may resign any time thereafter. 841 985 1055 1062 1070 1088 1095 1101 1108 1111 1160 1169 1183 1187 1191 1195 1203 1205 1209 1275 1277 1295 1330 1332 Name Address , . Phone- City State Zip (Valid for new members only. Foreign and Canada add 20%. Orders outside U.S. or Canada must be prepaid with international money orders in U.S. dollars) BY- 118 Circle 401 on inquiry card. BYTE November 1981 321 Circle 39 on inquiry card. ATLANTIC COMPUTER INDUSTRIES IMS. MORROW. ADDS. APPLE. TELEVIDEO ITHACA. IBM. SCION. NEC. MUSYS HAZELTINE..QUME. HAYES ...and much more. MORROW - DECISION I Multi - User, multi -tasking CPU with UNIX and CP/M . . . $1450 MUSYS SINGLE BOARD COMPUTER Z80A Processor, 64 K Dynamic RAM, Console Serial Port, S-100 Parallel Interface, Bootstrap PROM $1295 dBASE from Ashton-Tate Easy to use, CP/M compatible, extends power of your micro- computer to jobs reserved for larger mainframes Money back guarantee $595 TURBODOS - Multi - User Network OPERATING SYSTEM CP/M Compatible, up to 6 X faster Multi User $749 Single User $249 ADDS VIEWPOINT CRT $599 ANADEX 200 c p s PRINTERS DP 9500/9501 $1329 DP 9000/9001 $1249 MICROANGELO HIGH RESOLUTION GRAPHICS System $2225 S-100 Graphics Card $925 QUME DISK DRIVES Data Track 8", Double sided disk drives $575 2 for $1100 2 Qume DT 8" complete with cabinet, power supply, Fan . $1595 MAIL ORDER ONLY ATLANTIC COMPUTER INDUSTRIES CORP. 80 BROAD STREET. SUITE 404 NEW YORK. N.Y. 10004. (21 2| 332-4500 -(21 2| 376-5978 (2a) SINGLE-LINE RESOLUTION DOUBLE -LINE RESOLUTION PMBASE (MUST BE DIVISIBLE BY 2048) PMBASE + 768 + 1024 + 1280 + 1536 + 17 92 + 2048 — ►■ M3 M2 Ml M0 PLAYER PLAYER 1 PLAYER 2 PLAYER 3 (2b) BYTE N N + 1 N + 2 N +3 PMBASE (MUST BE DIVISIBLE BY 1024) PMBASE + 384 + 512 + 640 + 768 + 896 + 1024 M3 | M2 | Ml |M0 PLAYER PLAYER 1 PLAYER 2 PLAYER 3 THESE BITS GIVE THE SHAPE AND VERTICAL POSITION FOR MISSILE 3 MISSILE 2 MISSILE 1 MISSILE MISSILE 2 D7 D6 05 D4 D3 02 01 DO ^ -— ^ "~~~ _MISSILE 1 / Figure 2: The player-missile area. Information on the shape and vertical position of the players and missiles is kept in a block of memory. The allocation for single-line and double-line player-missile areas is shown in figure 2a. Figure 2b shows how one area can store the shape and position of four missiles. 322 November 1981 © BYTE Publications Inc THE ORIGINAL MAGAZINE FOR OWNERS OF THE TRS-80 ™* MICROCOMPUTER TRS-S IS A TRADEMARK OF TANDY CORP. SOFTWARE FOR TRS-80 " OWNERS H CQrciRJIRQNICS MONTHLY NEWSMAGAZINE FOR TRS-80'" OWNERS MONTHLY NEWSMAGAZINE Practical Support For Model I, II & III PRACTICAL APPLICATIONS BUSINESS GAMBLING • GAMES EDUCATION PERSONAL FINANCE BEGINNER'S CORNER NEW PRODUCTS SOFTWARE EXCHANGE MARKET PLACE QUESTIONS AND ANSWERS PROGRAM PRINTOUTS AND MORE NOW IN OUR 4th YEAR PROGRAMS AND ARTICLES PUBLISHED IN RECENT ISSUES INCLUDE THE FOLLOWING: • FINCALC A COMPLETE FINANCIAL APPLICATIONS PACKAGE • INFORMATION SYSTEM REVIEW • STATISTICAL COMBINATIONS • PASCAL'S TRIANGLE • ASSEMBLY LANGUAGE FOR BEGINNERS • DISK FILES • MOD-HI REVIEW • KEYBOARD THUNDER AND LIGHTING EXPLAINED • DOS COMMANDS IN LEVEL II • PROBABILITY CURVE GENERATOR • CALCULATOR SIMULATIONS • THE MEGABYTE GAP • STOCKS AND BONDS • BUDGET ANALYSIS (FOR BUSINESS AND HOME) • NEWDOS/80 REVIEW • DUTCHING - THE HORSE SYSTEM THAT CANT LOSE • A SIMULATED GOLF GAME • CONTINUOUS FORM SOURCES • TAX/SAVER REVIEW AND MORE f«£t; v^^^^ ^ ^^ v^ ^^w^^^^^^wv v^^ • ****£* FI SO^ 1 * Q ^ L*»».».^t^ih;^j A Complete Financial Analysis Package Used ft cC^ To Calculate Markup, Margin, Annuities, Compound Interest, Nominal S^ o^ And Effective Rates, Sinking Funds, Mortgage Calculations, Future Value, c t^^N^ Savings and Insurance, Percentage Difference Between Two Numbers, ^*" Amortization Schedule and More SEND FOR OUR NEW 64 PAGE SOFTWARE CATALOG (INCLUDING LISTINGS OF HUNDREDS OF TRS-80'" PROGRAMS AVAILABLE ON CASSETTE AND DISKETTE). $2.00 OR FREE WITH EACH SUBSCRIPTIONS OR SAMPLE ISSUE All programs arc supplied on cassette (add $3 for Diskette Version - add $5 for modified Mod-II Version). CQMPLITRQNICS IVtATT-CrVlATC^L AFRCaTOMS SE (=rVCE " 50 N. PASCACK ROAD SPRING VALLEY, NEW YORK 10977 ONE YEAR SUBSCRIPTION $24 TWO YEAR SUBSCRIPTION $48 SAMPLE OF LATEST ISSUE $ 4 START MY SUBSCRIPTION WITH ISSUE (#1 ■ July 1978 • #12 - June 1979 • #24 ■ July 1980 ' NEW SUBSCRIPTION RENEWAL NEW TOLL-FREE ORDER LINE (OUTSIDE OF N.Y. STATE) (800) 431-2818 HOUR 24 ORDER LINE (914) 425-1535 #30 - January 1981) CREDIT CARD NUMBER . SIGNATURE ADDRESS NAME- _CITY_ _EXP. DATE. .STATE. .ZIP. ADD $12/YEAR (CANADA, MEXICO) - ADD $24/YEAR AIR MAIL - OUTSIDE OF U.S.A., CANADA & MEXICO *** Circle 179 on inquiry card. BYTE November 1981 323 Circle 342 on inquiry card. J|^800™. .$7*19 'ATARI 8 List $1080 \\ I EB | atari aa> . ATARI* 400. $359 03 SJSSS HP-85 HP-85 Accessories SVt" Dual Master Disc Drive List $2500 $2125 5'/4" Single Master Disc Drive List $1500. . . $1275 HP 7225A Graphics Plotter List $2050 $1845 HP-85 16K Memory Module List $395 $355 HP-85 Application Pacs Standard List $95 $85 Serial (RS-232C) Interface Module List $395 $355 GPIO Interlace Module List $495 $445 HP-125 $3089 -41CVwith five times more memory built in. List $325 $249 HP-41C List $250 $189 HP- 83 $1695 ersonal omputer ys terns s 609 Butternut Street Syracuse, N.Y. 13208 (315) 475-6800 Prices do not include shipping by UPS. All prices and offers subject to change without In hardware terms, collisions occur when a player image coincides with another image. Thus, the collision bit will not be set until the part of the screen showing the collision is drawn. This means that collision detection might not occur until as many as 16 ms have elapsed since the player was moved. The preferred solution is to execute player motion and colli- sion detection during the vertical- blank interrupt routine. In this case, collision detection should be checked first, then collisions cleared, then players moved. Another solution is to wait at least 16 ms after moving a player before checking for a collision involving that player. Using Player-Missile Graphics There are a number of steps necessary to use player-missile graphics. First, you must set aside an area of RAM (random-access read/write memory) as a player- missile area and tell the computer where it is. If you use single-line resolution, this area will be 1280 bytes long; if you use double-line resolution, it will be 640 bytes long. A good practice is to use the memory area in front of the display area at the top of the computer's available RAM. The layout of the player-missile area is shown in figure 2. The pointer to the beginning of the player-missile area is labeled Listing 2: An Atari BASIC program that draws a player on the screen and allows the user to move the figure with a joystick. 1 PMBASE = 54279:REM 2 RAMTOP = 106:REM 3 SDMCTL = 559:REM 4 GRACTL = 53277:REM 5 HPOSP0 = 53248:REM 6 PCOLR0 = 704:REM 10 GRAPHICS 0:SETCOLOR 2,0,0:REM 20 X=100:REM 30 Y = 48:REM 40 A = PEEK(RAMTOP)-8:REM 50 POKE PMBASE,A:REM 60 MYPMBASE = 256*A:REM 70 POKE SDMCTL,46:REM 80 POKE GRACTL,3:REM 90 POKE HPOSP0,100:REM 100 FORI = MYPMBASE + 512TO MYPMBASE + 640:REM 110 POKE 1,0 120 NEXT I 130 FORI = MYPMBASE + 512 + YTO MYPMBASE + 518 + Y 140 READ A: REM 150 POKE I, A 160 NEXT I 170 DATA 8,17,35,255,32,16,8 180 POKE PCOLR0,88:REM 190 A = STICK(0):REM 200 JF A = 15 THEN GOTO 190:REM 210 IF A= 11 THENX = X-l:POKEHPOSP0,X 220 IF A = 7 THEN X = X+l:POKE HPOSP0.X 230 IF A <> 13 THEN GOTO 280 240 FOR I = 8 TO STEP - 1 250 POKE MYPMBASE + 512 + Y + I.PEEK (MYPMBASE + 511+Y + I) 260 NEXT I 270 Y = Y+1 280 IF A <> 14 THEN GOTO 190 290 FOR I = TO 8 300 POKE MYPMBASE + 511+Y + I, PEEK (MYPMBASE + 512 + Y + I)) 310 NEXT I 320 Y = Y-1 330 GOTO 190 player-missile base pointer OS top of RAM pointer RAM shadow of DMACTL register CTIA graphics control register horizontal position of P0 shadow of player color set background color to black BASIC'S player horizontal position BASIC'S player vertical position get RAM 2 K below top of RAM tell ANTIC where PM RAM is keep track of PM RAM address enable PM DMA with 2-line res enable PM display declare horizontal position this loop clears player this loop draws the player make the player pink read joystick if inactive, try again 324 November 1981 © BYTE Publications Inc CQIYIPLITRQNICS N C. EVERYTHING FOR YOUR TRS-80* • ATARI 4 ' • APPLE* • PET* • "TRS-80 is a trademark of the Radio Shack Division of Tandy Corp. - 'ATARI is a trademark of Atari Inc. - 'Apple is a trademark of Apple Corp. - 'Pet is a trademark of Commodore BUSINESS PAC 100 100 Ready-To-Run Business Program ^•1 ss ed within 24-Hour* * 30-Day money °u Software (ON CASSETTE OR DISKETTE) Includes 110 Page Users Manual 5 Cassettes (Or Diskettes) Inventory Control Payroll Bookkeeping System Stock Calculations Checkbook Maintenance.. ...Accounts Receivable.... Accounts Payable JSINESS 100 PROGRAM LIST 1 RULE78 Interest Apportionment by Rule of the 78's 2 ANNU1 Annuity computation program 3 DATE Time between dates 4 DAYYEAR Day of year a particular date falls on 5 LEASE1NT Interest rate on lease 6 BREAKEVN Breakeven analysis 7 DEPRSL Straightline depreciation 8 DEPRSY Sum of the digits depreciation 9 DEPRDB Declining balance depreciation 10 DEPRDDB Double declining balance depreciation 1 1 TAXDEP Cash flow vs. depreciation tables 12 CHECK2 Prints NEBS checks along with dairy register 13 CHECKBKI Checkbook maintenance program 14 MORTGAGE/A Mortgage amortization table 1 5 MULTMON Computes time needed for money to double, triple, 16 SALVAGE Determines salvage value of an investment 1 7 RRVARIN Rate of return on investment with variable inflows 18 RRCONST Rate of return on investment with constant inflows 1 9 EFFECT Effective interest rate of a loan 20 FVAL Future value of an investment (compound interest) 21 PVAL Present value of a future amount 22 LOANPAY Amount of payment on a loan 23 REGWfTH Equal withdrawals from investment to leave over 24 SIMPDISK Simple discount analysis 25 DATEVAL Equivalent & nonequivalent dated values for oblig. 26 ANNUDEF Present value of deferred annuities 27 MARKUP % Markup analysis for items 28 SINKFUND Sinking fund amortization program 29 BONDVAL Value of a bond 30 DEPLETE Depletion analysis 31 BLACKSH Black Scholes options analysis 32 STOCVAL1 Expected return on stock via discounts dividends 33 WARVAL Value of a warrant 34 BONDVAL2 Value of a bond 35 EPSEST Estimate of future earnings per share for company 36 BETAALPH Computes alpha and beta variables for stock 37 SHARPE 1 Portfolio selection model-i.e. what stocks to hold 38 OPTWRrTE Option writing computations 39 RTVAL Value of a right 40 EXPVAL Expected value analysis 4 1 BAYES Bayesian decisions 42 VALPRINF Value of perfect information 43 VALADINF Value of additional information 44 (JTIUTY Derives utility function 45 SIMPLEX Linear programming solution by simplex method 46 TRAMS Transportation method for linear programming 47 EOQ Economic order quantity inventory model 48 QUEUE 1 Single server queueing (waiting line) model 49 CVP Cost-volume-profit analysis 50 CONDPROF Conditional profit tables 51 OPTLOSS Opportunity loss tables 52 FQUOQ Fixed quantity economic order quantity model NAME DESCRIPTION 53 FQEOWSH As above but with shortages permitted 54 FQEOQPB As above but with quantity price breaks 55 QUEUECB Cost-benefit waiting line analysis 56 NCFANAL Net cash-flow analysis for simple investment 57 PROF1ND Profitability index of a project 58 CAP1 Cap. Asset Pr. Model analysis of project Circle 180 on Inquiry card. 59 WACC Weighted average cost of capital 60 COMPBAL True rate on loan with compensating bal. required 61 DISCBAL True rate on discounted loan 62 MERGANAL Merger analysis computations 63 FINRAT Financial ratios for a firm 64 NPV Net present value of project 65 PRINDLAS Laspeyres price index 66 PR1NDPA Paasche price index 67 SEASIND Constructs seasonal quantity indices for company 68 TIMETR Time series analysis linear trend 69 TIMEMOV Time series analysis moving average trend 70 FUPRINF Future price estimation with inflation 7 1 MAILPAC Mailing list system 72 LETWRT Letter writing system-links with MAILPAC 73 SORT3 Sorts list of names 74 LABEL 1 Shipping label maker 75 LABEL2 Name label maker 76 BUSBUD DOME business bookkeeping system 77 TIMECLCK Computes weeks total hours from timeclock info. 78 ACCTPAY In memory accounts payable system-storage permitted 79 INVOICE Generate invoice on screen and print on printer 80 INVENT2 In memory inventory control system 81 TELDIR Computerized telephone directory 82 T1MUSAN Time use analysis 83 ASSIGN Use of assignment algorithm for optimal job assign. 84 ACCTREC In memory accounts receivable system-storage ok 85 TERMSPAY Compares 3 methods of repayment of loans 86 PAYNET Computes gross pay required for given net 87 SELLPR Computes selling price for given after tax amount 88 ARBCOMP Arbitrage computations 89 DEPRSF Sinking fund depreciation 90 UPSZONE Finds UPS zones from zip code 91 ENVELOPE Types envelope including return address 92 AUTOEXP Automobile expense analysis 93 INSFILE Insurance policy file 94 PAYROLL2 In memory payroll system 95 DILANAL Dilution analysis 96 LOANAFFD Loan amount a borrower can afford 97 RENTPRCH Purchase price for rental property 98 SALELEAS Sale-leaseback analysis 99 RRCONVBD Investor's rate of return on convertable bond 1 00 PORTVAL9 Stock market portfolio storage-valuation program ■ D CASSETTE VERSION D DISKETTE VERSION $99.95 $99.95 NEW o„o^r □ TRS-80* MODEL II VERSION $149.95 (QtiTsiZ, n *-'fVp ADD $3.00 FOR SHIPPING IN UPS AREAS ADD $4.00 FOR C.O.D. OR NON-UPS AREAS ADD $5.00 OUTSIDE U.S.A, CANADA & MEXICO (800 > ««S3 iCQMPLITRQNICS Si fvtATV*BvWTKlAL APC\JCA* tJ^JS SE'=*^>CE " 50 N. PASCACK ROAD SPRING VALLEY, NEW YORK 10977 HOUR 9 A ORDER * H LINE 425-1535 PMBASE. Because of internal limita- tions of the ANTIC device (a custom integrated circuit in the Atari com- puters), PMBASE must be on a 1 K-byte boundary for single-line resolution, or a 2 K-byte boundary for double-line resolution. If you elect Figure 4: Use of a player as a special sym- bol. This can be done because players and missiles are superimposed over whatever text or graphics are in effect. to use less than four players or none of the missiles, the areas of memory set aside for the unused objects may be used for other purposes. Once you decide where your player-missile area will be, you inform ANTIC of this by storing the page number of PMBASE into the PMBASE register in ANTIC. The next step is to clear the player and missile areas by storing zeros into all locations in the player-missile memory area. Then draw the players and missiles by storing image data into the appropriate locations in the player-missile area. Next, set the player parameters by setting the player color, horizontal position, and width registers to their initial values. If necessary, set the player/playfield priorities. Inform ANTIC of the vertical resolution desired by setting bit D4 of register DMACTL (shadowed at SDMCTL) for single-line resolution and clearing Listing 3: An Atari BASIC program to create a pseudoplayer with increased resolution. See the text and figure 3 for details. 1 RAMTOP=106:REM 2 PMBASE = 54279:REM 3 SDMCTL = 559:REM 4 GRACTL = 53277:REM 5 HPOSP0 = 53248: REM 6 PCOLR0 = 704:REM 7 SIZEP0 = 53256:REM 8 GPRIOR = 623:REM 10 GRAPHICS 7 20 SETCOLOR 4,8,4 30 SETCOLOR 2,0,0 40 COLOR 3 50 FOR Y = 0TO79:REM 60 PLOT 0,Y 70 DRAWTO 159.Y 80 NEXT Y 90 A = PEEK(RAMTOP)-20:REM 100 POKE PMBASE, A 110 MYPMBASE = 256* A 120 POKE SDMCTL,46 130 POKEGRACTL.3 140 POKE HPOSP0, 100 1 50 FOR I = MYPMBASE + 5 1 2 TO MYPMBASE + 640 160 POKE I,255:REM 170 NEXT I 180 POKE PCOLR0,88 190 POKE SIZEP0,3:REM 200 POKE GPRIOR,4:REM 210 COLOR 4 220 FOR Y = 30 TO 40 230 PLOTY + 22.Y 240 DRAWTO Y + 43, Y 250 NEXTY OS top of RAM pointer ANTIC player-missile RAM pointer shadow of DMACTL CTIA graphics control register horizontal position register of P0 shadow of player color register player width control register priority control register this loop fills the screen must back up further for GR.7 make player solid color set player to guadruple width set priority the bit for double-line resolution. Finally, enable the players by setting the appropriate bits in DMACTL. Be careful not to disturb the other bits in DMACTL. A sample BASIC program for setting up a player and moving it with the joystick is given in listing 2. Once players are displayed, they can be difficult to remove from the screen because the procedure by which they are displayed involves several steps. First, the ANTIC in- tegrated circuit retrieves player- missile data from the player-missile area RAM (if such retrieval is enabled in the DMACTL register). Then AN- TIC ships the player-missile data to the CTIA integrated circuit (if such action is enabled in the GRACTL register). CTIA displays whatever is in its player and missile graphics registers (GRAFP0 through GRAFP3 and GRAFM). Many programmers attempt to turn off player-missile graphics by clearing the control bits in DMACTL and GRACTL. This only prevents ANTIC from sending new player-missile data to CTIA; the old data in the GRAF(X) registers will still be displayed. To completely clear the players, the GRAF(X) registers must be cleared after the control bits in DMACTL and GRACTL have been cleared. A simpler solution is to leave the player up, but set its horizontal position to zero. Of course, if this solution is used, AN- TIC will continue to use DMA to retrieve player-missile data, wasting roughly 10,000 machine cycles (about 10 ms) per second. Uses Player-missile graphics allow a number of special capabilities. They are of great value in animation. They do have limitations: there are only four players and each is only 8 bits wide. If you need more bits of horizontal resolution, you can always fall back on playfield animation. But for high-speed or quick -and-dirty animation, player-missile graphics work very well. It is possible to bypass ANTIC and write player-missile data directly into the player-missile graphics registers (GRAFP(X)) in the CTIA integrated circuit. This gives the programmer 326 November 1981 © BYTE Publications Inc Get on the right jfdh in floppies with new Irah ff 5W from $399 list 8" from $899 list For the name of your nearest dealer and full details, Call Toll-Free 1-800-323-4853 5W & 8 disk drives TRAK — the way to go — in floppy disk drives. Whether you are just setting up your com- puter system, expanding it, or re-equipping — make it TRAK. With TRAK you get the finest of industry- standard disk drives, custom electronics and custom cabinetry. In your choice of office beige or silver gray. And other options like door locks, front bezels, write-protect switch, extender card and more. Drives with the industry's fastest access time — from 3 to 5 ms. With up to 9200 hours MTBF. 40, 77, 80 track. Single or double den- sity. Single or double sided. Up to 1.6 Mega- Byte capacity. Single, dual or triple cabinets. With or without power supplies. And a TRAK exclusive — dual LED panel indicators for Power-On and In-Use. Convenient — as you know if you've ever left things "on" for long periods without realizing it. Compatible with TRS-80®, Heath/Zenith, Northstar, Apple II® and most S-100 based systems. Custom electronics — custom transformers — for 110VAC or 220VAC, 50 or 60 Hz. Fused for protection. With regulation for low rip- ple and constant output even with input vari- ation. Quiet convection cooling through vents on all cabinet sides without the need of noisy, bothersome fans. Low prices. Complete 5W drives list as low as $399, complete 8" drives as low as $899 list. And your TRAK dealer gives you the best of everything — in price and service, in or out of warranty. Standard TRAK warranty is 90 days; 12 month extension available at extra cost. Check your dealer now for the right TRAK in disk drives — TRAK. or write: irah International inquiries invited. Dealerships available. microcomputer corp. 1511 Ogden Ave., Downers Grove, IL 60515 ® TRS-80 is a registered trademark of Radio Shack, a Tandy Company ® Apple II is a registered trademark of the Apple Computer Company $25 $25 INTRODUCTORY FACTORY REBATE Buy from your TRAK dealer, then mail copy of sales receipt with TRAK serial number and this coupon to TRAK. We will rebate $25 direct to you as our way of welcoming you to the TRAK drive family. Name Address City . State. -Zip_ Circle 414 on inquiry card. Offer expires Nov. 30, 1981. Limit one rebate per cus- tomer. Offer void where prohibited. BYTE November 1981 327 more direct control over player- missile graphics. As a result, it also increases his or her responsibilities. The programmer must maintain a bit- map of the player-missile data and move it into the graphics registers at the appropriate times. The 6502 must therefore be slaved (ie: synchronized to and triggered by) to the screen drawing cycle. This is a clumsy technique that offers minor perfor- mance improvements in return for major programming efforts. The pro- grammer who bypasses the hardware power offered by ANTIC must make up for it with his or her own sweat. Player-missile graphics offer many capabilities in addition to animation. PLAYER (PINK); SET BY LINES 90-200 BACKGROUND (LIGHT BLUE); SET BY LINE 20 OF LISTING 3 PLAYFIELD ( BLACK); SET BY LINES 40-80; OVERWRITES PLAYER BECAUSE IT HAS HIGHER PRIORITY BACKGROUND DRAWN BY LINES 210-250; SHOULD BE BLUE BUT IS PINK BECAUSE PLAYER HAS HIGHER PRIORITY OVER BACK- GROUND PART OF SAME PLAYER Figure 3: Playing tricks with the video display to achieve higher player resolution. This technique works by manipulating the relative priorities of the playfield, players, and background. See the text and listing 3 for details. Listing 4: An Atari BASIC program to create a player in the shape of an integral sign. See figure 4. 1 RAMTOP=106:REM 2 PMBASE = 54279:REM 3 SDMCTL = 559:REM 4 GRACTL = 53277:REM 5 HPOSP0 = 53248:REM 6 PCOLR0 = 704:REM 10 GRAPHICS 0:A = PEEK(RAMTOP) - 16:REM 20 POKE PMBASE,A 30 MYPMBASE = 256*A 40 POKE SDMCTL,62 50 POKE GRACTL.3 60 POKE HPOSP0, 102 70 FOR I = MYPMBASE + 1 024 TO MYPMBASE+1280 80 POKE 1,0 90 NEXT I 100 POKE PCOLR0, 140 110 FOR 1 = TO 15 120 READ X 130 POKE MYPMBASE +1 100 + I,X 140 NEXT I 150 DATA 14,29,24,24,24,24,24,24 160 DATA 24,24,24,24,24,24,184,112 170 ?" ":REM 180 POSITION 15,6 190 ?"x dx" OS top of RAM pointer ANTIC player-missile RAM pointer shadow of DMACTL CTIA's graphics control register horizontal position register of P0 shadow of player color register must back up for 1-line resolution clear screen Players are an excellent way to in- crease the amount of color in a display. The four additional color registers provided allow four more colors on each line of the display. Of course, the 8-bit resolution does limit the range of their application. There is a way around this limita- tion that can sometimes be used. Take a player at quadruple width and put it onto the screen. Then set the priorities so the player has lower priority than a playfield color. Next, reverse that playfield color with background, so the apparent back- ground color of the screen is really a playfield color. The player disappears behind this new false background. Cut a hole in the false background by drawing true background on it. The player will show up in front of the true background color, but only in the area where true background has been drawn. In this way, the player can have more than 8 bits of horizon- tal resolution. A sample program for doing this is given in listing 3. This program produces the display shown in figure 3. Another application of player- missile graphics is for special characters. There are many special types of characters that cross vertical boundaries in normal character sets. One way to deal with these is to create special character sets that ad- dress this problem. Another way is to use a player. Subscripts, integral signs, and other special symbols can be done this way. A sample program for doing this is given in listing 4. This program produces the display shown in figure 4. A particularly useful application of players is for cursors. With their ability to smoothly move anywhere over the screen without disturbing the contents, they are ideally suited for such applications. The cursor can change color as it moves over the screen to indicate what it has under it. Player-missile graphics provide many capabilities. Their uses for ac- tion games as animated objects are obvious. They have many serious uses as well. They can add color and resolution to any display. They can present special characters. They can be used as cursors. Use them.H 328 November 1981 © BYTE Publications lnc (TM) GRAPHICS 512x240 RESOLUTION Z-89 & Superbrain And soon for TRS-80® MODEL II XCEL GRAPHICS UNIT — A completely assembled hardware retrofit package providing high resolution graphics display, normal video display or both displays simultaneously. $895.00 $175.00 XCEL™ < SYMBOL GENERATOR— Subroutines to generate characters and strings with bold face, and 90°rotation options, circles, arcs, vectors, rectangles, area fills with reverse video opiion. All callable from your programs $175.00 XCEL™ GRAPH PLOTTER-Choice of four represen- tations (line, graph, histogram, bar graph and scatter plot) with automatic annotation of axes and automatic scaling that allows any number of functions to be displayed on one set of axes. All callable from your programs ^> $345.00 XCEL"" 3-D GENERATOR— User accessible rou- tines for creation, editing and viewing "wire- frame" objects from any angle and in any orienlation with scaling "zoom" and a graphics editor. < $395.00 XCEL™ SURFACE PLOTTER-True perspective view, wifh full hidden line removal, ol curved surfaces from a user defined viewpoinl callable from your programs ~> $395.00 XCEL™ GRAPHICS TERMINAL— Emulates a subset of the Tektronix® 4010 Series Graphics Terminal functions Simple menu-driven key- board commands for configuration and dot- dash and erase mode vectors XCEL™ software packages operate under CPM® and utilize the Microsoft parameter passing mechanism for compatibility with high level languages, such as BASIC, FORTRAN, COBOL, PL1 , and PASCAL. XCEL software can be loaded into high memory and called from your programs or integrated directly into your programs through use of the Microsoft linking loader. FOR ADDITONAL PRODUCT INFORMATION IN CONTINENTAL U.S. CALL TOLL FREE: Circle 241 on Inquiry card. (800) 421-1423 IN CALIFORNIA CALL (213) 320-6604 Z-EB^MAXTEK.IIMC. 2908 Oregon Court, Torrance, CA 90503 Superbram-trademark, Inlertec Data Systems. Tektronix-registered trademark. Texlronix. Inc. CPM-registered trademark. Digital Research TRS-80-regislered trademark, Tandy Corp. Appendix A: Selected Hardware Registers in the Atari 400/800 Symbolic Name COLBK COLPF0 COLPF1 COLPF2 Hardware Register Function Color Luminance of Background Color Luminance of Playfield Color Luminance of Playfield 1 Color Luminance of Playfield 2 Shadow Register (if any) Location Location Hexa- Symbolic Hexa- decimal Decimal Name decimal Decimal D01A 53274 COLOR4 2C8 712 D016 53270 COLOR0 2C4 708 D017 53271 COLOR1 2C5 709 D018 53272 COLOR2 2C6 710 COLPF3 Color Luminance of Playfield 3 D019 53273 COLOR3 2C7 711 COLPM0 Color Luminance of Player-Missile D012 53266 PCOLR0 2C0 704 COLPM1 Color Luminance of Player-Missile 1 D013 53267 PCOLR1 2C1 705 COLPM2 Color Luminance of Player-Missile 2 D014 53268 PCOLR2 2C2 706 COLPM3 Color Luminance of Player-Missile 3 D015 53269 PCOLR3 2C3 707 DMACTL Direct Memory Access (DMA) Control D400 54272 SDMCTL 22 F 559 GRACTL Graphic Control D01D 53277 GRAFM Graphics for all Missiles D011 53265 GRAFP0 Graphics for Player D00D 53261 GRAFP1 Graphics for Player 1 D00E 53262 GRAFP2 Graphics for Player 2 D00F 53263 GRAFP3 Graphics for Player 3 D010 53264 HITCLR Collision Clear D01E 53278 HPOSM0 Horizontal Position of Missile D004 53252 HPOSM1 Horizontal Position of Missile 1 D005 53253 HPOSM2 Horizontal Position of Missile 2 D006 53254 HPOSM3 Horizontal Position of Missile 3 D007 53255 HPOSP0 Horizontal Position of Player D000 53248 HPOSP1 Horizontal Position of Player 1 D001 53249 HPOSP2 Horizontal Position of Player 2 D002 53250 HPOSP3 Horizontal Position of Player 3 D003 53251 M0PF Missile to Playfield Collisions D000 53248 M0PL Missile to Player Collisions D008 53256 M1PF Missile 1 to Playfield Collisions D001 53249 M1PL Missile 1 to Player Collisions D009 53257 M2PF Missile 2 to Playfield Collisions D002 53250 M2PL Missile 2 to Player Collisions D00A 53258 M3PF Missile 3 to Playfield Collisions D003 53251 M3PL Missile 3 to Player Collisions D00B 53259 P0PF Player to Playfield Collisions D004 53252 P0PL Player to Player Collisions D00C 53260 P1PF Player 1 to Playfield Collisions D005 53253 P1PL Player 1 to Player Collisions D00D 53261 P2PF Player 2 to Playfield Collisions D006 53254 P2PL Player 2 to Player Collisions DO0E 53262 P3PF Player 3 to Playfield Collisions D007 53255 P3PL Player 3 to Player Collisions D00F 53263 PMBASE Player Missile Base Address D407 54279 PRIOR Priority Select D01B 53275 GPRIOR 26F 623 SIZEM Sizes for all Missiles D00C 53260 SIZEP0 Size of Player SIZEP1 Size of Player 1 SIZEP2 Size of Player 2 SIZEP3 Size of Player 3 D008 53256 D009 53257 D00A 53258 D0OB 53259 Make this a COMPUTER CHRISTMAS for your child. The original WORDDANCE stories for CHILDREN feature animated words and graphics. Introduce your child to the computer and encourage reading too. Titles: (1) "The Cat" (2) "The Hat With All That" (3) "The Tooth Fairy's Train" (4) "Chrys Hates Computers" (5) "Which is Left, Which is Right?" (6) "The Spelling Bee Mystery" And introducing The Jonathan and Pandora Science Fantasy Series: (7) "The 4-D Glasses" (8) "Pandora's Telering" (9) "The History Test" (10) "Jonathan and the Cave Boy." Titles (1)-(10) (Ages 6-12) available for TRS 80 1 6K and Apple II 1 6K. Cassette $24.95 (Includes all ten stories) Disk $29.95 (Includes all ten stories) Specify make and model. Send check or M.O. to: Negative Entropy P.O. Box 786 Vernon, CT 06066 330 November 1981 © BYTE Publications Inc Circle 302 on inquiry card. INCREDIBLE? believe Qdntex 6000 PRINTERS 150 cps bidirectional-9x9 dot matrix, quietized case, 136 col, vertical form control and many other functions Sl1Q c i We feel this printer offers * I I S3 the best price/performance ratio available. RS-232 serial to 1 9,200 baud x-on, x-off add $40 fTT> Teletype 40. 300 LPM-typewriter quality. RS- from Only ■*■**- 232 interface. This quality printer is available in many S2928 configurations including forms access, quietized case, etc. Teletype 43 from $995 Teletype AP-200, 340 cps dot matrix (similar to Data Prod. M-200) S2799 NEC Spinwriter-55 cps, bidirectional, letter quality R.O. $2560 KSR $2799 DIABLO 630-40 cps, bidirectional, daisy wheel, plot/graph $2449 QUME Sprint 9/45 cps, daisy wheel $2228 C. ITOH Starwriter. 25 cps, daisy wheel $1 575 C. ITOH Starwriter, 45 cps, daisy wheel $1 849 EPSON MX-80, 80 cps, 9x9 dot matrix SCALL ANADEX 9500/9501, up to 200 cps, high resolution dot $1349 OKIDATA Microline 80, 80 cps, 9x7 dot matrix $495 Microline 82A , bidirectional, friction/pin feed $599 Microline 83A , bidirectional, 120 cps. uses 15" paper $875 TI-810, 150 cps, Basic $1449 Package-Compressed print, vertical form control $1630 CENTRONICS 704-9,180 cps, 9x9 dot matrix, 132 col, RS-232 $CALL 704-1 1 ,1 80 cps, 9x9 dot matrix, 1 32 col, parallel $CALL 730,100 cps, 7x7 dot matrix, same as R.S. LPII $CALL 739 100cps. nx9 dot matrix, FULL GRAPHICS $CALL DECLA-34 $1085 1DS460G $892 S-100 SPECIALTIES ®.® 2200 2065C 281 0A 2422A 8"SHUGARTSA851R $669 2 for $1289 $625 2 for $1199 $299 $445 $950 $1195 List- $5350 S6450 only Scall Scall 8" DISK DRIVE SALE 8"SHUGARTSA801R $450 QUME DATATRACK 8 Enclosure, power supply for 2 8" drives A&T NNC industrial grade enclosure for 2 drives with PS MORROW Discus 2D + CP/M » , MICROSOFT BASIC Discus 2 + 2 + CP/M* , MICROSOFT BASIC HARD DISK SPECIALS CORVUS 10MB and controller 20MB and controller Constellation Network Multiplexer and Mirror Video Tape Disk Backup MORROW 26MB +controller+ CP/M 2. 2«,M basic $4495 $3821 fa mo controller, CDC Hawk Drive (5 fix, 5 rem) $7995 $6795 W controller, Western Dynex (5 fix, 5 rem) $5995 $5099 ri^ Winchester 5'A drives complete with case, cable, jjhIkt software, S-100 controller Adapter avail for use with ^IXCOMP anyZ-80 system. Cartridge drive controllers avail 5MB Quantity discounts available! $2898 10MB $3398 $4468 $5925 DP/Z-80A, CPU, 64K ram, floppy cont, RS-232 port,S-100 IEEE. 8 slot in Adds terminal, inc. CP'M 2.2 SCALL Delta has Winchester based networks of up to 1 6 users available. Rfffflff Group Call us for best prices on these high generation boards and systems. fg* California These high quality, reliable products have made CCS |L— ■ Computer dofacto industry standard for S-1 00 products "■■ Systems Assembled and tested: list only H.D. Mainframe, 20 a. P. S., 12 slot MB S434 $359 64K dynamic RAM/Bank Select $720 $580 Z-80 CPU, serial port, ROM monitor $310 $259 Floppy Cont, CP/M 2.2, ROM monitor $425 $345 8000 DT— w/ 64k. 1 .2 MB 8" floppies, 2 serial, 3 par. CPM 2.2 $CALL FULL 2 YEAR WARRANTY 1 Z-80 CPU $310 D2 Disk controller $354 . DnDVTE 64K Dynamic Ram $648 /WIOHUBYIt FULL SYSTEMS AVAILABLE SUPERBRAIN Scall Similar savings on the full lines of CCS, SSM, NNC, MORROW, DELTA, NORTHSTAR, ITHACA INTERSYSTEMS, GODBOUT, NEC. TELEVIDEO, IMS ZENITH, ADDS, DEC, DATA GEN., ATARI, DYNABYTE. l^^^^l S33-33MB Drive and Controller ^^-^Lj S66-66 MB Drive and Controller PRIAM 8" and 1 4" Winchester/tape subsystems avail. We carry the full line of ADES disk and tape controllers and subsystems. FULLY CONFIGURED BUSINESS SYSTEMS The following are some examples of the fully assembled and tested business and scientific computer systems which we offer. All include 64K bytes RAM, Z-80A 4mh CPU. We offer a full line of quality, tested software. SCALL $CALL $1849 $4849 $6999 $3999 $6693 Scall Scall Delta TVDw/ 1.2 Mb floppy drives, 2 serial, 3 parallel ports Delta 1 004 w/1 MB hand disk.1 MB floppy, 6 serial, 3 parallel ports CCS 2210A w/floppy controller, 1 serial port CCS 300-1A w/1 .2MB floppy drives, 2 serial, 2 parallel ports CCS 400-1 A w/1 0MB hard disc, 2 serial, 2 parallel ports NNC 80 w/1 MB floppy drives, 2 serial. 3 parallel ports NNC 80W W/.5MB floppy, 8.4MB hard disc, (OASIS optional) ALTOS single and multi-user systems MORROW Decision 1 , MICROSOFT basic, UNIX VCDnY 820 Desktop computer-64K. 2 floppys, (CP/M AVAIL.) /\i_i \\jr\. List $2995 $CAL| _ We offer multi-user networks by DELTA PRODUCTS , DISCOVERY, TELEVIDEO, MUSYS, IMS, DIGITAL, MICROSYSTEMS TERMINALS AMPEX DIALOGUE 30, 80 SCALL TELEVIDEO 910 C (multi-terminal) $699 $599 920 C $1030 $789 950C $1195 $989 SOROCIQ120 $995 $729 HAZELTINE ESPRIT $745 $669 DECVT-100 $2050 $1575 Similar savings for our HAZELTINE and LEAR SIEGLER lines LOOK HERE! ampex Call us for ALL your softwear needs Dialogue 80 SYSTEMS HOUSES & EDUCATIONAL INSTITUTIONS, & GOVERNMENT AGENCIES GIVEN SPECIAL CONSIDERATION. ALL OF OUR PERIPHERALS CAN BE CONFIGURED FOR RADIO SHACK " MODEL II DEALER and INTERNATIONAL INQUIRIES WELCOME WASHINGTON COMPUTER SERVICES an affiliate of ((( WASHINGTON))) est. 1912 TO ELECTRIC COMPANY '" NCORPORJ1TED CUSTOM COMPUTER ROOM WIRING SINCE 1960 97 Spring Street New York, N.Y. 10012 Hours: 8AM-5:30PM (EST) Mon.-Fri. TO ORDER: CALL OUR TOLL-FREE NUMBER: * (800) 221 -5416 * In N.Y. State and for technical information call 1 -(212) 226-2121 For fast delivery, send certified checks, money order or call to arrange direct bank wire transfers. Personal or company checks require two to three weeks to clear. All prices are mail order only. Prices subject to change without notice; call for latest prices. Prices include 3% cash discount. N.Y. residents add sales tax. Quantex is a trademark of North Atlantic Industrie s, Inc. Radio Shack" is a trademark ol the randy Corp "HP" MUffM CP M » is a trademark ot Digital Research ■■■■ BBBH Circle 426 on inquiry card. BYTE November 1981 331 Appendix B: Functional Specification of Selected Atari 400/800 Hardware Registers The following charts give the functions of the registers listed in Appendix A on a bit-by-bit basis. Although this information is not necessary to the understanding of the article, it is given for the benefit of advanced programmers who want to exercise complete control over the player-missile graphics. This information is excerpted from the Atari Personal Computer System Operating System User's Manual and Hard- ware Manual (part C016555), which contains complete technical information on this and other aspects of the Atari 400 and 800 computers. This user's manual can be purchased from Atari Customer Service, 1346 Bordeaux Dr, Sunnyvale CA 94086; the price is $27 plus $3 ship- ping and handling (California residents must add 6'/2% tax). COLBK (Background Color): This address writes data to the Background Color-Luminance Register. Zero Luminance (black) Color Luminance r I I I Not D7 | D6 D5 | D4 D3 | D2 | D1 Used X X X X (see below) 1 etc 1 1 1 Grey 1 Gold 1 Orange 1 1 Red-Orange 1 Pink 1 1 Purple 1 1 Purple-Blue 1 1 1 Blue Blue 1 Light-Blue 1 Turquoise 1 1 Green-Blue 1 Green 1 1 Yellow-Green 1 1 Orange-Green 1 1 1 Light-Orange Max. Luminance (white) Shadow Register: COLOR4 FIND OUT II WHAT FITS Just our little effort to remove some of the vast confusion from the data processing, word processing and office products world. You can match up hardware model numbers with disc cartridges, disc packs, or diskette model numbers. Send for our free 145-page guide. One handy book covers entire DP and WP industry usage of magnetic memory media. How can you do without it? NASHUA COMPUTER PRODUCTS DIVISION Nashua Corporation. Depl. A2. Nashua. NH 03061 We make everything to fit anything Circ | e 437 on inquiry card TELEPHONE New England and New Yoik (8001 258-1555 East of the Mississippi (BOO) 258-1 ?2G West of Ihe Mississippi i800) 25813-10 TELEX 9J3406 SIMPLY AMAZING MACHINE XEROX « \m m micro hi. ill. SALES 820 11 EDISON DRIVE NEW LENOX, IL 60451 815/485-6439 or 800/435-9357 The Xerox is both a word processor and a desk top computer. OPTIONS 2 5 1 /4" Disc Drives 2 8" Disc Drives Letter Quality Printer (40 CPS Daisy Wheel Printer) Call For Price 332 November 1981 © BYTE Publications Inc Circle 436 on inquiry card. QUALITY DISK SOFTWARE BACKED BY ON-GOING APPLICATIONS SUPPORT PPL HOME FINANCE PAK I: Entire Series $49.95 ® (D CHEqK REGISTER AND BUDGET: This comprehensive CHECKING ACCOUNT MANAGEMENT SYSTEM not only keeps complete records, it also gives you the analysis and control tools you need to actively manage your account. The system provides routines for RUDGETING INCOME AND EXPENSE, AUTO- MATIC CHECK SEARCH, and RANK STATEMENT RECONCILING, CRT or printer reports are produced lor ACTUAL EXPENSE vs DUDGET. CHECK SEARCH DISPLAY RECONCILIATION REPORT and CHECK REGISTER DISPLAY by month. Check entry is prompted by user-defined menus of standard purposes and recipient codes, speeding data entry and reducing disk storage and retrieval time. Six fields of data are stored for each check: amount, check no., date, purpose, recipient and TAX DEDUCTIBLE REMINDER. CHECK SEARCH routines allow searching on any of these data fields. Up to 100 checks/mo. storage $39.95 SAVINGS: Account management system for up to 20 separate Savings accounts. Organizes, files and displays deposits, withdrawals and interest earned for each account $14.95 CREDIT CARD: Get Control of your credit cards with this program. Organizes, stores and displays purchases, payments and service charges for up to 20 separate cards or bank loans $14.95 UNIVERSAL COMPUTING MACHINE: $49.95 ® A user programmable computing system structured around a 50 row x 50 column table. User defines row and column names and equations forming a unique computing machine. Table elements can be multiplied, divided, subtracted or added to any other element. Hundreds of unique computing machines can be defined, used, stored, and recalled, for later use. Excellent for sales forecasts, budgets, inventory lists, income statements, production planning, project cost estimates-in short for any planning, analysis or reporting problem that can by solved with a table. COLOR CALENDAR: $29.95® Got a busy calendar? Organize it with Color Calendar. Whether it's birthdays, appointments, business meetings or a regular office schedule, this program is the perfect way to schedule your activities. The calendar display is a beautiful HI-RES color graphics calendar of the selected month with each scheduled day highlighted in color. Using the daily schedule, you can review any day of the month and schedule an event or activity in any one of 20 time slots from 8:00 A.M. to 5:30 P.M. BUSINESS SOFTWARE: Entire Series $159.95 ® © MICR0ACC0UNTANT: The ideal accounting system for small businesses. Based on classic T-accounts and double-entry booking, this efficient program provides a journal for recording posting and reviewing up to 1.000 transactions per month to any one of 300 accounts. The program produces CRT and printer reports covering: TRANSACTION JOURNAL BALANCE SHEET ACCOUNT LEDGERS INCOME AND EXPENSE STATEMENT Includes a short primer on Financial Accounting. (48K) S49.95 UNIVERSAL BUSINESS MACHINE: This program is designed to SIMPLIFY and SAVE TIME for the serious businessman who must periodically Analyze, Plan and Estimate. The program was created using our Universal Computing Machine and it is programmed to provide the following planning and forecasting tools. CASH FLOW ANALYSIS SALES FORECASTER PR0F0RMA PROFIT & LOSS SOURCE AND USE OF FUNDS PR0F0RMA BALANCE SHEET JOB COST ESTIMATOR REAL ESTATE INVESTMENT INVENTORY ANALYSIS Price, including a copy of the Universal Computing Machine .... $89.95 BUSINESS CHECK REGISTER AND BUDGET: Our Check Register and Budget programs expanded to include up to 50 budgetable items and up to 400 checks per month. Includes bank statement reconciling and automatic check search (48K) $49.95 ELECTRONICS SERIES VOL I & II: Entire Series $259.95 LOGIC SIMULATOR: SAVE TIME AND MONEY. Simulate your digital logic circuits before you build them. CMOS. TTL. or whatever, if it's digital logic, this program can handle it. The program is an interactive, menu driven, full-fledged logic simulator capable of simulating the bit-time response of a logic network to user-specified input patterns. It will handle up to 1000 gates, including NANDS. NORS. INVERTERS. FLIP-FLOPS. SHIFT REGISTERS. COUNTERS and user-defined MACROS, up to 40 user-defined random, or binary input patterns. Accepts network descriptions from keyboard or from LOGIC DESIGNER for simulation S159.95 ®(j) TRS»80 LOGIC DESIGNER: Interactive HI-RES graphics program for designing digital logic systems. Draw directly on the screen up to 10 different gate types, including NAND. NOR. INVERTER. EX-OR. T-FLOP, JK-FLOP. D-FLOP. RS-FLOP. 4 BIT COUNTER and N-BIT SHIFT REGISTER. User interconnects gates using line graphics commands. Network descriptions for LOGIC SIMULATOR generated simultaneously with the CRT diagram being drawn $159.95(jf) MANUAL AND DEMO DISK: Instruction Manual and demo disk illustrating capabilities of both program (s) $29.95 (jf)(T) ELECTRONIC SERIES VOL III & IV: Entire Series $259.95 CIRCUIT SIMULATOR: Tired of trial & error circuit design? Simulate & debug your designs before you build them! With CIRCUIT SIMULATOR you build a model of your circuit using RESISTORS. CAPACITORS. INDUCTORS. TRANSISTORS. DIODES. VOLTAGE and CURRENT SOURCES and simulate the waveform response to inputs such as PULSES. SINUSOIDS. SAWTOOTHS. etc. . all fully programmable. The output is displayed as an OSCILLOSCOPE-STYLE PLOT of the selected waveforms (Apple only) or as a printed table of voltage vs time. Handles up to 200 notes and up to 20 sources. Requires 48 RAM $159.95 \(T\ (j\ CIRCUIT DESIGNER: Interactive HI-RES graphics program for designing electronic circuits. Draw directly on the screen up to 10 different component types, including those referenced above. Components interconnect list for CIRCUIT SIMULATOR generated automatically. Requires $159.95 MATHEMATICS SERIES: Entire Series $49.95 STATISTICAL ANALYSIS I: This menu driven program performs LINEAR REGRESSION analysis, determines the mean, standard deviation and plots the frequency distribution of user-supplied data sets. Printer, Disk, I/O routines $19.95 NUMERICAL ANALYSIS: HI-RES 2-Dimensional plot of any function. Automatic scaling. At your option, the program will plot the function, plot the INTEGRAL, plot the DERIVATIVE, determine the ROOTS. MAXIMA. MINIMA. INTEGRAL VALUE $19.95 MATRIX: A general purpose, menu driven program for determining the INVERSE and DETERMINANT of any matrix, as welfas the SOLUTION to any set of SIMULTANEOUS LINEAR EQUATIONS $19.95 3-D SURFACE PLOTTER: Explore the ELEGANCE and BEAUTY of MATHEMATICS by creating HI-RES PLOTS of 3-dimensional surfaces from any 3-variable equation. Disk save and recall routines for plots. Menu driven to vary surface parameters. Hidden line or transparent plotting $19.95 ACTION ADVENTURE GAMES: Entire Series $29.95 ® RED BARON: Can you outfly the RED BARON? This fast action game simulates a machine-gun DOGFIGHT between your WORLD WAR I BI-PLANE and the baron's. You can LOOP. DIVE. BANK or CLIMB-and so can the BARON. In HI-RES graphics plus sound $14.95 BATTLE OF MIDWAY: You are in command of the U.S.S. HORNETS' DIVE- BOMBER squadron. Your targets are the Aircraft carriers. Akagi, Soryu and Kaga. You must fly your way through ZEROS and AA FIRE to make your DIVE-BOMB run. In HI-RES graphics plus sound $14.95 SUB ATTACK: It's April 1943. The enemy convoy is headed for the CONTROL SEA. Your sub. the MORAY, has just sighted the CARRIERS and BATTLESHIPS' Easy pickings. But watch out for the DESTROYERS - they're fast and deadly. In HI-RES graphics plus sound $14.95 FREE CATALOG-AII programs are supplied on disk and run on Apple II w/Disk & Applesoft ROM Card & TRS-80 Level II and require 32K RAM unless otherwise noted. Detailed instructions included. Orders shipped within 5 days. Card users include card number. Add $1.50 postage and handling with each order. California residents add 6'/?%sales tax. Foreign orders add $5.00 postage and handling. SPECTRUM SOFTWARE 142 Carlow* P.O. Box 2084 Sunnyvale, CA 94087 FOR PHONE ORDERS: (408) 738-4387 DEALER INQUIRIES INVITED. Circle 389 on inquiry card. BYTE November 1981 333 COLPFO— C0LPF3 (Playfield Color): These addresses write data to the Playfield Color-Luminance Registers. D7 ] D6 ] D5 D4 D3 1 D2 |~dT DO (see COLBK tor bit assignment) Shadow Registers: COLORO— 3 COLPMO— COLPM3 (Player-Missile Color): These addresses write to the Player-Missile Color-Luminance Registers. Missiles have the same color luminance as their player unless missiles are used as a fifth player (see bit 4 of PRIOR). A fifth player missile gets its color from register COLPF3. D7 | D6 1 D5 | D4 j D3 j D2 j D1 /cao P.OI Rk' inr hit aooinnmontc^ DO (see COLBK for bit assignments) Shadow Registers: PCOLRO— 3 DMACTL (Direct Memory Access Control): This address writes data into the DMA Control Register. Not | | | Used I D5 I D4 I D3 I D2 I D1 I DO D5 = 1 Enable ANTIC operation (must be set to 1) D4 = 1 1 line Player/Missile resolution D4 = 2 line Player/Missile resolution D3 = 1 Enable Player DMA D2 = 1 Enable Missile DMA D1.D0 = No Playfield DMA = 1 Narrow Playfield DMA (128 Color Clocks) = 1 Standard Playfield DMA (160 Color Clocks) = 1 1 Wide Playfield DMA (192 Color Clocks) See GRACTL. Shadow Register: SDMCTL, default value hexadecimal 22 GRACTL (Graphics Control): This address writes data to the Graphic Control Register. Not Used I D1 | DO D1 = 1 Enable Player DMA to Player Graphics Registers. DO = 1 Enable Missile DMA to Missile Graphics Registers. DMA is enabled by setting bits in both DMACTL and GRACTL. Setting DMACTL only will result in cycles being stolen, but no display will be generated. GRAFM (Missile Graphics Registers): This address writes data directly into the Missile Graphics Register, independent of DMA. This is a bit-map of the current scan line of all tour missiles. It is automatically maintained by the normal use of player-missile graphics. D7 | D6 I D5 I D4 I D3 | L R L R . L D7 M3 M2 M1 MO Missile Number GRAFPO— GRAFP3 (Player Graphics Registers): These addresses write data directly into the Player Graphics Registers, independent of DMA. This is a bit-map of the current scan line for a given player. It is automatically maintained by the normal use of player-missile graphics. | D7 | D6 [ D5 | D4 | D3 | D2 I D1 j DO Left Oini Player on TV Screen Right 334 November 1981 © BYTE Publications Inc THE FORTH SOURCE™ Specializing in the FORTH Language. MANUALS & GUIDES □ "Starting FORTH" by Brodie. Prentice-Hal . Best User's manual available (soft cover) □ "Starting FORTH" (hard cover) □ "UsingFORTH" by FORTH, Inc. Guide to FORTH concepts G "A FORTH Primer" by Stevens In-depth self-study manual. □ "Systems Guide tofig-FORTH"by Ting. Excellent guide to inner mechanisms. D "PDP-1 1 FORTH User's Guide" by James. Use with PDP-1 1 Source. □ "Caltech FORTH Manual" by Ewing. Overview and structure. □ "FORTH-79", Latest FORTH standard. □ "FORTH-79 Standard Conversion" by R. C. Smith. Screens, DOES>, error conditions. □ "TinyPASCAL in fig-FORTH" by Zimmer. □ "Threaded Interpretive Languages" by Loeliger. Byte Books. FORTH adapted for Z80. □ "Invitation to FORTH" by Katzan. Petrocelli Books. Limited introduction. □ "Proceedings, 1980 FORML Conference." Technical papers. □ "Proceedings, 1 981 Rochester University FORTH Conference." Technical papers. □ "METAFORTH" by Cassady. Cross-compiling, 8080 source code. PRICE $ 16.00 20.00 25.00 25.00 25.00 20.00 12.00 15.00 10.00 10.00 20.00 18.50 25.00 25.00 30.00 INSTALLATION DOCUMENTS □ Installation Manual for fig-FORTH, contains FORTH model, glossary, memory map and instructions. Source Listings of fig-FORTH, for specific CPU's and computers. The above Installation Manual is required for implementation. Price per each $ 15.00 15.00 □ 6800 D 9900 □ PDP-11 /LSI- □ 6809 D APPLE II* □ NOVA* D 1802 □ 6502 □ 8080 □ 8086/8088 □ PACE D AlphaMicro □ PDP-1 1 /LSI-1 1 DISKS WITH DOCUMENTATION fig-FORTH Model and Source Listing, with Printed Installation Manual and Source Listing. C H69/Z89 (5'A") D APPLE II* (5%") □ NOVA* (8") □ 8080/Z80* (8") Enhanced FORTH Systems with manuals. D APPLE II/II+* by MicroMotion. fig-FORTH, FORTH-79 standard, editor, assembler, 187 pg. manual (1-5'A") □ APPLE II* by R. Kuntze. fig-FORTH, editor, assembler, source listing and screens. (2-5 'A") D H89/Z89by G. Haydon, fig-FORTH, stand alone, source listing, editor, assembler, screens and tutorial on disk (3-5V4") □ H89/Z89 by G. Haydon, fig-FORTH, under CP/M*, source listing, editor, assembler, screens and tutorial on disk (3-5'A") □ TRS-80/1* by Nautilus Sys. fig-FORTH, editor and assembler (1 -5'A") □ TRS-80/1 or III* by Miller Microcomputer Services. MMSFORTH, editor, assembler interpreter/compiler, virtual memory. (1-5'A") □ NOVA* by Ting. fig-FORTH, editor, assembler, source listing and screens. (1 -8") D 6809 by Talbot Microsystems. fig-FORTH, interpreter/compiler, editor, assembler, disk I/O. (FLEX* 5 'A or 8") □ 6800 by Talbot Microsystems. fig-FORTH, interpreter/compiler, editor, assembler, disk I/O. (FLEX* 5'A or 8") Special Function FORTH Systems with manuals Cross Compilers by Nautilus Systems. Allows extending, modifying, compiling to different target processors, generates ROMable code and forward referencing. Price per each □ CP/M* □ H89 □ TRS-80/I* □ Northstar □ 6809 Target Compiler by Talbot Microsystems. □ 6809 Enhanced System Plus by Talbot Microsystems. 2nd screen editor, macroassembler, tutorial on disk, goodies disk of debugging and documentation tools and utilities. □ Z-80* Program Development by Laboratory Microsystems with full software floating point arithmetic. D Z-80* Cross Compiler (Nautilus) by Laboratory Microsystems. D Z-80* for AMD9511 Arithmetic Processor by Laboratory Microsystems. D "Going FORTH" by Creature Software. A CAI FORTH tutorial, IBM format, no manual (1 -8") D HP-85 by H-P. fig-FORTH, editor and assembler (1 -5'A") $ 65.00 90.00 90.00 250.00 175.00 90.00 130.00 90.00 100.00 100.00 200.00 350.00 250.00 150.00 200.00 150.00 65.00 65.00 ORDERS ONLY (415) 961-4103 DEALER & AUTHOR INQUIRIES INVITED Ordering Information: Check. Money Order (payable lo MOUNTAIN VIEW PRESS). VISA or MaslerCard accepled. No COD'S or unpaid PO's. California residenls add SWk sales tax. Shipping costs in US included in price Foreign orders, pay in US funds on US bank, include for handling and shipping by Air: S5.00 for each item under S25.00. S 10.00 for each item between S25.00and S99.00. and S20. 00 for each item over S1 00.00. Minimum order S 10.00. All prices and products subject to change or withdrawal wilh out notice. Single system and /or single user license agreement required on some products. 'REGISTERED TRADEMARKS MOUNTAIN VIEW PRESS PO BOX 4656 MOUNTAIN VIEW, CA 94040 (415)961-4103 Circle 290 on inquiry card. BYTE November 1981 335 HITCLR (Collision "HIT" Clear): Writing to this address clears all collision bits in all the collision registers. Not Used HPOSMO— HPOSM3 (Missile Horizontal Position): These addresses write data into the Missile Horizontal Position Registers (see HPOSPO description below). D7 1 D6 I D5 I D4 I D3 | D2 T D1 I DO 1 HPOSPO— HPOSP3 (Player Horizontal Position): These addresses write data into the Player Horizontal Position Register. The horizon- tal position value determines the color clock location of the left edge of the object. Hexadecimal 30 is the left edge of a standard-width screen. Hexadecimal DO is the right edge of a standard-width screen. D7 | D6 | D5 | D4 | D3 | D2 | D1 1 DO MOPF, M1 PF, M2PF, M3PF (Missile-to-Playfield Collisions): These addresses read missile-to-playfield collisions. A 1 bit means that a collision has been detected since the last HITCLR. Not Used I I I I (forced to zero) I D3 I D2 I D1 I DO 3 2 10 Playfield Type MOPL, M1PL, M2PL, M3PL (Missile-to-Player Collisions): These addresses read missile-to-player collisions. Not Used I I I I (forced to zero) | D3 | D2 | D1 | DO 2 1 Player Number POPF, P1PF, P2PF, P3PF (Player-to-Playfield Collisions): These addresses read player-to-playfield collisions. Not Used (forced to zero) | D3 | D2 | D1 | DO 1 Playfield Type POPL, P1PL, P2PL, P3PL (Player-to-Player Collisions): These addresses read player-to-player collisions. Not Used I I I I (forced to zero) I D3 I D2 I D1 I DO 3 2 10 Player Number (Player n against player n is always a zero.) PMBASE (Player-Missile Address Base Register): This address writes data into the Player-Missile Address Base Register. The data specify the most-significant bits of the address of the beginning of the player-missile area. One-Line Resolution D7 D6 D5 D4 D3 not used PMBASE Two-Line Resolution D7 I D6 I D5 I D4 I D3 I D2 I not used PMBASE 336 November 1981 © BYTE Publications Inc NEECO WHY BUY FROM THE BEST? Service.. . Support... Software . . . MULTI-CLUSTER For Commodore Systems, allows 3 CPU's (Expandable to 8) to access a single Commodore Disk. MULTI-CLUSTER (3 CPU's) S 795 Each Additional CPU (up to 8) . . . S 199 commodore 16K B (16K RAM-40 Column) - Lim. Qty $ 995 32K B (32K RAM-40 Clm.) - Lim. Qty $1295 4016 (16K RAM 4.0 Basic-40 Clm.) $ 995 4032 (32K RAM 4.0 Basic-40 Clm.) $1295 8032 (32K RAM 4.0 Basic-80 Clm.) $1495 8050 Dual Disk (1 Meg Storage) $1795 4040 Dual Disk (343K Storage) $1295 8010 IEEE Modem $ 280 C2N Cassette Drive $ 95 CBM - IEEE Interface Cable $ 40 IEEE - IEEE Interface Cable $ 50 VIC 20 Home/Personal Computer $ 295 ALTOS ACS 8000-2 64K 1M $ 4500 ACS 8000-15 64K 1M $ 5990 ACS 8000-6 208K 14.5M $10490 ACS 8000-7 208K 29.0M $11690 ACS 8000-10 208K 10M $ 8500 ACS 8000-10/MTU $10990 EPSON PRINTERS MX-80 PRINTER $ 645 MX-80 FT $ 745 MX-100 $ 945 MX-70 $ 459 INTERFACE CARDS 8141 (RS-232) $ 75 8150 (2K Buffered RS-232) $ 150 8161 (IEEE 488) $ 55 8131 (Apple Card) $ 85 8230 (Apple Card) $ 25 8220 (TRS-80 Cable) $ 35 DIARLO 630 PRINTER DIABLO 630 - Serial - RS-232 $2710 Tractor Option $ 250 NEC SPINWRITER PRINTERS 5530 (Parallel) $3055 5510 (Serial) $3055 5520 (KSR-Serial) $3415 Tractor Option $ 225 APPLE 16K APPLE II* $1330 32K APPLE II+ $1430 48K APPLE II+ $1530 APPLE DISK w/3.3 DOS .$ 650 APPLE DRIVE Only $ 490 APPLE III 128K- In Stock! w/Monitor + Info Analystpak $4740 AMDEK MONITORS INTERTEC COMPUTERS Video 100 12" B+W $ 179 Video 300 12" Green $ 249 Color 1 13" Low Res $ 449 Color I1 13" High Res $ 999 64K Superbrain (360 Disk Storage), CP/M™ . . . $3495 64K QD Superbrain (700K Disk Storage). CP/M T ". . $3995 *CP/M is a registered trademark of Digital Research ATARI COMPUTERS Atari 400 (16K RAM) $ 399 Atari 800 (32K RAM) - good thru 8/31 $1080 Atari 410 RECORDER $ 89.95 Atari 810 DISK DRIVE $ 599.95 NEECO carries all available ATARI Software and Peripherals. PROFESSIONAL SOFTWARE WordPro 1 8K $ 29.95 WordPro 3 (40 Clm.)16K .... $ 199.95 WordPro 3+ $ 295 WordPro 4 (80 Clm.) 32K . . . . $ 375 WordPro 4+ $ 450 JUST A SAMPLE OF THE MANY PRODUCTS WE CARRY. CALL US FOR OUR NEW 60-PAGE CATALOG. WE WILL MATCH ANY ADVERTISED PRICE ON PRODUCTS LISTED UNDER SIMILAR 'IN STOCK" CONDITIONS. NEECO 679 HIGHLAND AVE. NEEDHAM. MA 02194 ,~.^—x mm* ^-.s-tsv MON-FRI 9:00 - 5:00 (617)449-1760 w = Telex: 951021 MasterCharge and VISA Accepted Circle 301 on inquiry card. BYTE November 1981 PRIOR (Priority Register): This address writes data into the Priority Control Register. D7 ] D6 I D5 ! D4 D3 D2 D'1 DO D7- -D6 D5 D4 D3— DO Set to zero. Multiple Color Player Enable This bit set to 1 causes the logical "or" function of the bits of the colors of Player with Player 1 , and also of Player 2 with Player 3. This permits overlapping the position of two players with a choice of three colors in the overlapped region. Fifth Player Enable This bit causes all missiles to assume the color of Playfield Type 3. (COLPF3). This allows missiles to be positioned together with a common color for use as a fifth player. Priority Select Only one of these 4 bits can be a 1 . These bits select one of four types of priority. Objects with higher priority will appear to move in front of objects with lower priority. Higher Priority D3 = 1 D2 = 1 D1 = 1 DO = 1 I — PFO I — PF1 PFO PO— PO— PF1 P1 1 P1 P0~1 PF2 i — PFO P2 P1 PF3 + P5 PF1 P3 ' P2 PO PF2 —PFO P3^ P1 PF3 + P5 PF1 i — PF2 P2 P2 PF2 |PF3 + P5 P3 P3 PF3 + P5 BAK BAK BAK BAK Pn = player n PFn = playfield n BAK = background + = logical or (PF3 and P5 an always same color) Note: The use of priority bits in a "nonexclusive" mode (more than one bit set to 1) will result in objects whose priorities are in conflict turn- ing black in the overlap region. Example: PRIOR code = 1010: This will black out PO or P1 if they are over PFO or PF1 . It will also black out P2 or P3 if they are over PF2 or PF3. In the one-color 40-character (playfield) modes, the luminance of a pixel in a character is determined by COLPF1, regardless of the priority. If a higher-priority player or missile overlaps the character, the color is determined by the player's color. Shadow Register: GPRIOR SIZEM (Missile Size): This address writes data into the Missile Size Control Register. Horizontal Size Register (Missile) M3 M2 M1 MO 1 Normal Size (total of 2 color clocks wide) Twice Normal Size (total of 4 color clocks wide) Normal Size Four Times Normal Size (total of 8 color clocks wide) SIZEPO— SIZEP3 (Player Size): These addresses write data into the Player Size Control Registers. Not Used D1 DO Horizontal Size Register (Player) Normal Size (total of 8 color clocks wide) Twice Normal Size (total of 16 color clocks wide) Normal Size Four Times Normal Size (total of 32 color clocks wide) With normal-size objects, each bit in the graphics register corresponds to one color clock. This makes an 8-bit wide player 8 color clocks wide. For larger objects, each bit is extended over more than one color clock. 338 November 1981 © BYTE Publications Inc A Language is born x Xs', Ada Augusta Byron The Countess of Lovelace How to use Ada effectively for solving problems Studies in Ada Style By P. Hibbard, M. Sherman, M. Shaw, J. Rosenberg, A. Hisgen 1981. Approx. 9 figures. Approx. 112 pages DM 24,50; approx. US $ 11.20 ISBN 3-540-90628-2 H. Ledgard Ada An Introduction Ada Reference Manual (July 1980) 1981. XXXII, 358 pages DM 29,80; approx. US $ 13.60 ISBN 3-540-90568-5 Please write for further information ADA The new comprehensive, general purpose language, named after Ada Augusta Byron - the daughter of poet Lord Byron - who is credited with being the first computer programmer Towards a Formal Description of Ada Editors: D. Bjerner, O.N. Oest 1980. XIV, 630 pages (Lecture Notes in Computer Science, Volume 98) DM 46,-; approx. US$21.00 ISBN 3-540-10283-3 The Programming Language Ada Reference Manual Proposed Standard Document United States Department of Defense 1981. X, 243 pages (Lectue Notes in Computer Science, Volume 106) DM 16,50; approx. US $ 7.60 ISBN 3-540-10693-6 Prices arc subject lo change wilhoul notice Springer-Verlag Berlin Heidelberg New York Circle 468 on inquiry card. BYTE November 1981 339 GOODBYE, DISK WAIT... "-DRIVE HAS ARRIVED What does M-Drlve* do? Simply stated, M-Drive provides up to a 3500% increase in speed during disk- intensive computing. How does M-Drive work ? It uses G and G Engineering's Warp Drive" software to run extended address IEEE 696/S-lOO RAM under CP/M® 2.2, so that the memory appears identical to a disk drive. The RAM can be formatted, it has a directory, and it can hold files which may be written, read, copied to or from another disk, or executed. There are no slowly rotating and buzzing disk drives when M-Drive is in use; only the sound of data being transferred at the speed of light. q Does this obsolete the floppy disk? Not quite. A floppy disk Is still required for <^fl - system initialization, and for saving finished files. At all other times, however, . «l ^O M-Drive saves you the tedium of going back and forth between computer vol^ . ^» A 5?o° and disk. What are the hardware requirements ? M-Drive is configured for systems that include a 6 MHz CompuPro CPU 8085/88 dual processor, Disk 1 DMA disk controller, and System Support 1. How can I upgrade to M-Drlve ? Select ^ either the 128K or 256K M-Drive package, then ^\<2> return your CompuPro CP/M disk to the •^4®^' v^* factory for modification. If your CPU kl oP t ok> ^. 8085/88 runs at 4 MHz, it must also be returned and upgraded to . 6 MHz. The costs of these ^1% modifications are included In the prices below. ON STATIC MEMORY CompuPro memories are the fastest in the S-lOO business, performing effortlessly with 6 MHz Z-80® and lO MHz 8088/86 processors. But speed isn't all that we offer; consider the low power consumption (again, the lowest in the business), innovative technical design, fully static operation (for flawless DMA), an enviable record for reliability, and the experience we've acquired from over 6 years of making quality S-lOO memory. Compare our specifications with the rest.„you'll see why systems integrators world-wide choose CompuPro memory for commercial, industrial, and scientific applications. (Note: CSC boards are qualified under the Certified System g Component high-reliability program, with 200 hour burn-in and 2 year extended warranty.) 8K/16K/24K/32K RAM 20 Static Memory Board. With extended addressing and bank select. RAM 20-8K: $21 A/T , $280 CSC . RAM 20-16K: $285 A/T, $355 CSC. RAM 20-24K: $355 A/T, $425 CSC. RAM 20-32K: $425 A/T, $495 CSC. f;j[»| 64K RAM 16 Static Memory Board. "Hermaphrodite" 64K memory runs in 8 bit systems ^as a 64K X 8 board, or in 16 bit systems as a 32K X 16 board. RAM 16-64: $895 A/T, $995 CSC. 48K/64K RAM 17 Static Memory Board. Exceptionally low power (2W max, 1.6W typ for 64K) board runs faster and cooler than dynamics, while flawlessly handling DMA. RAM 17-48K: $650 A/T, $750 CSC. RAM 17-64K: $795 A/T, $895 CSC. (3Th 128K RAM 21 Static Memory Board. Exceptionally low power, high speed static memory. Configure as 128K X 8 or 64K X 16. RAM 21-1 28K: $1695 A/T, $1895 CSC. How to order: Call 415-562-0636 for the name of the authorized CompuPro sales center nearest you. or for placing factory direct VISA® /Mastercard® orders. Prices shown do not include tax, shipping, or dealer installation/support charges (if applicable), -legal coined M-Dfive,s a »(.««<» oi compuPm, waip om» » a mxxmak oi g ara g Engimieing CompuPro™ division ELECTRONICS^ BOX 2355, OAKLAND AIRPORT, CA 94614 (415) 562-0636 340 BYTE November 19S1 Circle 80 on inquiry card. PROVEN COMPUTING SOLUTIONS. We give you more of what you buy a computer for: to gain a competitive edge in your industrial, commercial, or scientific application. While other computers try to make the best of slow memory, •slow processors, and me-too engineering, CompuPro is delivering solutions for today's commercial computing...proven solutions that create expandable, modular, fast, exceptionally reliable, and truly professional level machines that conform fully to the IEEE 696/S-lOO standards. We back all products with a minimum 1 year limited warranty. When you depend on your computer, choose a computer on which you can depend: S-lOO from CompuPro. NOVEMBER SPECIAL: SPECTRUM COLOR GRAPHICS BOARD ON SALE! You don't have to be jealous of those color computers any more...with Spectrum's 8K of IEEE-compatible static RAM, full duplex bidirectional I/O port for keyboard or joystick interface, and 6847-based graphics generator that can display all 64 ASCII characters, your S-lOO computer can control the colors of the rainbow. lO modes of operation, from alphanumerics/semi- graphics in 8 colors to dense 256X192 full graphics. Normally available assembled/tested for $399; but for orders postmarked before 11/30/81, Spectrum is yours for 5299! There has never been a better time to graduate from black and white to color. 1. DISK 1 DMA DISK CONTROLLER. Disk 1 is lightning fast, thanks to properly implemented DMA (with arbitration) and data transfer that's independent of CPU speed. IBM compatible format; handles soft-sectored single or double- density, single or double-sided disks. Set up for 8"disks, but can also handle 5.25" disks. With BIOS for CP/M-80'. Manual available for S25. S495A/T, S595CSC. Coming soon: Disk 2, the fast DMA hard disk controller. 2. CP/M-80 Available only with Disk 1 purchase, Supplied on diskette with full documentation-ready for load and go operation. $175. 3. CP/M-86. Available only with Disk 1 purchase. Supplied on diskette with full documentation - ready for load and go operation, $300. 4. OASIS" OPERATING SYSTEM. Single user ($500) and multi-user ($850) available for use with CPU Z. Supplied on diskette with full documentation. Coming soon: OASIS 16 for use with 16 bit systems. 5. COMPLETE DUAL DISK DRIVE SYSTEM. With one Disk 1 board, desktop dual drive enclosure with Shugart SA- 800 series drives, and power supply cable. Also includes CP/M-80. $2195. 6. SYSTEM SUPPORT 1. Includes battery operated clock/calendar; sockets for optional battery backup RAM, 9511 or 9512 math processor, and 2716 ROM; RS-232 serial port; triple interval timers; dual interrupt controllers; power fail interrupt; and more. Comprehensive owner's manual includes numerous software examples. $295 Unkit, $395 A/T, $495 CSC (add $195 to the above prices for optional math processor). 7. 8 BIT CPU Z. A Z-80"-based CPU board that includes all standard features plus many convenience options. Meets all IEEE 696/S-lOO specifications, including timing. $225 Unkit, $295 A/T (both operate at 4 MHz), $395 CSC (with 6 MHz CPU). 8. 16/8 BIT CPU 8085/88. CPU 8085/88, the only CPU board that executes the software of today and tomorrow, combines an 8088 CPU to handle 16 bit software and an 8085 CPU for 8 bit software, $295 Unkit, $425 A/T (both operate at 6 MHz); $525 CSC (with 8 MHz 8085 and 8088). 9. 8088/8066 MONITOR-DEBUGGER SOFTWARE. Ideal for use with CPU 8085/88. Supplied on single sided, single density, soft sectored 8" disk. CP/M-80 compatible (not required if you have CP/M-86). Great development tool; mnemonics used in debug conform as closely as possible to current CP/M DDT mnemonics. $35. 10. 8 BIT CPU 8085. Same as CPU 8085/88, but without 8088. May be easily upgraded to 16 bit operation. $235 Unkit, $325 A/T, $425 CSC. 11. INTERFACERS. Interfacer 1 includes two RS-232 serial ports, with full handshaking and independently selectable Baud rates; $199 Unkit, $249 A/T, $324 CSC. Interfacer 2 includes three full duplex parallel ports and one serial port containing all the features of an Interfacer 1 serial port; $199 Unkit, $249 A/T, $324 CSC. Interfacer 3-5 includes five RS-232 serial ports (2 synchronous/asynchronous, 3 asynchronous) with full handshaking, software programmable Baud rates, and many other convenience features; $599 A/T, $699 CSC. Interfacer 3-8 is similar to Interfacer 3-5 and includes eight full RS-232 serial ports (2 synchronous/asynchronous, 6 asynchronous); $699 A/T, $849 CSC. 12. ULTRA HIGH-SPEED MOTHERBOARDS. With all edge connectors, Faraday shielding, extensive bypassing, and split active termination. 6 slots $140 A/T $190 CSC; 12 slots $175 A/T $240 CSC; 20 slots $265 A/T, $340 CSC. 13. DOCUMENTATION. User manuals are available for all products. Interfacer 3, $10; Disk Controller, $25; System Support 1 , $20; most others, $5. Also available: "CompuPro Product User Manuals; 1975- 1980". This 250+ page book includes data on all older Godbout/CompuPro products, as well as many newer products such as the Spectrum Color Graphics board, Interfacers 1 and 2, CPU 8085/88, motherboards, CPU Z, and more. $20 plus shipping, 14. SUPERSIXTEEN SPECIAL PACKAGE. This specially-priced package includes CPU 8085/88, Disk 1 DMA floppy disk controller. System Support 1, Interfacer 1, 128K of static RAM, CP/M 2.2, CP/M-86, four cables (three interfacer cables plus one disk cable), and complete documentation - all for $3,495 (For CSC boards, add $600 to the package price,) If you're ready for advanced computing, this is the package you've been looking for. Most CompuPro products are available In Unkit form, Assembled/Tested, or qualified under the high-reliability Certified System Component (CSC) program (200 hour burn-in, more). Note: Unkits are not intended for novices as de- bugging may be required due to problems such as IC infant mortality. Factory service is available for Unkits at a flat service charge. How to Order: Call 415-562-0636 for the name of the authorized CompuPro sales center nearest you, or for placing factory direct VISA® /Mastercard® orders. Prices shown do not include tax, shipping charges, or dealer installation/support services (if applicable), □ trademark ol (ompu Pro" division "ELECTRONIC: OAKLAND AIRPORT, CA 94614 (415) 562-0636 Circle 80 on inquiry card. BYTE November 1981 341 Software Review ENHBAS Mahlon G Kelly 268 Turkey Ridge Rd Charlottesville VA 22901 Whatever its merits or demerits, BASIC is the language most used by microcomputer programmers. Micro- soft's excellent implementation of BASIC is one of the reasons the TRS-80 Model I is the most popular microcomputer today. Most of us note the absence of some particular feature (I would like to have matrix functions), but everyone's needs are different. I was, therefore, skeptical about the usefulness of an enhance- ment package for TRS-80 BASIC. I am no longer a skeptic. ENHBAS (pronounced en-base), written by Philip A Oliver and sold by the Corn- soft Group, provides useful new func- tions, statements, and commands, and greatly improves the operating environment by providing keyboard, video, and audio enhancements. This software is designed for the TRS-80: it is not rewarmed and reworked from some other system. And ENHBAS makes programming much more enjoyable. In terms of packag- ing, documentation, ease of use, lack of bugs, and overall quality of design, ENHBAS is the best software package I have seen for the TRS-80, and that includes Microsoft's BASIC compiler, NEWDOS/80, VTOS, and Scripsit. With the release of this product, a small company and a single author have entered the big league in quality software. ENHBAS resides in about 4 K bytes of RAM. It provides new key- board, printer, and video drivers and a variety of new commands, statements, and functions. The drivers give a user-definable cursor, clicks when keys are pressed, true control characters, distinctive tones for error and break, single-key entry for such things as PRINT and INPUT, a lowercase driver, and a variety of other features. The printer driver even senses whether or not a printer is on line, waits six seconds for the printer to be turned on, and if it isn't, gives an error message and returns without "hanging" the system. If a BASIC program is NEWed or even if the system is booted, simply typing RENEW after bringing BASIC back up will usually restore the program. That means no more program loss after accidental reboots. The new statements are described below in detail, and they include new graphics, branching, screen control, sorting, printer formatting, and more. Two smaller versions, ENHSORT and ENHGRAPH, are also available at $24.95 each. They support ENHBAS sorting routines and graphics routines, respectively. Pro- grams written for these versions are upward compatible with ENHBAS. ENHBAS is available for Models I, II, and III. The Model III package is nearly identical to that for the Model I, and there are disk and tape versions for both. The tape version provides all of the functions of disk BASIC ex- cept file manipulation functions and multiple USR routines. There are also many additional enhancements for the Model II, but since I used the disk- based Model I system, I'll only men- tion a few of those features. Initialization and Loading The disk version of ENHBAS comes on a special disk that is copy- protected and has its own tiny operat- ing system. You put the disk in drive and boot the system. After a prompt, you place a TRSDOS or NEWDOS 2.1 disk in the drive, and a 32 K or 48 K version of ENHBAS/ CMD is dumped to that system disk. Afa f^lanrp Name Format ENHBAS Tape, 5- or 8-inch disk depending on computer Type Enhanced operating environment and Computer BASIC language TRS-80 Model I (tape or disk), Model 11, or Model III Manufacturer The Cornsoft Group Documentation 6008 N Keystone Ave Three-ring binder with 55 pages of text Indianapolis IN 46220 (317) 257-3227 Audience Any TRS-80 user Price $59.95 (Model I or III), $99.95 (Model II) 342 November 1981 © BYTE Publications Inc TURN ON YOUR COMPUTER WITH A ^ MEMORY WE'LL MAKE YOUR LSI, MOTOROLA AND MULTIBUS SYSTEMS WORK LIKE THEY NEVER WORKED BEFORE i *14 512KB SINGLE BOARD MULTIBUS® MEMORY First to Offer 512KB on One Board • Pin-to-pin MULTIBUS compatibility for both 8-bit and 16-bit systems. • On-board parity with selectable interrupt on parity ERROR. • Addressable as a contiguous block in 16K word increments up to 16 Mega Bytes. SINGLE QTY. PRICE: 128Kx9$795. 512Kx9$l,995. 64KB LSI 11/2, LSI 11/23® SINGLE DUAL WIDTH BOARD Addressable as a contiguous block in 4K word increments through 4 Mega Bytes. Onboard checker. parity generator Power requirements are +5V 1.0A, +12V 300mA, +12VB 300mA. SINGLE QTY. PRICE: 32K x IS $575. 64KB EXORCISER I, II, and Rockwell System 65 Single Board Memory. • Addressable as a contiguous block in 4K word increments with respect to VXA or VUA. • Parity checker on board. • Functions with on-board hidden refresh up to 1.5 meghz clock rates. • Functions with cycle stealing refresh at 2 meghz clock rates. SINGLE QTY. PRICE: 64K x 9 $575. 256KB LSI 11/23® SINGLE DUAL WIDTH BOARD First 256KB Memory on a Single Dual Board. • Addressable as a contiguous block in 4K word increments through 4 Mega Bytes. • On-board parity generator checker. • Power requirements are +5V 1.2A. • Battery back-up mode. SINGLE QTY. PRICE: 128K x 18 $1,795. DON'T ASK WHY WE CHARGE SO LITTLE, ASK WHY THEY CHARGE SO MUCH. c Chrislin Industries, Inc. 31352 Via Colinas • Westlake Village, CA 91362 • 213-991-2254 TWX 910-494-1253 (CHRISLIN WKVG) Multibus is a trademark ot the Intel Corp. LSI 11 is a trademark of Digital Equipment Corp. EXORciser is a trademark ot Motorola. Circle 68 on inquiry card. byte November i°si 343 The initialization software auto- matically senses the size of the sys- tem. For use with NEWDOS/80, the program must be copied from the NEVVDOS 2.1 or TRSDOS disk. The author has assured me that the soft- ware is compatible with all currently available operating systems that use the TRSDOS disk format. In all, the original initialization takes about three minutes, and the original disk is needed again only if the ENHBAS/ CMD program is somehow lost. Use of the new program is just as simple. Typing ENHBAS < ENTER > loads and initializes the package, pro- tects a section of upper RAM (ran- dom-access read/write memory), and brings up BASIC. The memory size, file number, and program loading and running conventions are the same as before for the operating sys- tem being used, but they follow the ENHBAS command instead of BASIC. A return to command level leaves the new drivers intact. All the appropriate features are available in DOS (disk operating system) mode or Listing 1: A CHAIN file for use with NEWDOS/80 and the Percom Doubter to load and initialize ENHBAS. ADR disables and enables automatic recognition of double den- sity. The POKE at line 40 enables control-H to sound the bell; the POKE at line 50 changes the cursor character. PAGE and CLM set page length and number of characters per line. Removal of ADR allows it to be used with NEWDOS/80 version 2.0. OPEN"0", 1, "ENHBAS/ JO." ■OPEN THE CHAIN FILE PRINT #1, "ADR OFF" AUTO DENSITY RECOGNITION OFF PRINT (41, "ENHBAS" ■ INITIALIZE PRINT HI, " POKE 16409, 1" ■ENABLE THE BELL PRINT HI, " POKE 16419, 127 CHANGE THE CURSOR PRINT #1. " PAGE*55" PAGE LENGTH PRINT HI, " CLM=132" 'COLUMN WIDTH PRINT HI, " CMD"; CHR$<34>, 'S"iCHR*l34) RETURN TO DOS PRINT HI, "ADR ON" "AUTO DENSITY RECOGNITION ON CLOSE during use of any /CMD program that doesn't have its own drivers (sadly, Scripsit does). The only incompatible programs I have found are the DSET and DBLFMT com- mands in Software Etc's implementa- tion of double density for NEW- DOS/80, but these present trivial problems that are easily cir- cumvented. BASIC can be reentered just as before. Typing ENHBAS again will lock up the system, which was one of the few faults that I found; it would be nice to be able to disable ENHBAS without rebooting. Since you will almost always want ENHBAS in the system, it's most easily initialized by a CHAIN command if your operating system has such a feature. Listing 1 shows a NEWDOS/80 double-den- sity chain file that does the initializa- tion and reenters DOS. A file for use with ComProc or other DOSes would be similar. The tape system is in- itialized by typing SYSTEM; typing ENHBAS after the prompt then loads and initializes the tape. ENHBAS Th e TRS-BO™ Programmer's Language reviewed this month by Mahlon Kelly is available through th e following dealers & distributors, who carry the complete line of products from THE CORNSOFT GROUP. Specify Model l/lll disk, Model l/lll cassette OP Model II disk. TIVl Tandy Corporation Model l/lll $53.35 Model II $33.35 Apparat Inc. Softside/TSE/Hardside Level IV Products Denver, CO Petersborough, NH Livonia, Ml The Program Stone Softsel Garcia S Assoc. Washington, DC Marina Del Ray, CA Chicago, IL Malibu Microcomputing Pittsburgh Computer Store The Software Shack Malibu, CA Pittsburgh, PA Belton, MO Micro Products The Game Preserve Lee Allen S. Assoc. Wilmington, DE Indianapolis, IN Indianapolis, IN THE CORNSOFT GROUP 6008 N. Keystone Indpl 8. IN 46SSQ [317] S57-3S27 344 November 1981 © BYTE Publications Inc Circle 455 on inquiry card. Double your disk storage capacity. simply by switching to Omni's new reversible disk. If you have an Apple, TRS-80, Zenith, North Star or any other single-sided bVt disk drive, you can double disk capacity by simply switching to the Flip/Floppy disk from Omni. It works just like your present disks, except you can flip it over and record on the reverse side. So you can consolidate programs and files that used to require two disks. You can halve your disk requirements. And save money. Each disk comes with some impressive specifica- tions: They're certified error-free at more than twice the error-threshold of your system. Rated for more than 12 million passes without disk-related errors or significant wear. And precision fabricated with such standard features as reinforced hub rings. Call Omni toll-free today. Get premium disks. Twice the capacity. A full money-back guarantee. Unbeatable price. And if you order a ten pack now, a free $5.00 storage case as well. Omni Resources 4 Oak Pond Avenue, Millbury, MA 01527 (800) 343-7620 In Mass. (617) 799-0197 Dealer inquiries invited. Software Houses: We also offer duplicating and formatting services. $21.00-Fivepack (Equivalent to lO single-sided disks) $4QOO-Ten pack Send the following Flip/Floppy disks. I understand they have a full 90 day money-back guarantee if I'm not completely satisfied. System 8c model # Free Protective plastic storage case with each lO pack ordered by 12/25/81 Order toll-free (800) 343-7620. In Mass. (617)799-0197. Five packs @ S21.00 Ten packs @ $40.00 * ■ includes plastic case Shipping and handling 5% sales tax (Mass. only) Total Check (to Omni Resources) COD. MasterCard Visa Card # Name Address 1.50 Exp.. Tel Circle 321 on inquiry card. BYTE November 1981 345 Listing 2: ENHBAS's sort functions in action. The program in listing 2a, which pro- duces the output in listing 2b, displays four arrays five times each. First, they appear un- sorted, then sorted according to the different keys and tags noted in the program's remarks. (2a) 10 CLEAR 200 DEFINT A-Z 20 D I M A ( 20 ) , 6* l 20 ) , G l 20 ) . D* ( 20 ) 30 LPR I NT " A( X ) '*. "E*( X ) " . "C ( X ) " , "D* < X i " • PR I NT HEADERS; 40 LPRINT -STRING* (55, "t*"i 30 FOR 1 = 1 TO 5 SET UP ARRAYS AS RANDOM NUMBERS AND LETTERS 60 A: B*< I)=CHR*( 70+RNDl 5) » : CCI >»RND<999) : D*< I ) -CHRi < SO+PND' 10 I i 70 NEXT I SO CSUB "PNT" PRINT THE ORIGINAL RANDOM ARRAYS SCLEAR • CLEAR FOR THE SORT KEY A ■ SORT ON INTEGER ARRAY A, ASCENDING ATOF-5 ■ USE ONLY THE FIRST FIVE ELEMENTS SORT ■ DO THE SORT! CSUB "PNT" PRINT THE RESULTS. SCLEAR CLEAR FOR THE NEXT SORT AT0P--5 ■ FIRST FIVE ELEMENTS ONLY LEY C SORT ON INTEGER ARRAY "C" TAG A ■ FORCE THE ELEMENTS OF ARRAY "A" TO FOLLOW "C" SORT " DO THE SORT. CSUE "PNT" PRINT THE RESULTS SCLEAR ■ SET UP FOR THE NEXT SORT AT0P=5 ■ FIRST 5 ELEMENTS ONLY KEY C. B* ' PRIORITY SORT ON B$, NEXT ON ARRAY C(X) TAG A, D* ' FORCE ARRAYS A AND D* TO FOLLOW C AND B* SORT ■ SORT THEM CSUB "PNT" PRINT THE SORT RESULTS SORT <1) " DO A DESCENDING SORT CSUB "PNT" ■■ PRINT THE RESULT LPRINT CHR*'. 12) END ■JNAME "PNT"- PRINTING SUBROUTINE FOR 1=1 TO 3 LPRINT All 1, B*( I I, C( I). D*( I ) NEXT I LPRINT STRING* (55, "#'■; RETURN vo 1 00 1 10 120 ISO 140 1 30 1 60 170 1 80 190 200 210 260 270 500 510 (2b) A(X) B*(X) C(XJ D*ii ; 1 577 S 5 J 649 R 3 I S74 Y 5 K 972 V 1 J 429 W 1 G 577 S 1 J 64'=' R 3 I S74 i 5 K 972 V 5 J 429 W 5 G 42 ,r < S 1 J 37 7 R 1 I 649 i 3 K S:74 V 5 J 972 W 5 G 429 S 1 I 649 r 1 J 577 R 5 J ,:, 72 W 3 K S74 U 3 K. 874 V W t>49 429 ##############fc###########fr##########iH*###**#«f###4*###l« The Operating Environment The first thing you notice after in- itialization is that the cursor is now a block (this can be changed to any character by a single POKE, which is handy for letting the cursor tell you where you are in a complex pro- gram). If an amplifier is connected to the tape output, pressing a key will produce a "click" (really a very short beep). This gives a professional feel to the keyboard and it's a nice feature for those of us who are touch typists; it's something I have longed for in Scripsit. Pressing BREAK produces a different tone, and an error produces a two-tone signal. If PRINT CHRS$(8) (ASCII bell) is in a pro- gram, Westminster chimes sound! The CLEAR key is redefined as a true control (sometimes abbreviated as ctrl) key. You clear the screen by using control-®. Most of the control characters do nothing in the normal TRS-80, but control-H produces a backspace, control-G sounds West- minster chimes, control-C is a break (with an echo of a down-arrow and C to the screen, which BREAK also does), control-A is a break without echo, control-I is a tab, and control-J is a linefeed with carriage return. Using the control key with numerals 1 through 6 produces special characters if lowercase is installed, control-dash gives an underline, and control- arrows puts arrows on the screen. Four one-letter direct commands are available (similar to NEWDOS). E, R, L, and D produce EDIT, RUN, LIST, and DELETE, respectively. Similarly, single-key abbreviations are available for 35 different BASIC commands, statements, and functions by simultaneously pressing the shift key, the clear key, and the abbrevia- tion key. Shift-clear and A produces AUTO, shift-clear and P produces PRINT, shift-clear and N produces NEXT, shift-clear and D produces DIM, and so on. I find this of little value except with the most commonly used words; otherwise it's quicker to type the word than to look it up, even if the keys are labeled. But some peo- ple may find more of these single-key abbreviations useful. Another nice feature is formatting of program listings. The printer driver indents text by six spaces as shown in listing 2; this makes listings easier to read, and the feature works for video output as well. I've already mentioned the user-definable cursor and the ability to sense whether or not the printer is available. These en- hancements of the operating environ- ment seem to me practically worth the cost of the entire package. But they are only a minor part of ENHBAS. The main features are the enhancements to the BASIC language itself. Language Enhancements Programming enhancements can be divided into commands, statements, and functions. In all, 33 have been added to the language (as compared to about 85 originally available in the Microsoft Level II BASIC and about 40 added by TRSDOS), although sev- 346 November 1981 © BYTE Publications Inc High resolution, dot addressable graphics with vertical resolution of 72 dots per inch and up to 82 dots per inch horizontal resolution. "Q.T." cover reduces noise to an office comfort level. This is an optional feature to our standard sound dead- ening case. Single sheet feeder is very simple to use. The only front load feeder available on the market today.' 1K standard buffer permits the 88C to print while receiving data. The optional 2K buffer allows a 1920 character dump to the printer freeing the CRT. The Features Leader Integrated Paper Handling System Dual tractor/friction feed allows use of pin feed, roll or single sheet paper. Versatile Interface Data input from most computers can be sup- ported by the 88C. RS232C serial and Cen- tronics" type parallel is standard. Options can be added for current loop, IEEE 488 and high speed serial inputs. Anpi Letter Quality Capability The 88C provides a selectable 11x7 serif style dot matrix for correspondence printing. Cost Effective The 88C has more features than any other impact printer in its price class. First compare the quality of the 88C, then compare the price -the 88G wins! Single unit price is less than $800. 'Optional licro Peripherals. Inc. 3426 South Century Drive Salt Lake City, Utah 84107 (801) 263-3081 The Printer People California VITEK (714) 744-8305 Computer Potentials (206) 453-9777 Colorado PLS Associates (303) 773-1218 Illinois CW Electronic Enterprises (312) 298-4830 Massachusetts Butler (617) 965-1080 Minnesota Bohlig & Associates (612) 922-7011 New Jersey Hansen & Hugnes (201) 652- 7055 Oregon Microware (503) 620-8150 Washington Microware (206) 451-8586 Pennsylvania QED Electronics (215) 674-9600 Utah PLS Asso- ciates (801) 466-8729 International Europe, Russet Instruments, Ltd. (0734) 868147 Telex: 849721 International, Slntel, (602) 994-3435 Telex: 165-745 Canada Norango (416) 449-2761 Texas Tnorson Distributors (214) 233-5744 Circle 291 on inquiry card. BYTE November 1981 347 eral are interrelated. We'll look at the added commands and functions one by one. Most of the statements can be divided among those that control sorting, branching, graphics, screen displays, and printer formatting. There are two new commands: RENEW and FIND. RENEW, which has already been described, is one of the most useful of ENHBAS's features, since it almost always allows recovery of a BASIC program unless there has been an attempt to overlay the BASIC memory area or a loss of power. It's even possible to leave BASIC, execute DOS com- mands, then reenter BASIC and bring the old program back. FIND locates a part of a program that has been labeled using the JNAME statement (described with the new branching statements below). FIND makes it possible to label a line with a name and then branch to the name rather than the line number. Since FIND locates the branching label, subrou- tines and branching points may each be named and easily located. All who have suffered with improperly com- mented subroutines will appreciate this feature. Sorting The sorting routines are based on a modified Shell-Metzner technique and handle ascending and descending numeric and string sorts. These sort- ing routines were the inspiration for ENHBAS, since the whole thing grew out of the development of a machine- language sorting project. The sort routines are easy to set up (at least if you're used to machine-language sorts such as Racet's GSF). Only five statements are required (SCLEAR, KEY, TAG, SORT, and ATOP). It is possible to key and tag several arrays. A sort should usually be pre- ceded by the statement SCLEAR (really a function), and then the vari- ables to be sorted are set up using KEY (the variables may be alphabetic or numeric and are stored in an array). Thus: 120 KEY AGE, NAMES THE TSE-HARDSIDE 1982 MICROCOMPUTER BUYER'S GUIDE is now available! We've included such valuable information as print samples from each of the printers we carry, feature-by-feature comparisons of Micro- Computer systems in an easy-to-read table format, an informative article on Micros, and pages and pages of complete product descriptions. We're making this valuable reference available for only $2.95 (refundable on your next purchase from TSE-HARDSIDE.) Charge customers are welcome to call our toll-free number: 1-800-258-1790 (in NH call 673-5144) THE TSE-HARDSIDE 1982 MICROCOMPUTER BUYER'S GUIDE will soon arrive at your address via first class mail. Send to: TSeHPlRDSID€ Dept. C, 14 South Street Milford, NH 03055 Yes! Send me the TSE-HARDSIDE 1982 Micro-Computer Buyer's Guide. I've enclosed $2.95 Please send only your FREE Price List Charge to my credit card MasterCard Visa Card No. Interbank No. Signature Name Address City State B11 "1 Exp. Date _Zip Code_ .J would set up a sort in line 120 so that a string array NAME$(x) would be sorted with top priority, and if there were duplicate entries they would be sorted by order using the numeric array AGE(x). Using KEY, you can set sorting priorities for up to four- teen different arrays. You usually want a sort to carry along another variable with the sorted elements, and TAG allows that. Thus a sort by names could carry addresses along with the names. For example: 130 TAG ADDR$, ZIP following line 120 would force the addresses in array ADDR(x) and the zip codes in array ZIP(x) to tag along after the names and ages as they were sorted by the KEY specifi- cation in line 120. Up to fourteen arrays can tag along in the sort. The statement SORT (f) actually forces the sort. The "f" is a flag that specifies if the sort should arrange the elements from small to large or large to small. SORT (0) (or simply SORT) produces a sort in ascending order, from small- est to largest. SORT (1) does a des- cending sort, with the largest ele- ments coming first. A sort will ac- tually process all the elements dimen- sioned in an array, whether they have been assigned values or not (the ar- rays must be of equal length). When you don't need all the elements in an array, you can specify the upper limit. If we added 140 ATOP = (12) to the previous statements, this state- ment would limit the sort to the first twelve array elements. The short pro- gram in listing 2 illustrates the sort procedure and its output. The sorts are very fast: 500 integers can be sorted in less than four seconds. Branching ENHBAS provides three new types of branching options. These are branching to labels and variables, selective restoring of DATA state- ments (that is, the data pointer can be restored to something other than the initial data element), and condi- tional looping using the WHILE/ 348 November 1981 © BYTE Publications Inc Circle 417 on inquiry card. If you own or use a micro-computer, then chances are that from time to time, you've wished that someone could simplify programming. Because as useful as micro-computers are, they can only ever be as good as the programs they run. Well then, how does this sound? No more program-coding. No more debugging. And no more time wasting. Arguably more comprehensive and advanced than anything else of its kind, The Last One is a computer program that writes computer programs. Programs that work first time, every time. By asking you questions in plain English about what you want your program to do, The Last One uses your answers to generate a ready-to-use program in BASIC. What's more, with The Last One, you can change or modify your program as often as you wish. Without effort, fuss or any additional cost. So as your requirements change, your programs can too. And if, because of the difficulties and costs of buying, writing and customising software, you've put off purchasing a computer system up to now, you need delay no longer. Available now. The Last One costs $600 plus local taxes where applicable and is now available from better computer stores. For further information, write to D.J. 'AF Systems Ltd., Two Century Plaza, Suite 480, 2049 Century Park East, ■« ._. . mnrm- _r* m ■■■ Los Angeles,CA 90067. Ut NJ'J (jMC Tel: (213) 203 0851. I I ML jflVJ V^ J™ Circle 145 on inquiry card. WEND construct. The labeled branching enhancement uses the statements JNAME, GTO, and CSUB. JNAME places a label in a line. In listing 2, for example, the JNAME "pnt" labels the subroutine "pnt". JNAME must be the first state- ment in a line, and it cannot be followed by REM without a colon first; an apostrophe ( ' ) may be used, but there must never be a space after the label (despite an example to the contrary in the documentation). Labeled subroutines make programs much more readable and, of course, avoid the possibility of incorrect branching caused by changing the number of a subroutine's first line. Branching to labels also enables you to move subroutines around without worrying about losing track of them in the calling statements. The use of labeled subroutines re- quires two new calling statements. GTO and CSUB (for call subroutine) are used exactly like GOTO and GOSUB except that they call a rou- tine labeled in a JNAME statement. GTO and CSUB can also call a line number defined by variable. For ex- ample, GTO X*100 with a value for X of 5 would force a branch to line 500. (0 I- o o cc b LL U. O 2 * O C Q. LL >LU 0>_l OO (0 X S3 0) i- SI O LL < 3 o >* o CO JZ ^TJ > E C 'co c o i CO o m co CL w CO CD 3 O -4— ' CO ■a c CO co -t— < CO CD i__ CD ~CO 3 J co CD v_ CO CO i— CD > -4— ' c CD > cz o o "cO co o o i_ i— Zi o CO CD C CD CO c CD oo 3 CD CO CO TJ "I CO U 'c c CO "co o CD >^_ JJ C CO CO Q. o CO CL c CO CD > 0) "CD i— CD O o CO CO o 'o CO "O c CO o -*— ' CO CD o c CO o CD CD CO T3 CD Q. -t— ' C co o C/J a) CD -C co CL 3 n CO o CO CD a CD CO "a co TJ c CO CD O CO L_ -t— ' O o .c c CO D O O > 'co c CD X CD O O .c c •a CD > o CO 3 C CO E _CO ~i_ CD -+— ' m c_ k.. k_ t CD -C 1— CO V) CO CO LL CD CO co _l Q. 3 CC 5 C/) CD O < o LO CM (A o co CD CD co cE C CD CO E "a O £ CD >- CD OlS " C 10 O 05 ™ CO c S u »ffl ® CO J= re E c w o ci> co ^ N| CD ^ > -^ co i= Ec5S CM O o o o CO 03 O CD CD CO CO Q •«- CO si- v- co tr ® Sen 08 3 "p" CO £ CD £ S.O 111 CC co co o go c CD N CO CD X _CD X3 CO > cn oo co i— O o cr This allows conditional branching ac- cording to whether a condition is "true" or "false." The FIND com- mand, mentioned above, lets you locate a line previously labeled using JNAME by simply typing FIND (name); FIND "PNT" would locate that subroutine in listing 2, although FIND would normally be used with much more complex programs. The WHILE and WEND statements go a long way toward making BASIC a structured language. They are used in the same way WHILE and WEND are used in more extended Microsoft BASICs, such as the BASIC compiler for the TRS-80. WHILE a condition is "true," WEND placed at the end of a loop will send execution back to the WHILE statement. Thus the short program: 10 X = 20 WHILE X< =8; 30 PRINT X 40 X = X + 1 50 WEND will have the same effect as: 10FORX = 1 TO 8 20 PRINT X 30 NEXT X Although the former program is longer, in a less trivial example it forces much better programming practice and a more logical program flow. Conditional loops of this sort are one of the reasons many consider Pascal a superior programming lan- guage. Note that a semicolon is needed at the end of the WHILE state- ment; this contrasts with the WHILE construct used by Microsoft. RDGOTO and RDGTO both do the same thing, except that the latter statement uses the label and variable conventions of CSUB and GTO. In "normal" BASIC, the command RE- STORE after reading from DATA statements sends the read pointer back to the first data element. RDGOTO sends it back to a par- ticular line number, so that material may be read from the middle of a data list. RDGTO lets the line be specified by a variable (see the exam- ple for GTO given above). I don't 350 November 1981 © BYTE Publications Inc Circle 77 on inquiry card. Cromemco introduces System One. Survival of the fittest. In the highly competitive marketplace of micro- computers for business, American Computers & Engineers holds the distinction of being Cromemco's largest dealership network. This priv- ilege affords us greater discounts than anyone else. Dealers: We are pleased to be able to pass these savings on to you. Our discounts to OEM's cannot be matched anywhere. Immediate shipment is available on all Cromemco computer systems, peripherals, cards, and software. Cromemco, in its long-standing tradition of leader- ship in innovation, has now brought the state of the art in microcomputer technology to its next triumph. System One is the ultimate in compact, general application micros: • Dual 5V4" diskettes • S-100 bus • 8-slot card cage • Single/multi user • 5 megabyte hard-disk option • All-metal construction • Lightweight & portable For more information on Cromemco microcomputer systems, contact American Computers & Engineers. Los Angeles: Headquarters • 2001 So. Barrington Ave., Los Angeles, CA 90025 • (213) 477-6751 • Berkeley: 2855 Telegraph Ave., Berkeley, CA 94705 • (415) 849-0177 Newport Beach: 4141 MacArthur Blvd., Newport Beach, CA 92660 • (714) 851-8700 • Canada: 6715 Eighth St., North East Calgary, Alberta, T2E7H7 • (403) 275-5871 France: 55 Rue de Rivoli, 75001 Paris, France • 236-94-95 AMERICAN COMPUTERS S. ENGINEERS Maxi-performance on minis and micros. Circle 21 on inquiry card. often use DATA statements, so I can't get excited about this, but I can see that it would be useful in some ap- plications. Graphics The new graphics statements are both fun and useful. Although there are only three, PLOT, DRAW, and INVERT, they do a lot. The simplest, INVERT, is really a command. It simply changes each graphics point from on to off, producing a black-on- white effect. Graphics blocks oc- cupied by characters are unaffected. PLOT is useful for data output. Re- call that any graphics point on the screen can be referenced by x and y coordinates. For example, SET(22,33) turns on a point at the x coordinate 22 and the y coordinate 33. PLOT has the construct: Listing 3: A vector-graphics program using ENHBAS's DRAW and PLOT statements. The additional ENHBAS command INVERT is used to achieve a black-on-white effect. (The output of this program is shown in photo 1.) 10 DEFINT A-Z 20 DIM A! 25) 30 POKE 16426, 1 40 POKE 16427, 2 50 FOR J=l TO 3 60 FOR 1=0 TO 7 70 fi=256*J+I+l 80 IF 1=7 THEN A=A+256 90 A( (..1-1 >*S+I >=A 1 00 NEXT I 110 NEXT .J 120 A(22)=0 1 30 ' CLS 140 FOR X=l TO S 1 30 FOR Y=0 TO 2 160 POKE 16426, X 170 DRAW SET S 23+40»Y, 1 SO NEXT Y 1 90 NEXT X 200 FLOT SB, 3, 2 TO 124, 45 210 INVERT 220 PRINT C-HR$(7li 260 GOTO 230 ■SET THE PLOT SCALE 'SET THE PLOT ROTATION -FILL AN INDEX ARRAY TO SPECIFY THE PLOT "ROTATE THRU 8 TURNS ■AND DO 3 DIFFERENT PLOTS -THIS DOES THE ROTATE NG A "THIS DRAWS THE FIG. ■THIS DRAWS A BOX AROUND THE FIG ■AND THIS MAKES IT BLACK ON WHI1E 'THIS PLAYS A WESTMINSTER CHIMES ATTENTION GOVERNMENT D P USERS AND PURCHASERS We represent many fine micro products and manufacturers on the U.S. Government's GSA Schedule, including Apple f Cromemco, Micropolis, NorthStar, Osborne and Heequa Computers Purchasing from the Schedule will save you the time consumed by the bid process. Products shipped throughout the United States and world-wide. Visit or write any of our stores for more information or to receive our catalogue of products represented. •:n p: ' ^^ *) A LI ri »w# • • • < the dependable store 257 We 13A Alleg 9330 Georg 6671 Bacl. Plaza 38, 24 Caller Career Oppc st Street, Annapolis, MD 21401 - (301) 26 heny Avenue, Towson, MD 21204 - (301) ia Avenue, Silver Spring, MD 20910 - (301 dick Road, Springfield, VA 22150 - (703) 42 Route 38, Cherry Hill, NJ 08002 - (60S s outside metropolitan areas served by our s Please call (301) 268-5801 irtunities Available * An Equal Opportunity, 8-6505 296-0520 ) 588-3748 644-5500 ) 779-0023 tores ' Employer PLOT (flag),xl,yl TO x2,y2 Thus, PLOT S,22,33 to 55,44 (which uses the S flag to set points to white) would draw a line between points 22,33 and 55,44. Using the flag R resets the points to black (ie: it "turns off the lights" along a line). PLOT can also be used to draw a rec- tangle on the screen if the flag is set as SB (set box). Thus, PLOT SB, 10,10 TO 30,30 would draw a box with its upper left corner at 10,10 and its lower right corner at 30,30. The flag RB is similar, except it turns off the graphics points. Here's a simple exer- cise. Can you figure out what CLS: INVERT:PLOT RB,10,10 TO 30,30 would do? (Hint: It would produce a "black on white" figure.) CLS: PLOT SB,10,10 TO 30,30: INVERT would do the same thing. DRAW is more complex, but basi- cally it allows vector graphics on the TRS-80 screen. Vector graphics can be likened to drawing a line with a pencil that moves in short incre- ments. A previously filled array spe- cifies the direction and the number of increments the pencil should move each time it moves. [This is similar to shape tables used to draw graphic shapes on the Apple II. ...GVV] The structure of the statement is: DRAW (flag), @ x,y USING (vector array) The flags are S or R, with the same meaning as for PLOT, and x and y are the starting point of the line to be drawn. Thus, DRAW S, @ 30,30 USING A 352 November 1981 © BYTE Publications Inc Circle 441 on inquiry card. A STANDARD FOR PROFESSIONALS HP-67 289.95 HP-97 584.95 HP-33C SCI ... . 79.95 HP-34C SCI.... 114.95 HP-38C BUS/RE 119.95 HP-32E SCI 49.95 HP-37E BUS 59.95 HP-41.41CV CALL HP-85 CALL HP-83 NEW CALL HP-125 NEW COMPUTER SYSTEM CALL HP-11C NEW CALL HP-12C NEW CALL • APPLE II. II PLUS M6K. 32K. 4BK] • APPLE III •DOS 3.3 • APPLE PLOT • APPLE PASCAL I64K] • APPLE FORTRAN • VISICALC 16 SEC • VISIPLOT • VISITREND . APPLE WRITER . GRAPHICS TABLET • BPI |GL. AR, & PAYROLL) • MODEM • DOW JONES NEWS S QUOTES • DECISION EVALUATOR • CONTROLLER (GEN LEDGER] • MICRO-COURIER AUTHORIZED DEALER AND LEVEL 1 SERVICE CENTER • EPSON CENTRONICS OUME SILENTYPE ANAOEX SANYO. BW. COLOR. GREENSCREEN EXTENDED WARRANTY COMPLETE BUSINESS, EDUCATIONAL & GAME SOFTWARE AVAILABLE. HP-41C Complete Enhancements, Peripherals and Accessories The PHONE CONTROLLER BY DICTOGRAPH NOW 99.95 YOU'LL WONDER HOW YOU EVER GOT ALONG WITHOUT IT. NOW SAVE 1050 ECONOMY ANSWER. ...NEW119.95 ... 30. 1450 SMALL WONDER 189.95... 90. 1550 TOUCH SYSTEM 259.95... 120. 1750 VOICE ACTIVATE 229.95 . . . 100. 960 MEMORY DIALER HANDHELD NEW 79.95... 20. CODEvl-PHONE The Telephone Answering System® AND AMERICA IS GETTING THE MESSAGE. • Dials any ol 30 stored numbers ' ?m a e r L 2 uwmai,ca S |iy ayS " me *"" ^"^ ^ III I V^ WHERE MIRACLES NEVER CEASE • Automatically re-tries a busy phone a mm number ol pre-programmed times Af • Built-in speaker for group listening M. ___,.7'iJL,„ CA-90 INVADER GAME • For home and business use DEPTH-TESTED CALCULATOR WATCH 49.95 ^^^^^^^^^^^^^^^^^^^^ jRfflL TO 100 AA-81 2-WAY DIG/ANALOG ALARM 69.95 TOSHIBA WF^SBk METERS VL-TONE MUSICAL INSTRUMENT; CALC. 69.95 " '-'«—»■ ■' NOW »SSS*W W100 DEPTH TESTED ALARM CHRONO. .39.95 __ . „„ __ __ «CS« NOW FX7100 SCI CHRONO ALARM CALC . 49.95 BC-1232PV DQ QR ™B^ FX3500 sci programmable calc . 39.95 DIGITRON *^*^.«J*J m^m OQ QR frioo desk-top print/display 79.95 DESK TOP CALCULATOR ACCURATE CALCULATING AT HOME MANY 0THERS ALL „ GREAT p R i C ES! OR FOR BUSINESS WE WILL MEET OR BEAT ANY COMPETITOR'S PRICE ON MOST ITEMS IF HE HAS THE INNOVATIONS FROM Texas Instruments GET A $20 REBATE ON THE TI-59 PROGRAMMABLE. TI-54 SCI NEW . 39.95. SPEAK & SPELL. READ 59.95 TI-55II NEW ... . 44.95 SPEAK & MATH .... 59 95 TI-57 PROG SCI 39.95 TOUCH & TELL NEW 54 95 PC-100C IH9.95 TI-5100 DISPLAY ... 30 95 LCD-PROG NEW 59.95 TI-5010 HAND/PRINT 49 95 TI-30II NEW ... . 18.95 TI-5120 PRINTER ... 59 95 TI-35SPSCI ... 22.60 TI-5130 PRINT/DISP. 79 95 TI-40 SCI NEW . 2B.Hh TI-5135 PRINT/DISP. 79 95 BUS ANAL I ... 19.95 TI-5142 PRINT/DISP. 99 95 BUS ANAL II .. 44.95 TI-58C PROG CALC . IN 95 BUS CARD .... 39.95 TI-59 960 PROG 179 95 MBA 54.95 INVEST ANALYST . . 48.95 PLUG INT LIGH IANC ICAL CONTROL /sT-Ja CONTROL AND APPL AUTOMAT ES ft AND INSTANTLY. M TC 211 TIMER 59.95 TS 555 5 pc TIMER SET NEW 119.95 PK 300 3 pc MINI CONTROLLER 49.95 iySTEmX'IOMH THE SHARP EDGE EL-670 ELECTRONIC PIANO CLOCK/CALCULATOR . . NEW 69.95 CT-665E TALKING CLOCK NEW 99.95 EL-7001 ALPHANUMERIC CALC 139.95 CT-455E POCKET DIG/ ALARM CLOCK 24.95 EL-5100 PROG/ALPHANUMERIC 89.95 EL-6200 ALPHANUMERIC 99.95 EL-1188 HANDHELD PRINT/DISPLAY 49.95 EL-1182 DESK TOP PRINT/DISPLAY . 74.95 EL-5S13 SCIENTIFIC = PROGRAMMABLE 34.95 JS CHESS CHALLENGER 7 89.95 M" r SENSORY CHESS 129.95 MATTEL .ELECTROnieS 8 INTELLIVISION 259.95 GAME CARTRIDGES 27.95 HORSERACE ANALYZER 27.95 A TOUCH THE FUTURE ATARI 400 (16K) 294.95 ATARI* VISICALC AVAILABLE CALL _ MP600 CORDLESS HAND- i ifi \tM IDA HELD PHONE 189.95 1 it F"™**™** (700' RANGE) MERCHANDISE IN STOCK NEWPORT BEACH COSTA MESA 3211 S HARBOR BLVD SANTA ANA CA 92704 (714) 549-7373 WRITE OR CALL FOR FREE CATALOG All units shipped in original factory cartons with accessories according to manufacturer s speci- fication Visa. Mastercard. S Order. Pers Ck (14 wrkg days to clean, COD accepted Mm $4 95 for shipping in U S A. Air on reqst CA res add 6% sales tx All mdse subject to availability, prices subiect to change Send orders to dept WILSHIRE CENTER 3285 WILSHIRE BLVD (213) 385-7777 PASADENA 260 S LAKE AVE (213) 795-3007 BREA 1080 E IMPERIAL HWY (714) 990-6600 LOS ANGELES 11986 WILSHIRE BLVD (213) 820-0423 TARZANA 18665 VENTURA BLVD (213) 705-7507 TORRANCE/LAWNDALE 16611 HAWTHORNE BLVD (213) 370-5795 Professional Discounts Circle 105 on inquiry card. would produce a complicated line starting at the point 30,30 and using the directions and lengths specified in the array "A". The complications oc- cur in setting up the array. Listing 3 is a short vector-graphics program; photo 1 shows its results. The length of the increments (which specifies the scale of the drawing) and the rotation of the drawing can also be controlled by poking values into two locations in memory (see listing 3). One limita- tion of the vector graphics used here is that the direction of movement of the "pencil" can be specified only in 45-degree increments. Photo 1: The output from the simple vector-graphics program given in listing 3. ENHBAS's DRAW, PLOT, and INVERT statements make it easy to program these graphics. Can your ALPHA MICRO understand : I want to see every contributor whose donation was more than $1,000 and whose zip code is between 06500 and 06575. The status cannot be defaulted but must be pledged or given. } y •• Please rank all medications except ampicillin for me. The diagnosis must not include fracture and the date of visit should be past 1 5 80 but prior to 14 February 1980. The time ol visit must be later than noon but before 4:30 PM. I also want the patients age to be greater than 2 years 8 months yet younger than 10 yrs. y J DERVISH ™ 2.0 UNIVERSAL DATABASE MANAGEMENT SYSTEM CAN! □ powerful, very sophisticated English language inquiry processor □ up to 80 fields □ up to 70 characters per field; more than 5500 characters per record □ multiple databases of hundreds of thousands of dynamically allocated, tightly packed records possible □ ultra-fast ISAM retrieval of any (or all) selected text fields D user-controlled database design — all files (even ISAM !) created automatically □ nine self-formatting field types including cash, age (interval), and phone D data entry and update facilitated by formatted screens and error checking □ optional user-designed entry screens D individualized form letters, directories, and documents □ labels □ user-designed reports with column, row, and grand totals □ automatic transfer of data to and from user application programs □ automatic transfer of records to create subset or superset databases □ global field and subfield search-and-replace □ data encryption and decryption □ comprehensive documentation — written in English! □ suitable for business, professional, or scholarly applications D no programming or operating skills needed; youngest known user is 1 2 years old! ALPHAMICRO™ trademark of Alpha Microsystems, Irvine CA DERVISH "trademark of Clinical Analytics, Inc., New Haven, CT clinical analytics, inc. 77 Everit St., New Haven, CT 0651 1 (203) 787-3952 Screen Control The first of the screen-control state- ments, LEFT, is really a command and is most useful in graphics. Its ac- tion is simple: it moves everything on the screen one character to the left. This is useful for moving graphs. For example, a sine wave might be drawn onto the screen using SET, and if LEFT were used each time a SET was done the sine wave would travel across the screen. Moving bar graphs and fancy moving graphics are also possible, especially if you combine LEFT with DRAW. SCROLL produces professional- looking output: it splits the screen into two sections, protecting the up- per section from scrolling while allowing the lower to scroll in the usual way. SCROLL is enabled by the statement SCROLL = SET, which also clears the screen. SCROLL = 4, for ex- ample, then prevents the upper four lines from scrolling; they will stay in place during a listing or output from a program. SCROLL = RESET disables the scroll-protect feature. I like to use this feature when modifying pro- grams by using it in the command mode. I can "lock" a few program lines on the upper screen and use the lower for modifications and listings. Simply typing SCROLL = RESET then brings me back to the normal mode. The screen-clearing feature can be annoying; I would prefer to be able to control clearing separately by using CLS. Printer Formatting The two printer-formatting state- ments are simple but valuable. CLM (integer) sets the maximum column width (in characters) before a wrap- around. This is necessary on printers that truncate the end of a line, and useful on others. I use a 14 Vz -inch- wide printer format, and CLM lets me specify that the output would be nar- rower, thus allowing narrower paper for some applications. The default column width is 80 characters, which surprised me when I first listed a pro- gram with long lines. The command PAGE (number) specifies the number of lines that will be printed on each page. When the 354 November 1981 © BYTE Publications Inc Circle 70 on inquiry card. Lifelines* The serious publication for the serious software user. October 1981. Vol. 2 Issue #5 i SB The Software Magazine 1 More of Ward Christensen's popular 8080 programming tutorial. An Assembly Language Interface to PL/1-80™. Tips on starting your own computer bulletin board. A comparison of two dental office management packages. Catalogs and abstracts describing two new volumes from The CP/M Users Group. More on random number simulations. PL/l-80 is a trademark of Digital Research, Inc. CP/M is a registered trademark of Digital Research, Inc. The CP/M Users Group is not affiliated with Digital Research, Inc. Copyright ©1981, by Lifelines Publishing Corp. Lifelines is the publication dedicated to keeping you up-to-date on happenings in the explosive micro- computer world. Lifelines specializes in news about software for CP/M® and similar operating systems. Lifelines does it with a guarantee of high level, in-depth analysis of software uses and capabilities. Lifelines does it with valuable information necessary to make intelligent software buying decisions. Lifelines does it with the latest information on The CP/M Users Group. Lifelines does it with thought provoking discussions on many of the more controversial issues facing computer users. How can you live without Lifelines? Subscribe Now! $18.00 for twelve issues: U.S., Canada, and Mexico. $40.00 for twelve issues: all other countries. $2.50 for each back issue: U.S., Canada, and Mexico. $3.60 for each back issue: all other countries. All orders must be pre-paid by check to: LIFELINES, 1651 Third Avenue, New York, N.Y 10028 — Checks must be in U.S. $, drawn on a U.S. bank. Or use your VISA or MASTERCARD. Call (212) 722-1700 Lifelines is a registered trademark of Lifelines Publishing Corp. The Software Magazine is a trademark of Lifelines Publishing Corp. Circle 227 on inquiry card. BYTE November 1981 355 IT TOOK A BIT OF GENIUS TO PUT A SMART CRT TERMINAL ON ONE BOARD FOR ONLY $425. Only Standard Microsystems could build so much CRT capability in a small terminal-on-a-board at such a low price. Our new Hawk 1 video terminal module gives you the circuitry you need to build a truly smart terminal. The Hawk is available in either 24 x 80 or 16 x 64 displays. It has an easy-to-read 7x11 dot matrix in a 9 x 12 dot character field. With up to 64 graphic characters. It can give you underlining, reverse video, character blinking, half intensity and char- aracter blanking. Editing features include character insert/delete, line insert/delete, tab operations and full/par- tial screen erase. It has such communica- tions features as a full RS-232 I/O port with 8 se- lectable baud rates and an auxiliary RS-232 printer output port. Other features include 50 or 60Hz screen frame rate; both direct drive and composite video outputs; on-board alarm and on-board CRT brightness and contrast controls. In addition to the standard program provided, it can be user custom-programmed via two on-board ROM sockets. You just connect a key- board, a monitor and a power supply and you're ready to go. Imagine being a bit of a genius yourself for only $425. Send for our data sheet for complete details. STANDARD MICROSYSTEMS CORPORATION^ 35 Marcus Blvd. Hauppauge, NY 11788 (516) 273-3100 Please send more information on the Hawk 1. Name Title Phone City/ State/Zip. BY 11 81 STANDARD MICROSYSTEMS DISTRIBUTORS ARIZONA MICHIGAN Celec Moltromcs Diplomat Electronics, Inc. Phoenix Farmington (602)272-7951 (313) 477-3200 Kachma Electronic Dist. MINNESOTA Phoenix Diplomat Electronics, Inc. (602)269-6201 Fridley Kachma Electronic Dist. (612) 572-0313 Tucson (602) 792-2223 NEW JERSEY Diplomat Electronics. Inc. CALIFORNIA Totowa Celec Moltromcs (201) 785-1830 South Gate Diplomat Electronics, Inc. (213) 773-6521 Mt. Laurel (714) 521-7412 (609) 234-8080 Cetec Moltromcs Falk-Baker Assoc. San Jose Nutley (408) 263-7373 (201) 661-2430 Celec Moltromcs (201)661-2431 San Diego NEW MEXICO (714) 278-5020 Bell Industries Diplomat Electronics, Inc. Albuquerque Sunnyvale (505) 292-2700 (408) 734-1900 NEW YORK NESCO Diplomat Electronics Van Nuys Melville (800) 423-2664 (516) 454-6400 NESCO Diplomat Electronics San Diego Liverpool (714) 292-7349 (315) 652-5000 Western Mrcrotechnology Current Components Sales Hauppauge Cupertino (516)273-2600 (408) 725-1660 Zeus Components Corp. Zeus/West Inc. Melville Anaheim (516) 752-9551 (714) 632-6880 Zeus Components, Inc. COLORADO Port Chester Bell Industries (914) 973-7400 Wheatridge NORTH CAROLINA (303)424-1985 Hammond Electronics, Inc Diplomat Electronics, Inc. Greensboro Englewood (919)275-6391 (303) 740-8300 OHIO CONNECTICUT Target Electronic Corp. Diplomat Electronics. Inc. Solon Danbury (216) 248-7930 (203) 797-9674 Applied Data Management Cincinnati FLORIDA Diplomat Electronics. Inc. (513)579-8108 Clearwater OKLAHOMA (813)443-4514 Quality Components Diplomat Electronics, Inc. Palm Bay Tulsa (918) 664-8812 (305) 725-4520 PENNSYLVANIA Diplomat Electronics, Inc. QED Electronics, Inc. Fort Lauderdale Hatboro (305)971-7160 (215) 674-9600 Hammond Electronics, Inc. SOUTH CAROLINA Orlando Hammond Electronics, Inc (305) 849-6060 Greenville (803) 233-4121 GEORGIA Diplomat Electronics Norcross TEXAS Quality Components, Inc. (404)449-4133 Addison (214) 387-4949 ILLINOIS Quality Components, Inc. Diplomat Electronics. Inc. Houston Bensenville (312)595-1000 Mar-Con (713)772-7100 Quality Components, Inc. Austin Skokie (312) 675-6450 (512) 835-0220 UTAH MARYLAND Bell Industries Whitney Distributors, Inc. Salt Lake City Baltimore (801) 972-6969 (301)944-8080 Diplomat Electronics, Inc. Diplomat Electronics, Inc. Salt Lake City Columbia (801)486-4134 (301)995-1226 CANADA MASSACHUSETTS Future Electronics, Inc. Diplomat Electronics, Inc. Montreal, Quebec Chicopee (514)694-7710 (413)592-9441 Future Electronics, Inc. Diplomat Electronics, Inc. Downsview, Ontario Holliston (416) 663-5563 (617)429-4120 Future Electronics, Inc. RC Components Vancouver, B.C. Wilmington (604) 438-5545 (617)657-4310 Future Electronics, Inc. Zeus/New England. Inc. Ottawa, Ontario Burlington (613) 820-8313 (617)273-0750 lines have been printed, the TRS-80 sends blank lines until the top of the next page is reached. Each page is as- sumed to have a total of 66 lines, printed and blank; if your printer has a different page length, you can change the default by POKEing the correct number in location 16424. Im- mediately after turning on the com- puter, I normally set PAGE (at 55) and CLM (at 132) by using a CHAIN file in NEWDOS/80 (see listing 1). Other Features ENHBAS has many other useful statements and related functions. By far the most powerful of these is EXEC (string), which executes a string as a program statement. For example: A$="Y = X + 2*SIN(X)":EXEC A$ executes the statement Y = X + 2*SIN(X). Using EXEC, you can define statements as strings and re- peatedly execute the statements in the program. This can eliminate a lot of GOSUB s to short subroutines. You can also construct statements using string manipulation and then execute them. In theory it is even possible to write a BASIC program that will write another program. A similar routine is EVAL, al- though it is really a function rather than a statement. The statement EVAL (string) evaluates a string as if it is an algebraic expression. Thus: A$="X + 2*SIN(X)":Y = EVAL(A$) does the same thing as the example in the previous paragraph. As with EXEC, you can have the program manipulate the strings. As an exam- ple of an application for teaching pro- grams, a student can enter a function as a string, and that function could then be evaluated, plotted, etc. I have by no means explored all of the uses of EVAL and EXEC, but they seem to offer a host of possibilities in instruc- tional programs and even a variety of artificial intelligence. Another miscellaneous statement is POP. POP allows a graceful exit from a subroutine before its end is reached. Suppose a subroutine at line 200 calls another at line 400. A normal branch out of the second subroutine would mean that the next RETURN would bring the program to the point where the second was called in the first sub- routine. If POP has been executed, however, the "return to 200" would be eliminated and execution would be returned to the main program. This is similar to the EXIT command in some other BASICs. Usually POP is used with some kind of IF statement or other conditional branch. WPOKE and WPEEK place and retrieve 16-bit integer values to and from memory. For example, WPOKE (28560), 2992 pokes the integer value 2992 into location 28560 and 28561 (2 bytes are needed to store an integer). WPEEK (28560) then retrieves the number. PRINT WPEEK (16561) returns the memory size that had been set on entering BASIC, for ex- ample. WPEEK can be particularly useful in conjunction with VARPTR. The simplest of the new functions (including WPEEK and EVAL, which have already been described) are PI and EN. PI simply returns the value of 7r, and EN the value of the ex- ponential constant e (the base of natural or Napierian logarithms). Either single or double precision is returned, depending on the precision of the assignment variable. A! = PI would set A! to 3.14159, while A# = PI would give A# the value of 3.141592653589793. BIN$ and HEX$ return a string that expresses the binary or hexadecimal value of an integer. A$ = BIN$(10432) assigns "0010100011000000" to A$; A$ = HEX$(10432) assigns "28C0". I wondered why such functions weren't included in disk BASIC. Now I wonder why a function OCT$ wasn't included in ENHBAS. SIZE is the simplest function or statement in this whole package. It re- turns the length (in bytes) of the resi- dent program, in the same way that MEM returns the remaining memory; three years ago I thought a similar function should have been a part of Level I BASIC. WINKEY$ is another function that should have been a part of an earlier Circle 392 on inquiry card. November 1981 © BYTE Publications Inc 357 version of the TRS-80 BASICs. Al- though similar to INKEY$ in that it takes a value from the keyboard without waiting for ENTER to be pressed, WINKEY$ waits until there is an input. While INKEY$ must be put into a sometimes complex loop structure, WINKEY$ can stand alone. This results in code that is shorter and easier to read and allows some input structures that were, previously, nearly impossible. BASIC is probably the consumate interactive language, and WINKEY$ is a function that makes interaction even easier. PLAY (string) sends a sequence of tones to the cassette port. The first byte of the string specifies the tone and the second and third the dura- tion; this sequence is repeated, 3 bytes at a time, to specify a tune. While it is possible to write simple melodies this way, it isn't easy. The tones are not linear functions of the byte values, and the actual duration depends not only on the two duration bytes but also on the tone value. Thus, writing a tune is a trial-and- error procedure. The command is useful for producing audible prompts in a program, and by using short durations and variable tone values, you can achieve such noise effects as "raspberries," ricochets, and rocket blasts. CALL should also have been a part of Level II or of disk BASIC. CALL does the same thing as a USR function but in a different way. USRU) calls a machine-language routine whose en- try location has been specified in a DEFUSR statement: CALL does this, but directly. CALL 22856, 56 puts the value 56 into the HL register pair and begins executing a machine-language routine at location 22856. Although this function is simple to use, it must have been difficult to incorporate into ENHBAS. ENHBAS on Other Systems I have used only the Model I disk and tape versions of ENHBAS. The tape version provides all of the en- hancements mentioned above plus the disk-BASIC enhancements (ex- cept those used for disk control and the multiple USR calls, and CALL eliminates the need for the latter). The tape version is entered by using the SYSTEM command. Cornsoft has assured me that the only difference in the Model III version is that it did not at first support the printer-formatting options. By the time you read this, that problem should be corrected. The Model II version of ENHBAS is superior to the Model I or III, largely because of the way the Model II handles interpreted BASIC. The Model II version includes some func- tions (like POKE and PEEK) that should have been included with the original system, as well as all the enhancements that are available for the Model I and III and a variety of others. The complete command set for the Model II version of ENHBAS is summarized in table 1 (taken from Cornsoft's advertising literature). An Overview of ENHBAS ENHBAS is outstanding software. Good software without support, however, isn't worth much. Support includes documentation, advice from the vendor, updates and modifica- tions, and simple things like delivery and packaging. With ENHBAS, these are as outstanding as the software itself. For $5, and the return of your original ENHBAS disk, Cornsoft will provide updates. Command Meaning DIR Display disk directory FIND List line with specified label TAG Mark array to tag along at sort time SCLEAR Initialize SORT command ATOP Set top limit for SORT JNAME Identifies a label for use by GTO and CSUB GTO Special GOTO, allows labeled and calculated GOTOs CSUB Similar to GTO except accomplishes a GOSUB RDGOTO RESTORES at specified line number RDGTO RESTORES at specified label WHILE/WEND Structured loop construct (WHILE cond;: code: WEND) INSERT Moves entire file up by n records at specified point OVERWRITE Deletes n records in file starting at specified point TSET With INDEX FILE, specifies master file record as USED TRESET With INDEX FILE, specifies master file record as FREE CURSOR Allows changing of system cursor EXEC Executes a string expression as a program statement ON BREAK GOTO Branch to line number when the BREAK key is hit BRL Line at which BREAK was hit when branched to ON BREAK ... OUTPUT Acts as PRINT when exp = 0, LPRINT when exp = 1 , can also send data to the RS232 ports POP Removes last GOSUB PUSH PUSHes a line or label address on the GOSUB stack SCROLL Sets number of lines to scroll-protect on the screen TITLE Automatically prints information at specified printer line WPOKE POKEs a 16-bit number at specified address PI Function, returns the value of pi ENV Function, returns the value of "e" (base of natural log) BINS Function, returns 16-digit binary string of expression LOWERS Function, converts string to all lowercase UPPERS Function, converts string to all uppercase SCREENS Reads a byte from the screen DISKIDS Reads disk id from any disk drive WINKEYS Like INKEYS except automatically loops until key hit ALLOC Function, returns number of files allocated FREE Finds first free entry in Index File (see TSET/TRESET) CALL Function, CALLS machine-language subroutine EVAL Evaluates a string expression as an algebraic expression RS232 Function, reads a byte from RS232 Port A or B SIZE Returns size of current program WPEEK 16-bit PEEK POKE Places number at specified memory address PEEK Function, returns contents of specified memory address CLM, PAGE Sets maximum page length and line length without FORMS EPUT, EGET Allows records lengths in excess of 256 bytes SEARCH Searches disk file (EGET/EPUT or GET/PUT type) for specified key PAGELEN Memory address of FORMS page-length variable PROW Memory address of FORMS page-length printer row Table 1: A summary of the command set of ENHBAS for the TRS-80 Model II. 358 November 1981 © BYTE Publications Inc SVA MAKING APPLES GROW CP/M • PASCAL • APPLE DOS MEGABYTE* SYSTEM The AMS 8000 Megabyrer System is for the serious user who wonts to expand the capability of his Apple* by incteasing online data storage, ond reducing disk handling. It brings a new dimension to your Apple, making your data portable to other computers and gives you the re- liability associated with IBM standatd 6" floppy disks. The AMS 6000 provides an Apple memory system with Vi to 4 Mega- byres of removable, online, easy-to-use Apple formatted data ready to plug-in and opetafe. The system is at home in any setting and matches the styling of your Apple. The AMS 8000 preserves your current software investment by main- taining rigid compliance with APPLE DOS interface specifications. Since standard Apple D05 commands are used, most software currently running under APPLE DOS 3.2, 0.3, Apple UCSD Pascal 1.1, or Microsoft CP/M*2.2 will run with AMS 6000. Apple mini disks may be used at any time. Because of the IBM 3740 single density format, you now have the opportunity to exchange data with other computers such as IBM, INTEL, Radio Shack, DEC, etc. or operating systems like CP/M, UCSD Pascal, etc. The controller circuitry utilizes a state-of-the-art LSI floppy disk controller and dara separator to provide automatic single and double density operation. A proprietory high speed SOFT-DMA data transfer tech- nique guaranrees compatibility with all other DMA cords and will not interfere with memory refresh. 7ot a cost effective, teliable, and software compatible memory sys- tem from the originator of 6" floppy disk systems for the Apple, try rhe AMS 6000 from SVA . . . SVA means Business. •Trademark Apple Computer. CP/M Trademark Digital Research. Look what the complete AMS 8000 memory system with its field proven hatdware and complete support software, deluxe industrial quality cabinet, reliable industry standard IBM 3740 8-inch floppy disk drives, dual density controller, self-contained power supplies and high density cooling means to you: INCREASED STORAGE & FLEXIBILITY • Increase online storage up to 4 Mega bytes • Expand your maximum accounts and file size • Add high speed efficient hard disk backup IMPROVED COMPATIDIUTY • Operare with single AND double density DOS, CP/M, Pascal • Enhance your existing mini-disks and software • Copy any IBM 3740 or IBM Sysrem 34 Format 8" disk • Interchange dara with other computers SIMPLIFIED OPERATION • Utilize standard Apple DOS and DOS commands • Reduce disk handling and I/O slot usage • Gain automatic single/double density operation • Gain automatic single/double sided drive operation • Change to voice coil drives with one switch SEVEN DAY BURN IN AND TEST POLICY • 1 Year Warranty £SVA> SORRENTO VALLEY ASSOCIATES 11722 Sorrento Valley Road San Diego, CA 92121 (714) 452-0101 Circle 386 on inquiry card. BYTE November 1981 359 Since Cornsoft Group is a new, small firm, I was apprehensive when I ordered ENHBAS. Experience with other vendors (some of them large and well-known) had led me to expect some bugs, poor delivery time, shoddy documentation, and so on. In this case, I expected to receive a padded manilla envelope with a crimped disk and some photocopied, jargon-laden documentation. Instead, within three days of placing a phone order, I received a box with a well-de- signed, blue 3-ring binder containing a disk and 55 pages of documen- tation. The documentation is superb. The page layout and format are pleasing and each feature is presented in logical sequence and described clearly and with good examples. (I find the documentation easier to use than either the Level II or disk BASIC manuals from Radio Shack and much superior to the documentation forNEWDOS, GSF, RSM2D, or even Microsoft's FORTRAN or BASIC compiler — and all those are excellent software.) The text is clearly written and, in contrast to most software documentation, not intimidating. It took me about three hours to feel comfortable with most of the features and the same should be true for anyone who knows the rudiments of BASIC and the TRS-80. I do wish ENHBAS could handle matrix mani- pulation and had automatic-key re- peat, but you can't expect everything. Are there any disadvantages? Some are to be expected with any product of this complexity, but all are minor, including the few mentioned above. Since ENHBAS includes new func- tions and statements, there are new reserved words, and that is some- times inconvenient. For example, a program with the variable PI will not run with ENHBAS; you have to change the variable's name. And ENHBAS occupies a considerable amount of memory (I was thrown out of Scripsit a few minutes ago because ENHBAS was still loaded and pro- tected). ENHBAS size in memory would be most important to those with 16 K- or 32 K-byte systems. The tape version occupies the same memory as do the disk overlays and leaves about 10.5 K bytes of usable memory in a 16 K-byte system. As mentioned above, with disk BASIC you have to relocate or not use any programs running in the top 4 K bytes of memory; they would overlap ENHBAS. When I first used ENHBAS I ex- pected it to run more slowly than disk BASIC. For the most part, I was pleasantly surprised. ENHBAS is slower by a factor of about 3 when executing a simple empty FOR-NEXT loop, but that seems to be about the only thing that is slower. If a function (like SIN(X)) is included in the loop, then the slower speed becomes in- significant. Programs with delay loops might need modifications, but everything else seems unaffected. I also thought that a labeled branch might be slower; if anything, it is faster than a branch to a line number. There is no need to fear that ENHBAS will be slow. Conclusions • ENHBAS is a software package that occupies about 4 K bytes of RAM and enhances the operating en- vironment and the versions of BASIC for the TRS-80 Models I, II, and III. The operating environment provides a true control key, statement ab- breviations, key click, a bell, audible prompts for BREAK and errors, printer formatting, and page skip, among other features. The BASIC en- hancements include sort routines, branching to labels and other new branching methods, WHILE/WEND structure, line and vector graphics, CALL to a machine-language routine, and a number of other features, for a total of 32 new statements and func- tions. • The BASIC enhancements follow normal syntax and are easy to learn and use. The system is easy to load, and except for the memory overhead, is transparent to the operator. • User support is excellent. Doc- umentation is clear, complete, sprinkled with useful examples, and packaged in an attractive 3-ring binder. The vendor provides excellent support and is willing to answer ques- tions. • The software is almost com- pletely bug free. It was used for a year before commercial release and has been thoroughly tested and proved. ENHBAS seems to be one of the best thought-out and produced pieces of software available for the TRS-80. ■ The Future with the Cornsoft Group For the last four years a very few firms (like Microsoft) have dominated the design of operating systems, com- pilers, and interpreters. Others, like Randy Cook, Apparat, North Star, and Ohio Scientific have been excep- tions, and a few individuals like Lance Micklus have produced some excellent software. The Cornsoft Group has the explicit, admitted intent of challenging the big companies, and ENHBAS proves that Cornsoft knows how to do it. The excellence of ENHBAS has made me wonder about other Cornsoft products. I talked at some length with Philip Oliver, the author of ENHBAS, and learned that Cornsoft had also sold an ingenious compiler for integer BASIC. The compiler handled a subset of Level II plus some of ENHBAS and produced code that could be assembled by Radio Shack's Editor-Assembler. It was a good way to learn assembly lan- guage, and since source code was pro- duced, you could enhance programs by using the TRS-80 editor — it's one of those simple ideas that we all wish we had thought of. Sadly, that product was discontinued due to lack of customer interest. Oliver is now at work on a BASIC compiler that will handle all of Radio Shack BASIC plus the ENHBAS en- hancements. This second compiler will produce machine code (not source code like their present compiler), and should rival Microsoft's compiler. Since Cornsoft's machine-code com- piler will be written specifically for the TRS-80, it will use the more efficient ROM routines when appropriate, but its own routines when they are faster. The run-time package (and required disk storage) should be much smaller than for the Microsoft compiler. If Cornsoft is successful in all that it projects, we can expect a trend toward better and better software — spec- ifically, software designed for par- ticular systems, not adapted from one to another. 360 November 1981 © BYTE Publications Inc FMS-8C I Organizes your Organization MS-80, a data base management system, offers the user a quick and easy way to organize and efficiently manipulate data so sound decisions . can be made on facts displayed. FMS-80' is the most po ful stan alone DBM program available^ I the micr compute industry. Complet* menu dr and writ language it offers these features: • User definable File Definitions Screen Displays \ Reports (with fc . math and field break analysis) Selection Criteria (on any or all fields) Menus (that ap- plications programs can be selected from) • Instantaneous data query on indexed records. • Mathematical manipulation of numeric data fields using the report generator or the programming language EFM (Extended File Maintenance) • Easy to use video "how to" training tapes are available. • Manipulation of up to 19 differ- ent data files (using EFM) at one time and display^,. ■; ing this informat'"" on- the screen, ■ \ / rating reports, generating other data files or on- line updating of input files that already exist FMS-80 is able to call other programs like sub- routines in EFM , FMS-80 is able to read data files that other programs have generated No restrictions to record size other than avail- able RAM memory space Operates under CP/Mf MP/M* or CDOS 09 FMS-80 allows the flexibility to quickly create" programs that allow data to be 4 .- - "^ entered in a y > ^ m *^m- — -3R "* I form that aB> fl gb . .—*•». Q ■■ a secretary * i£*A ft-"" 5 ' * \** recognizes and * generates reports that the manager requires. If you're continuously asked to do applications programs and don't have time to do it in BASIC, consider FMS-80. For additional information contact Systems Plus, . 3975 East Bayshore, Palo Alto, CA 94303. Phone 415/969/7047 Systems Plus Circle 400 on inquiry card. BYTE November 1981 Atari is hot S& The ATARI® 800™ Computer is getting rave reviews. High resolution color graphics and English characters; high quality sound; and sleek, modular appearance have made the 800 a "must have" for many computer users. Expandable memory, advanced peripheral components, and comprehensive software library make ATARI a really hot deal, whether your application is business, professional or personal. SPECIAL OFFER - ASAP makes the ATARI® 800™ the hottest deal in town by offering 16K bytes of additional RAM . . . FREE! You get 32K for the price of 16K. So don't get caught out in the cold. Call ASAP today. OPTIONAL ACCESSORIES PRICE ATARI® 410™ Program Recorder $ 60.00 ATARI® 810™ Disk Drive $ 455.00 ATARI® 815™ Dual Disk Drive $1195.00 OPTIONAL ACCESSORIES C0NT. PRICE ATARI® 820™ 40-column Dot Matrix Impact Printer ... $ 279.00 ATARI® 822™ Thermal Printer $ 349.00 ATARI® 825™ 80-column Dot Matrix Impact Printer. . . $ 625.00 ATARI® 830™ Acoustic Modem $ 159.00 ATARI® 850™ Interface Module $ 159.00 ATARI® Paddle (CX30-04) or Joystick (CX40-04) $ 17.95 Light Pen (CX-70) $ 64.95 Complete Software Library includes these popular units: Star Raiders $ 34.00 Space Invaders $ 15.95 Assembler Editor $ 42.00 Missile-Command $ 30.00 Asteroids $ 30.00 Systems With Spice is£K. Spice up your S-100 or Apple II™ with system enhancements from ASAP. From motherboards and mainframe cabinets to I/O boards and RAMs, we have the California Computer System product that will give you the added capability you need. FOR S-100 USERS 32K Static RAM Board — 200 ns rams. compatible with Alpha Micro. Cromemco and others. 32K memory divided into 8K blocks. Fully static 2114 RAMs. Assembled and tested. Part Number 2032C Price: S610.00 16K Static RAM Board — 200 ns rams. compatible with Alpha Micro, Cromemco and others. 16K memory divided into 4K blocks. Assembled and tested. Part Number 2116C Price: $290.00 64K Dynamic RAM Board — For soso and Z-80 based S-100 systems. Provides processor-transparent refresh. 200 nS. 4MHz. Supports IMSAI-type front panels. Expandable. Assembled and tested. Part Number 2065C Price: $550.00 Z-80A CPU Board — 2 or 4MHz. switch selectable. 158 instructions, including 8080's 78 instructions tor total 8080 software compatibility. 2K monitor ROM and RS-232-C port on-board. Assembled and tested. Part NumbBr 2810A Price: S239.00 Floppy Disk Controller — controls up to four 5'A" and 8" drives in any combination. Double-sided and side-select signals for double-sided drives. Compatible with IBM 3740 and System 34 standards. Part NumbBr 2422A Price: $335.00 CP/M'" Version 2.2 Free With Purchase S-100 Mainlrame — 12-slot motherboard. Active termination on all bus lines. Built-in power supply, fan and circuit breaker. "Double path" trace pattern. Solder plated circuit area. Assembled and tested. Part Number 2200A Price: $475.00 2201A|220VAC|... $47500 S-100 Motherboard — 12-siot capacity using standard S-100 connectors. Capable of supporting CPU's at 4MHz and above. "Double path" trace pattern. On-board voltage regulator. Part Number 2501A Price: $150.00 4-Port Serial I/O Interface — 4 individually-controlled asynchronous ports. Fully butfered inputs and outputs. Includes ROM circuitry for 2716 2K EPROM (user supplied). Ports meet RS-232-C interface specs. 3 control and 3 status registers per port. Part Number 2710A Price: S265.00 2-Serial. 2-Parallel 1/0 Board — Fully buffered inputs and outputs. Includes ROM circuitry for 2716 2K EPROM (user supplied). Parallel ports have full four-line-per-port handshaking and 8-bit data transfer. Serial ports meet RS-232-C interface specs. Port A transmits and receives in asynchronous mode: Port B in either synchronous or asynchronous. Part Number 2718A Price: $275.00 4-Port Parallel 1/0 Board — 3 1/0 ports and one output port. Seven bit status register. Fully buffered inputs and outputs. ROM circuitry for 2716 2K EPROM (user supplied). Ports provide 8-bit parallel data transfer: TTL-compatible. Part Number 2720A Price: $195.00 FOR APPLE II™ USERS Synchronous Serial Interface — Compatible with RS-232-C (configurations A thru E, 1978). Supports full or half duplex. DTC type interface. Part Number 771 2A Price: $149.00 Programmable Timer — Time events in continuous, single shot, frequency compar- ison and pulse width comparison modes. Interface patch area for custom interface applications. Part Number 7440A Price: $ 95.00 Asynchronous Serial Interface — RS-232- C compatible (configurations A thru E. 1978). DCE type interface: supports half or full duplex operation. Part Number 77I0A Price: $139.00 Calendar/Clock Module — Accurate, real- time counting. Software programmable for 12- or 24-hour format. Each decimal digit of data is separately addressed for freedom of data format. Part Number 7424 Price: S 99.00 3% Digit BCD A-to-D Converter — Converts DC voltages to BCD numbers for monitoring and anaylsis. 400 mSec per conversion. -3.999 to +3.999 VDC full scale. ±5% non-linearity. Part Number 7470A Price: $ 95.00 12K R0M/PROM Module — Capable of accepting operating systems, system patches or firmware in 2K increments of mixed ROM or PROM. Addressable 12K in any of 4 16K blocks. 2316E ROM and 2716 PROM compatible. Part Number 71 I4A Price: $ 65.00 Parallel Interface — Two bidirectional 8-bit buses for interface to peripherals. Two pro- grammable control registers. Four individ- ually controlled interrupt input lines, two usable as peripheral control outputs. Part Number 7720A Price: $ 99.00 Arithmetic Processor — Add, subtract, and divide: trig and inverse trig functions: square roots, logarithms and exponentiation. Fixed point 16 and 32-bit operation. Part Number 781 1 A Price: S349.00 Centronics Printer Interface — interfaces high-speed Centronics-type parallel printers to Apple IP computers. Features 8-bit parallel data output bus. 4-bit status input. Data Strobe and Acknowledge handshake signals and printer reset signal. Part Number 7728A Price: $ 95.00 computer ■ products, inc. 362 BYTE November 1981 Circle 34 on inquiry card. DISK DRIVES ASAP carries only the highest quality floppy disk drives, to provide you with years of trouble-free service and superior performance. Data Trak'" 5 (ANSI 5'A" compat- ibility) Call for price Data Trak'" 8 (IBM compat- ibility) Call for price Model 801 (standard floppy] $425.00 Model 850 S640.00 Dual Disk Drive Cabinet $225.00 ASAP also provides a full line of high relia- bility disk drive subsystems'. DDC+8 sgl — Cabinet for single 8" floppy disk drive S 185.00 DDOB-1 — Cabinet with (1) Shugart SA801R installed S 595.00 000*8-2 — Cabinet with (1) flume® DT-8 double-sided double-density drive installed S 695.00 DDC+8B-3 — Cabinet for dual 8" floppy disk drives S 275.00 •All cabinets come complete with power supply. C0M80-8 — Dual cabinet for 8" floppy disk drives (horizontal mounting) ... $ 265.00 C0MB0-9 — Cabinet for 8" floppy disk drives (vertical mounting) $ 265.00 C0M6W9+1S — Dual cabinet with (1) Shugart SA801R installed (horizontal or vertical mounting) $ 725.00 C0MB0-8/9+2S — Dual cabinet with (2) Shugart SA801R's installed (horizontal or vertical mounting) S1150.00 C0MB0-8/9+1 — Dual cabinet with (1) Qume"" DT-8 double-sided double-density drive installed (horizontal or vertical mounting) S 865.00 C0MB0-8/9+2Q — Dual cabinet with (2) Qume* DT-8's double-sided double-density drive installed (horizontal or vertical mounting) $1385.00 X5 — Cabinet for desk top main frame (small power supply) S 200.00 800TJ — Cabinet for desk top mainframe (standard power supply) $ 255.00 fan and internal cables. DISKETTES from ASAP 8" DISKETTES Part# Sides/Density Sectoring Price D-0506 1/Single Soft 10/S45.00 VERBATIM 0-0605 2/Double Soft 10/S65.00 5'/." DISKETTES SCOTCH 3M Partff Sectoring Price 5'/." DISKETTES MD525-01 Soft 10/127.50 Parl# Sides/Density Sectoring Price MD525-10 Hard 10 10/S29.50 744-0 1/Single Soft 10/S33.00 MD525-16 Hard 16 10/S29.50 744-10 1/Single Hard 10 10/S33.00 8" DISKETTES 744-16 1/Single Hard 16 10/S33.00 FD32-1000 Hard 10/S35.D0 745-0 2/Double Soft 10/S59.00 FD34-1000 Soft 10/S35.00 745-10 2/Double Hard 10 10/S59.00 MEM0REX 5V«" DISKETTES 745-16 2/Double Hard 16 MAXELL 5'A" DISKETTES 10/S59.00 Part* Sides/Density Sectoring Price MEM 3401 1 /Single Soft 10/525.00 Part* Sides/Density Sectoring Price MEM 3403 1 /Single Hard 10 10/S25.00 MD1 1 /Single Soft 10/539.00 MEM 3405 1/Single Hard 16 10/S25.00 MD2D 2/Double Soft 10/S65.00 MH1 1/Single Hard 16 10/S39.00 8" DISKETTES MH2D 2/Double Hard 16 10/S65.00 Part* Sides/Density Sectoring Price 8" DISKETTES MEM 3060 MEM 3101 1/Single Soft 2/Single Soft 10/535.00 10/S45.00 Parts Sides/Density Sectoring Price MEM 3090 1/Double Soft 10/S45.00 FD1-128 1/Single Soft 10/S45.00 MEM 3102 2/Double Soft 10/S55.00 FH1-32 1/Single Soft 32 10/S45.00 DYSAN FD2-XD 2/Double Soft 10/565.00 5V," DISKETTES SRW Parts Sides/Density Sectoring Price MEDIA STORAGE CASES 0-0130 1/Single Sott 10/S45.00 PartS Size Price D-0226 1/Double Soft 10/S46.00 SRW-5 5'A" 52.50 ea. D-0235 2/Double Soft 10/S55.00 SRW-8 8" S3.25 ea MICR0BYTE Z-80A/ l-O CPU BOARD • A complete single board Z80A CPU with serial/parallel interface • Fully compatible with the proposed IEEE S- 100 Bus Standard • Z80A CPU (4MHz version of the Z80) $299.00 Assemb,ed & Tes,ed Optional Monitor Program $50.00 MICR0BYTE64K DYNAMIC RAM BOARD • Fully S-100 bus compatible • 64K x 8 bit dynamic RAM • Low power: •8VDC @ 700 mA ♦16VDC @ 100 mA -16VDC@ 25 mA • Built-in capacity with LED indicator and vector interrupt MICROBYTE 4-PORT I/O BOARD • Quad RS-232C serial ports. One 20mA current loop port • Fully IEEE S-100 Bus compatible • Asynchronous Communications with Z80A-DART(TM) or synchronous commu- nications with Z80A-SIO/0(TM) • Full set of modem control signals, including Rl (Ring Indicator) • Easily configurable to any type of terminal interface $265.00 Assembled & Tested Cables Available (Optional) MICROBYTE FLOPPY DISK CONTROLLER • DMA to within 16 Mbyte of memory • State-of-the-art NEC765 LSI Controller • IEEE S-100 compatible • DMA arbitration allows use of multiple boards within a system SDSYSTEMS/S-100 BOARDS EXPAND08AM 16K 5240.00 2 MHz DYNAMIC 32K 5258.00 RAM BOARD 48K 5276.00 KITS 64K 5294.00 EXPANDDRAM II 16K S250.00 4 MHz DYNAMIC 32K $268.00 RAM BOARD 48K $286.00 KITS 64K 5304.00 SBC-100 KIT 2.5 MHZ/Z80 Ports & SBC 100 Monito no charge CPU with Serial I/O r of your choice at S299.00 SBC-200 KIT 4 MHz/ZBOA CPU with Serial & Parallel I/O Ports & SBC 200 Monitor of your choice at no charge $325.00 VERSAFLDPPY I KIT Disk Controller for 5'A" or 8" Drives, Single or Double Sided/Single or Double Density. S-100 Compatible S250.00 VERSAFLOPPY II KIT Disk Controller for 5'A" or 8" Drives. Single or Double Sided/Single or Double Density. S-100 Compatible $300.00 PROM 100 KIT S-100/EPROM PROGRAMMER for 2708. 2716. 2732 & (Tl) 2516 $190.00 ALL BOARDS ARE AVAILABLE ASSEMBLED & TESTED. CALL FOR PRICES. Printers Manufacturer/Model S Price Anacom-150 S 995.00 Anadex-9501 S1295.00 Okidata 82A W/Tractor $ 575.00 Diablo-630R0 $2225.00 C.ltoh Starwriter 45 51925.00 Texas lnstruments-810 51650.00 The Epson MX-80 %££%&£* SPECIFICATIONS Print methods: serial impact dot matrix Print rate: 80 CPS Print direction: bidirectional Number of pins in head: 9 Matrix: 9x9 Line spacing: 1/8", 1/6". 7/72" fi program- mable throughput at 10 CPI — logical seeking (unction — 105 LPM. 20 character line: 73 LPM, 43 char, line: 48 LPM. 80 char. line. PRINTING CHARACTERISTICS Character set: full 90-character ASCII with descenders. Graphics characters: 64 block characters INTERFACES Standard: Centronics-style 8-bit parallel Optional: Apple. TRS-80, RS 232 NEW MX80 FT/Friction Feed MX-100/132 Column CALL FOR PRICE & DELIVERY Modems Model S Price CAT $ 149.00 d-CAT S 160.00 Auto-Cat $ 229.00 Lex-11 $ 139.00 LIV-Star 20M 5 149.00 UDS 103 5 189.00 UDS 202 5 295.00 Manufacturer Novation Novation Novation Lexicon Livermore UDS UDS Monitors Manufacturer Model S Amdek 100/12" B&W Amdek 100-80 Price $ 139.00 5 169.00 Amdek 100G/12"Grn. S 169.00 Amdek Color-1 13" 5 375 00 APF TVM-10/10"B&W 5 149.00 Hitachi VM 910/9" B&W S 210.00 Hitachi VM 129/12" B&W S 340.00 Sanyo DM 5012/12" B&W 5 270.00 Sanyo DM5112ex/1Z'Grn. 5 290.00 Sanyo DM C6013/13" Color S 475.00 Zenith ZVM-121/12"Grn. S 139.00 Terminals Manufacturer Model S Price Ampex Dialogue 80 t 899.00 Soroc IQ120 $ 750.00 Soroc 10140 $1250.00 Televideo TVI 910 i $ 650.00 Televideo TVI 912C 5 725.00 Televideo TVI 950C S 950.00 Components 4116s [200 nS) Apple. TRS-80. Heath 8/518.00 16-49 $2.15 each 50-99 S2.05 each 100 up 51.95 each 2114L-2/200nS Low-Power 1Kx 4 Static RAM 1-16 $2.95 each 50-99 52.75 each 1749 52.85 each 100 up .... 52.65 each COMPONENTS 74LS240 .... 51.25 each 74LS373 . . .51.25 each 74LS241 . ... 51.10 each 74LS374 . . . 51.25 each 74LS244 .... S1. 25 each 8T245 $1.50 each 2708/450 nS 1Kx8EPR0M $4.00 each 2716/5 Volt ° r ™ 2K x 8 EPR0M 56.25 each SUPPORT CHIPS 8080A-CPU $ 2.50 8257AC5 $15.00 Z80A-CPU S 8.95 REGULATORS Z80A-CTC S 8.95 320T5 5 .80 Z80A-DART .... $13.95 340T5 $ .70 Z80A-SI0 $22.00 320T12 $ .80 8255AC5 $6.95 340T12 $ 75 25 up $2.35 $3.20 $ .75 CONNECTORS I -9 10-24 DB25P S2.60 S2.50 DB25S 53.50 $3.40 DB25C 5.95 5 .85 100 Pin IMSAI Gold/S-10O Soldertail Connectors $2.40 each or 10/S2.25 each Capacitors .1 @12 Volt Ceramic 8C each or 100/S700 DIP Sockets — Low Profile Tin Soldertail Description 14 pin tin st 16 pin tin st 18 pin tin st 20 pin tin st 24 pin tin st 28 pin tin st 40 pin tin st 1-9 $ .15 S .16 S .19 $ .25 S .26 S .32 $ .42 1D49 S .13 $ .14 .18 .23 .24 .30 .40 50-99 $ .12 S .13 5 .16 5 .21 $ .22 S .29 $ .38 100 up $ .11 S .12 S .14 $ .20 S .20 S .27 $ .34 ASAP offers a 30-day buyer protection policy: full money-back guarantee if not totally satisfied. Ordering Information: name, address, phone, ship by: UPS or Mail. Shipping charge: add $2.50 up to 1 lb. for UPS blue; add $1.50 for U.S. Mail add $1.50 for U.S. Mail (U.S. only) ($25.00 minimum order). Call for larger shipments. Terms: We accept cash, check, money orders. Visa & Master Charge (U.S. Funds only). Tax: 6% Calif. Res., COD's and terms available on approval (school PCs accepted). $499.00 Assembled & Tested $329.00 Assembled & Tested asaii computer ■ products, inc. 1198 E. Willow St., Signal Hill, CA 90806 Toll free outside California: (800)421-7701 Inside California: (213)595-6431 (714) 891-2663 Circle 34 on Inquiry card. BYTE November 1981 363 Ask BYTE Conducted by Steve Ciarcia Switching Interfaces Dear Steve, In the September 1980 Popular Electronics, there was an article regarding a digital delay line for audio purposes. Because the article employed the technique of digitizing the audio signal and passing it through mem- ory to achieve the desired delay, I knew that it would probably be able to interface with a computer for further control. To achieve the de- sired delay, BCD thumb- wheel switches were used to select the memory addresses. (These switches connect to two 74193 chips. I suspect they are used to decode the addresses.) I would like my computer to be able to turn these switches on and off as pro- grammed. What type of in- terface would be needed to connect this delay line (switch connection points) and my computer? I have an S-100 machine (Processor Technology Sol- 20 with 48 K bytes of mem- ory) with both a serial and a parallel port. Can this con- nection be made with relays, opto-coupling, electronic gates, etc7 Rick Downs Aurora CO / don't usually like to take up room in BYTE with specific changes to schematics printed in other magazines, but this schematic is valuable in demonstrating how to at- tach a computer to any circuit that normally uses mechanical switches, such as the thumbwheels shown in the diagram. The circuit originally pub- lished was an audio delay cir- cuit that employed an 8-bit TO ADDRESS LINES A0 Al A2 A3 0000 A4 A5 A6 A7 0000 i Qa Qij Qc Q D v cc CLR GND DOWN CARRY BORROW A B C D LOAD IC16 74193 0000 CIO 3 18 Qa Qb Qc Qd v cc clr gnd CARRY BORROW C D LOAD IC15 DOWN 74193 •■i «a Or "c. <3„ v nr CLR GND IC]4 DOWN 74193 LOAD CARRY PARALLEL OUTPUT PORT FROM COMPUTER FINE ADJUST ) COARSE ADJUST Figure 1: The audio delay circuit that originally appeared in Popular Electronics modified for control by an 8-bit parallel port. companding A/D (analog-to- digital) converter (an 8-bit converter which emulates the dynamic range of a converter with 11 bits plus sign). While I have not built this particular digital delay system, I'm familiar with the circuitry. I suspect that it might add some interesting effects to high fidelity. The normal method of achieving the delay is to use three 74193 presettable bi- nary counters. By presetting the addresses, it's possible to predesignate the total steps in the timing chain and, there- fore, the length of the delay. Figure 1 is a redrawn cir- cuit demonstrating modifica- tions that will allow you to attach it to your Sol-20 (or any other computer with a parallel port). By adding two 74LS157 multiplexers, you can either preset the 74193s from your 8-bit parallel out- put port or use the thumb- wheel switches. When the Manual/Computer selection switch is in the open position, the thumbwheel switches will 364 November 1981 © BYTE Publications Inc MICROCOMPUTERS THE CHOICE JUST GOT EASIER! PRICE $4390 PERFORMANCE SOFTWARE EXPANSION QUALITY DELIVERY Gets you a Tec-86 Complete 16 Bit 8086 System, including 64K Bytes of Memory, Dual 8 Inch Double Density Floppy Disks, and more. . . (See complete Tec-86 specs below.) Faster Processing, Increased Address Space, up to One Megabyte of available memory, and the Increased throughput of the the TEC-86 16 Bit System means that you can now do work on a microcomputer never before practical with the slower 8 Bit systems. CP/M-86™ Brings the World of CP/M software up to the 16 bit systems. BASIC-86™, MS-FORTRAN™, MS-PASCAL™ are just a few of the Languages currently available. Memory Expansion up to ONE MEGABYTE. Disk Storage can be increased to over 30 Megabytes with our Winchester Disk Subsystem. Multi User Systems available soon! Full ONE YEAR WARRANTY is standard on TECMAR components. This Warranty is possible due to our High Engineering Standards, and Thorough Product Testing. We have been delivering 16 Bit Boards and Systems for nearly two years. Most orders are shipped from stock or within 30 days. NEW $695.00 APPLE A/D w/Timer-Counter ANALOG TO DIGITAL Converter with Timer/ Counter 12 Bit Accuracy, 16 Channels, 30 KHz Conversion, Three pro- grammable Timer/Counters to: Trigger Conversions Count Conversions Count External Signals Count Bus Clock Options: Programmable Gain; 14, 16 Bit Accuracy; 40, 100, or 125 KHz; Expansion to 256 Channels $4390 TEC-86 $4390 16 BIT 8086 MICROCOMPUTER SYSTEM FEATURES: 5 MHz 8086 CPU * 64K Bytes RAM * S100 IEEE-696 * Dual 8 Inch Double Density Floppy Disk Drives * Two RS 232 Serial Ports, 50 to 19200 Baud * Three Parallel Ports * ROM Boot for CP/M-86 * Heavy Duty Power Supply * Attractive Industrial Quality Desk Top Cabinet * Completely Assembled and Tested * OPTIONS: Up to One Megabyte of Memory, Double Sided Double Density Floppy Disks * Up to 31 Megabytes of Winchester Fixed Disk Storage. * CP/M-86 * BASIC-86 * MS-FORTRAN * MS-PASCAL * CBASIC/86™ * PASCAL/M86™ $10990 TEC-86 W $10990 Same Great Features as our TEC-86 except that the TEC-86W has 256K of RAM, and our 31 Megabyte Winchester Disk Subsystem. NEW — 64K/256K S100 MEMORY $595/$ 1695 8 and 16 Bit Transfer for 8 and 16 Bit Systems MP/M and MP/M-86 Compatible, Up to 7 users on one 256K board. Parity Detection with Interrupt and LED Indication Hardware Write Protect Full DMA Capability 24/20/16 bit Address Decoding Enable/Disable 8K/32K Segments Bank Select in 8K/32K Segments Meets IEEE-696 Specifications See our catalog for many other fine S-100 and Apple Boards including: — Analog to Digital Converters (16-256 channels; 12, 14, or 16 bit accuracy; 30, 40, 100, or 125 KHz; programmable gain; timer/counters) — Digital to Analog Converters (12 bit accuracy, 3 microsecond conversion) — 8086 CPU Board — I/O Boards — 16K Static RAM — Real-time Video Digitizer and Display. CP/M MP/M CP/M-86 and MP/M-86 are trademarks of Digital Research Inc. BASIC-86, MS FORTRAN and MS-PASCAL are trademarks of Microsoft Inc. PASCAL/M86 is a trademark of Sorcim CBASIC/86 is a trademark of Compiler Systems Inc. RR DEALER INQUIRIES INVITED 23600 Mercantile Rd. • Cleveland, OH 44122 TECMAR, INC. (216)464-7410 Circle 404 on inquiry card. BYTE November 1981 365 Ask BYTE. have control. When it is closed, the delay parameters will come from the computer. It's possible to use a similar computer-control technique in place of switches on vir- tually any electronic appli- ance. You must ensure that the electronic instrument be- ing controlled has an isolated power supply. According to the original article, this delay line does. . . . Steve Wrapping Noise Dear Steve, Would it be possible to wire-wrap the Disk -80 pro- ject you presented in the March 1981 BYTE (see "Build the Disk -80: Memory Expan- sion and Floppy-Disk Con- trol," page 36), or would it be too susceptible to noise? Richard Mozeleski Thorndike ME While it is quite possible that wire-wrapping would be neater than hand-wiring, the TRS-80 Model I is extremely susceptible to noise induced through its external bus con- nector. That's why I hesitate to suggest wire-wrapping or hand-wiring it. If you really want to try it, by all means go ahead. How- ever, there is a printed-circuit board available for the • • • WRITE OR CALL FOR FREE CATALOG • • • We test all systems thoroughly before shipping. We integrate the CRT, printer, modem & other peripherals. Every system purchased from us is ready for plug-in operation when you receive it. CALIFORNIA COMPUTER SYSTEMS 2210A: HIGH QUALITY, LOW PRICE Z80A CPU with 1 serial port; 12 slot S-100 mainframe, disk controller, 64K dynamic RAM. CP/M2.2 $1,750. We enthusiastically recommend the IMS 4 serial I/O or 2 serial + 24bit parallel I/O to give the CCS 2210A additional power and versatility. The IMS I/O cards provide software sel- ectable baud rates (19. 2K option), external interrupt capability, programmable real time clock, many other features. $295. Add our Max Box w/dual Qumes or Shugarts; select from the range of CRTs, printers and software we offer, for a complete system. IMS 5000 and 8000 SYSTEMS Outstanding long term reliability. Features 280A CPU, S-100 bus; double density drives (single or double sided), DMA disk controller, 64K RAM, 2 serial, 1 parallel port. We stock IMS boards. Hard disk, multi-user systems available. MULTI-USER SYSTEMS FEATURING TURBODOS & MUSYS TURBODOS: Spectacular CP/M® compatible operating system. Z80 code, interrupt driven. Up to 6X faster than CP/M®; up to 35% increased disk capacity. We have configured many multi-user IMS systems using Turbodos and Musys single card computers allowing each user his own CPU, 64K RAM and I/O. Turbodos Single user $250. Multi-user $750. Musys single card computer $1,300. MAX BOX Mfg by John D. Owens Assoc. 8" dual drive cabinet w/regulated power supply, fan, complete internal cabling. Will hold Qumes, Shugarts or Siemens, horizontally mounted. Excellent design & engineering. 17W X 5'/z"x22 $325. With 2 Shugart 801 R $1,275. With 2 Qume double sided drives $1,680. PER SCI— THE KING AND QUEEN OF DRIVES Model 299B $2,300. Model 277 $1,245. Slim line cabinet $325. MICRO ANGELO GRAPHICS SUBSYSTEM from Scion $2,295. Screenware Pak II $350. S-100 Graphics card $985. Color systems now available 5% off list price. SYSTEMS GROUP (Measurement Systems & Control) CP/M® and MP/M® Systems with dual floppies or one floppy + one 10MB Winchester 10% off list price. TECMAR 16bit8086 IEEE S-100 system w/8MHZ option 5% off list price. Z80 Video Digitization systems 5 % off list price. SD Systems: Boards, kits and systems 10% off list price. GRAPHIC SYSTEMS: + + Advertising + + Architects + + Designers + + Complete package including powerful intractive graphics software plus MicroAngelo Graphics Sub- system w/22 MHZ high resolution green phosphor screen; M9900 16 bit, IEEE S-100 com- puter w/dual 8" floppies, 64K RAM, Mutli user capability, Houston Instruments HIPAD Digitizer, Mauro Plotter $10,200. 10 MB Hard disk subsystem option $3,400. WE EXPORT: Overseas Callers: TWX 710 588 2844 Phone 212 448-6298 or Cable: OWENSASSOC JOHN D. OWENS Associates, Inc 12 Schubert Street, Staten Island, New York 10305 212 448-6283 212 448-2913 212 448-6298 Disk-80 from the Micromint Inc, 917 Midway, Woodmere NY 11598, (516) 374-6793, that should do the trick. You will probably find that the cost of wire-wrapping sockets alone will far exceed the price of the printed-circuit board ($48). . . . Steve A Catch- 2 5 Dear Steve, I recently purchased a Radio Shack TRS-80 Model III, and I'm interested in in- terfacing it to some of your projects. The problem is that the Model Ill's expansion connection has been changed from the Model I's 40 pins to 50. Upon examining the con- nector closely, I see that one side has all its pins (25) con- nected to ground. This, it seems, leaves only 25 pins to do the job of the 40. Do you have any informa- tion about the arrangement of this connector? Radio Shack's manual simply says "for future expansion" and gives no other details. The store personnel know noth- ing about it, except that a technical manual is due. John Uffenbeck Salinas CA There is quite a difference between the Model I and Model Ill's expansion corir nectors. Since the Model Is disk controller must be out- side of the keyboard unit, all the processor's signals are available for use on the Ex- pansion Interface. This means that the full 16-bit ad- dress bus, the bidirectional data bus, and all the control lines are available. On the Model III, the disk controller and 48 K bytes of expansion memory are mounted inside the enclo- sure; it is unnecessary to bring out all of the address and control lines. Therefore, the Model Ill's expansion connector is simply for I/O 366 November 1981 © BYTE Publications Inc (input/output) rather than complete system expansion. Only eight address lines and eight data lines are brought out (plus some handshaking signals), and the I/O func- tions must be enabled under program control (the com- mand is OUT 236,16). On the whole, both com- puters work equally well with peripherals that only require output data. But reading in- put data with the Model III is much more involved. The data-bus direction is con- trolled by the external peri- pheral. To make the com- puter input data, a peripheral must recognize its own ad- dress, activate the I/O Input Strobe, and logically switch the data bus to receive input information. Unlike the Model I, which could allow a single I/O device to be used with absolutely no address decoding (presumably any I/O-related instructions had to be for that peripheral because nothing else used I/O instructions), address de- coding is an absolute require- ment on the Model III. . . . Steve Pitch for Voice Recognition Dear Steve, I am 13 years old, and I own a TRS-80 Model I Level II. I'm interested in pitch analysis and voice recogni- tion. I already have my com- puter knowing when a sound is present: I set my cassette recorder to record and run the program shown in listing 1. I would like to know how to build a device that would change a tone or pitch to a numerical value that could then be read by my comput- er. 1 cannot figure out how to get my computer to recognize the difference between two pitches. Can you help me? Eric Korenman New York NY To be able to do anything of real value in speech recog- nition or even to detect more than one tone, you will have to learn how to write your programs in machine-lan- guage, because they run much faster than BASIC. The usual approach to voice recognition is to use a bank of bandpass filters and zero-crossing detectors. You would have three or four fre- quency bands of interest, and you would use the computer to analyze how many times the voice is present in these bands. To do that, you ■would count the number of times this signal crosses zero. Listing 1 In the simplest designs, the output of the filters is nor- malized to a logic 1 or logic 0. Every time a signal is present, the filter output becomes a logic 1. When there's no sig- nal, the output is logic 0. A 10 l = INP(255) 20 IF 1 = 255 THEN PRINT 30 OUT 255,0: GOTO 10 SOUND PRESENT" ELSE 10 • • • GREETINGS TO OUR FRIENDS IN CANADA* • • * • • SOFTWARE* * • OLIVETTI DAISY WHEEL PRINTERS Letter quality print. Quiet performance; ideal for office environment. Model 211 (20CPS) $1,660. Model 311 (34CPS) 2,150. Model 811 (80CPS) 3,795. Bidirectional tractor: $150. PMMI S-1000 Modem $385. Compatible w/telex & Twx. 51 to 600 baud. On board pulse dialer. HAZELTINE 1500 $ 885. 1510 $ 980. 1520 $1,210. 220 volt models, add $100. IBM 3101 CRT Model 10 $1,295. Model 20 $1,495. TELEVIDEO CRTs 910 . . $595. 912. .$720. 920. .$775. 950.. $980. TEXAS INSTRUMENTS Printers TI 810 Basic $1480. EPSON MX80 $475. MX100 $725. RS 232 Interface $ 70. TELETYPE Model4320 AAK $1,140. Model 43ASR, 8 level, 1" tape . . . .$2,595. 3M SCOTCH® Diskettes 5 box minimum, price per box 740, 8" single sided, single density . . .$27. 741, 8" single sided, double density . .$35. 743, 8" double sided, double density . $43. 744-0, 5V4" soft sectored, single sided .$27. 744-10, 5Vi", hard sectored, single sided $27. TEI MAINFRAMES, S— 100 We are proud to announce that we are now a TEI stocking distributor. 10% off list price. TARBELL Double density controller $435. Z80CPU 395. Prices subject to ESQ-1: Legal Time & Billing Svstem PROMOT: Professional Time & Billing System SCHEDULER: Docket/Calendar & Con- trol System TAXEXEC: Individual Income Tax Return Preparation System JOBSHOP: Job Cost & Profitability Report- ing System MAGIC QUILL: Bookkeeping and Ac- counting System Six easy-to-use, flexible packages from Micro Information Systems $1,500. each THE FORMULA A new concept in report generation. Uses a unique full screen editor to visually describe format of reports. Multiple file access, algorithmic calculations & conditional printing. Includes CBS. From Dynamic Microprocessor Assoc. . $595. dBASE II Brings power of mainframe database software to a microcomputer. Manual and demo software: $ 50. Complete package with money back guar- antee: $595. COMMUNICATIONS SOFTWARE Enables communications from a micro to a terminal or to another micro, mini or maxi computer. Source code: .$250. MICROSOFT BASIC-80 (interpretor) $270. BASIC COMPILER: $305. COBOL— 80 $560. FORTRAN-80 $380. X-MACRO-86: $275. muLISP/muSIMP: $190. MICROPRO WORDSTAR: $320. MAIL MERGE: $110. change without notice JOHN D. OWENS Associates, Inc. SEE OUR AD ON FACING PAGE TWX (TELEX II) SOFTWARE . . . $350. Send/ receive with a microcomputer con- nected directly to WU line. Eliminate paper tape. Messages can be formatted w/text editor. November 1981 © BYTE Publications Inc 367 Ask BYTE. machine-language program simply counts how many times this signal is present. The human voice contains more than single tones, of course, and there will be fre- quent zero crossings. There- fore, any program you use must be able to count at a high rate as well as look at all the filters. Such speed can on- ly be accomplished with a machine-language program. There have been various articles on speech recognition in a number of magazines, and I'm sure you will be see- ing more in the future. I have a few designs on the drawing board for a speech-recogni- tion circuit. I will unveil one in a "Circuit Cellar" article as soon as it works well enough. Keep up your interest, and perhaps we'll both be talking to our computers soon. . . . Steve What's In a ROM? Dear Steve, I would like to do some game programming for an Atari video game, but I don't know what type of ROM (read-only memory) is used. Can you help me, or do you know where I can get the schematics for an Atari game? Frank Weatherford Gray TN Atari games generally con- sist of either 4 K- or 8 K-byte ROM packs. One of the pre- release ROM packs that I re- ceived had 2732 EPROMs (erasable programmable read-only memories) in it. This would imply that you could substitute 2716 or 2732 EPROMs in most cases. 1 have known some people who have taken ROMs out of inexpensive game packs and replaced them with their own software. . . . Steve Home-Control Design Dear Steve, I would like to ask you for some help. A friend of mine is a quadriplegic who has great difficulty when he is home alone. Because he is unable to type, a voice-operated sys- tem is most desirable. If you could design a system, he could get someone to install it. Jonathan Shaw Tampa FL You'll forgive me, of course, for not wishing to design a system specifically for you. That is a tremendous undertaking which could take months, even years, of MULTIPROGRAMMER ITS AVAI SYSTEM-10 PROGRAMS OVER 100 POPULAR PROMS & A EPROMS Standard Features: " RS232 Serial Port - Standard Formats ~ 4.75 K RAM (Expandable) Device Read, Compare & Verify Editing & Special Functions Less Than $1 ,500 for Programmer Module and Adapter i Attractive OEM Prices REP AREAS A VAILABLE 368 November 1981 © BYTE Publications Inc wm COMPUTER SYSTEMS CORPORATION 100 E Linton Blvd Delray Beach, Fia 33444 Phone (305) 272-2051 Circle 58 on inquiry card. work. Instead, I recommend that you contact Artra Inc. This company makes an in- terface card called House- master. I have tried it, and it works reasonably uiell. The company's address is Artra Inc, 4424 Vacation Ln. Arlington VA 22207, (703) 527-0455. The interface sells for under $300 and incor- porates tone generators, a BSR X-10 AC remote-control section, and a voice-response system. It attaches directly to Digital Group and Heath H-89 computers, but it can be adapted to work with many others. Using this system, it would be possible for your friend to turn on the lights with a voice command. . . . Steve In "Ask BYTE," Steve Gar- cia answers questions on any area of microcomput- ing. The most representative questions received each month will be answered and published. Do you have a nagging problem? Send your inquiry to: Ask BYTE c/o Steve Ciarcia POB 582 Glastonbury CT 06033 If you are a subscriber to The Source, send your ques- tions by electronic mail or chat with Steve (TCE3I7) directly. Due to the high volume of inquiries, per- sonal replies cannot be given. Be sure to include "Ask BYTE" in the address. Gone with the wind. We could lose our national symbol . . the majestic bald eagle Once man drives eagles out of their nesting areas, they rarely return. Today there are only about 900 pairs of eagles known to be nesting in the lower 48 states. We can save the eagle by establishing eagle preserves. You can help. Join the National Wildlife Federation, Department 102, 1412 16th Street. MW, ^Washington. DC 20036. Let's keep the eagle around another hundred years, This man is looking for ELECTRONIC BREAKTHROUGH Join him in the incredible world of electronics with NRI's all-new training in the career of the future . . . Electronic Design Technology. It's an electronic world we live in. And the designers of electronic circuits, controls, and systems are the people who are shaping it. Take your place in this exclusive company with this exciting new training from NRI. You can learn Electronic De- sign Technology at home, in your spare time. Without quitting your job, tying up your evenings at night school, or wasting gas traveling to classes. Because NRI comes to you, makes you a class of one with a complete, effective, low-cost learning program designed exclu- sively for home study. You get it all ... at your convenience. Hands-On Training NRI trains you for action. You get real-life experience that builds priceless confidence, gives you working knowledge of lab practices and techniques. It's all built into the NRI Design Lab,® a complete com- bination of equipment, hardware, training, and reference materials. You'll design your Training includes NRI Design Lab, Beckman digital multimeter, Texas Instruments scientific calculator that you use and keep. own circuits from the very beginning, progressing from'basic passive networks through key circuits like power supplies, amplifiers, oscillators, digital and logic cir- cuits, phase-locked loops and more. You'll move on to linear and digital integrated circuits, the heart of modern electronic equipment. You'll prototype your designs and verify operation, learning professional test and measurement procedures as you progress. Professional Equipment Included All the way, you work with professional-quality instruments like the Beckman 6-function, 26-range LCD digital multimeter. It gives you fast, accurate measurements of voltages, currents, and resistances, even forward voltage drops across in-circuit diodes and transistors. You'll breadboard your designs on the unique NRI Circuit Designer. It features built-in multiple power supplies, variable signal generator, logic switches and LED indicators. It handles almost any circuit you can design... linear and digital integrated circuits as well as discrete components such as transistors and diodes. Analysis and design work is speeded with the Texas Instruments TI-30 scientific calculator. This engineer's instrument includes full trigonometric functions, logarithms, square root, squares, powers, memory, and more. All this fine equipment is part of your training, yours to keep and use in your work. NRI Fast-Track Training This is the unique NRI lesson concept that simplifies and speeds learning. From the very basics to advanced, state-of-the-art electronics, each lesson is especially prepared for individualized instruction. Each subject is covered fully and thoroughly, but extraneous material is eliminated, language is clear and to the point, organi- zation is logical and effective. From Fundamentals of Electronic Circuits through Microprocessors, your lessons are designed with you in mind. No Experience Necessary You don't have to be an engineer (or even a college student) to succeed. High school graduates with some algebra handle it without any trouble. We start you at the beginning, let you advance just as quickly as you're ready. We even include the NRI Math Refresher Module to help you brush up on your math and teach you any new concepts you may need. Free Catalog, No Salesman will Call Our free, 100-page catalog gives you all the details, including lesson outlines, equipment specifications, and career oppor- tunities. Send for it today and find the breakthrough for your future. If card has been removed, please write to us. NRI SCHOOLS McGraw-Hill Continuing Education Center 3939 Wisconsin Avenue Washington, DC 20016 We'll give you tomorrow. Toward a Structured 6809 Assembly Language Part 1: An Introduction to Structured Assembly Language Gregory Walker Motorola Inc M2880 3501 Ed Bluestein Blvd Austin TX 78721 Structured programming is the rage these days, as reflected in the growing popularity of structured high-level languages like Pascal and C. Yet most of the programs written today use languages that are not well- structured, such as FORTRAN, BASIC, and assembly language. Assembly language, widely used in industry, is becoming more and more available on personal computers. And although assembly language is the first and last bastion of con- voluted programming, there is a way to add structured programming statements to an existing assembly language. In fact, structured control statements can be added to any ex- isting language. Part 1 will examine the mean- ing of structured programming and present a set of structured control statements for the MC6809 assembly language, as well as programming ex- amples that use these structured statements. Part 2 will show how to add structured statements to the Acknowledgments / would like to express my deep appreciation to Joel Boney, who originally suggested the form and implementation strategy for the 6809 structured macros, and to Greg Stevens, who helped debug the macros. MC6809 macroassembler or to any programming language. Structured Control Statements It has become popular, perhaps even faddish, to extol the virtues of structured programming. Yet its exact meaning remains rather ambiguous. Thus, the latest high-level language is sold much like the latest brand of shampoo: "It will leave your pro- grams cleaner and more man- ageable." When a language is said to be "structured," the usual meaning is that the language contains statements for the structured flow of control. Ed- sger Dijkstra is generally credited with originating structured program- ming with his letter in Communica- tions of the ACM (see references) which stated that the GOTO state- ment seemed to be a major source of programming errors. Since that time, the terms GOTOless programming and structured programming have sometimes been used inter- changeably. Yet the GOTO, in the form of jump or branch instructions, is still firmly fixed in machine instruc- tion sets of new computers. Let's see what is so bad about the GOTO and, at the same time, try to discover why it remains long-lived in spite of its reputation for abetting errors. Computers are general-purpose machines because of their ability to perform a different sequence of calculations based on tests of the in- put data. The most primitive com- puter instruction that allows this ability is a conditional branch in- struction, which transfers control to a different part of the computer pro- gram based on a run-time test. An ex- ample of this instruction is shown in listing 1. (See also figure 1.) This pro- gram changes the contents of A into its absolute value by using three sim- ple steps: • The contents of A are compared to zero; • If the result shows A greater than or equal to zero, then a branch is taken around the next statement; • Else the value of A is negated to make it positive. The ability to perform a condi- tional branch allows more than selec- tion between two different paths of program execution; by branching back to the beginning of a section of program, it is possible to create a loop (ie: a calculation that can be repeated many times). Listing 2 370 November 1981 © BYTE Publications lnc THE PROGRAMMING LANGUAGE OF THE FUTURE HAS JUST BECOME A REALITY After years of extensive research and development comes LOGO, a powerful and dynamic new programming language for your microcomputer. The introduction of the LOGO language brings a challenging and exciting new direction to the world of microcomputer programming. Now children and adults alike can become active participants in their own learning experience as they teach the computer how to think. Working in the LOGO environment can inspire anyone to express powerful ideas simply by allowing full control over an extremely rich and sophisticated microworld. The programming language of the future is now available for your Apple II microcomputer. Contact your local dealer or write to us for more information concerning LOGO or LOGO Computer Systems Inc. Our product line includes software, hardware, written materials and training services. computer t^f systems inc. 150 Montarville Blvd. 368 Congress St. Suite 200 Boston, Mass. Boucherville, Quebec U.S.A. 02210 Canada J4B 6N1 (514) 641-0966 (617) 451-2646 Circle 231 on inquiry card. byte November 1981 371 Listing 1: Assembly-language statements for determining absolute values. P0£ CMP A #0 BGE PDS If register A is le = 5 than zero NEGA negate it- EQU •a- Else c on t lnue Listing 2: Assembly-language statements for adding the value 5 to each element of an ar- ray. ARRAY RMB 10 DECLARE ARRAY START LDB #0 INITIALIZE INDEX TO LEAX ARRAY, PCR POINT TO START OF AR LOOP LDD B, X ADDD #5 ADD 5 TO ONE ARRAY STD B, X ELEMENT INCB UNTIL INDEX IS >= 10 CMPB #10 BLT LOOP shows an example of a loop that adds the value 5 to every number stored in an array. By the proper combination of loops and conditional branches, all the complexity of modern computer pro- gramming is possible — even the creation of programs that play a so- phisticated game of chess or balance the bank accounts of thousands of customers. Problems arise when this primitive form of branch instruction is used directly to write programs. In both examples the branch instructions con- tain a condition that is tested for and a labeled location in the program where execution is to resume if the condition is true. The biggest prob- lem is the need for that label. A well-chosen label can make the branch instruction somewhat self- CROMEMCO GSA SALES TO ALL GOVERNMENT USERS AND PURCHASERS Systems Support, Inc. isa GSAqualified Cromemco vendor under ADP Schedule Contract No. GS-00C- 02901. Purchase directly from us under our gen- erous schedule terms and eliminate the slow bid- ding process. Oursupport commitment guarantees reliable product operation. For more information call or write SYSTEMS SUPPORT, INC. 1208 Shady Way South Charleston, WV 25309 (304)766-7762 An Equal Opportunity Employer explanatory. In listing 1, the word POS indicates that the branch occurs in the case of a positive number. In listing 2, there is indication that the branch forms part of a loop. However, programs of even mod- erate complexity will have numerous conditional-path selections and several loops, often nested one inside the other. For every branch, the pro- grammer must think up a label that somehow describes the operation of the program and yet is different from all other labels. Usually, the impor- tant operation to explain is the branch itself, so that a label that has meaning for the branch instruction means nothing at the remote location in the program where the label is ac- tually defined. The difficulty in thinking up really meaningful labels quickly over- whelms the programmer, who would rather concentrate on getting his pro- gram to work. Thus, many assembly- language programs are filled with labels such as LOOP, LOOP2, LOOP3, etc. While this labeling might be useful for counting the number of loops in a program, it does not go far toward explaining how the program operates. Use of mean- ingless labels is not due to laziness on the part of programmers; rather, it stems from a limitation inherent in assembly language — namely the limitation of requiring labels at points of the program that are not important to the operation of the program. Although assembly language was used in these examples, the com- plaints are equally applicable to any language whose control mechanisms are those of a GOTO label. FOR- TRAN and BASIC programmers take note. The real problem with the GOTO construct is that it is too general a programming form. It is incorporated into machine instruction sets for ex- actly that reason: it can efficiently im- plement many different higher-level constructs. From the point of view of the programmer, though, such gener- ality hides the specific construct he had in mind. Over the years, as new program- 372 November 1981 © BYTE Publications Inc Circle 432 on inquiry card. . WORE SUV . s n o^ \ s ^ e ejrov part v C oWP sub ^SoraQe- CorW _ \ ^ opp ,es. *J». *«• * " n h^o *£ , afd «£ \ ^so , ie h a* <»* ^ • >« S SUPP° Rl are no «$*»*. £j$tW"«Kic. J"^ da^ »s > av pa ^et s* p er^ protege Heads P<° poa rd BP£ ^er <° r t\ona\ P°** d proves P _ vst enVs trott« T - , L SO W^ 6 rooU „«ers t * „..,„ose con :' micro * .r*«(T»s. . _ .aaoter ^at P wt , Ouan^ con- ™^ ^ ming languages were designed and tested, the use of various higher-level (ie: more abstract control structures) was explored. As a result, there is now a widely accepted set of such structures available in "structured" programming languages. Three of the most popular structures will be discussed individually by exploring their use in 6809 assembly language. MC6809 Language Structures In the system presented here, there are three different structuring forms available — one for conditional execu- tion and two for creating loops. DP CCR A B X Y U s PC DIRECT PAGE REGISTER CONDITION CODE AND INTERRUPT FLAGS A AND B ACCUMULATORS (COMBINED AS D ACCUMULATOR) INDEX REGISTER INDEX REGISTER USER STACK POINTER AND INDEX REGISTER STACK POINTER PROGRAM COUNTER Figure 1: Register model of the Motorola MC6809 microprocessor. In addition to its program counter (PC) and stack pointer (5), the MC6809 has four user-programmable 16-bit registers: X, Y, U, and D. (D is equivalent to a concatenation of registers A and BJ Listing 3: Example of the IF construct in standard assembly language and structured assembly language. This code checks the validity of an argument in the D register for use by a square root routine. Allowed registers: A, E, D, X. Y, U, S. Allowed relational operators: EO — equal to NE — not equal to GE — greater than or equal to GT — greater than LE — less than or equal to LT — less than Structured Code IF D, GE, #0 JSR SQROOT ELSE JSR ARGERR END IF Equivalent Code CMPD #0 BLT LABEL1 JSR SQROOT BRA LABEL2 LABEL1 EQU * JSR ARGERR LABEL2 EQU * Listing 4: Example of the IFTST construct. The routine takes the absolute value of the memory byte at CAT offset from the X register. Allowed registers: Ai E, D, X, Yj U» Si or address expression. Allowed relational operators: EQ, NE* GE, or LT. Str uc tured Code Equivalent Code IFTST (CAT, X), NE NEG CAT, X ENDIF TST CAT, X BEQ LABEL1 NEG CAT, X LABEL1 EQU * They are: IF... ELSE... ENDIF WHILE... ENDWH REPEAT... UNTIL IF Together, the IF, ELSE, and ENDIF macros allow selection between two different paths of execution through the program, depending on the result of a conditional test. The form of the IF structure is: IF , ,< address expres- sion > (block of statements to be ex- ecuted if conditional is true ) ELSE (block of statements to be ex- ecuted if condition is false ) ENDIF Notice that the three structured statements serve to bracket two blocks of assembly-language state- ments. Should the condition prove true, the block between the IF and ELSE statements is executed; other- wise, the block of statements between the ELSE and ENDIF statements will be executed. Programmers who use an existing structured language may find the ter- minating ENDIF somewhat unusual. Pascal, for example, uses a begin... end pair to bracket a block of executed statements in all of its con- trol structures. It happens that having a different terminating statement for each control structure makes these statements easier to implement and easier to read. Once you are familiar with this style, the extent of a par- ticular statement is visible at a glance, unlike Pascal, where it is a tedious and error-prone process to match up each end with its corresponding begin. Listing 3 shows an example of an IF structure and the equivalent assembly-language statements. The IF statement forms a conditional test by a signed comparison (CMP instruc- tion) between the contents of an MC6809 register (either 8-bit or 16-bit) and the contents of an effec- tive address. All user-programmable 374 November 1981 © BYTE Publications Inc we beat the price,,. ATARI 800,„ $749 A ATARI Computers for people; ATARI 810 DISC DRIVE s 444 ATARI SOFTWARE CX404 Word Processor $1 19.00 CX405 PILOT $68 00 CX413 MICROSOFT BASIC $68 00 CX4101 Invitation to Programming 1 $17 00 CX4I02 Kingdom ..$13.00 CX4103 Statistics . $17.00 CX4104 Mailing List $17.00 CX4I05 Blackiack $1300 CX4106 Invitation to Programming 2 $20.00 CX4107 Biorhythm $13.00 CX4108 Hangman $13.00 CX4109 Graph It $17 00 CX41 10 Touch Typing . . $20 00 CX4111 Space Invaders $17 00 CX4H2 Stales & Capitals .... $13.00 CX41 14 European Countries & Capitals. $1300 CX41 15 Mortgage & Loan Analysis ..$13.00 CX4I16 Personal Fitness Prog $5900 CX41 17 Invitation to Programming 3 $20 00 CX4 1 18 Conversational French $4500 CX41 19 Conversational German $4500 CX4120 Conversational Spanish $45 00 CX4121 Energy Czar . .$13.00 CX4125 Conversational Italian $45.00 CX6001 US History CX6002 US Government. . CX6003 Supervisory Skills CX6004 World History CX6005 Basic Sociology CX6006 Counseling Proced CX6007 Principal ol Act CX6008 Physics CX6009 Great Classics $23.00 $23 00 $2300 $23.00 $23.00 $23.00 $23 00 $23 00 $23 00 CX6010 Business Comm $23 00 CX6011 Basic Psychology $23.00 CX6012 Effective Writing $23.00 CX6014 Principals ol Econ. . $23.00 CX6015 Spelling $23 00 CX6016 Basic Electricity $23.00 CX6017 Basic Algebra $23.00 CX8106 Bond Analysis $20.00 CX8107 Stock Analysis $20 00 CX8108 Stock Charting $20 00 CXL4001 Education System Master $21.00 CXL4002 Basic Computing Language $46.00 CXL4003 Assembler Editor $46.00 CXL4004 Basketball $24.00 CXL4005 Video Easel $24 00 CXL4006 Super Breakout $30.00 CXL4007 Music Composer $45.00 CXL4009 Chess $30.00 CXL4010 3-D Tic-Tac-Tow $24.00 CXL401 1 Star Raiders $39.00 CXL4012 Missle Command $32.00 CXL4013 Asteroids $32.00 CXL4015 TeleLink $20.00 Compuhome $74.95 Visicalc $149 00 Letter Perfect (Word Processor) $1 19 00 Source $89.00 Atari 5 Peripherals: 400 16K $329 00 410 Recorder $59.00 822 Printer $359.00 825 Printer $ CALL 830 Modem $159.00 850 Interlace $ CALL Atari' Accessories New DOS 2 System $21.00 CX70 Light Pen $64,00 CX30 Paddle $18.00 CX40 Joy Stick $18 00 CX853 16K RAM $89.00 Microtek 16K RAM $75.00 Microtek 32K RAM $169.00 commodore Btfaaa^B ■e P=c 6 CBM8032 $1099 4016 $799.00 4032 $999.99 8096 $1795.00 CBM4022 Printer $629.00 Tally 8024 $1699.00 CBM C2N Cassette Drive $69.00 CBM4040 Dual Disk Drive $999.00 CBM8050 Dual Disk Drive $1349.00 VIC 20 $259 CBM Software WordPro3Plus $199.00 WordPro4 Plus $299.00 Commodore Tax Package $399.00 Visicalc $149.00 BPI General Ledger $329.00 OZZ Information System $329.00 Dow Jones Portfolio $129.00 Pascal $239.00 Legal Time Accounting $449.00 World Craft 80 $289.00 Word Check $180.00 Create-A-Base $239.00 Power $89.00 Socket-2-Me $20.00 Jinsam Call Vic-TV Modual $19.00 Vic Cassette $69.00 Vic Disk Drive $ Call Vic 6 Pack program $44.00 Disks CX8100 Blank Disk (5) $22.00 Sycom Blank Disk (10) $29.00 Maxell Blank Disk (10) $36.00 Maxell Blank Disk (10) $46 00 Printers Call for prices on the new NEC models. Epson MX-70 Epson MX-80 Epson MX-80 FT > Call for Prices Diablo 630 TEC 1500 Starwriter25cps $1495.00 TEC 1500 Starwriter 45cps $1795.00 } No Risk, No Deposit On Phone Orders, COD or Credit Card, Shipped Same Day You Call * * on all in stock units m * _~ ****.****. npa CALL77) (800) 233"8950 COMPUTER MAILORDER 501 E. 3RD ST., WILLI AMSPORT, PA 17701 Circle 90 on inquiry card. To Order: Phone orders invited (800 number is for order desk only). Or send check or money order and receive free shipping Pennsylvania residents add 6% sales tax. Add 3% for Visa or M.C. Equipment is subject lo price change and availability without notice. Please call between 1 1 AM & 6 PM. Circle 223 on inquiry card. LEO ELECTRONICS, INC.| 8921 S. Sepulueda, Ste #208 Los Angeles, Calif. 90045 (213)641-3101 (800) 421-2418 SPECIAL NOVEMBER ONLY 1-555 Timer WITH YOUR ORDER 1702A 2708 TMS2716 2716 (5V) 2716-1 (3SONS) 2532 2732 (450NS) 2732A-4 (390NS) 2732A-3 (300NS) 2732A (250NS) 2732A-2 (200NS) 2758 2764 2114 (450NS) 2114 (300NS) 2114 (200NS) TMS4027-30 TMS4060-2 4116 (200NS) 4116 (150NS) 4164 (200NS) 6810 6821 6850 8080A 8085A 8212 8216 8748 Z80 CPU Z80A CPU MEMORY 1 -10 4.75 3.25 6.50 6.50 8.00 17.00 17.00 18.00 23.00 25.00 30.00 8.00 60.00 2.75 3.00 3.65 1.80 2.50 2.50 3.00 25.00 4.25 5.75 5.25 2.75 8.75 2.50 2.50 55.00 6.50 7.50 11-49 4.50 3.05 6.35 6.35 7.25 16.50 16.50 17.00 21.50 23.00 28.75 7.35 53.35 2.55 2.90 3.50 1.65 2.35 2.35 2.85 22.70 4.00 5.50 5.00 2.50 8.50 2.35 2.35 52.00 6.25 7.25 LS PRODUCT LSOO LS02 LS04 LS08 LS10 LS20 LS30 LS32 LS38 LS42 LS51 LS54 LS73 .25 .25 .30 .35 .75 .30 .30 LS74 LS85 LS86 LS93 LS95 LS109 LS123 LS138 LSI 39 LS151 LSI 53 LSI 55 LS157 .30 1.15 .40 .60 .75 .75 .75 .75 1.00 .75 LSI 58 LS161 LSI 63 LS164 LSI 65 LSI 74 LSI 75 LS191 LS193 LS195 LS221 LS240 LS241 1.00 1.00 1.00 .85 .70 1.15 1.20 1.20 LS244 LS245 LS259 LS273 LS283 LS367 LS368 LS373 LS374 LS377 LS390 LS393 LS670 1.20 1.20 1.75 1.35 .95 .65 .65 1.40 1.40 1.40 1.50 1.50 1.85 S PRODUCT S188 S189 S287 S288 S387 S471 S742 3.25 3.25 3.25 3.00 3.25 7.50 9.00 7805 7812 7815 7905 7912 7915 309K 323K .85 .85 .85 .95 .95 .95 1.45 2.50 I.C. SOCKETS -P.C. Wire Wrap .52 .54 1.40 1.60 14 .14 14 16 .16 16 18 .19 18 20 .27 20 22 24 28 .37 40 .45 24 28 40 WE CAN SUPPLY TTL-CMOS CONNECTORS CAPACITORS DIP SWITCHES DIODES TRANSISTORS TERMS: Check. Money Order. Visa, Masrer Card. Call for C.O.D. U.S. Funds only. P.O.'s accepted from qualified firms and institutions. California residents add 6% sales tax or resale card. CALL FOR VOLUME PRICING PRICING SUBJECT TD CHANGE WITHOUT NOTICE. ALL PARTS 100% GUARANTEED. MINIMUM ORDER S15.0 registers, including the stack pointer, are allowed. Any signed relational operator is allowed, and the rela- tional operator names will be familiar to all FORTRAN programmers. The address expression may con- tain any of the MC6809 addressing modes. The ELSE and ENDIF state- ments serve as destinations for branches around the blocks of assembly-language statements. Notice that two labels are avoided for each IF structure, making the struc- tured code much simpler to write and read than its equivalent assembly- language form. The ELSE macro and the block of code following it are op- tional. Two other forms of the IF state- ment were created to take advantage of specific MC6809 instructions. Two different instructions are available on the MC6809 to perform a test on a value: CMP (compare) and TST (test against zero). These are reflected in the IF and IFTST control macros. The IFTST macro generates a TST in- struction instead of a CMP instruc- tion, and so gives a signed com- parison of a register (or a byte in memory) with zero. Listing 4 shows an example of the IFTST statement. The ELSE and ENDIF macros are used with the IFTST in the same man- ner as with the IF macro. Optionally the programmer may add a third argument of #0 to improve readabili- ty, as in: IFTST D,NE,#0 This third argument is ignored by the IFTST statement. A third form of the IF statement is Listing 5: Example of the IFCC construct. Allowed relational operators: EQ. NE, QT , GE, LT, LE, and CS — carry flag is set CC — caTrij flag is clear VS — overflow flag is set VC — overflow flag is clear Struc tured Code ROLA IFCC GT JSR DOIT ENDIF Equivalent Code ROLA BLE LABEL1 JSR DOIT LABEL1 EQU * Listing 6: Example of the WHILE construct. Allowed registers: same as IF. Allowed relational operators: same as IF. Structured Code Egu ivalent Code WHILE A, GT, #0 LABEL1 CMPA #0 BLE LABEL2 LSL B LSLB DEC A DECA ENDWH BRA LABEL1 LABELS EQU -a Listing 7: Example of REPEAT loop construct. The routine will shift register B based on the value in register A. Allowed registers: same as IF. Allowed relational operators: same as IF. Struc tured Code Eg u i va lent Code REPEAT LSL B DEC A UNTIL A, LE, #0 LABEL1 EQU * LSLB DECA CMPA #0 BGT LABEL 1 376 November 1981 © BYTE Publications Inc if He'd used select tm it wouldn't have taken seven days Learn SELECT in just 90 minutes. A whole new word processing software concept that kicks the coded key habit and frees you from complicated instruction manuals. SELECT is fast. SELECT is logical. With single key mnemonics, you'll use dozens of commands that instantly access the rich capabilities of this system. There's nothing like it. Simply hit "C" and you'll be ready to Create a document. Key "I" and you'll be in the Insert mode. Key "M" and Move entire blocks of text . . . and key dozens more. That's all there is to it. You'll get all that word processing software promises . . . plus a few surprises. SELECT 'with SUPERSPELL .* The only microcomputer software with an integrated spelling dictionary. To proof your text all you do, of course, is to key "S". SUPERSPELL with its 10,000 word dictionary scans your text at computer speed then displays and corrects all your typing errors. You can increase SUPERSPELL's word power and customize the dictionary by adding new words, one at a time. Ask to see it today at your local dealer. SELECT with SUPERSPELI just a little byte more. SELECT will run on any machine that uses CP/M or MP/M" or its derivatives. It needs 40K of RAM and two disk drives. Special version now available for Radio Shack Mod II"* and Apple II***" * SELECT and SUPERSPELL are trademarks of Select Information Systems Inc. ** CP'M and MP/M are trademarks of Digital Research * ' * A trademark of Tandy Corp. * ■ ' * A trademark of Apple Computer Inc. INFORMATION SYSTEMS 919 Sir Francis Drake Boulevard ■ Kentfield, California 94904 -(415) 459-4003 Circle 378 on inquiry card. BYTE November 19B1 377 Listing 8: Programming example written without the benefit of structured statements. CONVERT BINARY TO DECIMAL AND STORE 5 CHARACTERS (AFTER EXAMPLE ON PAGE 10-10 OF MC6900 MICROPRO - CESSOR PROGRAMMING MANUAL ) ON ENTRY: (D) = 16-BIT UNSIGNED BINARY VALUE. (X) = POINTER TO LOCATIONS RECEIVING CHARACTERS. REGISTERS USED: (Y> ■ POINTER TO CONSTANTS FOR THE CONVERSION. ON EXIT- D AND X ARE BASHED, OTHER REGISTERS UNCHANGED. * * SAVLOB DIGCNT CVBTD CVDEC1 CVDEC2 * CVDEC5 THIS SUBROUTINE IS RE-ENTRANT AND POSITION-INDEPENDENT. TEMPORARY STORAGE ON THE STACK IS: SAVLOB AND DIGCNT. K10K EQU EQU PSHS LEAS LEAY CLR SUBD BCS INC BRA ADDD STA LDA ADDA STA LDA CMPD BNE LEAS PULS FDB FDB FDB FDB FDB END -2, S K.10K, PCR DIGCNT, S , Y CVDEC5 DIGCNT, S CVDEC2 , Y+ + SAVLOB, S DIGCNT, S #*30 , X + SAVLOB, S #0 CVDEC1 TEMP. STORE LOW ORDER BYTE STORES COUNT TO CREATE DECIMAL DIGIT RESERVE LOCAL STORAGE BRANCH ON OVERFLOW INC CHAR BEING BUILT RESTORE PARTIAL RESULT SAVE LOW ORDER BYTE CHANGE DIGIT TO ASCII CHAR AND SAVE IN RESULT RESTORE LOW ORDER BYTE CLEAN UP STACK AND RESTORE REGISTERS 2, S Y, PC STORAGE FOR CONVERSION CONSTANTS 10000 1000 100 10 1 the IFCC, which selects an execution path based on the existing condition code flags. Its only operand is a rela- tional operator. An example of the IFCC appears in listing 5. At first glance this form of the IF may seem unnecessary, since it only generates a single branch instruction. It is useful, however, because it eliminates the need for the programmer to create a label. WHILE The WHILE... ENDWH statements bracket a block of assembly code to form a conditional-loop control structure. The WHILE specifies a signed comparison (CMP) of the same form used by the IF statement. The instructions between the WHILE and the ENDWH are executed as long as the condition is true. The condition is tested at the beginning of each traversal of the loop. An example of the WHILE statement appears in listing 6. The code performs a multi- ple left shift of B based on a count in A. REPEAT The REPEAT. . .UNTIL macros pro- vide a conditional-looping construct in which the condition is tested after each traversal of the loop. Thus, the code in a REPEAT loop will always be executed at least once. The UNTIL macro specifies a signed comparison IEEE 488 TO S-100 INTERFACE Handles all IEEE-488 1975/78 functions EEE 696 (S-100) compatible MBASIC subroutines supplied; no BIOS mods required 3 parallel ports (8255A-5) Industrial quality; burned in and tested $375 ,r^ I .1 (Dealer inquiries invited) DSAA/ digital 1524 REDWOOD DRIVE LOS ALTOS, CA 94022 14151 966-1460 378 November 1981 © BYTE Publications Inc Circle 124 on inquiry card. Q. What do these fott have in common? A. Tarbell quality. CPU/IO BOARD ZilogZ-80A will run at 2 or 4 Mhz □ Two RS-232 Serial I/O ports D Allows dynamic mapping of logical to 1 Megabyte of physical memory in 4K blocks. □ Designed to implement multi-user operating systems, such as MP/M® from Digital Research. □ Includes crystal-controlled programmable timer (8253), which can be used for time-slicing multi-tasking operations. □ Programmable priority vectored interrupt hardware allows the programmer to selectively disable any combination of six in- terrupt lines. A&T S 450 :W!T:'V 32K RAM S-100 Bus □ Works at 4 Mhz □ Static Memory for Ease of Maintenance D 9 Regu- lators Provide Excellent Heat Distribution □ Extended Addressing (Bank Switch- ing) □ Low Power Requirement □ Phantom Line □ Each 4K Block is Individually Addressable Within 32K □ Full 1-Year Warranty. A&T*725 SINGLE DENSITY FLOPPY DISK INTERFACE Adaptable to wide variety of drives, including older models, 5-inch, 8-inch, Shugart, PerSci. □ Fully software-supported by Tarbell with a CP/M® disk operating sys- tem. □ Capable of running with several formats, including standard IBM (128 bytes per sector, 26 sectors, 76 tracks), 256, 512, or 1024 bytes per sector. D Avail- able in kit or fully assembled and tested form. □ Supports up to 4 8-inch drives, single or double sided. 5-inch drives can be used with modifications to the inter- face (included in manual). KIT S 225 A&T*325 DOUBLE DENSITY FLOPPY DISK INTERFACE Fully software-supported by Tarbell with the CP/M disk operating system and the MP/M multi-user multi-tasking operating system. □ Under the Tarbell double- density CP/M, single and double density disks can be mixed automatically. □ True Direct Memory Access (DMA) in single or double density mode makes possible ef- ficient multi-user and multi-tasking systems. □ Also capable of programmed-data- transfer method, which works in single density at 2 or 4 Mhz, and double density at 4 Mhz. D Extended addressing capability provides 8 extra address bits on the lines defined by the IEEE S-100 standard. This allows direct transfers to and from anyplace in 16 Mbyte address range. A&T*495 You'll find these quality S-100 boards at your local Tarbell Dealer. MANUFACTURER OF COMPUTERS, COMPONENTS AND SOFTWARE. 950 Dovlen Place • Suite B • Carson, CA 90746 • (213) 538-4251 CP/M and MP/M are trademarks of Digital Research Circle 402 on inquiry card. BYTE November 1981 379 Listing 9: The programming example of listing 8, written in structured assembly language. * CONVERT BINARY TO DECIMAL AND STORE 5 CHARACTERS » (WRITTEN WITH STRUCTURED MACROS) (CMP instruction) of the same form as that used by the IF macro. Listing 7 presents an example of a REPEAT loop. The code will left shift B based on a count in A. SAVLOB DIGCNT CVBTD CVDECJ KIOK EQU EQU PSHS LEAS LEAY REPEAT CLR SUBD IFCC INC BRA ENDIF ADDD STA LDA ADDA STA LDA UNTIL LEAS PULS KIOK, PCR DIGCNT, S , Y CC DIGCNT. S CVDEC2 , Y+ + SAVLOB, S DIGCNT, S #$30 , X + SAVLOB, S D, EG, #0 TEMP. STORE LOW ORDER BYTE STORES COUNT TO CREATE DECIMAL DIGIT FDB FD3 FDE FDB FDB END UNLESS THERE WAS OVERFLOW INCREASE DECIMAL DIGIT LOOP TO TEST AGAIN RESTORE PARTIAL RESULT STORE LOW ORDER BYTE CHANGE DIGIT TO ASCII CHAR AND SAVE IN RESULT RESTORE LOW ORDER BYTE CLEAN UP STACK AND RESTORE REGISTERS 2, S Y, PC STORAGE FOR CONVERSION CONSTANTS 10000 1000 100 10 1 Nesting of Structures The structured statements may be used anywhere in an assembly- language program. The block of statements bracketed inside one con- trol structure may itself contain other structured statements. This is known as the nesting of control structures. The only restriction to observe is that each control structure must be wholly contained within a single block of assembly statements; the statements of two control structures may not overlap. The number of control struc- tures contained one within the other is called the depth of nesting. Long Branch Option The structured assembly state- ments all generate short relative branch instructions, which may reference locations a maximum of 127 bytes away from the location of the COMPUTERS ATARI" 800™ COMPUTER SYSTEM 16k-*750.00 48k-*898.00 APPLE II Plus" 48k-hta 64k-*-\3S gs ATARI tf»\ Software ' ' Missis Command Asteroids Slat Raiders Chess All/ *360%a REAL-TIME CLOCK CALENDAR (MSM 5832) Otx'nt* Hand M*t*l OilfCMOS I C 'UtHtl i Uonin Dtlt fiir ■ 'D*rof w ■ft* OwiM -IB|| Dan But ■IK. I AOd'M* ' "/w "oM S*t*t • -Inlai Signml ' 33 ?66Kru S.PowSuo 'Low Pcwx Diutpation *745 . Control XTAL $2.85 *145 OR SHELF/ DESK MOUNTED*5722 MSC. II NUCtfl 'i i llll '7550 POWEF SUPPLY MODEL •CP198 input -110,125. oulpul -Svdc ai 6amps City (Mica *vwl BEST SELLERS ! Sybei — --"Microprocessors" *15.00/ea. H- CARDS MICROSOFT Z80, 16K RAM *160°o VIDEX VIDEOTERM OO column *295°o KEYBOARD ENHANCER *120°O CALIF COMP SYS APPLE CLOCK $12400 PHOTO BOARD *25°o PRINTERS EPSON MX-80 ST-*535.°o FT"-*645P° Interlace & cable ,78.90 M PROW CLIPS Apple II users Guide 14 PIN 16 PIN 24 PIN 40 PIN S4 35 S4 SO SB. 75 . SI4.75 CONCORD 1971 SO. STATE COLLEGE ANAHEIM, CALIF. 92806 4\? (714) 937-0637 MfHS. - CHECK — MA) \°Iv» XCW • NO COD C *10.MIN ORDER/ CA RES. ADD 6% FRT 100-aW 8.00 1000- UP CALL •SPECIALS* ZEIITH ZVM-I2I Video Monitor-Green Phosphor 12 inch 15+Wiz 3inch MUFFIN FUN w /com— '9.85 UPD 765: Floppy Disk Cool— '19.95 BI55-R.M-t11.50 8255-PPI- 17.95 2111- Sialic RUM— 'l.?5 8085V CPU —18.50 MC6800-CP0— tun ER25O1-EHB0M- 4.95 -»139°° 81 "I C MASTER ^»59.95 x '' 8H8-8— '31.00 334IPC— *2.00 MM5060— 35C MONITORS l/f deo "AMDEK Corp." tOO UMBO mo 12ih BLACK & WHITE VIDEO MONITOR »MMK lUBBltmt ORCEN Phot VIDEO MOJITO.. COMPONENTS ■ SH740ON ■ SN7402N |SM7404N ISN7406N ISN7410N |SN7412N I SN74 1 3M |SN7414N I5N741SN ISN7417N |SN7420N ■ SN7425N |SN7430N |SN7437N ■ SN7438N ISN7440N ■SN7442N ■SN7443N ■SN7445N ■ SN7451N 1SN7454N SN7474N SN7475N * 365.00 SN7482N SN7492N SN7493N SN749SN SN7400N SN74122M SN74136N SN74141N SM74151N SN74153N SN74154N SN7415SN SN74157N SN74160N SN74161N SM741&3N SN74164N SN74.65N SN74174N SM74175N SN74180N SN74181N SN74393N 745O0 .30 74S138 74S02 AS 74S14Q TOO WS03 38 745158 74S04 .30 74S174 1.35 7450S .30 74S175 1.35 74S10 .30 74S182 .75 74S15 .45 74S180 4.25 74S20 .55 74S201 8.75 74S22 55 74S240 2.75 74S30 .75 745244 2.95 74537 .55 745251 2.75 74SSO .05 74S287 2.66 74S51 40 74S288 ?W> 74S64 .55 7452 00 74S74 .65 74S470 9.25 74S86 .06 74S471 9.50 74S112 1.96 74S473 9.50 74S133 1.45 74S474 9.50 EPROMS 2708 3.25m 8 for 2.05m 2718 5,50m 8 tor 5.00m 2732 12.05m 4tart1flOM 74LS00 74LSOO 74LS02 74LS03 74LS04 74LS06 74LS08 741.SO0 74LS10 74LS14 74LS20 74LS21 74LS26 74LS27 74LS28 74LS30 74LS32 74LS3B 74LS42 74LS48 74LS74 74LS7S 74Lsae 74LS0O 74LS03 74L508 74LS107 74 LS1 13 74 LSI 22 74 LSI 23 74LS125 74 LSI 28 74LS138 74 LSI 30 )>4 LSI 51 74 LSI 53 74LS157 74LS158 74LSW1 74L5192 74LSW3 74LSW4 74LS165 74 L 5160 74 LSI 70 74 LSI 74 M LSI 75 74 LSI 90 74LS1S1 74 LStOS 74 LS107 74LS221 74LS240 M LS241 74LS243 74 LS244 74 LS245 74LS251 74LS253 74LS257 74LS250 74L5260 74LS273 MLS270 74LS290 74LS203 74LS305 74LS367 74LS373 74LS3M 74LS377 74LSOM 156 ' 74LS870 185 MISC. ' 2102 450HS ' B038 : NE565 AY5t013A ' 1468 ' 1480 1 8T2C ' 8T28 1 8212 8216 IS4WSCR IT410TRIAC ' 7905 ' 7008 7015 7918 7805 7806 7808 J 7812 MC1330A1P I MC1350P , MC1358P LM380 LM565N LM741 MC1458P I LM720 2111 450NS 2.50MlOtar 2.00m cont'd 1103A UPD7B5 ftOppydM corttroilor ULH2001 TMS4400 MC4006P MH0026 03624 D3001 D3002 I.C SOCKETS 85 10/5.3O 14 10/1.30 85 10/5.70 Kl XV 1.40 '■6° KV8.70 m KV1.80 '■'5 1079.70 ■H> KV2.70 15 KV12.70 ?? KV2.70 1-10 KW13.70 '74 KV2.70 ■05 «/M.70 7ft 1073.00 -25 KV17.70 4U 10/3.90 1.30 TERMINALS CPUi Z-60 7.05 Z-80ACTC 10.50 Z-80ACPU 10 50 Z 80 002 16-64K 120.00 8085A 13-50 2001A 7.50 MC6800 0.50 1012^ Synertek «KTM-3 }> LOW COST TERMINAL WITH KEYBOARD AND VIDEO KX> _ * 449900 380 November 1981 © BYTE Publications Inc Circle 110 on inquiry card. Introducing The Grappler": The only interface that makes computer graphics easy as Apple pie. ACTUAL APPLE II PRINTOUT USINC Orange Micro makes the only univer- sal parallel interface card that simpli- fies high resolution graphics for Apple™ computers. No longer does the user need to load clumsy software routines to dump screen graphics — it's all done by The Grapplers™ exclusive E-PROM chip. There are versions to accom- modate the Anadex, Epson MX-100, MX-80*and MX-70, IDS Paper Tigers, Centronics 739, and NEC Prowriter, and future graphics printers. The Grappler™ accepts 18 simple software commands accessible through the keyboard or user program, making it the most intelligent Apple Interface available. Order The Grappler™ through Orange Micro direct, or authorized dealers. 'Requires- Grafftrax-80 ANAHEIM STORE 3150 E. La Palma, Suite I Anaheim, CA 92806 (714) 630-3622 SHERMAN OAKS STORE 13604 Ventura Blvd. Sherman Oaks, CA 91423 (213) 501-3486 Circle 325 on inquiry card. FEATURES - User benefits SELECT PAGE- Choice of Hi-Resolution Graphics page 1 or page 2. INVERSE GRAPHICS- Provides reverse graphics of black-on-white or white-on-black. DOUBLE SIZE PICTURE- Doubles the graphic screen representation vertically & horizontally. 90° ROTATION— Rotates the screen pic- ture 90? CENTER GRAPHICS -Accomplished through setting left margin thereby center- ing the graph. CHART RECORDER MODE- Successive horizontal pictures are combined continu- ously simulating a chart recorder. BLOCK GRAPHICS- For printers with block graphics (e.g. Epson MX-80, Okidata M80), the high order bit can be controlled. BELL — For printers with a bell, bell charac- ters are deleted during user program listings. MARGINS -Set left and right margins. SKIP-OVER-PERF-S& page length; printer will automatically skip 6 lines between each page. VARIABLE LINE LENGTH- For user pro- gram listings, sets line length and wraps around with breakpoint at nearest blank. TEXT SCREEN DUMP-The text from a user report or page of program listing can be dumped directly from the screen. WORKS WITH PASCAL & CPM Grappler Orange micro inc. 3150 E. La Palma, Suite G, Anaheim, CA '92806 (800) 854-8275 TOLL FREE (714)630-3322 ca,ak,hi mmmum Dealer inquiries welcome to: Waybern Corporation (714) 554-4520 CompuCable Corporation (714) 635-7330 ©1981 Orange Micro, Inc. branch instruction. If this range is ex- ceeded, a long branch is required; an error message will be printed telling which branch needs to be flagged as being "long." By appending the character "L" as an additional item in the conditional expression, the pro- grammer may force the generation of a long relative branch. Statements which cannot receive an L parameter will print an error message if an L is appended. The following statements may be flagged as "long": IF: branches over code between IF and ELSE or ENDIF ELSE: branches over code between ELSE and ENDIF WHILE: branches over code be- tween WHILE and ENDWH UNTIL: branches over code be- tween REPEAT and UNTIL For example, the L flag may be used with the IF structure as follows: IF U, NE, #BOTTOM,L (long-code segment) ELSE (short code segment) ENDIF or: IF S, GT, #STAKND (short code segment) ELSEL (long code segment) ENDIF In order to really demonstrate the difference these structures make in reading a program, "before" and "after" examples are shown in listings 8 and 9, respectively. A program originally appearing in the MC6800 Programming Manual has been recoded for the 6809, using control structures. This example is a compel- ling argument for using structured macros for two reasons: • It is not contrived: the original pro- gram is typical of assembly-language subroutines written by a "good" pro- grammer. • The translation of structures into 96K CP/M® (For your TRS-80* Model II) Multiple Job Executive Add a whole new dimension to your TRS-80 Model II. Let it work while you work!! ATON's unique JobStream™ CP/M 2.2, along with additional RAM memory; allows you to simultaneously compile, assemble, or link in one 64K background partition (62K TPA) while you edit files, and spool to the printer, and communicate with another computer in up to four 32K foreground partitions (28K TPA). As you expand memory beyond 64K, you also enter the amazing world of TrackMode BIOS™ which not only multiplies diskette speed up to five times, but also automatically performs read after write checks for the ultimate in data reliability. ■Gain hard disk performance for a fraction of the cost — and no backup problems!!! •Works in 32K, add RAM memory to 256K using standard Radio Shack memory boards. • Supports two sided expansion disk drives (1.2 megabytes per diskette). JobStream CP/M 2.2 (with Z-80** Debugger) $235 Omni Writer™ Video Text Editor $130 Z-80 Debugger Source Code $ 50 Package of above (a $415 value) $295 "Software with Service' on nternational, Inc. Prepaid, Visa, MasterCard or COD. Shipping and handling extra. California residents add 6% sales tax. CP/M* Digital Research, Inc. *™Tandy Corp. *'™Zilog Corp. JobStream, TrackMode BIOS'". AT0N Intl. Omni Writer™ Omnigraphics 260 Brooklyn Avenue, San Jose, CA 95128 (408) 286-4078 assembly code will produce exactly the same instructions as those in the original program. The second reason cannot be over- emphasized: the use of control struc- tures does not produce inefficient programs. The inefficiency associated with the use of high-level languages arises from other sources. The presence of the unstructured branch to CVDEC2 in listing 9 might at first seem to show that structured statements are inadequate for assembly-language programming. On the contrary, the branch could have been replaced by structured state- ments at the expense of generating a longer assembly-language program. In fact, the branch shows that the op- timizing tricks sometimes required in assembly language can still be used with the structured statements. After extended use, it becomes obvious that the structured control statements are exactly what is needed in the vast ma- jority of programming situations. Part 2 of this article will discuss macros, the programming tools from which the structured statements are constructed. It will present the specific macros needed to create structured statements for the MC6809 and will explain how these macros operate. ■ References 1. Dijkstra, Edsger. "Go to Statement Con- sidered Harmful." Communications of the ACM, Volume 11, Number 3, March 1968, pages 147-148. 2. Grogono, Peter. Programming in Pascal. Reading MA: Addison-Wesley, 1978. 3. Kernighan, Brian W and P J Plauger. Soft- ware Tools. Reading MA: Addison-Wesley, 1976. 4. Kernighan, Brian W and Dennis M Ritchie. The C Programming Language. Englewood Cliffs NJ: Prentice-Hall, 1978. 5. Motorola Inc. MC6809 Preliminary Pro- gramming Manual. 1979. (Manual may be ob- tained from the Motorola Literature Distribu- tion Ctr, 616 W 24th, Tempe AZ 85282.) 6. Motorola Inc. MC6809 Macro-Assembler Reference Manual. 1978. (See above.) 382 November 1981 © BYTE Publications Inc Circle 40 on inquiry card. /The Computer Headquarter^ Apple II plus 48K • Apple Disc Drive II w/interface DOS 3.3 I • 12" Green high resolution monitor • OKIDATA 80 Gr. printer • TYMAC cable and interface • Apple writer Now Only 52449° BUSINESSMAN'S SPECIAL • Apple II plus 48K Apple Disc Drive II and interface DOS 3.3 • 12" Green High Resolution Monitor • Visicalc 3.3 Software ,NowOnly s 2039°S ow! Write a letter and prin t i mmediately! APPLE II ACCESSORIES DC Hayes Micro Model II s 299 Videx 80 Column Video Terminal s 289 Videx Keyboard Enhancer '109 SUP'R' Mod s 27 Microsoft Z80 '289 Apple Silent Type Printer s 339 High Speed Serial Interface s 158 Microsoft 16K Ramcard 5 159 Language System w/Apple Pascal (contains Integer Basic & 1 6K Expansion Card) . '405 Integer BASIC Firmware Card s 159 ABT Keypad (Data Entry Pad for Apple) '109.95 CALIFORNIA COMPUTER SYSTEMS Programmable Timer s 99.95 Analog-to-Digital Converter '104.95 .Arithmetic Processor 309.95 SOFTWARE HOWARD SOFTWARE Tax Preparer 80.00 Real Estate Analyzer 129.95 Creative Financing 130.00 LJK SOFTWARE Letter Perfect 129.95 APPLE II SOFTWARE Dow Jones Portfolio Evaluator 47.00 The Controller 1.1 (General Bus. System) 520.00 Apple Post 47.00 Dos Tool kit 67.50 Dow Jones News and Quotes Reporter 85.50 Apple FORTRAN 175.00 Apple Plot 64.00 DENVER SOFTWARE Financial Partner ... 149.95 ARTSCI Magic Window s 85 Magic Mailer '60 BRODEBOND Payroll '309" HAYDEN Apple Compiler s 159 HIGH TECH DiscO Check s 85 DB Management s 85 Client Billing s 250 Info MasterfDOS 3.3). . s 130 MICROSOFT Fortran-80 ! 1 54.50 MICRO PRO Word Star 3.0 s 269 Spell Star ! 200 Data Star s 214 PEACH TREE f/APPLE General Ledger S274 Accounts Payable s 274 Accounts Receivable s 274 Magic Wand '350 BPI General Ledger . s 315 Accounts Receivable S 315 Inventory Control S315 The Source s 89 PERSONAL SOFTWARE Visicalc 3. 3 s 159" Visiplot M49" Visidex '159" STONEWARE DB Master '192. I BEST SELLERS ON DISK Games Temple of Apshai . 37.50 Rescue at Rigel . 37.50 Crush Crumble and Chomp . 28.95 Cosmo Mission . . . . 23.95 Major League Baseball 29.00 Apple Panic . 28.95 Allen Rain .23.95 Rastler Blaster . . . . 28.95 Saragon II . 32.95 Zork . 37.50 Robot War .37.50 Space Eggs . 28.95 . 37.95 TG Joystick 49.95 MOUNTAIN COMPUTER Expansion Chassis . . '609" CPSMuIti Function '189" Music System . '475™ 100,000 Day Clock. . . ! 325°° The Clock s 23 g.» A/D + D/A W/O Cable '309" SupertalkerSD200 . . ! 255°° lntrol/x-10 Controller .'170™ Romwriter 154" & OTHER MICROS MEMOREX BoxoHO'27.00 MAXELL Priced too low to print! BASAF Box of 10 '35.00 Call for Diskette Quant. Price ATA PI 800 with 16K s 759 95 - HEWLETT "EM PACKARD PRINTERS Disc Drive Control 224.95 Disc Memory Drive 349.95 Solid State Printer 295.00 RF Modulator 39.95 Tl 59 Program 179.95 Less Manuf. Rebate -20.00 YOUR COST 159.95 Tl 58C Program. 89.95 PC 100C Printer tor 58/59 157.50 The HP-85 Is a powertul BASIC language computer, w/keyboard, CRT display, printer & tape drive, 16K RAM, expandable to 32K Reg. 3250.00 Now s 2595 HP-83 Reg. 2250 S 1750 NEW HP-125 CPU Terminal Call or Write for Low Price 7225B Graphics Plotter OPT. 002 Reg. 2,200 5 1 742 82901M 5V<" Dual Master Flex. Disc Drive Reg. 2,500 s 1995 2631B Impact Printer OPT. 885 Reg. 3,950 s 3,095 QUME SPRINT 545 RO 45 CPS '2500 5/55 RO '2550 5/55 KSR '2850 9/35 RO 35 CPS RS-232 ! 1 .839 9/35 KSR 35 CPS RS-232 with Keyboard 9/45 LTD 45 CPS RS-232 Limited Front Control Panel 9/45 FULL 45 CPS RS-232 Full Front Control Panel 9/55 LTD 55 CPS RS-232 Limited Front Control . 9/55 FULL 55 CPS RS-232 Full Front Control Panel . . . NEC Spinwriter 3500 Series . CENTRONICS CALL ANADEX 9500 132 Column. 150 C PS '1349 9501 Graphics Model DP-9500 '1349 DIABLO 630 (RS-232) Daisywheel Prnlr '2399 1650 RO '2999 1 640 RO '2579 1650 KSR '3599 1640 KSR '3550 PAPER TIGER 445G Graph '790 440G Graph >975 460G Graph '1299 560G Graph'1595 440 '899 445 '699 460 '1275 '1985 '2179 '2320 '2295 '2440 CALL OKJDATA Microllne-80 *399 82A PRINTER: Graphics, 120 c Bidirectional, Friction and Pin Feed 80/132 Columns 539. Tractor Feed Optional 55, 83A PRINTER: Graphics, 120 c Bidirectional, Friction and Tractor, Columns, Takes 15" Paper 81 EPSON MX-80 Printer Call or write tor low price! ' &* MX-80 FT Printer a Call or write for low price MX-100FT Printer Call or write tor low price Sanyo Monitors VM-4509 9"B&W 169.95 DM-5112CX 12" Green .269.95 DMC-6013 13" Color . . .449.95 Electro Home 9" Green . 204.95 CORPORATE ACCOUNTS WELCOME e© 67 West 47th Street, 115 West 45th Street, MAIL ORDER ADDRESS: 36 E. New York, N.Y. 10036 New York, N.Y. 10036- 19th St. New York, N.Y. 10003 VISA £JVIEFIIGOjuJ EXPRESS (212)260-4410 TOLL FREE OUT OF STATE 800-221-7774 800-221-5858 800-223-5661 Items on sale lor limited time only, and are subject to limited availability. Not responsible for typographical errors. This ad supersedes all other ads prior to Nov. '81. All orders subject to verification and acceptance. Minimum shipping and handling $4.95. Circle 1 on inquiry card. BYTE November 1981 383 PROLOG A Step Toward the Ultimate Computer Language Ron Ferguson 137 University Ave W, Apt 907 Waterloo, Ontario N2L 3E6 Canada What will the ultimate computer language be7 What language will we be using once assembler language, BASIC, and Pascal have become museum pieces7 Sur- prisingly, this question is easy to answer: there will be several ultimate computer languages. We even know what their names will be. They will be called English, Spanish, French, Russian, Chinese, etc. After all, the easiest language you could use to program a computer is the one you use to communicate with other people. Unfortunately, programming a computer in English is still in the future. For a computer to understand English, it must be able to cope with the ambiguities inherent in any natural language. It must be able to deduce facts you don't bother specifying because they are "obvious." (No- thing is obvious to a computer unless it has been pro- grammed to realize it is obvious. Everything must be stated explicitly and precisely.) Today, though, we do have a language, called PRO- LOG, that simplifies the task of informing a computer about obvious (and not so obvious) facts. The name PROLOG is short for "PROgramming in LOGic"; how- ever, you do not have to be familiar with formal logic theory to use PROLOG. In fact, the language is so simple a child can learn it. Yet its very simplicity makes it far more powerful than any other language currently avail- able for use on microcomputers. PROLOG is a programming language ideally suited to the manipulation of knowledge. A PROLOG program consists of facts about a certain subject. You can ask PROLOG questions and it will attempt to answer them using the facts it has been told. Facts are expressed in PROLOG in a concise manner. The fact that John is the father of Tom is expressed by the one-line PROLOG program: father(john,tom). The relationship, father, appears first, followed by the arguments (in parentheses) to which the relation applies. This data structure is called a term. The only potential area of confusion is the order in which the arguments are written. As a rule, the subject of the relation is the first argument and the object is the second. With this pro- gram, you can now ask PROLOG whether John is the father of Tom: father(john,tom)7 to which PROLOG will respond: yes Note that the only difference between telling PROLOG that John is Tom's father and asking PROLOG whether John is Tom's father is the punctuation mark at the end of the statement. An assertion always ends with a period; a question always ends with a question mark. If you ask whether John is the father of Bill: father(john,bill)7 384 November 1981 © BYTE Publications Inc Computer experts (the pros) usually have big computer experience. That's why when they shop system software for Z80 micros, they look for the big system features they're used to. And that's why they like Multi-User OASIS. You will too. DATA INTEGRITY: FILE & AUTOMATIC RECORD LOCKING The biggest challenge for any multi-user system is co-ordinating requests from several users to change the same record at the same time. Without proper co-ordination, the confusion and problems of inaccurate or even destroyed data can be staggering. Our File and Automatic Record Locking features solve these problems. For example: normally all users can view a particular record at the same time. But, if that record is being updated by one user, automatic record locking will deny all other users access to the record until the up-date is completed. So records are always accurate, up-to-date and integrity is assured. Pros demand file & automatic record locking. OASIS has it. SYSTEM SECURITY: LOGON, PASSWORD & USER ACCOUNTING Controlling who gets on your system and what they do once they're on it is the essence of system security. Circle 343 on inquiry card. (THEN COMPARE.) Without this control, unauthorized users could access your programs and data and do what they like. A frightening prospect isn't it? And multi-users can multiply the problem. But with the Logon, Password and Privilege Level features of Multi-User OASIS, a system manager can specify for each user which programs and files may be accessed — and forwhat purpose. Security is further enhanced by User Accounting — a feature that lets you keep a history of which user has been logged on, when and for how long. Pros insist on these security features. OASIS has them. EFFICIENCY: RE-ENTRANT BASIC A multi-user system is often not even practical on computers limited to 64K memory. OASIS Re-entrant BASIC makes it practical. How? Because all users use a single run-time BASIC module, to execute their compiled programs, less memory is needed. Even if you have more than 64K, your pay-off is cost saving and more efficient use of all the memory you have available — because it services more users. Sound like a pro feature? It is. And OASIS has it. AND LOTS MORE. Multi-UserOASIS supports as many as 1 6 terminals and can run in as little as 56K memory. Or, with bank switching, as much as 784K. Multi-Tasking lets each user run more than one job atthe same time. And there's our BASIC — a compiler, interpreter and debugger all in one. An OASIS exclusive. Still more: Editor; Hard & Floppy Disk Support: Keyed (ISAM), Direct & Sequential Files; Mail-Box; Scheduler; Spooler; all from OASIS. Our documentation is recognized as some of the best, most extensive, in the industry. And, of course, there's plenty of application software. Put it all together and it's easy to see why the real pros like OASIS. Join them. Send your order today. OASIS IS AVAILABLE FOR SYSTEMS: Alios; CompucorpiCromemco: Delia Products: Digital Group: Digital Microsystems: Dynabyle: Godbout; IBC: Index: Intersystems; North Star: Onyx; SD Systems: TRS 80 Mod II. Vector Graphic. Vonmex CONTROLLERS: Bell Controls; Cameo. Corvus: Konan: Micromation. Micropohs Tarbell: Teletek: Thinkertoys; X Comp Write for complete. free Application Software D rectory. PLEASE SEND ME: Price with Manual Product Manual Only OPERATING SYSTEM (Includes; EXEC Language; File Management; User Accounting; Device Drivers; Print Spooler; General Text Editor; etc.) SINGLE-USER S150 S17.50 MULTI-USER 350 17.50 BASIC COMPILER/ INTERPRETER/DEBUGGER 100 15 00 RE-ENTRANT BASIC COMPILER/ INTERPRETER/ DEBUGGER 150 15.00 DEVELOPMENT PACKAGE (Macro Assembler; Linkage Editor; Debugger) 150 25.00 TEXT EDITOR & SCRIPT PROCESSOR 150 15.00 DIAGNOSTIC & CONVERSION UTILITIES (Memory Test. Assembly Language; Converters; File Recovery, Disk Test; File Copy trom other OS; etc.) 100 15.00 COMMUNICATIONS PACKAGE File Send & Rece.ve) 100 15.00 PACKAGE PRICE (All of Above} SINGLE-USER 500 60.00 MULTI-USER 850 60.00 FILE SORT 100 15.00 COBOL-ANSI '74 750 35.00 Order OASIS from: Phase One Systems, Inc. 7700 Edgewater Drive, Suite 830 Oakland, CA 94621 Telephone (415) 562-8085 TWX 910-366-7139 NAME. STREET (NO BOX =) CITY STATE ZIP AMOUNTS (Attach system description; add S3 for shipping; California residents add sales tax) □ Check enclosed □ VISA □ UPS C.O.D. □ Mastercharge Card Number Expiration Date Signature MAKES MICROS RUN LIKE MINIS BYTE November 1981 385 Authorized Commodore service center Repair of the complete line of Commodore products In a hurry? Check our modular exchange program Computer Disc Drive commodore Prlnter HARDWARE: SOFTWARE: CBM 8032 Computer, ozz S299 80 Column SI 195 Wordcraft 80 299 CBM 8050 Disk Drive 1395 Tax Preparation System 380 CBM 4032 Computer, IRMA 380 40 Column 995 Dow Jones Portfolio CBM 4040 Disk Drive 995 Management System 115 CBM 4022 Printer 649 Personal Tax 55 CBM VIC 20 Computer 263 Pascal 229 CBM VS 100 Cassette 68 Assembler Development PET to IEEE Cable 33 Package 77 IEEE to IEEE Cable 39 Wordpro 44- 329 BASF Diskette, Box of 1 30 Order TOLL FREE 1+800-527-3135 10 AM to 4 PM CDT Monday through Friday Texas residents call 1 4-2 1 4-66 1 - 1 370 VISA, MASTER CHARGE, MONEY ORDERS, AND C.O.D. "Certified Check" accepted. Units in stock shipped within 24 hours, F.O.B. Dallas, Texas. All equipment shipped with manufacturer's warranty. Residents of Texas, Louisiana, Oklahoma City and Tulsa, Oklahoma must add applicable taxes. Eclectic shortly will be announcing products that are designed to work with CBM systems. 1. ROMIO: two RS232 ports -three parallel ports -26K EPROM memory-managed alternate character set, software controlled- EDOS (extended DOS). 2. Terminal program (options with ROMIO) 3. EPROM programmer 4. Front-end processor 5. Additional firmware to be announced Be sure to write the address below for more information; dealer inquiries welcome. P.O. Box 1 166 • 16260 Midway Road Addison, Texas 75001 • (214) 661-1370 PROLOG will respond: no because it does not have any information to indicate that John is the father of Bill. You can ask PROLOG more complicated questions such as who the father of Tom is by typing: f ather( % who, torn) 7 The % at the beginning of "%who" indicates that "%who" is a variable. When a question contains a variable, PROLOG attempts to assign a correct value to the variable. PROLOG will respond to the above ques- tion with: %who = John If PROLOG cannot find a correct value for the variable, it again responds no. father(%who,bill)7 no As is the case in most programming languages, it does not matter what name you use for a variable. You can have used "%x" instead of "%who". However, unlike most programming languages, a PROLOG variable's scope is limited to the statement in which it appears. If the same variable name is used in two separate statements, there is no connection between them. They are treated as different variables. So far, PROLOG appears to be nothing more than an easy-to-use data-base language. You can store informa- tion and retrieve it later by asking questions. What makes PROLOG more than just another data-base language is that you can teach PROLOG how to manipulate the facts you have given it. Assume that you have made the following assertions: father(bill,john). father(john,tom). From these assertions, you can deduce that Bill is the grandfather of Tom. PROLOG can also make this deduc- tion if you tell it the fact that the father of the father is the grandfather. In PROLOG this fact is stated as a clause: grandfather %x, %z) — father(%x,%y),father(%y, %z). — means "is implied by" or "is true if." The term to the left of — is true if the terms to the right of — are true. The term to the left is called a goal, and the terms to the right are called subgoals. The goal is true if the subgoals are true. The goal is also referred to as the head term of the statement. Note that variables have been used in the clause to make a general statement about what it means for some- 386 November 1981 © BYTE Publications Inc Circle 153 on inquiry card. Micro computer software company gets macro results. "Software is the hottest segment of the personal computer industry. After all, it's the software that solves problems. And Business Week has precisely the type of readers who are looking for solutions to the kinds of problems we solve. Top and middle management of corpora- tions. That's why right from the start we committed a substantial portion of our marketing budget to advertise in BusinessWeek. And we're very pleased with the results. Since our first insertion, our monthly sales have more than doubled." James M. Dow, President Microcom, Inc. When Microcom began in 1980, the Boston-based manufacturer of personal com- puter software wanted to spread the word to corporate managers about its first product —an electronic mail pack- age for Apple™ computers called Micro-Courier™ Not only to managers who already have Apples,™ but to the fast- growing market of managers in corporations who are thinking of buying personal computers to help them and their staffs do a better job. For Microcom's Jim Dow, Business Week brought his market into focus. Business Week has a take-action audi- ence of over 6 million cor- porate decision makers. And they look to Business Week to keep them informed on com- puter developments. Business Week is the only general busi- Circle 54 on inquiry card. ness publication with an entire editorial section, Information Processing, covering events and trends in the computer industry. Every week. As Microcom found out, one of the best times to link up with Business Week is right at square one. But for small companies or large companies, Business Week gets big-time advertising results. Call your nearest Business Week representative today. BusinessWeek M Source: MRI (Spring, '81)/Pub. est. one to be the grandfather of someone else. PROLOG can use this general statement to answer specific questions. If you ask the question: grandfather(bill,tom)7 PROLOG will attempt to answer by setting "%x = bill" and "%z = torn" in the definition of grandfather. This creates an instance of the grandfather definition of the following form: grandfather(bill,john) — father(bill, %y),father(%y,tom). This states that Bill is the grandfather of Tom if Bill is the father of a person who is the father of Tom. By the first two assertions, PROLOG knows that Bill is the father of John and John is the father of Tom. Therefore, PROLOG will respond with a yes. If you ask PROLOG to find two people such that one is the grandfather of the other: grandfather(%x, %y)7 PROLOG will respond: rect one to use at that particular stage of the algorithm. Perhaps the correct statement should be I = I * 2. You cannot tell without looking at the rest of the code in which the statement appears. In PROLOG, on the other hand, you can determine whether a statement is true by examining that statement only. The correctness of the PROLOG statement that defines grandfather can be determined independently of the rest of the PROLOG program. A statement in a PRO- LOG program corresponds to an entire subroutine in a conventional programming language. Thus PROLOG programs are extremely modular. PROLOG carries the "divide-and-conquer" approach of structured program- ming one step further. Another advantage of nonprocedural languages is that the order in which statements occur is irrelevant. Each PROLOG statement represents a fact, and it does not matter in what order PROLOG is told the facts. This means that you can increase the power of a program by adding new statements, and in most cases this does not require any modification of the statements that are already there. For example, the definition of grandfather, given earlier, is true, but it is only a partial definition. One must add the following statement to obtain a com- plete definition: %x = bill, %y = torn Nonprocedural Languages Most computer languages currently in use (such as BASIC and Pascal) are procedural: a computation is per- formed by executing a series of actions in a precise order. Each statement of a procedural language represents only one step in an algorithm. This means that the correctness of an individual statement cannot be determined by ex- amining the statement by itself. Instead, you must ex- amine the entire algorithm in which the statement occurs to determine if the statement is correct. For example, 1 = 1 + 2 is a typical statement in a procedural lan- guage. If you are asked to determine whether the state- ment is correct, the most you can say is that its syntax is correct (ie: it is a valid statement in the language). This does not necessarily mean that the statement is the cor- grandfather(%x, %y) — father(%x,%z),mother(%z,%y). Assume that the following assertions are also made: mother(jane,alice). father(bill,jane). Now if you ask for a grandchild of Bill: grandfather(bill, %grandchild)7 PROLOG will respond: % grandchild = torn You can also find out if Bill has another grandchild by ■ANALOG I/O - • Low/High Level A/D • X-Ducer Compensation • 16 to 64 Channel MUX • Dillerenllal/Slngle End • Programmable Gain • 12/14 Bit Resolution • Video Digitizers • Multiple DACs ■DIGITAL I/O - • Optically Isolatud • High Level AC or DC • Pulse Count I/O • Programmable Timers • Digital Multiplexers • UNI-BUS/IEEE Olivets • Voice Synthesizers ■COMMUNICATIONS - • Synchronous to 800KB • Asynchronous to 24KB • Serial (IS -23? or 20 Ma. • IEEE 488. 78GPIB • Distributod Systems • BISync - DEC net - X.25 Z80/Z8000 / ASC Computers 8085/8086/88 LSI-11/PDP-11 ^.^rijfl 6800/09/68000 Data Acquisition Multi-Processing ■ASC MICROCOMPUTER SYSTEMS- Featuring a full range of industry standard 8 and 16 Bit Micro-Processors, Memories, I/O Controllers, Analog/Digital Modules and Communications Units. Expedited delivery on the latest technology in Micro-Computers, Disk Memories and Peripheral options, including Software and System Integration. ASC Micro-Computer Systems are offered with optional IEEE/S-100 Bus, INTEL MULTI-Bus, MOTOROLA EXOR-Bus, or STD-Bus compatible Micro-Processors, Memories, I/O Controllers, and Enclosures to your specifications. Call ASC for prompt quotations on Micro-Computer configurations. 26401 H«rp*r Avi. St. ctilr Shores Michigan 43081 / ASC Computer Systems 779-8700 ■ PERIPHERALS - • FlexiblB Disks to 1Mb • Winchester Disks to 300Mb • Magnetic Taps Units • Printers/Terminals • Video Cameras • Color Graphics • CRT Displays/Plotters ■ SYSTEMS - • Modular Expandability • Industrial Enclosures • Rack-Mounting Cabinets • 1/0 Termination Panels • Portable 0AS Option • Control Console/Displays • Development Systems ■SOFTWARE - • CP/M Operating Systems • Multi-User Support • Fortran. Basic, Pascal • DAS - Process Languages • MACRO & Assembler Language • Network Communications • Graphics and Applications 388 November 1981 © BYTE Publications Inc Circle 35 on inquiry card. /' BYE BYE BASIC ,okst< The Only Book That Is Machine Specific in Teaching Pascal on the Apple APPLE-PASCAL by Peckham and Luehrmann • Teaches the total beginner to become competent in programming in Pascal • Offers concrete experiences in creating, running and debugging actual programs in Pascal This hands-on guide will teach you about the editor, the operating system commands, even the keyboard layout and labels of the Apple computer. 384 pp. $13.95 McGraw-Hill Bookstore 1221 Avenue of the Americas N.Y, N.Y 10020 Please send me Please print clearly. BY110 I copies of APPLE-PASCAL at $13.95 each. MasterCard Visa AmerExp. Account No Expires Name Add ress City -State. -Zip- Add sales tax plus $2.50 postage, handling 'J 392 November 1981 © BYTE Publications Inc Circle 243 on inquiry card. 4 New Games From Hayden In the SARGOIM Tradition! New! KLONDIKE 2000 (Trackman) A Space Age Treasure Hunt! An exciting new game of fabulous treasures, hidden caves and dangerous robots! The object: to become the richest player. Finding the gold is only half the battle ... the other half is keeping it. You'll need robots to guard your fortune. How do you make a robot your ally? Simple - feed it more power chips than its previous owner did, or you can overcome the enemy with robots you have already won. For one to four players. * 10209. Apple 11 Disk, $24.95 New! TRS-80 GALAXY OF GAMES (Savolaine, Dilley and Wilkerson) 4 For the Fun Of It! Choose from four challenging games and enjoy hours of fun! HANGMAN -a word game enthusiasts will love this computerized classic that features excellent graphics! ONE ARM BANDIT - brings slot machine excitement into your own home. SKUNK -a unique dice game with special sound effects. JACKS -a card game to play with the computer or your friends; trade high cards for low cards and compete for the lowest point total. #09903, TRS-80 Models I and III, $14.95 ORDER NOW! Hayden Book Co., Inc. 50 Essex St. Rochelle Park, NJ 07662 Please send me the software checked. Residents of NJ and CA must add sales tax. Name of individual ordering must be filled in. Offer good in US only. Payment must accompany orders from P.O. Box numbers. □ Enclosed is my check or money order. □ Please bill to my Master Card or VISA account # Interbank *_ D 01209 □ 03404 □ 03408 □ 03409 □ 03410 □ 03414 □ 03418 . Expiration Date _ D 03440 □ 03444 □ 03484 □ 07403 □ 09809 D 09903 Name Address City / State / Zip B 11/81-009 111 ■JtP^n Sof Th_ ^Sm* SARGOIM II (Spracklens) The first great computer Chess program! "We are impressed with the progre "n's speed, its opening book, and its mi :h improved end game . . . Save your mom y and buy SARGON II ... " '80 Software Critique. 7 levels of play, and levels 0-3 n tournament time. It has randomized opening book for all levels through three moves. Special hint mode included at all levels except will suggest a good (but not necessarily the best!) move you can next make. #03404, Apple 11; *03410, OSI C1P; *03418, TRS-80 Models I and III; #03440, OSI C4P; each tape $29.95 #03408, TRS-80 Level II Disk; #03409, Apple II Disk; #03414, OSI C1P Disk; #03444, OSI C4P Disk; #03484, OSI C8P Disk; each disk, $34.95 Available at your local computer store! New! TETRAD (Hess) Now try a 3 -dimensional Tic Tac Toe and enjoy beautiful color, surprising sound and a choice of 3 levels of difficulty! A real challenge that allows 76 winning combinations. Tetrad adds a new dimension to a familiar game, as you battle the computer to get 4 in a row in any direction . #09809, Apple 11 Disk, $19.95 New! MIND THRUST (Sackson and Wazaney) Match wits with the computer! Be the first to complete a chain across the board. Switch sides at any time and control your opponent's pieces as he controls yours. #07403, TRS-80 Tape, $16.95 Soon to be available CHAMPIONSHIP GOLF ALIBI STAR TRADERS ASTEROID BLASTER QUICK SILVER /CRAZY COURSE WORD SOLITAIRE Other Hayden Gameware. . . REVERSAL (Apple II) BLACKJACK MASTER (TRS-80 Level II; Apple Version Soon to be Available) BATTER UP!! A Microbaseball Game (TRS-80 Level II) GRIDIRON: A Microfootball Game (TRS-80 Level II) For Orders, Inquiries and Technical Support Call Toll Free 800-631-0856 50 Essex Street, Rochelle Park, NJ 07662 BOOlf COIIipilfiy, IfiC. Circle 183 on inquiry card. Circle 132 on inquiry card. * ATTENTION ALL APPLE USERS' (602) 998-9411 Desert Computer announces a new online software order service available 24 hours a day. Our complete catalog and order information are available on this system and on the Source. On the Source use mail to TCH860 to order and use >BASIC (11)TCH860>READ to view the catalog. Our system can be reached at the number above. If you do not have a modem you can send a sase to the address below or use the reader service number. We carry nationally known brands at discount prices. Take the BYTE out of Software Cost DESERT COMPUTER P.O. BOX 4841 SCOTTSDALE, AZ 85261 £± Components Express, Inc. ^7 "Have you K/ssed your computer lately?" 1380E. Edinger. UnitCC Santa Ana. CA 92705(714) 558-3972, BROAD BAND MICROWAVE RECEIVER SYSTEM 1.8GHZ to 2.4 GHZ only $295.00 RANGE: SCOPE: With built-in-converter to channel 2, 3, or 4 of any standard TV set. Line of sight to 250 miles. Will receive within the frequency band from satelites, primary microwave stations, and repeater microwave booster stations CONTENTS: Packaged in 19"x19"x4 1/2" corrugated carton complete with: • 24" Dish • 300 Ohm to 75 Ohm Adapter • Feed-Horn Receiver • 750 Ohm to 300 Ohm Adapter • Mounting Bracket • 60 Feet Coax Cable with Connectors • Mounting Clamp • 3 Feet Coax Cable with Connectors • Instructions WARRANTY: 180 days for ali factory defects and electronic failures for normal useage and handling Defective sub assemblies will be replaced with new or re-manufactured sub assembly on a 48 hour exchange guarantee. This system is not a kit and requires no additional devices or equipment other than a TV set to place m operation DEALER INQUIRIES INVITED. Assume that the statements in listing 1 have been made. Now assume that PROLOG is asked this question: grandfather (bill, %grandchild), pretty (%grandchild)? Because PROLOG attempts to answer questions by solving goals one at a time from left to right, it will first attempt to solve "grandfather(bill, %grandchild)". It searches for a clause whose first term is grandfather. There is only one clause whose head term is grandfather, so PROLOG tries to match "grandfather (bill, %grand- child)" with "grandfather(%x, %y)". A match can be made by setting "%x = bill" and "%y = %grandchild". This substitution is applied to the subgoals of that state- ment, which may be expanded to: father(bill, %z),(father(%z, %grandchild); mother(%z, %grandchild)) PROLOG now attempts to solve "father(bill, %z)". The first three statements have father as a head term, so PROLOG tries them one after the other. The first state- ment matches if "%z = John"; it is an assertion and has no subgoals. Therefore, PROLOG can proceed to the next goal in the expanded statement. Here there is a choice between "father(john, %grandchild)" and "mother(john, %grandchild)". PROLOG attempts to solve the first alternative. It tries to match "father(john, %grandchild)" with the first given state- ment, but fails because the first arguments do not match. It then tries the second statement, and this time succeeds with the substitution "%grandchild = torn". Now all the goals of the expanded statement have been satisfied, so PROLOG attempts to solve the last goal of the original question. Since "%grandchild = torn", the goal is "pretty(tom)". There is only one clause whose head term is "pretty", but "pretty(tom)" does not match "pretty (alice)". At this point, PROLOG backtracks to the last place where there was a choice — between "father(john,%grandchild)" and "mother(john, %grand- child)" — and selects the alternate choice: "(mother(john, %grandchild)". This choice does not work either because the fourth statement is the only one whose head is "mother" and "mother(john, %grandchild)" cannot match "mother(jane, alice)". So PROLOG backtracks further and tries to solve the first goal of the expanded statement again. First, it tries to match "father(bill, %z)" with the second statement but fails. Then it tries to match "father (bill,%z)" with the third statement, and this time suc- ceeds by setting "%z = jane". Now PROLOG attempts to solve the second part of the expanded statement, which is a choice between "father(jane, %grandchi\dy and "mother(jane, %grandchild)". Once again PROLOG attempts to solve "father(jane, %grandchild)" first but fails. Then it attempts to solve "mother(jane, %grand- child)". This time it succeeds by matching "mother (jane, %grandchild)" and setting "%grandchild = alice". 394 November 1981 © BYTE Publications Inc Circle 78 on inquiry card. PROLOG now tries to solve the last goal in the original question, which is now "pretty(alice)". This goal matches the sixth statement, so "%grandchild = alice" is an answer to the original question. Controlling Robots Now consider how a PROLOG program could be used to control a robot. Assume that a human and a robot are inside a rocket that has landed on the surface of a planet. The rocket has an airlock. On the planet there is a building that contains rocket fuel. There is also a cave with a key to the building. The cave also contains gold. The robot is able to lift the key, the fuel, or the gold (but it cannot lift the rocket). This situation can be described in PROLOG as shown in listing 2. The statements in listing 2 represent the state of the robot's environment. As the robot interacts with the en- vironment, some of the statements may cease to be true. To keep the description of the environment up to date you must have a way to delete statements no longer true. PROLOG provides a built-in function, called delete, to eliminate specified statements; another built-in function, called assert, can be used to add statements. Now you can specify commands for the robot to at- tempt to obey. The first command will make the robot fetch an object to a specified place (see listing 3a). The first subgoal, "inside(% object, %place)", checks to see if the object is already where you want it, If it is, the robot does not need to do anything. If it isn't, the robot must pick up the object, move to the required place and drop it. Note that the terms "pickup(% object)", "moveto (%place)", and "drop(% object)" have been grouped together within parentheses to show that the semicolon operator applies to all of them. In order for the robot to pick up an object (see listing 3b), the object must be liftable. The robot must move to the place where the object is in order to pick it up. As- suming that the robot can carry only one thing at a time, it must be empty-handed when it picks up an object. Listing 2: Hypothetical environment found in a simulated space expedition. Through a series of commands specified in listing 3, a robot can be made to perform complex tasks, such as exiting the craft, and finding and returning with fuel — all with a simple instruction from the user. inside( human, rocket ) . inside( robot , rocket ) . inside( fuel, building ) . inside( key, cave ) . inside( gold, cave ) . entrance( airlock, rocket ) . entrance( door, building ) . entrance( hole , cave ) . closed( airlock ) . closed( door) . liftable(key). liftable(fuel). liftable(gold). Model II 64K $3288 An excellent computer for your business needs. Easy expandability & compatibility. No formal operator training needed. All ac- cessories available — disk expansions, printers, software, at our low discount prices. Our fast, fully insured air freight service can assure most deliveries within seven days after payment is received. Model III 16K $835 Model III 32K $979 Model III 48K $1089 With TCS Memory: Model III 32K $909 Model III 48K $969 Model III 48K 2 Disk RS232 $2100 Model III 32K 1 Disk $1729 Model III 48K 1 Disk $1849 Corvus Hard Disks SCall 5, 10, or 20 megabytes ol storage for the Model I, II, or III, configured with TRSDOS, NEWD0S 80, or CP/M for one or several computers sharing a single hard drive simultaneously. Easy expandability and compatibility. Also fits Apple. Superbrain, Altos, and most other computers. Don't wait on other's promises. We can deliver this proven system now. Call us for the lowest price! Pocket Computer & Ace. SCall Pocket Computer Printer Interlace in stock. Color Computer 4K Level 1 $319 16K Level I $439 16K Extended Basic $489 With TCS Memory: 16K Level I $369 16K Extended Basic $449 Epson Printers SCall Letter quality matrix printer has full software control ol 40, 80, 66 or 132 columns. 80 cps bidirectional tractor teed, disposable printhead. $300 less than nearest competitive printer. Lists $645, Call tor our low price. MX-80 Tractor Feed MX-100 Graphtrax, Friction MX-80 FT Friction and and Tractor up to 15 " Tractor wide. Graphtrax for MX-80, MX-80 FT, graphics option. Word Processor Package $2679 Includes 2 Disk Model III with 48K, Epson MX-80 Tractor Feed with cable, and word processing software ready to operate. Lists at $3300. Our low price speciaUliisnnor£iJ>2679^c^^ • Payment: Money Order. Cashier's Check, Cerlified Check Personal checks lake 3 wks. VISA, MC. add 3%. • Prices subject to change any lime • No lax out-ot-state Texans add 5%. • Delivery subject to availability • Shipping extra, quoted by phone TEXAS COMPUTER SYSTEMS Box 951, Brady Texas 76825 For fast, efficient service, we can air freight from Dallas to major a/p near you. Call for information. Toll Free Number 800-433-5184 Texas Residents 817-274-5625 Circle 408 on inquiry card. November 1981 © BYTE Publications Inc 395 Listing 3: Fundamental commands built to control the hypothetical robot. In each case, the commands are constructed of goals and subgoals that are either basic enough for the robot to perform directly or are further broken into subgoals. 3a f etch( %ob ject , %place ><- inside( %ob j ect , %place ) ; ( pickup( %ob j ect ) , moveto( %place ) , drop( %ob j ect ) ) . 3b pickup( %object ) <- liftable( %object ) , inside( %object, %place ),moveto( %place), emptyhanded, assert(holding( %object ) ) . 3c emptyhanded <- ( holding( %object ) , drop( %object ) ) ; true . 3d drop( %object ) <- delete( holding( %object ) ) . 3e moveto( %place ) <- inside( robot, %place ); ( inside( robot , %place2 ) , leave( %place2 ) , enter( %place ) ) ; ( outside( robot ) , enter( %place ) ) . 3f leave( %place ) <- entrance( %x,%place ), ( (closed( %x),open( %x) );true), delete( inside( robot , %place ) , assert( outside( robot ) ) , ( (ho!ding( %object ),delete( inside( %object, %place ) ), assert( outside( %object ) ) );true ) . enter( %place ) <- entrance( %x, %place ) , ( ( closed( %x ) , open( %x ) ) ; true ) , delete( outside( robot ) ),assert( inside( robot, %place ) ), ( (holding( %object ),delete( outside( %object ) ), assert( inside( %object, %place ) ) );true ) . 3g open( door ) <- (holding(key ) ; ( inside(key, %place ),pickup(key ), leave( %place ) ) ), delete( closed( door ) ) . Finally, you must assert that the robot is now holding the object. In order to be empty-handed, the robot must drop whatever it is holding (see listing 3c). If it is not holding anything, it is already empty-handed, so the built-in true function (which always succeeds) is executed. When the robot drops something, you must delete the statement that says it is holding the object (see listing 3d). Depending on where the robot is located initially, there are three possible actions that the robot must perform to move to a specified place (see listing 3e). • If it is already at the specified place, it does not need to do anything. • If it is inside some other place, it must leave that place and enter the specified place. • If it is already outside, it must enter the specified place. To leave a place (see listing 3f), if the entrance is closed, the robot must open the entrance. You must also remember to delete the fact that the robot is inside the place, and assert that the robot is now outside. If the robot is holding something, you must assert that the ob- ject also moves outside. Entering a place is accomplished similarly. To open the door to the building, the robot must either be holding the key or it must pick up the key (see listing 3g). Assume the robot can open the rocket's airlock automatically: open(airlock •- delete(closed(airlock)). Now you can order the robot to fetch the gold to the rocket with the command: fetch(gold,rocket)? The robot will leave the rocket, enter the cave, pick up the gold, and return to the rocket. If you ask the robot to fetch the fuel from the building by typing: fetch(fuel,rocket)7 396 November 1981 © BYTE Publications Inc Collector ^Edition BYTE COVERS The Byte covers shown below are available as beauti- ful Collector Edition Prints. Each full color print is 1 1 " x 1 4", including a 1 Vz border, and is part of an edition strictly limited to 500 prints. (Print numbers 2, 4, 6, 7 and 8 are editions of only 100 prints, and some quantities are very low.) The artist, Robert Tinney, has personally inspected, signed and numbered each print. A Certificate of Authen- ticity accompanies each print guaranteeing its quality and limited number. Collector Edition Prints are carefully packaged flat to avoid bending, and are shipped first class. The price of each print is $20, plus $3 per shipment for postage and handling ($6 overseas). Collector Prints 9-12 are available as a set of 4 for $70. Because certain prints have sold out, Sets 1-4 and Sets 5-8 are no longer available as sets. To order your own beautiful Collector Edition Byte Cover use the convenient coupon below. Visa or Master- Card orders may call Toll Free. #9 SOFTWARE PIRACY $20 #10 THE PROGRAMMING ROUTE $20 #11 FORTH #2 FUN AND GAMES #8 PERSPECTIVES #4 SOFTWARE MIRAGE $20 $20 #12 FUTURE PAST $20 #6 TOTAL ECLIPSE $20 #7 COMPUTER HARDWARE $20 COMPUTER CHESS Oct. 1978 $7.95 THROUGH THE TRAP DOOR Mar. 1979 $35.00 BREAKING THE SOUND BARRIER Sept. 1977 $35.00 ALSO AVAILABLE are the prints shown at left. "Computer Chess" is an 18" X 22" full color poster. "Through the Trap Door" and "Breaking the Sound Barrier" are limited editions of 750 prints each, signed and numbered by the artist. Each print is 18" X 22", and is accompanied by its own Certificate of Authenticity. If both "Door" and "Barrier" are ordered, a special price of $55 applies. All three prints shown at left are shipped first class In heavy duty mailing tubes. 1 I I I I L, Please send me the following Prints: QTY TITLE Set 9- 12 Both "Trap Door " & "Barrier" Post. & Hand. ($3 U.S., $6 overseas) AMOUNT $ $ $ $ $ $ $70 $55 $ TOTAL $ D I have enclosed check or money order. □ Visa D MasterCard Card # Expiration Date SHIP MY PRINTS TO: Name Address City State -Zip_ Mail this coupon to: I robert tinney graphics ■ 1864 N. Pamela Drive ' Baton Rouge, LA I 70815 I '^STERf^ In Less Than 3 Minutes Your IBM Model 50, 60, or 75 Electronic Typewriter can be an RS232C PRINTER or TERMINAL CALIFORNIA MICRO COMPUTER Models 5060 and 5061 can be installed easily and require IMO modifications to the typewriter. For additional information contact: CALIFORNIA MICRO COMPUTER 9323 Warbler Ave., Fountain Valley, CA. 92708 (714)968-0890 Turn to our Double Page Advertisement for SUPER CHRISTMAS SAVINGS! THE PERFECT PRESENT! ATARI 1 ASTEROIDS' ATARI MISSILE COMMAND" WE CARRY THE COMPLETE LINE OF ATARI SOFTWARE, PERIPHERALS AND ACCESSORIES. CALL FOR THE SUPER CHRISTMAS SAVINGS!! OMECA SALES CO. WEST COAST EAST COAST 1-800-235-3581 1-800-556-7586 the robot will leave the rocket and try to enter the building. To do this it needs the key, so it will go to the cave to get it. Once it is in the building, it will drop the key and pick up the fuel. Finally, it will return to the rocket with the fuel. At this point, the PROLOG state- ments describing the "environment" will be as shown in listing 4. Note that the airlock and the door to the building are left open because the robot did not bother to close them. This robot is not very bright. If, starting with the initial situation, for instance, you ask the robot to move the gold from the cave to the building (fetch(gold, building)7), it will go to the cave, pick up the gold, and go to the building. At this point the robot realizes it needs the key to open the door, so it returns to the cave to get the key. Since it can carry only one thing at a time, it drops the gold and picks up the key. It then returns to the door, opens it, and enters the building. It now thinks it has succeeded in moving the gold to the building, but the gold is still. sitting in the cave where the robot dropped it. This problem is caused by the fact the robot may undo part of the overall goal by backtracking to accomplish a subgoal. A Modest Proposal It would not be too difficult to make the robot in- telligent enough to handle the above problem. But in- stead of making the robot more intelligent, let's give it some "consciousness." Any robot worth its positronic brain must obey the three laws of robotics as postulated by Isaac Asimov (see reference 1). These laws are: 1. A robot may not injure a human being or, through in- action, allow a human being to come to harm. 2. A robot must obey orders given it by human beings except where such orders would conflict with the first law. 3. A robot must protect its own existence as long as such protection does not conflict with the first or second law. In order to obey these laws, a robot must not simply obey commands blindly. It must first determine whether it can perform the command without violating the laws. Listing 4: Status of the hypothetical space expedition's environ- ment after the robot has accomplished its tasks. inside (human, rocket ) . inside( robot, rocket ) . inside( fuel, rocket ) . inside( gold, rocket ) . inside(key, building ) . entracef airlock, rocket ) . entrance( door , building ) . entrance( hole , cave ) . liftable(key). liftable(fuel). liftable(gold). 398 November 1981 © BYTE Publications Inc Circle 317 on inquiry card. Listing 5: Asimov's three rules of robotics as implemented in PROLOG. These rules allow the robot to protect humans by shooting aliens, and even by injuring itself, should the situation warrant. The application of the "mini-interpreter" obey makes this a simple proposition for PROLOG. obey( ( %p , %s ) ) < - ! , obey( %p ) , obey ( %s ) . obey( ( %p ; %s ) ) < - ! , obey ( %p ) ; obey ( %s ) . obey( %goal ) < - clause( %goal , %subgoals ) , protect( human ) , protect ( robot ) , obey( %subgoals ) , ! . protect( %x ) <- ( in_danger( %x, %danger ) , eliminate( %danger ) ) ; true . in_danger( %x, alien ) <- not( injured( alien ) ) , inside( alien, %place ) , inside( %x, %place ) . eliminate( %danger ) <,- shoot( %danger ) . shoot(%x) <- %xohuman,inside(%x,%place ),moveto( %place ),assert( injured( %x) ) . This is easy to do in PROLOG (statements in listing 5 are explained individually below). Rather than issuing a command such as " fetch(fuel, rocket)?" you must now tell the robot to: obey (fetch(fuel, rocket))? "Obey" is a "mini-interpreter" for PROLOG that checks to see whether the human or the robot needs protecting before executing the subgoals associated with a goal. (Comments in PROLOG are surrounded by /* and */.) For example: /* If a command consists of two subcommands, execute them one after the other*/ obey((%p, %s)) — !,obey(%p),obey(%s). The exclamation point is a signal to PROLOG that if backtracking causes a return to that point, then the parent goal should be failed immediately, rather than try- ing to find another solution. This is used here to insure that "obey" does not introduce any extra backtracking. /* If the command consists of a choice between two commands, execute one or the other of them */ obey((%p;%s)) — !,obey(%p);obey(%s). If there is only one command and also a statement that matches it, protect the human and robot and then execute the subgoals associated with the goal. Note that clause is a built-in function. "Clause(%goal, %subgoals)" will return the subgoals associated with a goal): obey(%goal) — clause(%goal, %subgoals), protect(human),protect(robot),obey(%subgoals),!. /* If the command is a built-in function, execute it */ obey(%p) — %p,l. protect(%x) — (in danger(%x, % danger), eliminate(%danger));true. Now let there be an alien in the building who, as long as he is not injured, will attempt to injure anything in the same place as he is: inside(alien, building). in danger(%x, alien) — not(injured(alien)), inside(alien, %place),inside( %x, place). Assume also that the robot has a phasor and will use it to eliminate danger: eliminate(% danger) — shoot(% danger). Anything that is shot is injured. However, under no cir- cumstances will the robot shoot a human: shoot(%x) — %x <> human,inside(%x, %place), moveto(% place), assert(injured(%x)). Now if you tell the robot the fetch the fuel to the rocket: obey (f etch(f uel, rocket) )? the robot enters the building and shoots the alien in order to protect itself. The robot then carries the fuel to the rocket. If you ask the robot to shoot the human: obey(shoot)human))? the robot will not obey because that would violate the first law. However, if you ask the robot to shoot itself: obey(shoot)robot))? it will do so because the second law of robotics takes precedence over the third. I hope that this brief introduction has given you an in- dication of the simplicity and power of nonprocedural languages such as PROLOG. Such languages may repre- sent the next step in the evolution of programming lan- guages. ■ References/Suggested Reading 1. Asimov, Isaac. /, Robot. New York: Doubleday, 1957. 2 . Kowalski, R. Logic for Problem Solving. New York: Elsevier-North Holland Publishing Co, 1979. 3 . Pereira, L, F Pereira, and D Warren. "User's Guide to DECsystem-10 PROLOG," 1978. November 1981 © BYTE Publications Inc 399 A FORTH-Like Threaded Language, Part 2 Valo G Motalygo 1091 Tanland Dr, #204 Palo Alto CA 94303 Last month, we began the definition of a language called PS that has its roots in the threaded language FORTH. PS was designed to overcome some of the limitations of FORTH: in particular, its awkward ap- proach to assembly-language definitions and its inability to accept forward references (ie: references to words that have not yet been defined). We looked at the overall structure of the PS interpreter/compiler and defined a few words. Now we will look at how PS behaves. PS Syntax PS, like FORTH, uses punctuation in some of its words, which makes representing them n text a difficult problem. To decrease the chance of confusion while trying not to clut- ter text unnecessarily, we will sparingly use braces, { }, to isolate the character string within as a PS word or phrase. Braces will be used only under the following situations: • when the material being quoted is a phrase of PS words (eg: { 26 LOAD }or{35+ } ) • with the PS words { , } (comma), { ; } (colon), { ; } (semicolon) , { ! } (exclamation point), { ' } (single quote mark), { " } (double quote mark), { / } (left bracket), and { j } (right bracket) • with any word using the above punctuation marks (eg: { ■" V All other PS words will be set apart by a space on either side of the word. So, in this article, braces will always signal a PS word or phrase. The braces are not part of the word or phrase, and PS words will never use braces within the body of a figure or listing. . ,.GW An Example of PS Programming With the information from part 1 of this article, we can encode a low-level program as a series of byte constants, mixed with names of variables, arrays, strings, labels, and some auxiliary words. PS words are given, followed by an explanation of their effect: (Sets execute mode to construct machine-language in- structions.) ORIGIN 1111 (Starts compilation from the hexadecimal memory location 1111.) BCONST LDA # AD (Defines instruction "load accumulator from memory, direct addressing mode" as the hexadecimal constant AD.) BCONST STA # 8D (Defines instruction "store accumulator in memory, direct addressing mode" as the hexadecimal constant 8D.) VAR SOURCE 021 (Defines a 16-bit variable called SOURCE containing the value hexadecimal 21 after compilation.) About the Author Valo G Motalygo is on the staff of Ramtek Corp, and is currently working on an implementation of PS. 400 November 1981 © BYTE Publications Inc ARRAY DESTINATION 0100 (Defines an array called DESTINATION; it occupies hexadecimal 100 (decimal 256) bytes. (The effect of the above code is shown in table la.) ORIGIN 2222 LABEL DO. SOMETHING LDA SOURCE (LDA compiles the hexadecimal constant AD into location 2222, and SOURCE pushes the address of the variable into location 2223.) STA DESTINATION 04 + (STA compiles the constant 8D into location 2224; the rest of the phrase pushes the address of the first ele- ment of the array onto the stack and adds 4 to it. Thus, the instruction code followed by the necessary address is compiled.) ] (Sets compile mode.) SOURCE @ = IF ." SOURCE CONTENT IS ZERO" ELSE -> DO. SOMETHING ENDIF (At run time, this part of the program checks the con- tents of the variable SOURCE and jumps to the label DO. SOMETHING if the contents are nonzero. Other- wise, the message "SOURCE CONTENT IS ZERO" is displayed and execution continues. See the following section on control structures and the glossary defini- tion of the PS word — > , pronounced "jump to.") (Sets execute mode.) RTS (la) Compiled Code Add 'ess Dictionary (Hexad acima I) Contents of Defined Words 1111 JSR PSH8 name: LDA 1114 AD (hexadecimal) value: 1111 1115 JSR PSH8 name: STA 1118 8D (hexadecimal) value: 1115 1119 JSR PSHA name: SOURCE 111C 0021 (hexadecimal) value: 1119 1 1 1E JSR PSHA name: value: DESTINATION 111E 1121-1220 space for the array name: DO.SOMETHING DESTINATION value: 2222 *&* 2222 2223 2225 2226 2228 222C 222F 2232 2234 2237 223A 223C 223F 2240 2256 2259 225C A (lb) G°' A.e* v 4) AD (LDA instruction code) 1 1 1C (address of variable SOURCE) 8D (STA instruction code) 1125 (address of the array DESTINATION JSR SOURCE (SOURCE stands for 1119) JSR @ JSR PSHN 0000 (to be pushed at execution time) JSR = JSR IFNOT 2259 (address of the false path) JSR TYPE. STRING 16 (byte count of the following string, 22 decima 2255 ASCII for "SOURCE CONTENT IS ZERO") JMP 225C (address of the code after ENDIF) JMP DO.SOMETHING (DO.SOMETHING stands for 2222) 60 (RTS instruction code) Table 1: The representation in memory of some PS code from the beginning of this article. Table la shows the representation of two 1-byte constants, LDA and STA, the variable SOURCE, and the 256-byte array DESTINATION. PSH8, PSHA, PSHN, @, and = are labels to the PS words of the same name (defined in the PS glossary at the end of this article). Table lb shows the representation of the word DO.SOMETHING. GET THE LATEST SOFTWARE PRODUCTS NOW... ...CHECK OUT OUR 2020 RANGE THE FIRST IN ASERIESOF ADVANCED MICROCOMPUTER SOFTWARE PRODUCTS FROM OUR 2020 RANGE IS THE WP2020 WORD PROCESSOR SYSTEM. DESIGNED FOR THE HEATH/ZENITH Z89 COMPUTER RUNNING UNDER CP/M' MOST OTHER MICROCOMPUTER WP SYSTEMS. CHECK THESE. 2.2. IT OFFERS MORE FACILITIES THAN aii rue STANDARD fiatures you would expect from am advanced word PROCESSOR SUCH AS MARGINS. TABS. PAGINATION, GLOBAL SEARCH AND REPLACE, PROPORTIONAL SPACING ETC EASY TO FOLLOW F I FIST TIME USER DOCUMENTATION SPELLING CHECKER AND MERGE DOCUMENT MODULES BUILT IN AS STANDARD NO ADDITIONAL PROGRAMS TO HUN LOWS THE SVSTEM TO ACT ASA TERMINAL TO A MAIN yVWPHBO SYSTEM SET OF CO LOU Hi I) FUNCTION KEVTOI'S SUPPLIED AS STANDARD • SUPPORTS BACKGROUND PF * HAS ITS OWN FILING SYSTEM OTHER IN SERIES INCLUDE. FP202O F IN ANCI A L PLANNER CM2020 CONFIGURABLE MANAGER SPECIFY 8" OR 5V SIS SID ZB9 WHEN ORDEHING. SYSTEM REQUIRES MINIMUM OF 2 DISKS AND 48K MEMORY *CP/M REGISTERED TM DIGITAL HESEARCH WP2020 REGISTERED TM GRAFFCOM PRICE: £320.00 INTING WHILST WORKING ON OTHER DOCUMENTS ,\'ITH DOCUMENT NAMES UP TO 72 CHARACTERS LONG CALL US TODAY FOR IMMEDIATE SHIPMENT j DEALER ENQUIRIES WELCOME I BBflPPBBM c Circle 178 on inquiry card. FCOM SYSTEMS GROUP 102 PORTLAND ROAD LONDON WU4LX TEL 01-727-5561 202© 2020 2020 2020 2020 WW&2Q November 1981 © BYTE Publications Inc 401 Circle 309 on inquiry card. HEATH OWNERS UPGRADE your H9* lor a fraction of the cost of a new terminal with these features. FLICKER FREE S69.9S KIT S79.95 ASSEMBLED II Columbus would have had to wait (or his H9 operating at 60O baud, he might not have dlscou.ered Ame.ioa. At last your compute, can communicate with your H9 eight times looter 14800 boudl without that annoying refresh Interrupt that causes the screen to Hash at rates greater than 600 baud. Faster listings. Faster program execution. Eight times taster. CURSOR CONTROL Why limit your output to consecutivi nputer to move the cursor anywhere $29.95 KIT $34.95 ASSEMBLED ir terminal? CURSOR CONTROL al- on the screen. Add that professional touch to your displays by utilizing masking techniques. Functions Included are; left, right, up. down, left and right 20 spaces, home and erase page. GRAFIX $59.95 KIT $69.95 ASSEMBLED Open a whole new world to your output. The graphical display capabilities of GRAFIX allow you lo create displays never before possible on the H9. LOWER CASE ENTRY $28.88 assembled Now you can enter lower case characters from the keyboard. A Shift Lock key allows the keyboard to operate as the standard H9 keyboard or lo generate upper and lower case depending upon the Shift key as per a normal typewriter. LOWER CASE DISPLAY m..™ assemble Lower case capabilities greatly improve readability on terminals modified for 24 lines. KEY CAPS S12.50SET 4 ARROWS $1.00 These quality contour keycaps have molded-in alphanume rics. For lhat professional feel. Full Six Month Warranty — 24 Line Compatible Northwest Computer Services, Inc. 8503 N.E. 30th Ave. Vancouver, WA 98665 (206) 573-8381 eglstered trademark of Heath Co MASTER CARD and VISA welc. Stocking genuine DEC computer spares Spare Parts for: DEC PDP Computer Family DEC Line Printers DEC Video Screens LSI-11 Others Call Radgo We handle genuine DEC parts manu- factured by DIGITAL EQUIPMENT CORPORATION. We sell at factory prices with FACTORY WARRAN- TY. Radgo is stocked and staffed to help you with your requirements for most general purpose K S. M series and many COMPUTER SPARE MODULES and COMPONENTS. We also stock a large assort- ment of COMPUTER SUPPLIES. Reriga 5qIes Ca. To order or for free catalog call: 1-800-543-1 986, Ohio customers phone 1-513-752-6880. 3988 McMANN RD., CINCINNATI, OH 45245 ("Return-from-subroutine" instruction is compiled.) (The effect of the above words is shown in table lb.) Stack operations and control structures can now be easily used in a low-level program. You need only switch to the compile mode before the high-level part of the definition and switch back to the execute mode after- ward, since the computer instructions and addresses are compiled while in execute mode. This is the principal benefit of identifying the code area with the parameter stack: in the execute mode, you can generate object code directly, instead of being at the mercy of the compiler. When PS hits DO. SOMETHING in the execute mode, it calls the subroutine at hexadecimal address 2222; when the routine beginning at hexadecimal 2222 ends with an RTS (return-from-subroutine) instruction, control is returned to the text interpreter. If PS hits DO. SOMETHING in compile mode, it compiles JSR 2222 and increments the code pointer by 3. Control Structures Any system with some versatility must support condi- tional and iterative execution of code segments. The stack is a handy tool to pass parameters such as data or ad- dresses, and it can also be used to pass the result of a con- dition test. The FORTH convention is to push zero (0000) onto the top of the stack if a condition is false and nonzero if it is true. PS's primary conditional word is IF, which checks the top of the parameter stack for a true (nonzero) value. If the value is nonzero, the part of the program after IF is executed. Otherwise, control jumps over this section of the program. To mark the part of the program to jump to if the flag is false, the word ENDIF is used, which stores the jump address at compilation time in a location dir- ectly after IF. The words IF and ENDIF are used as: < check top-of-stack> IF ENDIF < additional code> If both true and false paths are required, the word ELSE may be added: < check top-of-stack> IF < code executed if top is true (nonzero) > ELSE < code executed if top is false (zero)> ENDIF < additional code> At compilation time, ELSE stores the address of its false-branch code directly after IF and informs ENDIF where to compile the address of the additional code (that is, as the address field of a JMP instruction at the end of the true-branch code). In the example compilation of an 402 November 1981 © BYTE Publications Inc Circle 361 on inquiry card. I IF ... ELSE ... THEN ) construct in table lb, the code from hexadecimal 223C through 2255 is the true-branch code, the code from 2259 through 225B is the false- branch code, the constant at 223A points to the false- branch code, and the JMP instruction and constant at 2256 through 2258 cause the true-branch code to jump to the additional code past the ENDIF . For example, the following program: KEY DUP 030 < OVER 039 > OR IF ." NON- NUMBER KEY" ELSE ." NUMBER KEY" ENDIF displays the message "NON-NUMBER KEY" if the ASCII code of the key pressed is less than hexadecimal 030 (the code of "0") or greater than hexadecimal 039 (the code of "9"). Otherwise, the message "NUMBER KEY" is displayed. To repeat part of the program until a true flag is left on top of the stack, the words BEGIN and UNTIL can be used. For example: BEGIN KEY 30 = UNTIL loops until a zero is typed. We can introduce all the other control structures used in FORTH. The possible implementation of the control structures in PS is described in more detail in the glossary definitions of IF , ELSE , ENDIF , BEGIN , UNTIL , AGAIN , DO , and LOOP . The computer stack is used at compilation time to pass data from the first conditional word to the following one. The computer stack is also used for loop control at run time. [/ had some questions whether the above control con- structs could be used in the definition of assembly- language definitions. According to the author, "The special words { BEGIN ... AGAIN j are used in exactly the same way as in high-level definitions. | IF ... ELSE ... ENDIF } or ( DO ... LOOP } can also be used as in high-level definitions if the code before IF or DO pushes the result of a comparison or loop limits, respectively, onto the parameter stack at run time." ...GW] High-Level Programming in PS A high-level program is constructed from the stack operations and previously defined words. In general, to define a new word, we must switch to the compile mode and resolve forward references, if necessary. If the word to be defined was not referred to before, a new dictionary entry is made, setting the type of the word to "defined" and setting V (the dictionary entry's value field) equal to the current code pointer. To make sure that the control structures in the defini- tion of a new word are used properly, we also might want to clear the IF counter to zero (see the glossary definitions of the control structures). To do that, we can start a high- level definition with: [ LABEL IF-COUNTER C! ... ONYX WINCHESTER DISK & TAPE BACK-UP- FLOPPIES ARE NOW OBSOLETEI ■ By using extremely advanced Winchester Disk Technology the ONYX system can now support up to 8 users simultaneously! ■ Disk capacities available in increments of 6, 1, 10, 20, 40 megabytes— up to 4 disks per system (160 megabyte total!) ■ Choice of 2 systems: Z80A/OASISW Z8002/UNIXW ■ Memory from 64K to 1 megabyte! ■ Language available include: COBOL, BASIC, PASCAL & FORTRAN ■ A choice of very sophicated software that formerly was only available to larger machine users! (ACCOUNTING, RELATIONAL DATABASE, WORD- PROCESSING, INSURANCE CON- STRUCTION, ETC.) ■ Systems start all under $9500 What this country needs is a $3995 computer. One that'll do the work of much larger computers. Well, THE COMPUTER FACTORY has it. The Economy Sized Computer'" from Vector. Come in and see it perform difficult data and word processing tasks. Learn how it can make your business more efficient. And more profitable, too. Featuring a WORD PROCESSING system that includes: ■ 30,000 word dictionary ■ Mini-database ■ Visible electronic worksheet Standard Equipment Announcing Ihe WICAT 68000 Microcomputer System 150 ■ 68000 Processor H256 KB RAM 10 MB Winchester 574" Floppy Disk Backup % .i «2 RS-232 C Serial Interfaces %\V»*yI ■ Parallel Printer Port T* w ■ WICAT MCS Operation System ■ Multibus LANGUAGE SUPPORT PASCAL, C. FORTRAN, BASIC. APPLE, COBOL, ASSEMBLER, SOFTWARE OPTIONS UNIX/V7, CPM MX-70 MX-80FT MX-80 MX-100FT Call for Prices puma SPRINT 9 Only $ 2295 • 45 cps HAZELTINE ESPIRIT ■ 24 x 80 ■ Full Formal Editing ■ Green Screen Controls ■ 7 x 11 Matrix "Bi-Directional Aux-Port INCREDIBLY ONLY $695 Other fine systems Include— Apple, Commodore, Atari, SuperBrafn The COMPUTER FACTORY MANHATTAN GARDEN CITY FOREST HILLS Y0NKERS 485 Lexington Ave 1301 Franklin Ave 100-17QueensBlvd 2361 Central Ave 46th St. Lobby 0pp. Saks At 67th Ave. Opposite Caldors (212) 687-5000 (516) 248-6700 (212) 896-0700 (914) 793-1300 Mon.— Sat. Mon— Sat. Tues.— Sat. Tues.— Sat. Telex 640055 November 1981 © BYTE Publications Inc 403 or we can introduce a separate word for starting high- level definitions. The FORTH word colon ({ : j) is used for this function. In general, we need to end a high-level definition with an RTS instruction in order to use a high-level word as a subroutine. We can also verify that the control structures used in the high-level definition are balanced— that is, for every IF there is an ENDIF and vice versa. It is also a good idea to end by switching to the execute mode so some auxiliary actions can be performed between high- level definitions. A special word represented by the semicolon ({ ; )) does all that. For example, in: : TWO.PLUS.TWO 02 02 + ; the word { : j creates a new dictionary entry for the word TWO.PLUS.TWO with its T (type) entry in the dictionary equal to "defined" and its V (value) entry equal to xxxx where xxxx is the address of the compiled code. The definition for TWO.PLUS.TWO looks like this: JSR PSHN 0002 JSR PSHN 0002 JSR "+" RTS Northstar DOS users A z-80 assembler system designed for DOS is now available. ■ Assembler program, "PASS," has interactive input editing, built-in cross reference lister and macro capabilities, plus improved mnemonics and syntax, e.g. "STM a,hi_" instead of "LD (HL), A." ■ includes an easy to use debugging trace program, "STEP02." ■ "BLDMACRO" is provided to assist you in adding to directory-direct access macro library. ■ Using DOS and variable length records enables the assembly of very large programs in 32K with 2 disks (dual or quad density). ■ S40 for complete object system including manual. (CA residents add sales tax). Send order to: (incl. check or M.o.) PASS P.O. BOX 1382 Lafayette, CA 94549 AND the source code is available! PASS S120, STEP02 $60, BLDMACRO S20 (Call for non-disclosure form that must accompany all source orders.) AUSTIN E. BRYANT CONSULTING (415)945-7911 where JSR and RTS represent machine-instruction codes, PSHN and "+" represent the addresses of the subroutines PSHN and + , and RTS is compiled by the word j ; J . The word ( : | is not special, for it is executed in ex- ecute mode, and j ; ) is special, since it must be executed while in compile mode. To define a special word, we could simply set the type of the most recently defined word to "special." But it is better to have a separate word similar to { : j to prevent forward references to special words. Indeed, it does not make sense to refer to an undefined special word, because special words are executed immediately whenever they are hit by the PS. For example, the special words | [ ] (set execute mode) and { ] ] (set compile mode) can be defined as follows: 00 MODE. FLAG C! 01 MODE. FLAG C! where :: is a word that denotes the beginning of a special word definition and MODE. FLAG is a variable checked by the text interpreter every time a new word is read from the text. Conclusions The main purpose of this article is to attract attention to FORTH and some problems that are not clearly solved in FORTH. The solutions outlined here can be used to design new general-purpose programming systems. A problem- oriented system could be based on a general-purpose one and still retain all its capabilities. Hardware designers could also benefit from FORTH concepts. If an instruction set included stack operations such as DUP , + , @ , and ( ! j, programming efforts would be drastically reduced because it is nicer to work with the stack data than to do nit-picking with registers. Furthermore, the size of an operating system and its ap- plications would be significantly reduced because 1-byte instruction codes could replace 3-byte calls to subroutines responsible for basic data processing like arithmetic, logic, fetch/store, and input/output operations. The essential differences between PS and FORTH are that PS generates object codes (all PS words are machine- language subroutines), allows forward references, allows jumps to labels, and allows stack operations and high- level words to be used in the low-level code. Structurally, the PS dictionary is separate from the code. PS uses the free memory as a parameter stack and uses the computer stack for compilation of the control structures and for loop control. The common features of PS and FORTH are use of the dictionary, stack operations, control structures, and the same notation for most auxiliary words. PS's assembler is actually a set of byte constants that represents the instruction set of the computer. This feature significantly increases portability of the system 404 November 1981 © BYTE Publications Inc Circle 41 on inquiry card. Circle 296 on inquiry card. and facilitates cross-compilation of programs written in PS. It is difficult to think of a simpler general-purpose system than PS. It is actually an improved assembly language facilitating usage of the hardware capabilities. The main advantage of multilevel software is that, while equally convenient and portable as high-level software, it benefits from all the hardware potential. The more sophisticated the hardware, the more interesting the things that can be done with it. My experience with FORTH shows that software-hardware relations should be as tight as possible. (An interesting example of a system (E-machine) with a distributed short-term memory, in which hardware is actually inseparable from software, is described by Victor Eliashberg in "The con- cept of E-machine and the problem of context-dependent behaviour," TXU 40-302 US Copyright Office, 1980, pages 101 to 112. )■ References 1. FORTH Glossary (compiled by Gregg Williams). BYTE, August 1980, pages 186 through 196. 2. James, J S. "What Is FORTH? A Tutorial Introduction." BYTE, August 1980, pages 100 through 126. 3. Rather, E D and C H Moore. "The FORTH Approach to Operating Systems." ACM 1976 Proceedings, October 1976, pages 233 through 240. PS Glossary The glossary consists of two parts: stack operations and auxiliary words. The words in the first part are equivalent to their counterparts in FORTH; they are provided for readers not familiar with FORTH. The notation used in some definitions should be inter- preted similarly to the following example: "nl n2 — n3" means "before the word is executed, n2 is on top of the stack and nl is immediately below it; after the word is executed, both nl and n2 have been replaced by n3. " (The values nl, n2, and n3 are 16-bit data.) This notation says nothing about what (if anything) is under these entries on the stack. Stack Operations DUP — Duplicates parameter stack. nl — nl nl the 16-bit number on top of the DROP — Drops the number from the top of the stack. nl — (empty) SWAP — Exchanges the top two numbers on the stack. nl n2 — n2 nl OVER — Places the copy of the second number onto the top of the parameter stack. nl n2 — nl n2 nl ROT — Rotates the top three numbers, placing the third one onto the top. nl n2 n3 — n2 n3 nl + (add) — nl n2 — n3, where n3 nl + n2. Continued on page 406 Turn your S-100 micro into a network for the new years Everything needed for multi-user systems is built into our new NET/82*, and like our NET/80-EXP/80 board set, it's perfect for CP/ NET**, MP/M** and our own CP/M-compatible MuDOS*. This single board has it all: Z80, 64K or 128K RAM, two console serial ports, bank- switched memory, floating point processor, interrupt controller and EPROMs for custom firmware. If this is the age of the network, this board is your baby — your best way to add stations, share common resources and increase throughput, while maintaining hardware isolation for each user. Just S1395 to $1995 each. Generous dealer and quantity discounts available. Write or call today for more details. Specialists in Multi-user Microsystems 1451 E. Irvine Blvd., Suite 11, Tustin, CA 92680 (714) 730-5692 TWX: 910-595-1967 CABLE: MUSYSTSTN See Us At Booth 1879/81 Jtffe ' NET/80, NET/82, EXP/80 and MuDOS are trademarks of MuSYS Corp. • CP/M, MP/M and CP/NET are trademarks of Digital Research November 1981 © BYTE Publications Inc 405 Continued from page 405: - (subtract), * (multiply), and / (divide) — rtl n2 — n3, analogous to the word + , above. AND (logical "and") — nl n2 — n3, where n3 is the bitwise logical "and" of nl and n2. OR (logical "or") — nl n2 — n3, where n3 is the bitwise logical "or" of nl and n2. NOT (logical "not") — nl — n2, where n2 is the one's com- plement of nl. = (equals) — nl n2 - f , where f is 0001 if nl = n2, or 0000 otherwise. > (greater than) — nl n2 — f, where i is 0001 if nl > n2, or 0000 otherwise. < (less than) — nl n2 — i, where f is 0001 if nl < n2, or 0000 otherwise. @ (fetch) — nl — n2, where n2 is the 16-bit number held in the bytes at addresses nl and nl + 1. [ ! ) (store) — nl n2 — (empty), where the 16-bit number nl is stored at the address n2. The numbers nl and n2 are removed from the stack after the operation is performed. C@ (fetch a character) — nl — OOxx, where xx is the 8-bit contents of the address nl. 1 C! ] (store a character) — nl n2 — (empty), where the 8 least-significant bits of nl are stored at the address n2. ( + ! ) (plus-store) — nl n2 — (empty), where nl is added to the 16-bit number held in the bytes at addresses n2 and n2 + 1. KEY — Waits until the next terminal key is struck and pushes its ASCII code (xx) onto the top of the parameter stack, (empty) — OOxx EMIT — OOxx — (empty), where the ASCII equivalent of xx is transmitted to the display, the printer, or some other selected output device. CR (carriage return) — The same as OD EMIT where hexa- decimal OD is the ASCII code for a carriage return. Auxiliary Words [Editor's Note: These words are unique to PS and do not behave as their FORTH equivalents. Like all PS words, these are actually machine-language subroutines that end with a return-from-subroutine instruction. While they are ex- ecuting, the return stack of the microprocessor being used contains the return address of the current subroutine— in other words, the return address points to the next byte after the call of the PS word being executed. Sometimes, the PS word currently executing will manipulate or use this value.... GW] ORIGIN (special word) — Used as \ORIGIN nnnnj. Takes the following word, converts it to a 16-bit number, and sets the code pointer equal to this number. | (special word — compiles an 8-bit number) — Used as (# nn). Converts the following word to a number and pushes its 8 least-significant bits into the code. Increments the code pointer by 1. NUMBER — // the next word read from the input stream starts with a or the minus sign, converts it to a 16-bit in- teger. In execute mode, pushes this number onto the stack as a parameter. In compile mode, compiles the sequence JSR PSHN nnnn, where nnnn is the 16-bit converted signed integer. PSHN (push number) — Pushes the contents of the return address (a 16-bit number) into the code and increments the return address by 2. Compiled by NUMBER. LINK — Pushes the value of the V field into the code and sets the V field of the word to the code pointer decremented by 2. Used to link references to an undefined word, as shown in part 1 of the article. RESOLVE — Resolves forward references to the word being defined, sets the type of the word to "defined, " and sets the V field of the word equal to the code pointer. Used to store the value of the word being defined into locations where this word has already been referenced. : (defines a high-level word) — Reads the next word, sets IF counter to 0, and switches to compile mode. If the word has been previously used, resolves forward references; if it has not, makes a new dictionary entry. In either case, sets its V field equal to the value of the code pointer and sets the type to "defined." ; (special word — end of a colon definition) — Compiles an RTS instruction, switches to execute mode, verifies that the control structures are balanced — that the IF counter is equal to — and generates an error message if it is not. :: (defines a special word) — Reads the next word, sets IF counter to 0, switches to compile mode, makes a new entry in the dictionary for the word, sets its T (type) field to "special," sets its V (value) field to the value of the code pointer. IF (special word) — Increments the IF counter, compiles the instruction JSR IFNOT, pushes the value of the current code pointer onto the computer stack, pushes a temporary dum- my address of 0000 into the code. 406 November 1981 © BYTE Publications lnc Circle 300 on inquiry card. IFNOT — // the top of the parameter stack is 0, jumps to the address specified by the 2 bytes pointed to by the return ad- dress. Otherwise, increments the return address by 2 and returns. Compiled by IF and UNTIL. ELSE (special word) — Checks that the IF counter is greater than 0. compiles JMP 0000, stores the value of the code pointer into the 2-byte location pointed to by the address on the top of the stack (left by the previous IF statement), and pushes the code pointer decremented by 2 onto the computer stack. ENDIF (special word) — Checks that the IF counter is greater than 0, decrements it, and stores the code pointer into the 2-byte location pointed to by the address on the top of the stack (left by the previous IF or ELSE statement). BEGIN (special word) — Increments the IF counter and pushes the value of the code pointer onto the computer stack. AGAIN (special word) — Verifies that the IF counter is greater than 0, decrements it, compiles a ]MP instruction, and pushes the address from the computer stack (left there by the previous BEGIN) into the code. UNTIL (special word) — Verifies that the IF counter is greater than 0, decrements it, compiles JSR IFNOT, and pushes the address from the computer stack (left by the previous BEGIN) into the code. DO (special word) — Used as ( n m DO ... LOOP ), with the initial value of the index n and loop limit m. Compiles the instruction JSR RUN. TIME. DO (which pushes n and m at run time from the parameter stack onto the computer stack), pushes the code pointer onto the computer stack, and in- crements the IF counter. RUN. TIME. LOOP — Increments n (see the previous defini- tion). If n = m (both numbers are on the computer stack), increments the return address by 2 and returns. If n < m, jumps to the address specified by the 2 bytes pointed to by the return address. Compiled by LOOP. LOOP (special word) — Checks that the IF counter is greater than 0, decrements it, compiles JSR RUN. TIME. LOOP, and pushes the address from the computer stack (left by the previous DO) into the code. LABEL (special word) — Reads the next word. If the word has been previously used, resolves forward references; if it has not, makes a new dictionary entry. In either case, sets its V field to the value of the code pointer and sets the type to "defined. " — > (special word) — Reads the next word and pushes a JMP instruction into the code. If the word is undefined but previously used, links this forward reference to the previous ones. If it is a new word, makes an entry, sets the type to "undefined, " sets the V field to the value of the code pointer, and pushes 0000 into the code. If it is a defined word, pushes Continued on page 408 Computer Forms Catalog with 32 pages of continuous business forms for small computer systems Send today for our NEW full color 32 page catalog with programming guides, prices and order forms for continuous checks, invoices, statements, envelopes, stock paper and labels. • Quality products at low prices • Available in small quantities • Fast Service • Money Back Guarantee • Convenient TOLL-FREE ordering Fast Service by mail or. . .PHONE TOLL FREE 1 + 800-225-9550 Mass. residents 1+800-922-8560 8:30 a.m. to 5:00 p.m. Eastern Time Monday — Friday Please rush a new computer forms catalog to: Name CODE 22460 Company Street City, State and Zip Phone Computer make & model '— — —■ — - Computer Farms-J 78 Hollis Street, GroLon, Mass. 01471 A division of New England Business Service, Inc. November 1981 © BYTE Publications Inc 407 Continued from page 407: the value of the V field into the code. PSHN (push number) — Pushes the contents of the return address (16-bit data) onto the parameter stack and drops the return address from the computer stack. Compiled by CONST. PSH8 (push 8-bit data) — The same as PSHN, but an 8-bit quantity is pushed onto the parameter stack and drops the return address from the computer stack. Compiled by BCONST. PSHA (push address) — Pushes the return address onto the parameter stack and drops the return address from the com- puter stack. Compiled by VAR. VAR (variable) — Used as { VAR nnnn ) or [ VAR § nn ). Reads the next word. If it has been previously used, resolves forward references; if it has not, makes a new dictionary entry. In either case, sets the type to "defined," sets its V field to the value of the code pointer, and compiles the instructions JSR PSHA. CONST (constant) — Used as ( CONST nnnn j. Reads the next word. If it has been previously used, resolves forward references; if it has not, makes a new dic- tionary entry. In either case, sets the type to "defined," sets its V field to the value of the code pointer, and compiles the instructions JSR PSHN. BCONST (byte constant) — Used as | BCONST § nn j. Reads the next word. If it has been previously used, resolves forward references; if it has not, makes a new dic- tionary entry. In either case, sets the type to "defined, " sets the V field to the value of the code pointer, and compiles the instructions JSR PSH8. ARRAY — Used as [ ARRAY nnnn \. Reads the next word. If it has been previously used, resolves forward references; if it has not, makes a new dictionary entry. In either case, sets the type to "defined, " sets the V field equal to the value of the code pointer, compiles the instructions JSR PSHA, reads the next word, converts it to a number, and in- crements the code pointer by this number. | " j (special word) — Reads the text from the input stream until another quote is hit and compiles the following: < byte count> < the string of characters just entered> . TYPE. STRING — Types a string located at the return ad- dress and increments the return address by the byte count plus 1 and returns. This word is compiled by the word "dot- quote" ." \) before Kbyte count > . ." (special word) — Reads the text from the input stream un- til a quote (") is hit. If PS is in execute mode, types the string — that is, sends it to the printer or other display device. If PS is in compile mode, compiles the instructions ]SR TYPE. STRING (this will type the string at run time). An example is | ." IM- MEDIATELY PRINT THIS SENTENCE" |. | [ ) (special word) — Sets the system variable MODE. FLAG to 00 to signal that the system is now in the ex- ecute mode. I ] ) (special word) — Sets the system variable MODE. FLAG to 01 to signal that the system is now in the compile mode. AUTO-DIAL/ AUTO-ANSWER MODEM FOR $224,951* The MICROCONNECTION™ can dial and answer the telephone, run printers, decode busses, transcribe transmissions, answer/originate and direct-connect to the telephone system. Lots of terminal and host software too. For more information write or phone: the mtcropenpherat corporation 2643a- 151st PI. N.E. Redmond. WA 98052 (206)881-7544 •RS232 MOOCONNECTION'm Scotch' DISKETTES SAVE 40% JS5££ 5%"Sgl. Dens. 26.70/10 Specify soft, 1 or 16 hard sectors 8"Sgl. Dens. 27.30/10 8"Dbl. Dens. 35.80/10 Specify soft or 32 hole hard Add $2.00 shipping - Michigan add 4% tax LYBEN COMPUTER SYSTEMS 27204 Harper Ave. St. Clair Shores, Ml 48081 Authorized Distributor Information Processing Products THE COMPUTER COPY STAND. □ For all detachable keyboards and Apple II □ Easy on the eye (and back). □ Keeps paper work in front of operator and in line with screen. D Perfect for word processing, data entry, and programming. Non-magnetic Lineguide,'" tilt adjustable. Pkay Corporation RO. Box 11463 • Cosla Mesa. CA 92627 714/548-2081 Circle 233 on inquiry card. Circle 345 on Inquiry card. Languages Forum A View from the Lectern: What's Wrong with Technical Writing Today? Dr Carol Barnum Department of English and History Southern Technical Institute Marietta GA 30060 Last year, BYTE Editor in Chief Chris Morgan spoke out on the topic "What's Wrong with Technical Writing Today?" (December 1980 BYTE, page 6). As a technical writer and, more importantly, as a professor of technical writing at a four-year engineering-technology college, I read his editorial with a great deal of interest and agree- ment. What follows is a view from the lectern: in other words, what's wrong with technical writing today as I see it from the college classroom. Morgan's Laws Everything that Mr Morgan mentioned as essential to technical writing is in the typical college-level technical writing course. What Mr Morgan calls "knowing your audience" instructors call "audience analysis." What Mr Morgan calls his Laws comprise the fundamentals for any technical writing text, except that he expresses them with a great deal more succinctness and humor than do most textbooks. While I agree wholeheartedly with his Laws, I'll expand on them a bit before addressing the central question of his editorial. Morgan's Law #1: No Writer Ever Got Shot Down for Writing Too Clearly. Corollary 1.1: Nor Did Any Writer Ever Get Shot Down for Writing Too Simply. Many peo- ple falsely think that they need to sound erudite and learned (read "pompous and unintelligible") for fear of being pedestrian and primitive (read "clear and concise"). All too often writing is peppered with fancy five-dollar words when the simple fifty -cent variety does the job more effectively. We can talk about "readability for- mulas," and there are several (including those of Rudolf Resch and Robert Gunning), but all they do is show the writer whether he is writing on a level that bypasses most of his readers. Morgan's Law §2: The Beginning is Half the Thing. Corollary 2.1: The Summary is the Major Thing. While it ,, Systems ^V Software • <4 Engineers At All Levels Responsibility will be for the definition and implementa- tion of real-time operating systems in minicomputer and multi-microprocessor en- vironments for data com- munications. Requires a BS or MS in Computer Science or a related field and a minimum of four years of software development experience. Will utilize the knowledge of a variety of operating systems approaches in real-time multiprocessing environ- ment. Knowledge of UNIX par- ticularly desirable. Codex Corporation is located 35 miles south of Boston with easy access to Cape Cod and Buzzards Bay. We continue to enjoy a phenomenal growth rate and leadership in the high speed data communica- tions industry. We produce equipment and systems link- ing large mainframe com- puters with geographically remote users. Typically, we sell to Fortune 1000 businesses with worldwide communications networks. Codex Corporation offers competitive salaries and a comprehensive benefits package including dental in- surance and profit sharing. Interested candidates should send a resume, including salary history, in confidence, to J.T. Dombrowski, CODEX CORPORATION, 20 Cabot Boulevard, Mansfield, MA 02048. codeK A Subsidiary o/ AA,' MOTOROLA INC. An Equal OppoMunily/Aflirmative Action Employe! M'F Circle 75 on inquiry card. November 1981 © BYTE Publications lnc 409 Circle 170 on inquiry card. Complete AIM 65 Expansion For complete AIM 65 expansion, Fore' thought Products brings you the AIM- Mate Series, quality expansion products with price, performance and versa tility that puts them in a class of their own. AIM-Mate Series expansion, including RAM (to 48K), PROM, I/O, video and floppy disk interface, STD BUS interface, parity protection and more, lets you con- figure the kind of system you need. The compact AIM-Mate case puts it all together in a sturdy, portable, desk top unit. Write today for complete details on the AIM-Mate System- AIM 65 expansion products for the professional. jFOR ETHOUGHT ^SPRODUCTS 87070 Dukhobar Road, Eugene, Oregon 97402 (503) 485-8575 LINE VOLTAGE TRANSIENT CLIPPING Features Parallel Operation PROTECTS: •Computers •Micro-Computer Systems •Word Processors •Cash Registers • Power Supplies 5000 Hits/Second PROTECTS AGAINST: •High Energy Voltage Transients •On-Off Switching •Lightning Induced Transients •Inrush of On/Off Power MARC INDUSTRIES, INC. Dealer 7133 Rutherford Rd. k (301)298-3130 Inquiries invited. Baltimore, Md. 21207 800-638-9098 „ Languages Forum. only represents one-tenth or less of the report, it contains the seeds of the entire work, including the conclusion or recommendation, if one is required. Everyone reads the summary; then the audience picks and chooses what it needs from the rest of the report. Yet how many technical reports, memos, or articles contain that essential sum- mary up front where it belongs? And how many times have you had to wade through the entire report to see what the results are? Morgan's Law #3: Avoid the Penguin Syndrome. (Tell your readers what they need to know, and no more.) Corollary 3.1: Then Use Appropriate Headings to Tell Them What to Expect. These are, or should be, the road markers to the report or article. Their purpose is to let your reader know before he reads your report what infor- mation is contained in each section and whether that in- formation is important to him. Many reports have headings but few have enough to keep the reader on course. Morgan's Law #4: Writing is Nonlinear. (Absolutely.) Corollary 4.1: Who really writes an outline? I don't, and I suspect that many others who write don't either. But everyone is afraid to admit it, thinking his writing will be labeled disorganized if he doesn't have a clearly planned outline before he writes. Case in point: I'm presently typ- ing this article as the thoughts come to me. Sure, I'm us- ing Mr Morgan's article as a starting point (in much the same way that one might use data or research or personal experience in writing), but beyond the notion that I have something to say, I'm not sure yet how it will all get said or where it will end up. Later, I will surely cut and paste, taking out some parts and expanding others, but the piece will remain essentially as it is, which confirms Morgan's Law #4. Very few people know exactly where they're going un- til they get going; then the road bends and curves and they steer along it following the natural turns. Yet almost all the textbooks include and emphasize outlining (the highly structured, traditional kind) as the way to plan one's technical writing. True, one needs some sense of direction or purpose in writing, but the first draft should be given a mind of its own. Morgan's Law §5: (The Three Foot Rule): Don't Write Anything Unless You have a Dictionary and a Thesaurus Within Three Feet of You. Corollary 5.1: Having Them Nearby Is the First Step; Using Them is the Second. Prox- imity of reach does not guarantee use. Corollary 5.2: Use the Thesaurus with Caution. You must know the word you're substituting another word for. Otherwise, how can you be sure the substituted word is an accurate synonym? Keep in mind, too, that the thesaurus is more often abused than correctly used. Some writers like to "upgrade" their vocabulary, picking out fancy-sounding words for the perfectly simple and clear ones. You might try substituting a good handbook of grammar for the thesaurus and make that your number 410 November 1981 © BYTE Publications Inc Circle 151 on inquiry card. Languages Forum. two source book. Morgan's Law §6: Don't Be Afraid to Be Interesting. No addendum needed! What's Wrong with Technical Writing? With Morgan's Laws as a reference point, I'll now ad- dress, from a classroom perspective, Mr Morgan's initial question— What's Wrong With Technical Writing To- day? What's basically wrong is that students aren't in- terested in technical writing — at least not while they're students. What they are interested in is technology and science and computers and engineering. BYTE and Omni sell out each month in the campus bookstore, and issues of the student newspaper focus on different technical problems — such as the environment, economics, alter- nate energy sources, and nuclear power. But students hate to write, they cannot write well or easily, and they think they'll never have to write in "the real world." Their favorite line is: "Why do I need to know grammar or how to spell? My secretary will take care of all that." Today's Technical Students Technical students are very curious about things mechanical and mathematical, but they hate and are afraid to put pen to paper. They have good reason for both emotions. Instead of encouraging good writing most high schools, unknowingly, do the opposite. In the per- missive 1970s, the schools stopped requiring English courses beyond the ninth grade or adopted "creative" writing courses that asked students to emote rather than denote. These touch-and-feel creative seminars ignored discrepancies in grammar, syntax, and spelling for fear of alienating the student. And students do not read. Their vocabularies are limited by their exposure to television and rock music. When these students reach college, they're knocked out of their chairs during the first week of Freshman Com- position (FC) with Fs on their papers for all the things they were never told or didn't bother to remember in high school. Other students don't make it directly to FC but must first master remedial programs, from which only a limited number escape. Those who do and then survive FC move into the upper levels of academe, where they take Technical Writing along with other technical courses. At this point, the students feel even less sure of their writing abilities and less willing to believe that they'll ever need to do anything so abhorrent as write memos, articles, and reports. A REFURBISHED DAISY WHEEL TERMINAL FOR PERSONAL COMPUTER USERS AND SMALL BUSINESSES. Now you can have letter-qualit y printin g and prof essional features for just $1,450? AJ daisy wheel printer terminals are renowned for exceptional performance, high reliability, and applications versatility. Now you can have all this for only $1,450* in our special limited offer. • 30 cps letter-quality printing J • Changeable type faces • Full ASCII keyboard with numeric pad • High resolution X-Y plotting • Complete electronic forms control • 128-character buffer • Asynchronous RS-232 interface • Printwheel, ribbon cartridge, I and cable included • 30-day parts/labor warranty And you can choose from a list of options including forms tractor; pin-feed platen, paper trays, side shelves, extra printwheels, APL keyboard and 2K buffer Call your nearest AJ regional ■ :..->■ . office for details: San Jose, CA Us (408) 946-2900; Rosemont, IL (312) 671-7155; Hackensack, NJ (201) 488-2525. Or check the phone book for the number of your local AJ sales/service office. •Price excludes options and is subject to change without notice. Model shown includes certain options. Offer available only in the contiguous U.S. ANDERSON JACOBSON Circle 27 on inquiry card. November 19B1 © BYTE Publications Inc 411 Circle 363 on inquiry card. SAVE SALE SAVE SALE SAVE SALE SAVE Sr. .it ^ lW - ,,, SHIS'* 1 TRS-80 COMPUTERS Model II 64K 3360.00 freight included Model III 32K 2150.00 freight included Daisy Wheel Printer 1710.00 freight included We can save you more on all the TRS-80 Computers, and we will! All items are brand new. We have the full line of TRS-80 computer products. Call collect (303) 945-2864 for price quotes. WE PAY ALL SHIPPING NO TAXES ON OUT OF STATE SHIPMENTS W-B SPORTING GOODS 727 Grand Avenue Glenwood Springs, Colorado 81601 CALL COLLECT (303) 945-2864 SALE SAVE SALE SAVE SALE SAVE SALE Send for our FREE Computer Supplies Catalog SAVE 20% - 50% ON RIBBONS i ict mm DDir PRINTER MODEL RIBBON LIST OUR PRICE PRICE 1 EA. 1 DOZ. Anadex Centronics CPT Digital Diablo IBM Integral Data NEC Printronix Qume Radio Shack Teletype Texas Instrument Vydec Wang II you don't see Computer accessories like3M-Scotch* brand DP 8000 700 Series Rotary IV & VI Decwriter LA30/36 Hytypell 5110 125 & 225 Spinwriter New Style (600) All Zip Pack 28, 33 & 35 810 1200 & 1400 2200 W T417 T421 T476 T496 T471 T420 T415 T430 T480 T476 T421 T9 T495 T476 T468 $2.46 $3.96 $3.96 $3.79 $4.96 $3.79 $2.71 $7.00 $9.96 $3.96 $3.96 $1.58 $3.79 $3.96 $3.96 $1.43 $2.63 $2.69 $3.05 $3.89 $2.77 $1.56 $5.00 $8.23 $2.69 $2.63 $1.40 $3.05 $2.69 $2.21 $1.38 $2.53 $2.59 $2.90 $3.74 $2.66 $1.50 $4.80 $7.94 $2.59 $2.53 $1.38 $2.90 $2.59 $2.13 your printer listed here, please call or write for our price. and word processing supplies with 25-50% oil on products diskettes, computer paper, printwheels, binders and a lot more. □ Please send me _ .ribbons, style. D I don't need ribbons now, but send me your catalog. TRICOR A 3601 9th STREET KALAMAZOO, MICHIGAN 49009 Call Toil-Free Today! 1-800-253-4358 in Michigan 616/375-7519 VISA- ^ffl B) Name . Street . City *3MCo. State. zip- Languages Forum. In the Classroom So what happens in the classroom? Not much until the first papers are returned. In my technical writing class, I spend the first three weeks talking about the language and style of technical writing, the types, the methods of organization based on proper audience analysis, and the need for conciseness in writing and meticulousness in editing and proofreading. I entertain with examples of horrid writing, I instruct with handouts of organizational patterns, and I inform with case problems which students work in class and which we then discuss. Finally, they write their first report. Almost all fail. Now they want to listen, but not for the value that such information will provide in their future careers. Rather, they listen so that they can make the grade that will get them out of the course. And in the evaluations that I receive at the end of the quarter, they repeatedly complain that I require too much work for a three-hour course. Teacher as Missionary I, of course, pay no attention to my students' com- plaints, for I'm on a mission of sorts. I have them for only one quarter and then for only three hours a week for ten weeks. After they leave my class and the college, they will become the engineers and technologists of the future. They will build the technologies that I will use. They will implement the plans; they will set the procedures. And their efforts, their knowledge, their expertise is only as good as their ability to express it accurately and effective- ly and clearly to others. They don't know that, but I do. And that's the problem with technical writing today, as I see it. Later, the students — now employees of companies and/or employers — discover this fact for themselves. They do have to write on the job — more than they real- ized or feared. But they don't have the skills to do the job well, and they can't remember what they learned in col- lege because it didn't matter then. Some com- panies — more and more — recognize the problem and hire consultants to set up seminars to teach their people the skills they need. Others send them to an increasing number of management writing courses and continuing education programs. And so, the process begins again. Only this time, it's for real.B Languages Forum is a feature which is intended as an in- teractive dialog about the design and implementation of languages for personal computing. Statements and opinions sub- mitted to this forum can be on any subject relevant to its purpose of fostering discussion and communication among BYTE readers on the subject of languages. We ask that all correspondents sup- ply their full names and addresses to be printed with their com- mentaries. We also ask that correspondents supply their telephone numbers, which will not be printed. 412 November 1981 © BYTE Publications Inc Circle 298 on inquiry card. Circle 406 on inquiry card. Technical Forum Where Am I? A Proposal for a New Microprocessor Instruction Dr S S Reddi, 1000 W MacArthur #49, Santa Ana CA 92707 Few contemporary computers provide a single explicit instruction that returns its present location in memory. It is possible to find the address where an instruction is located by making a subroutine call and popping up the stack register, but this may require more than three in- structions. When executed, a WAI (Where Am I?) in- struction could leave the value of the PC (program counter) in the accumulator. Digital Equipment Corpora- tion's VAX 11/780, which treats the PC as one of its registers, allows moving the value in the PC with the MOVE instruction, but the result is unpredictable. This is possibly due to the look-ahead feature it employs, and a similar situation could arise in computers that use pipelining. With a WAI instruction, I could write relocatable ma- chine code more easily on my Apple II. When I write a machine-language program starting at address 300 (hexa- decimal) and need to store data (without using the stack facility) or refer to a subroutine starting 60 bytes after the starting address, the code no longer becomes relocatable, for, obviously, one has to use statements like JSR $#360, and this code cannot be located starting at, say, 400. (As mentioned before, one can implement WAI by making a subroutine call and using the stack pointer — this is the solution proposed in the Apple Reference Manual). Also, when circuit cards containing relocatable code in ROM (read-only memory) are plugged into one of the Apple's slots, they may need to know where they have been in- stalled — without the user intervening — so that they may place appropriate address values in proper processor memory locations. There must be a reason for the absence of this instruc- tion. I hope other BYTE readers will present pros and cons for this instruction based on their hardware and software experience. ■ Technical Forum is a feature intended as an interactive dialog on the technology of personal computing. The subject matter is open-ended, and the intent is to foster discussion and communication among readers of BYTE. We ask that all cor- respondents supply their full names and addresses to be printed with their commentaries. We also ask that correspondents supply their telephone numbers, which will not be printed. The TELERAM S-100 Bubble Memory System A whole lot more... at 25% less Now there is a bubble memory system that is fully compatible with IEEE S100. And it's available from Teleram at 25% less cost compared to other bubble memory systems currently available-plus-it requires only 25% of the physical space. Each board has a capacity of 128K or 256K bytes of non-volatile storage and can be daisy chained to provide one megabyte. FEATURES: • DATA IS RETAINED AFTER POWER OFF • 40 MILLISECOND ACCESS TIME • CORRECTION FOR UP TO 5 BIT BURST ERRORS • CP/M COMPATIBLE • UNAFFECTED BY DUST • VERY HIGH RELIABILITY • OPERATES IN VERY HARSH ENVIRONMENTS • COMPLETELY MANUFACTURED IN THE U.S. • IDEALLY SUITED FOR PORTABLE AND PROCESS CONTROL APPLICATIONS The Teleram S-100 Bubble Memory System can provide the opportunity for new design concepts. For a free data sheet call or write: TELERAM COMMUNICATIONS CORPORATION, 2 CORPORATE PARK DRIVE, WHITE PLAINS, N.Y. 10604, (914) 694-9270 COMMUNICATIONS CORPORATION 2 Corporate Park Drive White Plains, NY 10604 (914) 694-9270 TELEX 646658 November 1981 © BYTE Publications lnc 413 Circle 292 on inquiry card. AVAILABLE TODAY from MSD: the XENIX™ Operating System, Microsoft's Adaption of Bell Laboratories Time-Tested UNIX™ Version 7 Operating System. MSD provides this comprehensive line of products for the UNIX community: ■ XENIX Operating System ■ Screen Oriented Text Editor for VT-100 Compatible Terminals ■ Database Manager and Report Generator Which Will Easily and Efticiently Control Large Accumu- lations of Information ■ Accounts Receivable System Which Can Be Used to Monitor and Control Receivables in Order to Improve Cash Flow ■ Uni-Calc™ — An Electronic Spreadsheet Which Makes Financial Analysis, Forecasting and Business Planning Easier In addition to reliable Software pre-config- ured for your Hardware, MSD will provide complete user support by: ■ Answering your telephone guestions ■ Providing new releases as available ■ Supplying you with the best Hardware for your UNIX requirements l A MSD Corporation /v\ ^ 2449 Camelot Court, SE 3 «-\ Grand Rapids, Ml 49506 ■>* (616)942-5060 MANAGEMENT SYSTEMS DEVELOPMENT Uni-Calc, UNIX and XENIX are trademarks of MSD Corp., Bell Laboratories and Microsoft respectively The S- 100 Bus T Has Moved! Our New Address: 14435 North 79th St. Suite B Scottsdale, Arizona 85260 Our New Phone Numbers: Order Phone Number: 800-528-3138 602-991-7870 We are now in our new larger quarters in order to serve you better with these major lines: Anadex Apple ATV California Compute! Systems Centronics Cromemco Digital Research Hectronic Control Technology Epson Executive Data Systems Godbout Electronics ICompuPiol Hayes Microcomputer Heuristics Integral Data Systems Integrand International Microcomputer Corp. Ithaca Intersystems Maxell Micro Pro International Morrow Designs (Thinker Toys) Mountain Computer Mullen Computer Products North Star Para Dynamics Persci Potomac Micro Magic Hume Sanyo Scion SDM Industries SD Systems Shugart Snroc SSM Microcomputer Products Tandon Magnetics Tarbell Electronics TCS T.E.I. Tecmar Teletype Televideo Texas Instruments Three M (Scotch) Verbatim Vector Zenith S* S-IDD inc. 14425 North 79th St., Suite B Scottsdale, Arizona 85260 Programming Quickies WRITELONG A Pascal Simulation of Long-Integer Output Daniel S Hunt 822 Green Valley Newbury Park CA 91320 Imagine you are programming output for a spread sheet. Wishing to depict the product-by-product sales of apples, oranges, and pears in an analysis of monthly sales of S & S Fruit Stands Inc, you write in Pascal: for i : = jan to dec do write(round(apples[i]):10); But S & S is a big company. Their monthly sales exceed the maximum integer possible in the target processor, which is 16 bits (the range -32768 to 32767). So the pro- gram crashes if you use the round function. If you don't use the round function, your output shows apple sales with a decimal point followed by zero, as in 55,765.0 apples. Procedure WRITELONG will solve the problem if the Pascal version used does not have long integer conver- sion. As input it accepts a real number, "x", and a field- length specification, "flen". It splits the real number into two parts. A division and truncation, followed by re- multiplication and subtraction from the original number, isolates the right part of the number from the left. For a 6.5-digit precision floating-point number, the right part is fixed at three digits. If rounding of the right part yields a number longer than three digits, overflow is carried into the left (atrunc := atrunc + 1), and the right is reset. Occurrence of zeroes in the right part is filled in an if. . . then. . . else sequence that evaluates number ranges. For greater precisions, the right part could be ex- tended to four digits, along with the if. ..then. ..else sequence. The banishing of the decimal point has other possible solutions. A real-to-string conversion routine may prove more useful if you wish to position commas in the out- put. WRITELONG, however, has one small advantage: the algorithm depends upon neither the host processor nor a specific implementation of Pascal. ■ 414 November 1981 © BYTE Publications Inc Circle 371 on inquiry card. Circle 244 on inquiry card. Listing 1: Example of an application of the WRITELONG procedure in Pascal. program longtest; var flen : integer; x : real; f : text; s : string; {format field width} {real 6.5-dlglt num} {text file for l/o } {file / device name} procedure wrltelong(x : real; flen : Integer); {left and right parts of x } {integerized parts of x } {IIAXINT - 1} areal, breal : real; atrunc, brnd : integer; begin if x <= 32767.0 then write ( f .round (x) :flen) else begin {get trunc of left part} areal := x / 1000.0; atrunc := trunc(areal) ; {get round of right part} areal := 1000.0 * atrunc; breal := x - areal; brnd := round(breal) ; if brnd > 999 then begin {carry overflow to left} atrunc := atrunc + 1; {reset right} brnd := brnd - 1000 end ; {write left part} write(f .atrunc: (flen-3)) ; (fill and write right part} if brnd >= 100 then wrlte(f .brnd) else If (brnd >= 10) and (brnd <= 99) then write(f , ' 0' .brnd) else if (brnd >- 1) and (brnd <= 9) then wrlte(f ,'00' ,brnd) else write(f ,'000'); end;{>32767} end; {wrltelong} begin s : = ' COM : ' ; assign( f ,s); rewr t te(f ) ; {filename - CP!I output to console} {Pascal MTPL'JS fcb assignnent } writeln; writeln('L0NG INTEGER FORMAT OF REAL NUMBER' ) ; repeat write(f, 'Enter X '); readln(x) ; write( 'Format length '); readln( flen) ; writeln(f, 'SCALE:'); writeln(f, '12345678 9x12345678 9x12345678 9x'); write long (x, flen); %iriteln(f ); until x < 1.0; end. McGraw-Hill B ooks tore hbu'f Large-size Paperbacks from John Wiley Publishers 6 3 / 4 "x10" T awachwiaae . Buy RIGHT COMPUTER .ifc | tSYSTEM ' 5 %B3GERSMOUN 1. Why Do You Need A Personal | Computer? by Leventhal & Stafford. Essential if you're thinking of buying i a computer or use yours more fully, j 320 pp. $8.95 2. Using CP/M A Self-teaching | guide by Fernandez and Ashley. De- tailed introduction for using CP/M| with any hardware, any language. 300 pp. $8.95 3. 8080/Z80 Assembly Language Techniques for Improved Pro- gramming by Alan R. Miller. For intermediate and advanced pro- grammers, 100 pages of programs. 224 pp. $8.95 4. Apple BASIC: Data File Programming by Finkel and Brown. How to maintain and program data files ... the key for successful use of microcomputers. 320 pp. $12.95 5. BASIC, 2nd Edition by Albrecht, Finkel, Brown. Over 175,000 copies sold! "Very well written . . . may possibly be the best bargain in the computer industry" — Computers in Education. 325 pp. $8.95 6. How To buy the Right Small Business Computer System by C. Roger Smolin. Keys to understanding computer potential with emphasis on software. 225. pp. $8.95 Please print clearly. McGraw-Hill Bookstore 1221 Avenue of the Americas, N.Y, N.Y 10020 2 3 4 5 6 m Send me (circle) book 1 No. Copies BY 112 Check or credit card only: Visa Amer Exp MasterCard Acct. No.. Name .Expires. Address- City- _State_ -ZiP- For U.S. add applicable sales tax, plus $2.50 each for postage and I handling. Foreign costs slightly higher. i November 1981 © BYTE Publications lnc 415 Circle 294 on inquiry card. Mil stocks 'em all for faster delivery. No hidden charges. Prices include delivery. Ask about our "QED" discounts. VISA and MasterCard orders accepted. MTI VIDEO TERMINALS Price VT100 DECscope $ 1635 VT1 32 DECscope '995 ADM 3A (dumb terminal) 595 ADM 5 (dumb with visual attributes! . 645 ADM 31 (2 page buffer) ' ADM 32 (ergonomic ADM 31 ) ' ADM 42 (8 page buffer avail.) * Tl 940 (2 page buffer) 1795 Tl "Insight Series 10" personal term. .. 895 Hazeltine Executive 80 Model 20 1 375 Hazeltine Executive 80 Model 30 1715 Hazeltine Esprit 645 1410 (Hazeltine dumb terminal) 825 1420 (dumb terminal) 895 1421 (Consul 580 & ADM 3A comp.).. 850 1500 (dumb terminal) 1045 1510 Ibufferedl 1145 1520 (buffered, printer port) 1395 1552 (VT52 compatible) 1250 GRAPHICS TERMINALS VT100 with graphics pkg 3250 ADM 3A with graphics pkg 1875 ADM 3A+ with graphics pkg 1925 300 BAUD TELEPRINTERS LA34-DA DECwriter IV 995 LA34-AA DECwriter IV 1095 LA36 DECwriter II 1295 Teletype 4310 1095 Teletype 4320 1195 Diablo 630 RO 2295 Diablo 1640 KSR 2775 Diablo 1650 KSR 2835 Tl 743 (portable) 1190 Tl 745 (port/built-in coupler) 1485 Tl 763 (port/bubble memory) 2545 Tl 765 (port/bubble/b.i. coupler] 2595 Tl "Insight Series 10/1" pers. term. ... 895 600 BAUD TELEPRINTERS Tl 825 RO impact 1450 Tl 825 KSR impact 1570 Tl 825 RO pkg. 1625 Tl 825 KSR Pkg 1795 Tl 840 RO impact 1095 Tl 840 KSR impact 1245 1200 BAUD TELEPRINTERS LA120 RO (forms package) 2095 LA120AA DECwriter III Iformspkg.) 2295 Tl 783 (portable) 1645 Tl 785 (port/built-in coupler! 2270 Tl 787 (port/internal modem) 2595 Tl 8 1 RO i mpact 1 455 Tl 810 RO pkg 1690 Tl 820 KSH impact 2025 Tl 820 RO 1850 T] 820 KSR pkg 2195 Tl 820 RO pkg 2025 2400 BAU D Dataproducts M200 (2400 baud) 2595 DATAPRODUCTS LINE PRINTERS B300 (300 LPM band) 5535 B600 (600 LPM band) 6861 B900 (900 LPM band) 10164 BP1500 (1500 LPM band) 16785 2230 1300 LPM drum) 7723 2260 (600 LPM drum) 9614 2290 (900 LPM drum) 12655 ACOUSTIC COUPLERS A/J A242- A (300 baud orig.) 242 A/J 247 (300 baud orig.) 315 A/J 1234 (Vadic compatible) 895 Vadic VA 3413 (300/12C0 orig.) 825 Vadic VA 3434 (1 200 baud orig.) 845 MODEMS GDC 103A3 (300 baud Bell) 395 GDC 202S/T 11 200 baud Bell) 565 GDC212-A (300/1 200 baud Bell) 850 A/J 1256 (Vadic compatible) 825 VA103 (300 baud orig./ans.in phone) 235 VA 3451 lorigVans. triple modem) .... 885 VA 3455 1 200 baud orig./ans.) 770 CASSETTE STORAGE SYSTEMS Techtran 816 (store/forward) 1050 Techtran 817 (store/for/speed up) 1295 Techtran 818 (editing) 1795 Techtran 822 (dual) 2295 FLOPPY DISK SYSTEMS Techtran 950 (store/forward) 1395 Techtran 951 (editing) 1995 'Please call for quote mti ^ Distributors, New York, New Jersey and Ohio. NewYork: 516/482-3500, 212/895-7177, 518/449-5959 Outside N. Y.S.: 800/645-8016 New Jersey: 201/227-5552 Ohio: 216/464-6688 Listing 1 continued from page 95: 0370 EB a XCHG 0371 E9 a a; a; a; PCHL 0372 0373 0375 0377 037A 037D 037E 037E 0380 03A9 03AB 03D4 03EF 03F1 041 A 041C 0<»30 0431 0432 0435 0437 0439 043B F3 3E40 D306 21 03 CD 04 C9 7E 7A ODOA 0D0A0 ODOA 0DOA0 0D0A0 ODOA 0DOA0 ODOA OD0A0 ;JMP TO EVENT PRGM 3 ; ******************************************** a; 3;0VERFL0W ROUTINE: DISABLES INTERRUPTS AND 3;CL0CK, OUTPUTS MESSAGE TO CONSOLE AND RETURNS a; a; 3; aOVFLOW: DI a MVI A.40H a OUT 6 3 LXI H...MESS a CALL MESS0UT a RET a; 3.. MESS: .ASCIZ / a DISABLE INTERRUPTS DISARM SYSTEM CLOCK SEND MESSAGE 92A2A2A3 a 953414D3 90909203 a 92A2A2A3 a o a/ a; ************************************** SAMPLING ABORTED: PROCESSOR TOO SLOW! BUFFER OVERFLOW ! ! ! ************************************** 041F B7 0420 2809 0422 23 0423 CB3E 0425 2B 0426 CB1E 0428 3D 0429 20F7 042B 7E 042C EE80 042E 77 042F C9 D5 El 11 0137 EDAO EDAO EDAO 2B .INSERT B:FNXN *************** * * * FNXN * * * *************** a; a; a; a; a; a; 3;THIS SR TAKES A 16-BIT NUMBER AND DIVIDES 3;IT BY 2*CREG A) NUMBER OF TIMES. ON ENTERING, 3;THIS SR EXPECTS HL TO POINT TO THE LOW BYTE 3;0F THE 2-BYTE NUMBER. HIGH BYTE IS ASSUMED 3;T0 BE AT (HL+1). RETURN IS MADE WITH HL a;POINTING TO THE LOW BYTE. SIGN BIT OF LOW 3;BYTE IS COMPLEMENTED BEFORE RETURN. a; 3FNXN: a .LOOP: CMPL: ORA JR2 INX SRLR DCX RARR DCR JRNZ MOV XRI MOV RET . .CMPL H M H M A . .LOOP A,M 128D M,A ;PR CODE=0? DIVIDE BY TWO DIVIDE COMPL AGAIN? SIGN BIT .INSERT B:S$INIT ;************************************* ;* * ;* SAMPLING INITIATOR * ;* * ;************************************* iTHIS ROUTINE INITIALIZES THE INTERRUPT ;HANDLER, CLEARS THE TEMP BUFFERS, SETS ;UP THE APPROPRIATE C0UNTER5, ENABLES ;INTERRUPT5 AND THEN RETURNS. THE INTRRPT ;VECT0R JAMMED ONTO THE BUS IS PRESUMED TO ;BE OFFH. (REGISTERS ARE NOT PRESERVED. ;WHEN CALLLED, THIS SR EXPECTS REGS DE ;T0 CONTAIN THE STARTING ADDR OF A TABLE (CONTAINING THESE PARAMETERS IN THIS (ORDER: a a a; ; 3;BYTE :# CHANNELS TO SAMPLE (STARTING ; AT 030Q) ;BYTE 1 :tt INTERRUPTS PER SAMPLE (BYTE 2 :tt SAMPLES PER DATA POINT a a a aiNiT a a a a a a PUSH D POP H LXI D CHNL LDI LDI LDI DCX H TRANSFER PARAMETERS TO INTERNAL LOC CHNL 8 INTRPTS/SAMPLE 8 SAMPLES/DATA PT INITIALIZE SAMPLE CNTR 416 November 1981 © BYTE Publications Inc Circle 94 on inquiry card. Listing 7 continued: 0*3C EDAO □ 43E 0*3F 0**2 0*** 0**7 0**9 0**B 0**C 0**D 0**F 0*5! 0*5* 0*56 0*59 0*5A 0*5B 0*5C 0*5D 0*5E 0*60 0*62 0*6* 0*66 0*67 D9 3A *7 D9 138 2A 0183 0620 3E00 77 23 10FC ED*6 21 0018 3EC3 II 18E 77 23 73 23 72 3E50 D306 3EC0 D306 FB C9 LDI EXX LDA MOV EXX LHLD MVI MVI LOOP: MOV INX DJNZ INTSS B,A NTMPAD B.32D A,0 M,A H . .LOOP SET UP INTRPT CNTR INITIALIZE BUFFERS WITH 00 LOOP TILL DONE SET UP INTERRUPT JUMP ADDRESS. FLAG JUMPERED TO VI3. ASSUMES CLOCK a a; a a a a a; a a a a. a a a a a a a a a a a a a a a a a a a a a a; .INSERT B:P$INIT 3 ; XXXXXXXXXXXXX*XXX**XXXXXXX*XXXXXXXXXXXXXX* a;* x 3;X PROCESSOR INITIALIZER # 3;* x a ; xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx* a; 3;0N ENTRY, THIS SR EXPECTS REG DE TO CONTAIN 3;THE STARTING ADDRESS OF A TABLE CONTAINING, IN 3;THIS SEQUENCE: 3; IM0 INTRPT MODE = 2 LXI H 18H FILL IN JMP INSTR MVI A 0C3H LXI D INTHLD MOV M A INX H MOV M E INX H MOV M D MVI A 50H RESET CLOCK FLAG OUT 6 MVI A 0C0H ARM CLOCK INTRPT OUT 6 EI ENABLE INTERRUPTS RET AND RETURN a; BYTE PROCESS CODE tUSED BY "FNXN" TO 3; DETERMINE HOW MANY HALVINGS TO a; a, DO a, a , BYTE 1 tt OF PROGRAMMED EVENTS a; a; a; a; a; a; a, a, a; 3; BYTES 2,3 TIME FOR EVENT #1 (ttDATA PTS) BYTES *,5 ADDR OF PRGM EXECUTING EVENT tt 1 BYTES 6,7 TIME FOR EVENT #2 BYTES 8,9 ADDR OF PRGM EXECUTING EVENT #2 ...ETC... FOR ALL EVENT TIMES AND PRGM ADDR'S a; a; REGISTERS ARE NOT PRESERVED; a; PARAMETERS FROM THE TABLE ARE INSERTED BY THIS 3; ROUTINE INTO INTERNAL LOCATIONS OF PROCSR a; FOR APPROPRIATE DATA PROCESSING AND TIMING a; a, 3F FUNCTIONS. 0*68 D5 SINIT: PUSH D ;TRANSFER PARAMETERS 0*69 E1 a POP H ;TO INTERNAL TABLES 0*6A 11 013B a LXI D.DIVSR; 0*6D EDAO a LDI PROCESS CODE 0*6F 7E a MOV A,M 0*70 EDAO a LDI N$EVTS 0*72 87 a ADD A FORM BYTE COUNTER 0*73 87 a ADD A (-**N$EVTS) 0*7* 0600 a MVI B,0 PUT IN BC 0*76 *F a MOV C,A 0*77 EDBO a a LDIR TRANSFER TIMES AND ADRR'S FOR ALL EVENTS 0*79 C9 a RET .INSERT B:MESSOUT a ; x**«*xxxxxxxxxxxxxxxxxxxx*xxxxxx**x 3;X x a;* MESSOUT * 3; » * a ; xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx* a; 3;THIS SUBROUTINE OUTPUTS A MESSAGE TO THE 3;CONSOLE USING THE DOS ' COUT ' ROUTINES AND a;RETURNS CONTROL TO THE CALLING PROGRAM. 3;THE SUBROUTINE EXPECTS HL TO HOLD THE Listing 1 continued on page 418 Make Your Dreams Come True With Computer Shopper Now you can expand your system or get a new one at prices you had never dreamed possible by taking advantage of the thousands of bargains each month in COMPUTER SHOPPER. COMPUTER SHOPPER is THE publication for buying, selling and trading new and used micro and mini- computer equipment and software. • Buy, Sell or Trade • 48 Big (11" x 14") pages • Over 20,000 readers nationwide • Low classified ad rates-only 10c a word for subscribers • Hundreds of ads from individuals • Money back guarantee Double Bonus for New Subscribers New subscribers are entitled to a FREE 20 word classified ad to use for soft- ware or used equipment (a $2.00 value) plus a FREE ISSUE (13 months for the price of 12) all for the low subscription price of ONLY $10.00. SAVE OVER 50% OFF the single copy price of $1.50, Add it up: 12 issues @ $1.50 $18.00 One free issue $1.50 Free 20 word classified ad. . . .$2.00 TOTAL VALUE $21.50 NOW ONLY $10.00. You save $11.50. MasterCard or VISA subscription orders only Call TOLL FREE FOR FASTEST SER VICE 1-800-327-9920 MasterCard or VISA classified ad orders only Call TOLL FREE FOR FASTEST SER VICE 1-800-327-9926 „,. Offer expires 1-31-82 ^camPureR shoppsr /p> P.O. Box F13S* Tilusville, FL 32780 305-269-3211 November 1981 © BYTE Publications Inc 417 Circle 102 on inquiry card. SUPERBRAIN 64K Double or Quad Density units available. Uses two Z-80 CPU's. Commercial-type terminal with 12" monitor. Dual double density minifloppies. Over 350 kilobytes of storage (twice that with quad density drives). Two serial RS232 ports, I/O ports standard. Comes with CP/MTM 2.2 operating sys- tem. MiniMicroMart can supply a wide range of CP/M development and application software. W/64K Double Density, List $3495 . . $2869 W/64K Quad Density. List $3995 $3395 WilKM PACKARD HP-41CV $259 HP-41C $189 HP-85A A Desk-Top A Computer i$2749 $3250 neuJHP-125 $3149 Ymm/th I data I systems Z1 9 Video Terminal vr^g^. List $995 F.O.B. shipping point. All prices subject to change and all offers subject to withdrawal without notice. Advertised prices are for prepaid orders. Credit card and C.O.D. 2% higher. C.O.D. may require deposit. - WRITE FOR FREE CATALOG - Mini MicroMart, Inc. 943 W.Genesee St. Syracuse, NY. 13204 (3151422-4467 418 November 1981 © BYTE Publications Inc Listing 1 continued: a;ADDRES5 OF THE MESSAGE WHICH MUST BE 3;TERMINATED BY A NULL CHARACTER. 3;REGISTERS A,B,H,L ARE ALTERED IN THIS 3;R0UTINE. 3; a; a; ac a; SYMBOL TABLE: 200D OUT = 200DH • 047A 7E a; 3MESS0UT :M0V A,M GET CHARACTER 047B B7 a 0RA A NULL CHARACTER? 047C C8 a RZ YES, RETURN 047D 47 a MOV B,A B< = A 047E 3E00 a MVI A, 00 CLEAR ACC 0480 CD 200D a CALL C0UT NO, OUT TO CRT 0483 23 a INX H INCR POINTER 0484 C3 047A a JMP MESS0UT LOOP TILL NULL .INSERT B:DATWR a;** ** a;** DATWR ** 3;** *# a ; ****#********#*«****#*******#**##**#**** a; 3;THIS ROUTINE WRITES DATA OUT TO DISK 1 USING 3;THE PREVIOUSLY ESTABLISHED POINTERS OF THE a;UTILITY PROGRAMS "PR0CSR" AND "INTHDLR". 3;IT PLACES ((CHANNELS AND ftDATA POINTS AT THE 3;BEGINNING OF THE FILE (E.G. tCHNLS IN'OFFD; 3;BUFFER STARTS AT 1000H). 3; 3;AFTER WRITING OUT THE FILE (USING "FWRITE") 3;THIS SR REINITIALIZES THE POINTERS AND a;INCREMENTS BYTE 8 OF THE FILENAME. INTRRPTS 3;ARE DISABLED ON ENTERING THIS SR AND SHOULD 3;BE ENABLED AFTER RETURN IF NECESSARY. a; 3;CL0CK FLAG IS CLEARED BEFORE RETURN. 3;0NLY THE IX AND IX REGISTERS 3;ARE PRESERVED. 3; 0487 F3 3DATWR: DI STOP INTERRUPTS 0488 2A 017F a LHLD MBUFPT CALCULATE ((DATA PTS +3 048B ED5B 0I7D a LDED BFSTRT 048F IB a DCX D 0490 1B a DCX D 0491 IB a DCX D 0492 B7 a ORA A 0493 ED52 a DSBC D 0495 E5 a PUSH H SAVE : ILE SIZE 0496 2B a DCX H CALCULA1 0497 2B a DCX H 0498 2B a DCX H 0499 EB a a XCHG HL < = DE < = IBFSTRT] -3 ftDATA PTS 049A 3A 0137 a LDA CHNL STORE ttCHNL 049D 77 a MOV M,A 049E 23 a INX H 049F 72 a MOV M,D STORE HIGH BYTE OF 04A0 23 a INX H ftDATA POINTS 04A1 73 a a MOV M,E STORE ttDATA LOW BYTE OF POINTS 04A2 2B a DCX H 04A3 2B a DCX H 04A4 EB a XCHG 04A5 Et a a POP H HL < = DE < = ttDATA PTS +3 [BFSTRT] -3 a NOW CAL( 04A6 7D a MOV A,L 04A7 B7 a ORA A 04A8 2801 a JRZ . .NOAD 04AA 24 a INR H 04AB 04AC 4C 0600 3. .NOAD: a MOV MVI C,H B,0 BC< = ttBLOCKS 04AE 3E01 a MVI A, 1 SPECIFY DISK (tl 04B0 21 185 a a LXI H,FLNAME HL<=ADDR OF FLNAME 04B3 CD 04C5 a a CALL FWRITE WRITE DATA 04B6 21 018C a a LXI H.FLNAME- 1-7 ;UPDATE 04B9 34 a INR M ; FLNAME 04BA 04BD 2A 017D 22 017F a a LHLD SHLD BFSTRT MBUFPT UPDATE BUFFER PTR 04C0 04C2 3E50 D306 a a MVI OUT A.50H 6 RESET CLOCK FLAG 04C4 C9 a a ; RET RETURN Circle 32 on inquiry card. Listing 1 continued: 201C 20 IF 2022 2028 04C5 0256 THEN 130 150 FILL 2,N 160 ! 170 P=0 \REM 180 IF N=1 THEN 520 190 N = N/2 500 P=P+1 510 IF N>1 THEN 190 520' IF N<1 THEN 130 CALCULATE PROCESS CODE 530 FILL 3,P \REM START TABLE AT 0003 HOW A PARAMATER TABLE MUST BE SET UP FOR 'PSINIT'." " THE FIRST PARAMETER IS THE PROCESS CODE FOR 'FNX',"." " THIS IS CALCULATED AS THE POWER OF TWO WHICH EQUALS N. " THE SECOND PARAMETER IS THE II OF PROGRAMMED EVENTS." 11 IN THIS EXAMPLE WE WILL HAVE ONLY TWO EVENTS. THE" " FIRST WILL SET BIT OF PARALLEL PORT 21 (30 OCTAL)" " AND THE SECOND WILL TERMINATE SAMPLING, WRITE THE" " BUFFER TO DISK AMD SEND A MESSAGE TO THE CONSOLE." " OF COURSE, THE FIRST EVENT SHOULD BE SET FOR A TIME" " PRECEEDING THE SECOND EVENT. THE PROGRAMS FOR THESE" " EVENTS CAN BE FOUND IN MODULES 'SPECIAL EVENTS' AND" " 'LIGHT/DARK EXPERIMENT'." 510 ■350 560 570 580 590 600 610 620 630 610 650 660 670 FILL 1,2 680 THE TIME REQUESTED IS CALCULATED AS THE NUMBER OF" DATA POINTS ( = ,'/ INTERRRUPTS PER SAMPLE » OF SAMPLES" PER DATA POINT). THUS IF // I NTRRPTS/SAMPLE EQUALS 19" AND II SAMPLES/DATA PT EQUALS 8, THEN THERE WILL BE 8" SECONDS PER DATA POINT (ASSUMING 53 MS CLOCK) AND THE" TIME FOR EACH EVENT HAS UNITS OF 8 SECONDS." 690 700 710 720 730 710 7 50 760 INPUT" TIME FOR EVENT #1: ",T1 770 REM PUT THE TIME IN THE TABLE, HIGH BYTE FIRST. 730 FILL 5,INT(T1/256) 790 FILL 6, T1 - INT(T1/256)*256 800 REM NOW PUT THE ADDR OF EVENT PROGRAM in IN THE TABLE 810 REM \REM LOW BYTE OF ADDR 5A2 HEX \REM HIGH BYTE 820 FILL 7, 162 ?,30 FILL 8,5 810 REM 850 INPUT" TIME FOR EVENT 112: " ,T2 860 FILL 9,INT(T2/256) 370 FILL 10, T2 - I NT(T2/256 ) *256 380 ! Listing 2 continued on page 426 CHOOSE... Choose an Apple Desk A compact Bi-Level desk ideal for the Apple com- puter system. This 42" x 29'/!" desk comes with a shelf to hold two Apple disk drives. The top shelf for your TV or monitor and manuals can also have an optional paper slot to accomodate a printer. It is shown here with the optional Corvis shelf which will hold one Corvis disk drive. The Corvis shelf is avail- able on the 52" x 29Vi" version of the Apple desk. Choose a Micro Desk The Universal Micro desk accommodates the S-100 type microcomputers. The desk is available in four sizes: 17.75 inch, 19.06 inch, and 20.75 inch wide openings with 24 inch front-to-rear mounting space. The fourth size is a 20.75 inch wide opening with a 26.50 inch front-to-rear mounting space. Choose a Mini Rack ** Mini racks and mini micro racks have standard vent- ing, cable cut outs and adjustable RETMA rails. Choose a stand alone bay or a 48", 60", or 72" desk model in a variety of colors and wood tones. A custom rack is available for the Cromemco. Choose a Printer Stand The Universal printer stand fits the: Centronics 700's Dec LA 34 NEC Spinwriter Lear Siegler 300's Diablo 1600's & 2300's T.I. 810 & 820 Okidata Slimline Anadex 9500's Delivery in days on over 200 styles and colors in stock. Dealer inquiries invited. ELECTRONIC 5="A" THEN 170 ELS 170 Y=ASC(T$) 180 Y=Y-55 185 GOTO 140 190 FNEND 200 ! "THESE ARE THE IHPUTTE 202 S1=FNH("08F7") 203 S2=FNH("0700") 205 C=CALL(31 ,S2) 206 INPUT "PRESS CARRIAGE R 210 !\! "WHICH PARAMETERS DO 220 !TAB(8) ,"1=FILENAME/DAT 225 !TAB(8) ,"2 = # CHANNELS/// 230 !TAB(8) ,"3=DARK SAMPLIN 235 !TAB(3) ,"4=LIGHT SAMPLI 240 !TAB(3) ,"5=C0MMENTS 245 !TAB(8) ,"6 = ALL OF THE A 247 !TAB(3) ,"7=N0NE, BEGIN E 250 ! MIJPUT "WHICH NUMBER?" 255 ON A GOTO 400,500,600,7 300 REM ********** ********* 305 REM 310 REM WAIT FOR CARRIAGE R 315 REM START SAMPLING AND 320 REM HAS STATUS ROUTINES 325 !\!"MAKE SURE DATA DISK 330 !TAB(8) ."STATUS DISK IS 335 !\INPUT"PRESS CARRIAGE 340 Q=FMH("08E0") \ 350 Q=CALL(0) 360 Q=FNH("068B") \ 370 Q=CALL(0) 390 CHAIN "STATUS, 2" \REM 395 HEM 397 REM ******* 39 3 REM 400REM INPUT FILENAME/DATE 410 GOSUB 1 000 RAMETEHS FOR DOING A LIGHT/DARK S THE USER FOR PARAMETERS, PLACES AMETER STACKS AND WRITES A HEADER PARAMETERS OUT TO DISK. EXPERIMENT ***"\! SHOULD ALREADY BE L0ADED"\! PT RATE IN MILLI3EC = ",K," MSEC" ERENT RATE" 4-DIGIT HEX NUMBER TO DECIMAL E 135 D PARAMETERS:"\!\! ETURN TO CONTINUE" , K$ YOU WANT TO ALTER?" E" CYCLES" G PARAMETERS" IIG PARAMETERS" BOVE" XPERIMENT" A 00,300,900,300 ***************** ETURN, THEN WRITE OUT HEADER, CHAIN "STATUS, 2" WHICH IS ON DRIVE //1" ON DRIVE 112" RETURN TO START SAMPLING", K$ REM WRITE HEADER REM START SAMPLING STATUS ON DRIVE #2 AND RETURN Circle 168 on inquiry card. IT SAMPLING PARAMETERS COIWK8T3 PARAMETERS CI H RAM LOCATIONS J 1 35 = UTILITY UDDR HDOOO..A): ",C$ iEADER ,C$ Listing 3 continued: H20 GOTO 200 500REM INPUT //CHAMML'LS/rfCYCLES AND RETURN 510 GOSUB 1 300 520 GOTO 200 600REH INPUT DARK SAMPLING PARAMETERS 610 GOSUB 1500 620 GOTO 200 YOOREr: INPUT LIC 710 GOSUE 2 300 72 GOTO 2 00 300KEH INPUT SEV blO GOSUB 3 100 020 GOTO 200 yOOREM INPUT ALL NEW 910 GOSUB 1000 920 GOSUB 1300 930 GOSUB 1500 940 GOSUB 2300 050 GOSUB 3't00 060 GOTO 200 10 00 REM POT FILE-NAME INTO PROP 1010 REM 0700 = !IEA0ER ADUR 1020 INPUT "TJPE FILENAME 10 30 H=FN!!("0700") lil'li) ULKIi(CS) 1050 IK L>3 T'lEN 1020 1060 GOSUB 9O90 1070 iliFHU("0180") 1030 GOSUB 9999 1050RI-.:* PLACE DATE INT 1 190 INPUT "TYPE DATE: 1 1 10 H = FNH("070A") 1 120 L=LEN(C$) 1 130 IF L>1 1 THEN 1 100 1 110 GOSUB 9999 1 150 RETURN 1300REM PUT (/CHANNELS INTO HEADER AND PARAMETER STACKS 1310 INPUT "NUMBER OF CHANNELS TO SAMPLE: ",C 1320 IF C>7 THEN 1310 1330REM NzPOINTER FOR DARK PARAM STACK 1310REM M=POINTER FOR LIGHT PARAM STACK 1350 N=FNH("05BO") 1360 FILL N,C 1370 N=N+1 1330 M=FNH("05D5") 1390 FILL M,C 1400 M = M+1 1410 H=FNH("0722") 1420 GOSUB 9997 1430REM INPUT //CYCLES INTO HEADER AND EHDFLAG 1440 INPUT "TYPE It OF DARK, LIGHT PERIODS: ",C 1450 IF C>99 THEN 1440 1460 B=FNH("059B") 1470 FILL B,C 1480 H=FNHC"0739") 1490 GOSUB 9997 1494 RETURN 1500REM PUT SAMPLING RATE INTO HEADER ANDINT/S INTO STACK 1540 !\!"DARK SAMPLING PARAMETERS:" 1550 !TAB(8) ."DESIRED SAMPLING RATE (IN SEC): ", 15 60 INPUT C 1570 C1=INT(C*1000/K +.5) 1530 C=C1*K/1000 1590 ;i=FNH("05B1") 16 00 FILL N,C1 1610 HsH+1 1620 !TAB(3) ."ACTUAL SAMPLING RATEs ",C," SEC" 1030 ll=FHH( "076B") 1640 GO0U!> 9997 1650 C1=C 1660 CS=" S" 1670 GOSUB 999« 1680REM PUT S/DPT INTO STACK AND HEADER 1690 !TAB(3) ."SAMPLES PER DATA POINT (POWER OF 2): ", 1700 INPUT C 1710 IF C>123 THEN 1690 1720 FILL U,C 1730 N=N+1 1740 !!=FIi!l("073E") 1750 GOSUB 9997 1760 C2=C 1770REM PUT PROCESSOR CODE INTO STACK 1730 P=0 1790 IF 0=1 THEN 1330 1800 C=C/2 1310 P=P+1 Listing 3 continued on page 428 ENTREPRENEURS 111 IT I ll"l ' MORE THAN EVER IN THE MICRO- ■ W LmmiB^ IhBv computer industry. The shortage of knowledgeable dealers/distributors is the #1 problem ol microcomputer manufacturers. Over 300 new systems houses will go into business this year, but the number falls short of the 1200 needed. It is estimated that the nationwide shortage of consultants will be over 3000 by 1981 The HOW TO manuals by Essex Publishing are your best guide to start participating in the continued microcomputer boom. HOW TO START YOUR OWN SYSTEMS HOUSE 7th edition, November 1981 Written by the founder of a successful systems house, this fact-filled 220-page manual covers virtually all aspects of starting and operating a small systems company. It is abundant with useful, real-life samples: contracts, proposals, agreements and a complete business plan are included in full, and may be used immediately by the reader Proven, field-tested solutions to the many problems facing the small systems house are presented. From the contents: • New Generation of Systems Houses • The SBC Marketplace • Marketing Strategies • Vertical Markets & lAPs • Competitive Position/Plans of Major Vendors • Market Segment Selection & Evaluation • Selection of Equipment & Manufacturer • Make or Buy Decision • Becoming a Distributor • Getting Your Advertising Dollar's Worth • Your Salesmen: Where to Find Them • Product Pricing • The Selling Cycle • Handling the 12 Most Frequent Objections Raised by Prospects • Financing for the Customer • Leasing • Questions You Will Have to Answer Before the Prospect Buys • Producing the System •Installation, Acceptance, Collection • Documentation • Solutions lo the Service Problem • Protecting Your Product • Should You Start Now? • How to Write a Good Business Plan • Raising Capital No. 10 ' COMPUTER CONSULTANT HOW TO BECOME A SUCCESSFUL COMPUTER CONSULTANT by Leslie Nelson, 3rd revised edition, Oct. 1981 Independent consultants are becoming a vitally important factor in the microcomputer field, filling Ihe gap between the computer vendors and commercial/industrial users. The rewards of the consultant can be high: freedom, more satisfying work and doubled or tripled income HOW TO BECOME A SUCCESSFUL COMPUTER CONSULTANT provides comprehensive back- ground information and step-by-step directions for those interested to explore this lucrative field • Established consulting markets* How to get started "Itemized start-up costs • Are you qualified? • Beginning on a part-time basis • The Marketing Kit • Should you advertise? • Five marketing tips • Getting free publicity • How much to charge • When do you need a contract? • Sample proposals • Which $28. ■ No. 16 j 0DS should be declined • Future markets • The way to real big money • Avoiding the legal pitfalls • How consultants' associations can help you "The National Register of Computer Consultants • How others did it: real-life sample cases • and much more. FREE-LANCE SOFTWARE MARKETING 3rd edition. June 1980 Writing and selling computer programs as an independent is a business where • you can get started quickly, with little capital investment • you can do it full time or part time • the potential profits are almost limitless. Since the demand for computer software of all kinds is growing at an explosive rate, the conditions for the small entrepreneur are outstanding This manual will show you how to sell your own computer programs using these proven techniques: "direct to industries • through consulting firms • through manufacturers of computer hardware • in book form • mail order • through computer stores. It will show you how to profitably sell and license all types of software ranging from sophisticated analytical programs selling lor thou- sands of dollars, down to simple accounting routines and games for personal computers. The book will guide you step by step through the process of 30. No. 32 marketing, advertising, negotiating a contract, installing software, training users and providing maintenance and support. It also contains sample software contracts that have been used in actual software transactions. Also included are tips on how to negotiate with a large corporation, ways of avoiding personal liability, techniques for obtaining free computer time and hints on how to run a free-lance software business while holding a full-time job. HOW TO START & OPERATE A MAIL ORDER BUSINESS by Julian Simon, 3rd revised edition, 536 pages, 1981. Indispensable for those selling software, equipment or supplies by mail. The first two editions of this book have fascinated readers — and brought them a fortune- The methods described here have brought millions of dollars in sales for the readers. Whether you are a newcomer starting from scratch or an established business anxious to cash in on the lucrative mail-order market, this book tells you how to make money by mail. You'll discover the least expensive, most effective ways to promote your product. You'll learn how to create the kind of ads and mail order copy that will sell. From the contents: • where to go fordirect-mail lists • howtoget credit, dealwith banks, handle merchandising • how to run one-inch ads that U nn se " * how to get supplies and handle orders • what you may $21.95 No. 130 anc j ma y no( jq unc j er curr ent mail-order laws • how to make tactical decisions about handling complaints, making refunds, guarantees, trial orders. There are fat profits to be made in mail order even for the person with limited time or capital, and this is the book that shows you how. ESSEX PUBLISHING CO. Dept. 2 285 Bloomfleld Avenue • Caldwell. N.J. 07006 Order books by number. Send check, money order (U.S.$), American Express. VISA or MasterCharge tt. Publisher pays 4th class shipping. For UPS shipping (USA only) add $1.00 per book. For Air Mail add $2-50 per book In the USA or Canada, $12.00 per book elsewhere. N.J. residents add 5% sales tax. D No. 10 D No. 16 a No. 32 D No. 130 D UPS D Air Name . Address City .Zip. Signature For faster shipment on credit card orders call (201) 783-6940 between 9 and 5 Eastern time. November 1981 © BYTE Publications Inc 427 Circle 295 on inquiry card. $, SAVE «fc CALL MBC, . J203) 342 27*7 COMPUTERS NORTH STAR HRZ-1Q-64K-HD5 Save over S160 ADVANTAGE 64K-QD HRZ-2D-64K-ASM HRZ-64K-QD-ASM HEWLETT-PACKARD HP-85 HP-83 HP Calculators In Stock 153S ATARI 800 16K 400 16K ZENITH z-89 GA Z-89 All-In-One-Computer COMMODORE CBM.PET 32K COMPUTER LIMITED TIME & QUANITY 8032 Large 80 Col. Screen 8050 Dual Disk Drive 1 Meg 4032 B or N 40 Col. Screen 4040 Dual Disk Drive 360K Vic-20 Color Computer INTERTEC SUPERBRAIN 64K-DD 0.00 ! ! S3550 SCall SCall S2795 SCall OFF! ! ! $ 759 S 345 S2068 S2275 64K-O.D ALTOS SYSTEMS ACS 8000-2 1 Meg FD ACS 8000-2D 2 Meg ACS 8000-10 4 User ONYX C8002 $ 975 SCall SCall SCall SCall S 275 S2775 S3180 S3150 S4390 S6795 S14900 Verbatim Disketts 525-01, 10 (box of 10) 550-01 , 10 [box of 10) 24.50 37.50 PRINTERS DIABLO 630 NEC SPINWRITER 7730/7710 NEC 7720 KSR NEC 3510/3530 (35 CPS ) .ITOH SCALL SCALL S2890 S1950 S1499 OLYMPIA ES-100 Typewriter/Inter S1250 IDS Paper Tiger 445G SCALL 460G SCALL 560G S1150 ANADEX 9500/9501 S1290 CENTRONICS 730-1 S 550 737-1 S 699 EPSON-MX80 W/Friction Opt. SCALL MX-70 S 395 MX-100 SCALL OKIDATA MICROLINE 80 $ 375 82 S 495 83 S 750 TERMINALS TELEVIDEO 920C 950 INTERTUBE Ill/Emulator ZENITH Z-19 ZENITH 12" Green Monitor S 850 S1050 S 725 S 820 S 139 LEEDEX/AMDEK 100 Green Monitor S 165 Above items may be ordered by mail or phone. Visa & Master Charge accepted. Factory Sealed , Manufacturers Warranty Prices Subject To change (203) 342-2747 Multi-Business Computer Systems Inc. 2 8 MARLBOROUGH STREET PORTLAND, CONN. 06480 TWX/TELEX 710-428-6345 Listing 3 continued: 1320 IF C>1 THEN 1300 1830 FILL N,P IS'10 H=:i+1 1350 IF C<1 THEN 1690 1S60REK PUT IN PROGRAMMED EVENTS 1370 FILL N,1 1830 N = N+1 1390 !TAB(8),"TIME IN DARK (X .SEC/MIN/HR) : ", 1900 INPUT C,K$ 1910 C3=C1*C2 1920REM C1=SAMPLING RATE IN SEC, C2=//S/DPT 1930 IF K$="SEC"THEN 1980 1940 IF KS="MIN"THEN 1970 1950 IF K$s"HR"T!iEN 1960 ELSE 1890 1960 C=C*60 1970 C=C*60 1980 C4 = I!IT(C/C3+.5) 1990 C5=C3*C1 2000 IF K$="SEC" THEN 2030 2010 IF K$="MIN" THEN C5=C5/60 2020 IF KS = "IIR"T!IF.;i C5 = C5/3600 2030 C6=0 2010 IF C4<256 THEN 2080 2050 C6=INT(C1/256) 2060 IF C6>255 THEN 1890 2070 C4=C4-C6*256 20B0 FILL N,C6 2090 tl=N+1 2100 FILL N,C'I 2110 N=N+1 2120 IT ABC 8), "ACTUAL TIME= ",C5," " , K$ 2130 CrC5 2140 H=FNH("07A5") 2150 GOSUB 9997 2160 FILL N,FNII("0090") 2170 11 = 11 + 1 2130 FILL H,5 2190 M=N+1 2200 C$ = " " + !<$( 1,1) 2210 GOSUB 9993 2220 RETURN 2300REM PUT LIGHT INT/3 INTO STACK AND SAMPLING RATE IN HEADER 2310 !\! "LIGHT SAMPLING PARAMETERS:" 2320 !TAB(8) ."DESIRED SAMPLING RATE (IN SEC): ", 2330 INPUT C 2340 C1=INT(C*1000/K +.5) 2350 C=C1*K/1000 2360 M=FMH("05D6") 2 370 FILL M,C1 2 330 M=H+1 2390 !TA5(8) ."ACTUAL SAMPLING RATE= ",C," SEC" 2HO0 rUFHH("0300") 2410 GOSUB 9997 2 '120 C1=C 2 'I 30 C;j = " 3" 2440 GOSUB 9993 2450REM PUT S/DPT INTO STACK AND HEADER 2160 !TAB(8) ,"SAMPLES PER DATA POINT (POWER OF 2): ", 2170 INPUT C 2130 IF C>128 THEN 2160 2190 FILL M,C 2500 M=H+1 2510 H=FNH("0823") 2520 GOSUB 9997 2530 C2 = C 2540REM PUT PROCESSOR CODE INTO STACK 2350 P=0 2560 If G=1 THEN 2600 2570 C=C/2 2530 P=P+1 2590 IF C>1 THEN 2570 2600 FILL '■! , P 20 10 ;: = m + i ,2620 IF C<1 THE!: 2160 2S30REII PUT IN PROGRAM 2610 FILL «, 3 \BE 2650 H=M+1 2652 C3=C1*C2 ViEM C3=SEC/DPT 2L51RE'! C1=f>A.'1PLIMG RATE IN SEC, C2=?S/DPT ■:D EVENTS 3 EVENTS 2 !>'."> ri C1 = I:iT(60/C3 + .5) 2660 FILL M,'i 2662 M=M + 1 2664 FILL M,C4 2665 M=M+1 2666 FILL M ,FNH ( "O0A2" ) 2667 M=M+1 2663 FILL M,5 2669 M = M + 1 \RF.M CALCULATE 1 —111 M \REM TURN ON LIGHT AFTER 1-MIN \REM ADDR OF LITON 428 November 1981 © BYTE Publications Inc Listing 3 continued: i 2630 !TAB(8) ."LIGHT PERIOD (X , SEC/MI N/H R ) : ", A 2690 INPUT C,K$ J 2700 IF K$="SEC"THEN 2750 2710 IF K$="MIN"THEN 2740 2720 IF K$="HR"THEN 2730 ELSE 2660 2730 C=C*60 1 27t0 C=C*60 2750 Ct=INT(C/C3+.5) + C4 2760 C5=C3*C4 2770 IF K$="SEC" THEN 2800 2780 IF K$r"MIN" THEN C5=C5/60 2790 IF K$="HR"THEN C5=C5/3600 2800 C6 = ^ 2810 IF C4<256 THEN 2850 2820 C6=INT(C4/256) 1 2830 IF C6>255 THEN 2660 2840 C4=C4-C6*256 2850 FILL M,C6 • 2860 HsH+1 2870 FILL M,C4 2880 M = M+1 2890 FILL M,FNH("009C") 2900 M = M+1 1 2910 FILL «,5 2920 MsM+1 2930 C=C5-C3*INT(60/C3+.5) 2940 !TAn(8) ."ACTUAL TIME= ",C," " , K$ 2950 H=FNHC"07E0") 2960 GOSUB 9997 2970 C$ = " "+K$(1,1) 2980 GOSUB 9998 2990 !TAB(8) ."PERIOD OF LIGHT SAMPLING (X .SEC/MIN/HR) :" , 3000 INPUT C,K$ 3010 C3=C1*C2 3020REM C1=SAMPLING RATE IH SEC, C2=#S/DPT 3030 IF K$ = "SEC"THErl 3080 304 IF K$="MIN"THEN 3070 3050 IF K$="HR"THEN 3060 ELSE 2990 3060 C=C*60 3070 C=C«60 3030 C4=INT(C/C3+.5) 3090 C5=C3*C4 3100 IF K$="SEC" THEN 3130 31 10 IF KS = "MI!J" THEN C5=C5/60 3120 IF K$="HR"THEN C5=C5/3600 3130 C5 = 314 IF C4<256 THEN 3130 3150 C6=INT(C4/256) 3160 IF C6>255 THEN 2990 3170 C4=C4-C6*25& 3130 FILL M.C6 3190 H = 1-1+1 3200 FILL M,C1 3210 r1=M+1 3220 !TAB( 8) /'ACTUAL TIME= ",C5," " , K$ 3230 C = C5 3240 H=FNH("0846") 3250 GOSUB 9997 3260 C$ = " " + K$(1,D 3270 GOSUB 9993 3280 FILL M,FNH("0090") 3290 M=M+1 3300 FILL M,5 3310 RETURN 34001 EM INPUT COMMENTS 3410 I 3420 H=FNH("085F") 3430 INPUT "COMMENTS:" ,C$ 344 IF C$=""THEN 200 345 C ;OSUB 998 34 60 C$rCH$( 13)+CHR(10) 3470 GOSUB 9995 3480 IF H>=NH"ODF") THEN STOP 3490 GOTO 3430 3500 RETUR 9995 iEHSUBROUTINE TO PLACE STRING C$ OF LENGTH L 9996REH INTO MEMORY STARTING AT RAM li 9997 C$=STRS(C) 9993 L=LEM($) 9999 FOR 1=1 TO L 10000 T$=CS(I,I) 10001 FILL ,ASC($ 102 H = ll + 1 10003 NEXT I 10004 RETURN READY ARE YOU *&$&' m You are ready for MICRO if you want to. . . □ Go beyond canned software □ Use your computer for more than games □ Learn advanced programming techniques □ Understand the inner workings of your computer □ Get the most out of your 6502/6809 system Month after month, MICRO gives readers sophisticated software applications, detailed discussions of programming languages, and in- depth hardware tutorials. To get the most out of your machine, say YES to MICRO today! We accept VISA or Mastercard. $18.00 per year in the U.S., $21.00 elsewhere. Use Our 24-hour Toll-free Service 800-227-1617ex,546 In California: 800-772-3545, Ext.546 /AICRO 34 Chelmsford Street P.O.Box 6502 Chelmsford, MA 0I824 November 1981 © BYTE Publications Inc 429 DON'T GET STUCK. Sloppy software contracts cost money and cause misunderstandings. Consult us before you sign a contract. We offer contract services to both customers and suppliers. Call or write Robert E. Brown, Esq. (716) 232-5300. ■ Basic ■ Forth ■ Cobol ■ Fortran ■ Others Middleton, Wilson, Boylan & Gianniny, Attorneys at Law 900 Midtown Tower. Rochester NY 14604 Circle 277 on inquiry card. CHIPS, & DALE C2 THE INFLATION FIGHTERS! _RAM — 4116 200ns 8/51 4.00 2114L 300ns 8/ SI 8.45 4164 200ns $22.00 — EPROM — 2716 (5V)450ns 8/ $4.25 ea.$4.50 ea. 2732 (5V)450ns 8/$l 1 .00ea.$ 1 1 .50 ea We buy from Manufacturer's Authorized Distributors. All Chips are fully Guaranteed. Call for quantity pricing. Please allow up to 3 wks. for personal checks to clear. ' Add $2.50 Shipping & Handling C.O.D. S3. 00. Wash, residents add 5.4% Sales Tax CHIPS 6 DALE P.O. Box 3 1607 Seattle. Wash. Zip 98103 Master Charge 1-206-524-9126 VISAaccepted. Circle 66 on inquiry card. NEW 16K-RAM PERSONAL COMPUTER $00000 FACTORY SALE C.C.iJ PRICE For $229 00 you get the new Interact Model "R" Computer, 16K-RAM, 2K-ROM, 8080A Microprocessor, color, sound, full 53 keyboard, high speed cassette, AC adapter, R.F. Modulator, Black Console Case, 90 days parts and labor warranty, owners' guide, FCC approved. 15 DAY FREE TRIAL Return within 15 days complete and undamaged for refund of purchase price. PROTECTO ENTERPRIZES BOX 550, BARRINGTON, IL 60010 TO ORDER PHONE 312/382-5244 A HEX NUMBER TO DECIMAL Listing 4: Program STATUS, which allows the operator to examine and control the progress of the sample experiment after running the program in listing 3. Both programs interact with the program in listing 1, which must be loaded into memory first. 2 re>! ********* STATUS ********** 'I REM 5 REM THIS PROGRAM FIRST WRITES OUT THE HEADER AND STARTS 6 RE!', THE EXPT, AND THEN PROMPTS FOR A CONTROL COMMAND 7 REM 21 REM 24 R EM * * * ********* ********* 27 REM 30 REM THIS SR CONVERTS 33 DEF FHH(US) 36 L=LEN(H$) 39 Del 12 X = '15 FOR 1 = 2 TO L is d=d*i6 51 NEXT I 51 FOR 1=1 TO L TS = ll$(I ,1) IF T-5< = "F" THEN 81 Y=VAL(Tt) Y = Y*D D=D/16 X = X + Y NEXT I 57 60 6 3 66 69 72 75 73 RETURN X 81 IF T$>="A" THEN 81 ELSE 63 81 Y=ASC(TS) - 55 87 GOTO 66 89 FNEND 90 REM 91 REM * 92 REM 100 REM 110 REM 120 REM 130 REM 110 REM 112 !\!"CL0CK RATE 111 150 160 170 180 190 200 220 225 227 229 230 210 lNPUT"WHICH COMMAND? THEN GOSUB THEN GOSUB THEN GOSUB THEN GOSUB THEN GOSUB THEN GOSUB \! "EXPERIMENT IN PR \! "COMMANDS:" \!" I ***************** ************* THIS SECTION PROMPTS FOR A COMMAND 218 MSEC; CHANGE LINE 7190 IF DIFFERENT" OGRESS - STATUS PROGRAM LOADED" 53.; PRINT HE SHOW TIM ADVANCE END EXPT DISPLAY PRINT VO STOP INT RESTART 250 IF C$="H" 260 IF C$="T" 270 IF C$="A" 280 IF C$="E" 300 IF C$="D" 305 IF CS="V" 307 IF C$="S" THEN GOSUB 309 IF CS="R" THEN GOSUB 310 GOTO 150 180 REM 4 90 REM * ******* 195 REM 197 REM THIS SECTION CAL 198 REM WHICH OUTPUTS Til 199 REM 500 ! 505 Q=CALL(2295,1792) 510 INPUT"PRESS CARRIAGE 550 RETURN 5 80 REM 585 REM ******** 587 REM 590 REM 593 REM 595 REM 600 GOS 602 T$ 601 T1= 606 IF 608 IF 609 ! ADER TO CONSOLE" E INTO THIS CYCLE / It CYCLES LEFT" TO NEXT CYCLE AFTER NEXT DATA PT" DATA IN BUFFER" LTAGE LEVELS" ERRUPTS" INTERRUPTS" ",C$ 500 500 700 800 1000 1000 5000 6000 ***************** LS AN ASSEMBLY ROUTINE E HEADER VIA DOS I/O RETURN TO CONTINUE" ,Q$ ****************** THIS SECTION LOOKS INTO RAM TO FIND TIME THIS CYCLE HAS BEEN RUNNING AND II OF CYCLES LEFT UB 7000 SEC" T1*T2*K1»B6 T1>120 THEN T$=" MIN" T1>120 THEN T1=T1/60 Circle 351 on Inquiry card. THIS SECTION ENDS THE CURRENT CYCLE AND ADVANCES TO THE NEXT CYCLE AFTER THE NEXT DATA POINT \REM DISABLE INTERRUPTS \REi-1 ZERO EVENT TIME CNTR \REM TURN OFF ALL RELAYS \REM ENABLE INTERRUPTS THIS SECTION ENDS THE EXPT PUTTING A ONE ENDFLAG AND THEN ENDING T IE CURRENT CYCLE \REtf END CYCLE Listing 4 continued: 610 !"THIS CYCLE HAS BEEN RUNNING FOR ",J6F2,T1,T$ 620 E1=FNH("059B") \REM ADDR OF ENDFLAG 630 E1=EXAM(E1 ) 610 \"ll OF CYCLES LEFT = ",E1 6 50 RETURN 6 80 REM 6 85 P\ EM ******************** * 8 c! REM 6 90 REM 6 95 REM 6 97 REM 699 REM 700 E2=FNH("08FC") 710 Q=CALL(E2) 720 M=FNH("0 13C") 72 5 FILL M , 1 7 30 '-1 = 11+1 7 35 FILL [4,0 710 H=M+1 712 FILL M, 1 715 ''=H+1 750 FILL H,FHH("0090") 7 52 a=M+1 7 55 FILL M,5 760 OUT 21,0 770 0=CALL(E2+2) 750 RETUR'.' 7 35 REM 783 REM * * * * 7.39 REM 790 REM 7 92 REM IN 7 95 REM ■!00 llrFnlK "059B") 32 FILL M, 1 310 GOSUB 700 360 RETURN 9 60 REM 970 REM * * * * * 930 REM * * * * * 9 90 REM *********************** 1000!\!"THIS PROGRAM GRAPHICALLY DISPLAYS DATA" 1010! "CONTAINED IN THE A/D UTILITIES BUFFER" 1020! 1030 GOSUB 7000 \REM FETCH CONSTANTS FROM RAM 1010 ! 1050 ! "THERE ARE ",C1," CHANNELS WITH " , B6 , " POINTS RICH IN THE BUFFER" 1060 !\INPUT "WHICH CHANNEL DO YOU WANT DISPLAYED?" , C2 1070 IF C2< 1 THEN STOP 1080 IF C2 > CI THEN 1060 1090 !\INPUT"DISPLAY TYPE? (C=CRT; 1100 IF D1$="C" THEN 1500 1 1 10 IF D1$ = "0" THEN 2000 1 120 IF D1$="S" THEN 3000 1 130 GOTO 1090 1110 R EM 1170 REM 1175 REM ********************** 1180 REM 1185 REM THE FOLLOWING SECTION OUTPUTS THE DATA BUFFER 1190 REM GRAPHICALLY ONTO THE SOROC 120 CRT 1195 REM 1500 FOR 1=1 TO 21 1505 ! \MEXT I 1510 REM 1515 REM 1520 1525 OUT 2,27 1530 OUT 2,61 1535 OUT 2,51 1510 OUT 2,32 1515 T3=A1*T1»T2*K1 1550 T$=" SEC" 1555 IF T3>=120 THEN T$=" MIN" 1560 IF T3>=120 THEN T3=T3/60 1565 !"EACH POINT = ",%5F1,T3,T$ 1570 REM 1575 REM 1580 REM INITIALIZE 1585 D1=B1 + C2 - 1 DISPLAY = 0SC0PE; S = 3TRIP CHART):", 01*. \REM CLEAR CRT REM PUT TIME SCALE ON SCREEN \REM LOAD CURSOR \REM TIME PER DATA PT 1590 X=32 1615 Y=0 1620 FOR 1=1 TO A1 1625 Y=Y + EXAMCD1 ) 1630 D1=D1+C1 1635 NEXT I AND DATA ADDR'S \REM ADDR OF DATA \REM CURSOR X-POSITION \REM LOOP TILL DISPLAY DONE \REM AVERAGE PTS Listing 4 continued on page 432 Big sale onK's! 16K.. .$149.95 32K... $199.95 48K... $249.95 64K... $299.95 New JAWS-IB The Ultrabyte Memory Board Due to the tremendous success of our JAWS I, we were able to make a special purchase of first-quality components at below-cost prices for JAWS-IB. And we are sharing our cost saving with you. But don't be surprised if the next time you see this ad the prices have gone up substantially. Better yet, order now, and get the best memory on the market at the best price on the market. ONE CHIP DOES IT ALL Jaws-IB is the Rolls-Royce of all the S100 dynamic boards. Its heart is Intel's single chip 64K dynamic RAM controller. Eliminates high-current logic parts . . delay lines . . . massive heat sinks . . . unreliable trick circuits. JAWS-IB solves all these problems. LOOK WHAT JAWS-IB OFFERS YOU Hidden refresh . . . fast performance . . . low power consumption . . . latched data outputs . . . 200 NS 4116 RAM's . . on-board crystal . . . RAM Jumper selectable on 8K boundaries . . . fully socketed . . . solder mask on both sides of board . . . phantom line . . . designed for 8080, 8085, and Z80 bus signals . . . works in Explorer, Sol, Horizon, as well as all other well-designed S100 computers. ► 10-DAY MONEY-BACK TRIAL: Try a fully wired A and lesled hoard lor 10 days— then either keep ^H il.relnmll lor kit, or simply relurn II In working ^H r.ondllinn. J Continental U.S.A. Credit C;ml Buyers Outside Connecticut: TO ORDER CALL TOLL FREE 800-243-7428 From Connecticut Or For Assistance: (203) 354-9375 PJease send the items checked below: JAWS-IB kit: Q 16K $149.95* D 32K $199.95* D 48K $249.95* □ 64K $299.95* JAWS-IB Fully Assembled, Vi/ired & Tested: D 1BK $179.95* D 32K $239.95* D 48K $299.95* D 64K $359.95* □ EXPANSION KIT, 16K RAM Module, to expand JAWS-IB in 16K blocks up to 64K. $59.95 *AIJ prices plus S2 postage and insurance fS4.00 Canada). Conneclrcul residcnf.s add safes lax. Total enclosed: S P Personal Check □ Money Order or Cashier's Check □ VISA □ Master Card (Bank No. ) . Exp. Date . Signature Print Name Address . Citv .Zip . NETRONICS R&D Ltd. 333 Litchfield Road, New Milford.CT 06776^ November 1981 © BYTE Publications Inc 431 AC-85CP/M® SYSTEM Assm., Tested & Burned In for one week $2450 Features: • One board 8085 Computer • 2 -SA800R* (1.2 megabytes) • CBIOS Diskette • Installed and wired in a cabinet with P/S and Fan ready to plug-in • Manual • 17*4" Wx 17" Dx 10" H • SYSTEM with 2 SA850R (2.4 mbytes) $2750.00 CP/M Floppy Disk Operating System $150 Check or Money Order autocontrolH iNCo.pot.no ^^H 11744 Westline Industrial Drive St. Louis, MO 63141 (314) 432-1313 1 CP/M is a registered trademark of . Digital Research, Inc. Circle 42 on inquiry card. ATARI GRAPHICS HARDCOPY ON: EPSON PRINTERS CENTRONICS 739 IDS 445G TRENDCOM Dumps anything on the screen to the printer © To Order Toll Free 1-800-344-7493 In CA. 6- for Service (209I 667-2888 /VMCROTRONrCSJnc.. OS 1125 N. Golden State Blvd. __ Turlock, California 95380 c ° D Circle 235 on Inquiry card. RS-232 PROBLEMS? LET THE RS-232 TESTER HELP YOU SOLVE YOUR COMPUTER INTERFACE PROBLEMS. DESIGNED TO CONNECT IN SERIES WITH ANY RS-232 INTER- FACE, IT DISPLAYS THE STATUS OF SEVEN OF THE MOST IMPORTANT LINES: TRANSMIT DATA, RECEIVE DATA, REQUEST TO SEND, CLEAR TO SEND, DATA SET READY, CARRIER DETECT, AND DATA TERMINAL READY. THE RS-232 TESTER RE- QUIRES NO POWER AND MAY BE LEFT IN THE LINE PERMANENTLY. $39.95 POST PAID B & B ELECTRONICS BOX 475/MENDOTA, IL 61342 Circle 46 on Inquiry card. \REM SCALE TO 0-23 FOR CURSOR LOADING \REM Y-P0SITI0N CODE \REM LOAD CURSOR AND OUTPUT CHAR \REM UPDATE X Listing 4 continued: 1610 Y= INTCY/A1 + .5) 1615 REM CONVERT TO 0-255 SCALE 1650 IF Y<128 THEN Y1=Y+128 1655 IF Y>127 THEN Y1= ABS(128-Y) 1660 Y=INT(Y1/10) 1665 IF Y>23 THEN Y=23 1670 Y= ABSC23-Y) + 32 1675 OUT 2,27 1680 OUT 2,61 1685 OUT 2,Y 1690 OUT 2,X 1695 OUT 2.C2+18 1700 X = X + 1 1705 IF X=1 12 THEN 1735 1710 IF XC1 THEN 1755 1770 GOTO 1580 1775 REM 1990 REM 1995R EM ************** ******* 1996 REM 1997 REM THE FOLLOWING SECTION OUTPUTS THE DATA BUFFER 1998 REM TO THE OSCOPE VIA D/A PORT 26 WITH THE TRIGGER 1999 REM PULSE COMING OUT PORT 25 2000REM 2100 P1=FNH("0900") \REM ADDR TO PUT CHNL CODE 2120 C3=C2-1 \REM CHNL CODE 2110 FILL PI ,C3 2 115 T$=" SEC" \REM CALCULATE TIME SCALE 2150 T1=K1*B6*T1*T2 2155 IF T1>=120 THEN T$ = " MIN" 2160 IF T1>=120 THEN T1=T1/50 2170 !\! "CHANGE ANY BIT OF PORT 21 FOR HEW CHANNEL" 2175 !\!"T0TAL OUTPUT = " , S6F1 , T1 , T$ 2177 P9=INP(21) 2130 Q=CALL(P1+2,B6) \REM OUTPUT BUFFER 2190 IF IMP(21)=P9 THEN 2180 ELSE 2200 2200 INPUT"WHICH CHANNEL DO YOU WANT TO DISPLAY? ( OsEHD) :", C2 2220 IF C2<1 THEN 150 2230 GOSUB 7000 2210 IF C2>C1 THEN 2200 2260 GOTO 2100 2990 REM 29 95 REM *»**»»** »****<**»»»»»»* 2997 HEM 2998 REM THIS ROUTINE OUTPUTS THE DATA BUFFER 2999 REM VIA PORT 26 TO THE STRIP CHART RECORDER 3000 T3 = " SEC" \REM CALCULATE TIME SCALE 3010 T1=K1*B6*T1«T2 3020 IF T1>=120 THEN T$=" MIN" 3030 IF T1>=120 THEN T1=T1/60 3010 ! "TOTAL OUTPUT = " , 7,6F 1 , T1 , T$ 3050 !\IMPUT "PRESS CARRIAGE RETURN TO START OUTPUT", OS 3060 !\! "CHANNEL " , C2 , " BEING OUTPUT", 3070 REM 3030 D1=B1 + C2 - 1 3090 REM 3100 FOR 1=1 TO 10 3110 OUT 26, 123 3120 GOSUB 3000 3130 NEXT I 3110 REM 3150 REM OUTPUT BUFFER TILL DONE 3160 FOR 1=1 TO B6 3170 y = exa;-'(di) OUT 26, Y \REM INITIALIZE DATA PT ADDR \REM OUTPUT STARTING POINTS \RE.M DELAY SR D1=D1 + C1 GOSUB 3000 NEXT I 3130 3190 3200 3210 3220 REM 3230 REM 3210 FOR 1=1 TO 10 3250 OUT 26, 128 3260 GOSUB 3000 3270 NEXT I 3280 REM 3290 REM 3300 ! OUTPUT ENDING POINTS \!\!\! "DISPLAY FINISHED" Listing 4 continued: 3310 INPUT"WHICH CHAMN 3320 IF C2<1 THEN 150 3330 IF C2>C1 THEN 331 3310 GOTO 3010 14000 REM '1020 HEM *«* THIS 40H0 REM *»» OUTPU '1060 REM EL DO YOU WANT TO DISPLAY? ( 0= END )", C2 1080 D0= -2.00 1100 ! "DIFFERENTIATOR U120 C1=FNH("0137") •'1110 C1=EXAM(C1 ) FOR 1=1 TO C1 V0=INP(24+I ) IF VCK128 THEN IF V0>127 THEN V 1 = ( V 1 * . 2 ) -2 !"CHANNEL ",I, NEXT I RETURN SECTION PRINTS THE VOLTAGE TS FOR EACH DIFF. CHANNEL \REM DIFF OFFSET OFFSET = ",00," VOLTS" * * * * * * * ** 'I 1 6 i iao 1200 1220 1210 4260 '1230 '1300 5000REM 5010REM 5 02 OR EH 5030 0=FMH("08FC") 5040 QrCALL(Q) 5050 RETURN 6 00 OR EM *** 6010REM «** 6020REM *** 6030 0=FNH("08FE") 6040 0=CALL(Q) 6050 RETURN 7000 REM »***»* 7010 REM 7020 REM THIS SECTION 7 30 REM 7040 B1=FNHC1000") 7050 B2=FNH("017F") 7060 B3=B2+1 7070 B2=EXAM( B2) 7080 B3=EXAM(B3)*256 7090 34=B3 + 32 35=B4 - 31 REM C1=FNH("0137 C1 = EXAM(C1 ) R EM 7150 36=B5/C1 7160 A1=INT(36/80 7170 IF A 1=0 THEN B7 = INT(36/A1 ) K1=. 053248 T1=FNH("013 T2=T1 + 1 T1=EXAM(T1 ) T2=EXAMCT2) RETURN R EM pj ITI-l * » * R EM FOR J=1 RETURN END \REM /' CIINLS V1=V0+128 \REM- SCALE 0-255 V1=ABS(128-V0) .56 " = " ,V1 ," VOLTS" SR TO DISABLE INTERRUPTS SR TO RESTART INTERRUPTS ************** FETCHES CONSTANTS FROM RAM \REM BUFSTRT \REM CONVERT MBUFPT TO DECIMAL 7100 7110 7120 7130 7140 ') + .3 A1 = 1 \REM //PTS IN BUF \REM II CHNLS \REM #PTS/CH!IL ) \REM « PTS TO AVE FOR DISPLAY 7180 7190 7200 72 10 7220 7230 7240 7900 7 910 7 92 8000 8100 9 00 READY ') \REM CLOCK INTERRUPT RATE \REM /.'INT/SAMPLE \REM II SAMPLES/DATA PT « * DELAY BETWEEN DATA OUTPUT * » » * TO 2 \NEXT J Need help? Call us. Want to help? Call us. Red Cross is counting on you. A Public Service erf This Magazine & The Advertising Council E! Now with added words! -j- ELECTRIC MOUTH fnr SlOO, Elf II, Apple m flnn nr - TRS-80, Level 11* From MJ9.95 W< Now — teach your computer to talk, increasing interaction between you and your machine. Thills ri^hl: (he ELECTRIC MOUTI i finally lels your computer talk! Installed and tin-line in just minutes, it's ready fur spoken -liinRiiaRe use in office, busi- ness, industrial and commercial applications, and in fjames. speeial projects. RAD. education, security devices— there's no end to the ELECTRIC MOUTHs usefulness, l/wk at these features: • Supplied with 143 letters/words/phonemes/numhers, capahle of producing hundreds of words and phrases. • Expandahleon-board up to thousands of words and phrases with additional speech ROMs (see new speech ROM descrihed helow). • Four models, that plus directly into S100. Apple. Elf II and TRS-80 Level II computers, • Get ELECTRIC MOUTH to talk with either Basic or machine language (very :asy In use. complete instructions with examples included). • Uses National Semiconductor's "DiRitnlker. • Includes on-bnard nudio amplifier and speaker, with pri leaker; Etfol • Installs in just minutes Principle of Operation: The ELECTRIC MOl JTH stores the digital equivalents of words in ROMs. When words, phrases and phonemes are desired, (hey simply are called for by your program and then synthesized into speech. The ELECTRIC MOUTH system requires none of your valuable memory space ex- cept Tor a few addresses if used in memnry mapped mode. In most cases, output ports (user selectable) are used. SPOKEN MATERIAL INCLUDED (Vox I) len eleven thirteen fifteen sixteen strvi'nlrei! eighteen twenty thirty fifty 9ixty seventy eighty ninety hundred thousand million zero again WOhertx lone BOhertz lone 20ms silence 40ms silence HOms silence 160ms silence 320ms silence patentees percent please enti check control danger ark point Erealer meter pound ave mile pulses high milli rate higher minus re hour minute ready in near right ADDITIONAL VOCABULARY NOW AVAILABLfc (VOX II) assistance attention blue brake button buy call called Celsius centigrade change circuit complete copy deposit dial floor forward cigar cold enter heal open entry help operator vth hurts evacuate hold exit hoi power press pressure fahrenheil Intruder process key pull push Registered Trademarks !■■■■■■■■■■■■■■■■■■■■■■■ Illlll MM* ■■■*»■ k Continental U.S.A. Credit Card Buyers Outside Connecticut ; TO ORDER Call Toll Free: 800-243-7428 £ To Order From Connecticut, or For Technical 3 Assistance, call (203) 354-9375 NE TRONICS R&D LTD. 333 Liichlield Road, New Millonl, CT 06776 Dept PE IISN I Please send the items checked below: ■ - • D S100 "Electric Mouth" kit w/Vox I $ 99.95 ■ I □ Elf II "Electric Mouth" kit w/Vox I $ 99.95 J ■ □ Apple "Electric Mouth" kit w/Vox I $119.95 I » D TRS-80 Level II "Electric Mouth" kit w/Vox I SI 19.95 ! ID VOX II (Second Word Set) S 39.95 J J rVdd$26.00fnrwiwdle8tedunilsinsleadofIats VOXllpostage&insuranoa I a SI (XI .ill nlhi-rs $:i.<)0 ihKlafje nrul insurant Cainn res add sales lax ■ I Total Enclosed $ ' ■ ■ JD Personal Check □ Cashier's Check/Money Order ! ■ □visa □ Master Charge (Bank No. )■ JAcct.No. Exp. Date I ■ Signature ! Print ! Name ; Address ■City ! State ._Zip_ November 1981 © BYTE Publications Inc 433 Software Review Five Spelling-Correction Programs for CP/M-Based Systems Phil Lemmons 89 Remsen St Brooklyn NY 11201 When I had trouble with an applications program last year, I appealed to my software vendor for help. He wrote me, "I have been in touch with the publisher, but I am getting noware fast." Noware, of course, was the leading technology before the invention of hardware, software, and firmware. Was noware makjng a come- Af a f71ar|^o Name System Requirements The Word CP/M 1.4 or 2.2 operating system, CDOS, or IMDOS; Author 8080/85 or Z80 CPU with Wayne Holder 32 K bytes of memory; one or two disk drives; Type keyboard input and hard- Proofreader for spelling copy output; CP/M- errors, including compatible word processor, 45,000-word literal dic- including WordStar, Word- tionary, as well as programs Master, Ed, and Magic to look up words in a dic- Wand tionary on disk, count words, report on word fre- Format quency, search dictionary CP/M single-density 8-inch for words matching letter disk patterns, and sort words in a file into an alphabetical Language list with all redundancy 8080 machine language eliminated Documentation Manufacturer 30 pages, soft cover, stapled Oasis Systems 2765 Reynard Way Audience San Diego CA 92103 Anyone with a CP/M- (714) 291-9489 compatible word-processing system, especially writers Price and editors $75 back? No way. "Noware" was a spelling error. And the only way for a poor speller to discover errors like this was with software. But no proofreading software was then available for microcomputers. Until recently, I didn't think the time had come for a good proofreading program running on microcomputers. Fortunately, I was wrong. Help has now arrived for the small-computer owner who can't spell or can't find misspellings. Not counting programs designed for use with only a single word-processing program, at least five proofreading programs are now available for CP/M- based computers: Microproof, The Word, Spellguard, Microspell, and Wordsearch. After using them for several weeks, I'm convinced that four have real merit. The four useful programs share some virtues, but each program also has features that appeal to a particular group of users. You might base your choice among the four programs on the characteristics of your hardware — particularly the disk capacity. Or your word-processing software might mesh well with one of the programs, depending, for ex- ample, on whether your text editor will let you run a proofreading program from inside (ie: as a pseudocom- mand in the editor). Then again, each program has its own way of letting the user deal with a text file. Would you prefer a program that quickly checks a file and prints a list of suspect words? Or would you rather have the program present the suspect words to you one by one, so you can see if the word is really misspelled? Or how about a program that lets you see each word's context and change the original text? Another important criterion is price, and the range is great. I'll discuss each of the five programs in turn, including their performance in benchmark tests. But first I'll state the opinions I've formed about what a proofreading pro- gram must do to be useful. Also, I'll explain how I tried to 434 November 1981 © BYTE Publications Inc devise benchmarks that are meaningful for five pro- grams, all of which work differently. What a Proofreading Program Must Do If you told someone it was okay to bring a few friends Ar a nianrp Name or two disk drives; Spellguard keyboard input and hard- copy output; CP/M- Author compatible word processor, Denis Coleman such as WordStar, Word- Master, Magic Wand, Elec- Type tric Pencil, or Ed Proofreader for spelling errors, including Format 20,000-word literal CP/M single-density 8-inch dictionary disk; North Star double- density 5-inch disk; or Manufacturer SuperBrain 5-inch CP/M Innovative Software disk Applications POB 2797 Language Menlo Park CA 94025 8080 machine language (415) 326-0805 Documentation Price 116 pages in three-ring $295 binder System Requirements Audience CP/M 1.4, 2.0, or later Anyone with a CP/M- operating system, or CDOS; compatible word-processing 8080/85 or Z80 CPU with system 32 K bytes of memory; one Name system; 8080 or Z80 CPU Wordsearch with 32 K bytes of memory; dual 8-inch single-density Type disk drives; 24 by 80 video Proofreader for spelling terminal; CP/M-compatible errors, including 7200-word word processor literal dictionary, with routines to list misspelled words and display the text Format CP/M single-density 8-inch disk file with misspellings highlighted Language 8080 machine language Manufacturer Keybits Incorporated Documentation POB 592293 46 pages in three-ring binder Miami FL 33159 (415) 524-8098 Audience Anyone with a CP/M word- Price processing system $195 System Requirements CP/M-compatible operating to your party, how would you feel if 500 strangers appeared? You'd feel the same way about a proofreading program that found fifty suspect words for every one that was actually misspelled. A proofreading program that finds all the misspelled words in a document is of little use if the program also finds hundreds of correctly spelled words suspect. How can the list of suspect words be kept manageable? It requires an extensive dictionary; I think 20,000 words is the minimum. The words must be correct and well chosen. Another feature that keeps down the number of correct words mistaken for misspellings is the ability to create special dictionaries for your particular interests. Proof- reading programs can also recognize more words by breaking words into roots, prefixes, and suffixes before checking the dictionary. But that has its drawbacks, because you can't stick any suffix or prefix on any root and get a real word. A proofreading program should also provide a handy way to dispose of suspect words that are in fact correct. If a program presents the suspect words in one list, you need a quick way to delete correct words from the list. If a program presents suspects one at a time, you should be able to accept or reject each word with a single keystroke. Equally important, the program must facilitate correc- tion of misspelled words. One way is to mark suspect words in the original text file with a character that's easy to find later by using a text editor's search command. In STOP! Did you remember to remove your Priority One insert? If not please turn back to page 64 and tear it out. November 1981 © BYTE Publications Inc 435 that case, the mark should be easy to delete during editing. And the mark should be made in a disk file, not on paper. Working from paper is too slow. Another way for a proofreading program to facilitate correcting misspelled words is to provide a means to re- place the word in the original file. With some word pro- cessors, however, this approach runs the risk of disturb- ing the format of the original text — especially in justified copy. No matter what its other virtues, a proofreading pro- gram must also work quickly. Most significant among the factors affecting the speed of operation is the size of the dictionary. Putting too many little-used words in the dictionary may sacrifice speed in proofreading without reducing the number of suspect words. Putting too few words in the dictionary results in long lists of suspect words, and that also wastes time. The dictionary must strike a balance. Benchmarks Originally, I thought I could just run each program un- til it finished and note how long it took. But no two pro- grams finished in the same place. Spellguard proofreads the file, lets you judge each suspect word, and then Spellguard itself marks the words indicated. The Word proofreads the file, gives you a list of suspect words, and lets you trim the list with your own text editor; you can mark the confirmed misspellings by running The Word's NOW YOU CAN SAVE WHILE ENTERTAINING THE WHOLE FAMILY!! We carry the complete line of ATARI Hardware, Software Peripherals, and accessories. Turn to our full page ATARI advertisement for SUPER CHRISTMAS SAVINGS! OMEGA SALES GO. WEST COAST 1-800-235-3581 EAST COAST -800-556-7586 At - a Glancp Name Price Micros pell $249 Author System Requirements Bob Lucas CP/M 1.4 or 2.2 operating system; 8080 or Z80 CPU Type with 48 K bytes of memory; Proofreader for spelling one disk drive with at least errors, including 150 K bytes; keyboard input 26,000-word literal dic- and hard-copy output; tionary and suffix-stem logic CP/M-compatible word pro- to encompass a wider cessor vocabulary, with integral routines to display the con- Format text of a misspelled word. Great variety of CP/M disk guess the word intended, formats look up words in the dic- tionary, count words, search Language dictionary for words match- 8080 machine language ing letter patterns, and cor- rect the misspelling in the Documentation original text file 30 pages, soft cover, stapled Manufacturer Audience Lifeboat Associates Anyone with a CP/M- 1651 Third Ave compatible word-processing New York NY 10028 system (212) 860-0300 Afa Clanrp Name $60 for correcting option Microproof System Requirements Author CP/M 1.4 or 2.2 operating Phillip Manfield system or TRSDOS for Model I, II, or III TRS-80; Type Z80 CPU with 32 K bytes of Proofreader for spelling memory; one 5-inch or errors, including 8-inch disk drive; keyboard 50,000-word dictionary input and hard-copy output; (counting words constructed word processor from roots, prefixes, and suffixes), with optional Format routines to display the con- CP/M 8-inch single-density; text of a misspelled word TRS-80 Model I, II, or III and correct the misspelling in the original text file Language Z80 machine language Manufacturer Cornucopia Software Documentation POB 5028 24 pages, no cover, stapled Walnut Creek CA 94596 (415) 524-8098 Audience Anyone with a CP/M or Price TRS-80 word-processing $169 standard version; system 436 November 1981 © BYTE Publications Inc Circle 318 on inquiry card. MARK program from inside your text editor. Microspell and Microproof let you review each word, but there's no need to mark bad words because these two programs make corrections directly in the text file. Since Word- search neither marks suspect words in the text file nor corrects errors itself, you have to work from paper. For a quick comparison and summary of the dif- ferences between the programs, see tables 1 and 2. How Long Until When? It was easy to compare how long the programs take to check the words in a document against the dictionary and then list all the suspect words. But that comparison didn't really measure how the programs perform in normal use. Since Spellguard and The Word both mark words in the text file, I wanted to compare how long they take to proofread a file and mark the suspects. But you have to Microproof Microspell Spellguard The Word Wordsearch Words 50,000* 26,000** 20,000 45,000 7200 Bytes 72 K 154K 170 K 160 K 72 K Files 3 4 1 1 2 User Common Common User Make Proper Place Add Special Names Names Words Dictionaries No No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes No No Yes Yes * This is not a literal dictionary. The figure 50,000 includes all the words that can be formed by adding suffixes and prefixes to roots; therefore, some "words" included in the count are not true English words. ** Incorporating all the ED.VOC vocabulary file and three-fourths of the ING.VOC vocabulary file into the four-file main dictionary. Both VOC files are supplied with the program and can be added to the main dictionary if disk space permits. Though Microspell claims only a 26,000-word dictionary, its suffix-and-root functions help the program recognize about the same number of words as a 45,000-word literal dictionary. Table 1: Comparison of the dictionaries of the five proofreading programs. Dictionaries for Spellguard, The Word, and Word- search are literal. Microspell has a 20,000-word literal dictionary, but provides more words in the files 1NG. VOC and ED. VOC, most of which were added to the original dictionary. Microspell's dictionary uses suffix-root routines to extend its coverage to a range somewhat broader than Microproof's dictionary. Although the Microproof dictionary claims contents of 50,000 words, that includes many nonwords formed by adding prefixes and suffixes to roots. SAVE $$ DISCOUNT PRICES ^cippkz computer ATARP 16K APPLE II 1049.00 400 16K 349.00 32K APPLE II 1074.00 800 16K 759.00 48K APPLE II 1099.00 410 Recorder 64.00 DISKW/CONTROLLER 499.00 815 Disk 1199.00 DISKONLY 445.00 810 Disk 489.00 APPLESOFT CARD 139.00 822 Printer 359.00 INTEGER CARD 139.00 825 Printer 779.00 PASCAL SYSTEM 399.00 830 Modem 159.00 SILENTYPE PRINTER 349.00 850 Interface Module 179.00 HAYES MICROMODEM 295.00 CX853 RAM 85.00 Z-80 SOFTCARD 295.00 CX70 Light Pen 64.00 VIDEX80COL BRD. 295.00 CX30 Paddle 18.00 16KRAM BOARD 169.00 CX40 Joystick 18.00 RAM MEMORY VERBATIM DISKETTES FOR TRS-80, APPLE II Box of 10 5Vi" 29.50 16KSET4116'S(200NS) 24.95 Box of 10 8" 39.50 North Star Computers HR2-2D-32K 2795.00 HR2-20-48K 2956.00 HR2-2D-64K 3145.00 HR2-2Q-32K 2975.00 HR2-2Q-48K 3165.00 HR2-2Q-64K 3360.00 HRAM32K 469.00 HRAM48K 662.00 HRAM64K 849.00 HDS-18 HARD DISK 4025.00 MDS-DRV-D 495.00 MDS-DRV-Q 665.00 ADC-1-D 740.00 ADC-2-D 995.00 ADC-1-Q 795.00 ADC-2-Q 1285.00 SAVE $$ PRINTERS EPSON MX-70 EPSON MX-80 EPSON MX-80 FT GRAFTRAX INTERFACE (APPLE) CABLE CENTRONICS 737-1 CENTRONICS 737-3 IDS445G IDS460G IDS560G NEC 5510 W/TRACTORS 2650.00 NEC 5520 KSR W/TRAC. 2995.00 399.00 499.00 599.00 90.00 75.00 22.50 795.00 855.00 815.00 1195.00 1450.00 QUME 5/45 SPRINT FORMS TRACTOR 2675.00 195.00 STARWRITER W/TRAC. 1695.00 STARWRITER W/O TRACTOR 1500.00 General Information: We carry a large selection of hard- ware and software by other com- panies. Send for our catalog. We are an authorized repair center for APPLE, ATARI, NORTH STAR, AND EPSON. PRICES SUBJECT TO CHANGE WITHOUT NOTICE. MARYLAND RESIDENTS ADD 5% SALES TAX FREDERICK COMPUTER 5726 INDUSTRY LANE FREDERICK, MD. 21701 Store Hours: MON. THRU THURS. 9:30 AM— 9:00 PM FRI. AND SAT. 9:30 AM— 5:00 PM PRODUCTS, INC. TO ORDER CALL: (301) 6948884 Circle 171 on inquiry card. November 1981 © BYTE Publications Inc 437 run your text editor before The Word marks the file, and it seemed unfair to charge The Word for the time needed to load the text editor. After all, with The Word, the text editor is already loaded when you finish marking the file, so you can make corrections almost immediately. With Spellguard, you still have to load the text editor to make corrections; it's just that you load the editor after mark- ing the errors. To complicate matters, fairness to Microspell and Microproof — the direct-correction programs — requires seeing how long it takes to run the other proofreading programs plus exiting those programs and loading your own text editor to make corrections plus saving the cor- rected file. On the other hand, is it fair to hold those other programs responsible for the time it takes me to run an elaborate word processor like WordStar? Would it be fairer to use a smaller editor? Right or wrong, here's what I decided to do: I've given the time each program needs to scan a text file and list all the suspect words; I've given the time the marking pro- grams need to scan the text file, review the suspects, mark the text file, plus the time needed to load the text editor and call up the text file for editing (that seems fair to Spellguard and The Word); I've given the time each pro- gram needs to do all the above, plus making corrections and saving the corrected file (to be fair to Microproof and Microspell). What Is a Suspect Word? I decided to count as a suspect word both every word Find Count Mark Correct Guess Similar Display Word Word Word Word Words Context Frequency Microproof No Yes* No No Yes* No Microspell No Yes Yes Yes Yes No Spellguard Yes No No No No No The Word Yes No Yes Yes No Yes Wordsearch No No No No Yes No * Requires the correcting option. Table 2: A summary of the features oftht ! five proofreading programs. Sometimes the same feature is implement ed differently in different programs. HISS&LO&f fUSSOWNB &0APPIH6 &0ARO5U\\$£. KOAROn 60AWEO 438 November 1981 © BYTE Publications Inc and word fragment listed by the proofreading program. For programs that treat hyphens as spaces, I counted the fragments "accom" and "plished" as two suspect words. My rationale is that the fragments usually appear alphabetically and I have to consider each fragment and determine whether it is a misspelled word or not. Word fragments take the same amount of work as words. This concludes the discourse on method. I tested the programs on a 400-word file (figure 1) and a 3000-word file. The results are shown in tables 3 and 4. Spellguard Version 1.0 Spellguard is a magnificent program of the highest commercial quality. If your main concerns are speed and accuracy in straightforward proofreading, and if you have plenty of disk space, Spellguard is probably for you. Spellguard is menu-driven and the screen tells you all you need to know. The program lets you make every decision with a single keystroke. The Package — In addition to its dictionary (170 K bytes), Spellguard includes the programs SP.GOM (6 K bytes), SP.ISA (38 K bytes), and MAINTAIN (14 K bytes). SP.COM, SP.ISA, and the dictionary must all be present for Spellguard to operate (though the dictionary can be on a different disk drive). MAINTAIN is needed only when you wish to verify that Spellguard is working properly. ISA (Innovative Software Applications) also offers a limited dictionary for systems with low-capacity disks, and will soon offer dictionaries both more compact and more comprehensive, as described below. Dictionary—As of this writing, Spellguard's dictionary contains approximately 20,000 words and takes up 170 K bytes of disk space. Spellguard's dictionary is literal; the program never assembles words from roots and suffixes. Denis Coleman, Spellguard's author, started work on it after writing a book in which he misspelled his own name. Coleman also saw the need for proofreading papers he wrote as a management consultant. Coleman based the dictionary on two sources: Kucera's word-frequency study of 1962 and the American Heritage Word Frequency Book (Boston: Houghton Mifflin Company, 1971). It also includes words drawn from Coleman's own documents and papers of Spellguard users. ISA will soon offer a version of its standard 20,000-word dictionary compressed to 32 percent of its present size, about 55 K bytes. In addition, it plans three additional dictionaries: a 30,000- to 40,000-word general dictionary, a 15,000-word medical dictionary, and a 15,000-word legal dictionary. Data compression will be standard in all of them. According to Coleman, ISA's techniques of data compression will result in increased operating speed for Spellguard. Performance — Though Spellguard needed only 56 seconds to proofread the file shown in figure 1 and Microproof Microspell Spellguard The Word Wordsearch Misspelled Words in File 7 7 7 7 7 Words True Time Time Time /ords Wrongly Mis- Misspelled to Until Until ound Found spellings Words Proofread Ready All spect Suspect Found Missed File to Correct Corrections 32 26 6 1 0:45 2:16** 26 20 6 1 1:06* 2:47** 47 40 7 0:56* 2:31« 3:40 19 12 7 1:39' 3:15" 4:00 105 98 7 0:55° 4:56°° 6:13°°° Using the switches that suppress display of context and creation of an output file of suspect words. • * Microproof and Microspell do not require a text editor to make corrections. However, since both programs accepted an incorrect word in this file, correcting that word required running the text editor and saving the file. When Microspell or Microproof misses a word, about 1:20 must be added to the timing shown. • Skipping the regular word review, going to the special word review, and asking that all suspect words be listed at once (Option L on Special Word Review Menu). • • Time to proofread, review suspect words one by one, mark legitimate errors, load WordStar, and call up text file to start making correc- tions. Time to proofread and list suspect words found. Time to proofread, load WordStar, use WordStar to edit list of suspect words, save shortened file of suspect words, run The Word's MARK program while still inside WordStar, and call up marked text file to make corrections. ° Running the Scan function followed by the List function. °° Time to proofread file, assign words to one of three groups, print a list of confirmed misspellings, load WordStar, and call up unmarked text file. Wordsearch neither marks errors nor corrects. 000 Since Wordsearch doesn't mark errors, each misspelled word had to be typed in as a search string, and that added to the time required to make corrections. Table 3: Performance of the proofreading programs on the 400-word text file in figure 1. The first timing shows how long each program takes to read the file and list all suspect words. The second timing shows how long each program takes to read the file, find the suspect words, decide which suspects should be marked, mark the suspects, and call up the text file to make corrections. Microproof and Microspell have no timing in this column because they make corrections in the original text file. The third timing shows how long it takes to read the file, find the suspect words, decide which suspects should be marked or corrected, make the corrections (in some cases directly, in other cases using a word processor), and save the file. In cases where Microspell or Microproof failed to recognize a misspelled word, the user must load a word processor and make the correction. That process adds about 1:20 to the third timing for Microproof or Microspell. November 1981 © BYTE Publications Inc 439 Microproof Microspell Spellguard The Word Wordsearch Words True Time Time Time Misspelled Words Wrongly Mis- Misspelled to Until Until Words Found Found spellings Words Proofread Ready All in File Suspect Suspect Found Missed File to Correct Corrections 10 109 99 10 1:09 4:28 10 55 45 9 1 2:15* 7:15** 10 151 141 10 1:06* 4:40" 6:35 10 52 42 10 2:05' 4:52" 6:42 10 517 507 10 1:06° 10:21 °° 13:31°°° • Using the switches that suppress display of context and creation of an output file of suspect words. ** Microspell does not require a text editor to make corrections. However, since Microspell accepted an incorrect word in this file, correcting that word required running the text editor and saving the file. When Microspell misses a word, about 1 :20 must be added to the timing shown. • Skipping the regular word review, going to the special word review, and asking that all suspect words be listed at once (Option L on Special Word Review Menu). • • Time to proofread, review suspect words one by one, mark legitimate errors, load WordStar, and call up text file to start making correc- tions. Time to proofread and list suspect words found. Time to proofread, load WordStar, use WordStar to edit list of suspect words, save shortened file of suspect words, run The Word's MARK program while still inside WordStar, and call up marked text file to make corrections. ° Running the Scan function followed by the List function. °° Time to proofread file, assign words to one of three groups, print a list of confirmed misspellings, load WordStar, and call up unmarked text file. Wordsearch neither marks errors nor corrects. 000 Since Wordsearch doesn't mark errors, each misspelled word had to be typed in as a search string, and that added to the time required to make corrections. Table 4: Performance of the proofreading programs on a 3000-word text file. The same comments apply as in the caption for table 3. display a list of suspect words, that isn't the standard pro- cedure. To achieve that timing, I skipped the regular word review and took the List option on the Special NEVADA F f" $149 DISKETTE AND MANUAL */.: • Uses CP/M or MP/M operat- ing system to work with TRS-80, Apple's with softca rd. North Star, Superbraln, Micropenis, and many other microcomputers. Needs a minimum of 16K ot RAM. Uses single density 8" or 5V4" diskette. o Edition II of Nevada COBOL, subset of ANSI-74, features: Copy statement for library handling. CALL.. .USING. ..CANCEL. PERFORM. ..THRU... TIMES... UNTIL. . . Paragraph or section names. IF. .NEXT SENTENCE. ..ELSE... NEXT SENTENCE AND/OR <=> NOT. GO TO. ..DEPENDING ON. Unique easily understood diagnostic error messages. Interactive ACCEPT/DISPLAY... RELATIVE (random) access files. Sequential files both fixed and variable length. DISPLAY, 16-bit binary or packed decimal (C0MP-3) data types with up to 18-digit accuracy INSPECT.. .TALLYING... REPLACING. ADD, SUBTRACT, MULTIPLY, DIVIDE, GIVING, ROUNDED, ON SIZE ERROR. Generates optimized 8080 machine language at up to 500 statements per minute. WE WELCOME C.O.D's ELLIS COMPUTING SOFTWARE TECHNOLOGY 600 41st Avenue San Francisco, CA 94121 (415) 751-1522. CP/M. MP/M and TRS-80 are registered TM's of Digital Research and Tandy Corporation. Word Review Menu — calling for a display of all the suspect words at once. In normal use, running Spellguard takes longer because suspect words are presented individ- ually to be marked in the text file, ignored, or added to the dictionary. But Spellguard lets you dispose of each word so easily that you can quickly consider each suspect word and pare a long list down to manageable size. When I proofread the same 400-word file using Spellguard's regular step-by-step word review, I needed only 50 seconds more to deal with forty-seven suspects, and that includes the time Spellguard needed to mark errors in the text file. Once the larger Spellguard dictionaries appear, the list of suspects should be shorter and even easier to deal with. Before making corrections, I had to change disks and run WordStar, my text editor, and call up the text file. Those steps took an average of 45 seconds. So a minimum of 2:31 passed before I could use WordStar's Find command to locate marked words and make correc- tions. I completed the corrections and saved the corrected file in another 1:09, a total of 3:40. Proofreading the 3000-word file and listing all suspect words took only 1:06. Reviewing each suspect word and marking legitimate misspellings took another 2:49, a total of 3:55. Loading WordStar to start making corrections brought the total to 4:40. I had run WordStar, made all the corrections, and saved the file after a total of 6:35. I have two criticisms of the version of Spellguard I used. The first criticism will no longer apply by the time this article appears, and the second is minor. First, Spellguard identified too many suspect words. In the 3000-word file, Spellguard found 151 suspects and there were only ten misspellings. The excess of suspect words 440 November 1981 © BYTE Publications Inc Circle 161 on inquiry card. resulted from the present dictionary's limited size, and the upcoming data-compressed dictionaries will remedy this problem. Second, I felt a slight annoyance at having to restore the last character of each marked word (Spellguard replaces the last character of a misspelled word with an error mark). If the actual spelling error occurred early in the word, I thought Spellguard was entering a second error and requiring me both to delete the mark and replace it — two keystrokes plus any other corrections needed. These added keystrokes made correcting files marked by Spellguard take more time than files marked by The Word. On the other hand, by replacing the last letter of a bad word instead of adding a character to the word, Spellguard avoids disturbing the format of text in the file. You can't have it both ways. Spellguard handles hyphenated words by displaying both halves of the word and indicating whether the word occurred at the end of a line. That makes it easy to check the correctness of both the spelling and the hyphenation. Since Microspell and The Word treat hyphens as spaces and report the broken parts of words as two suspect words, Spellguard has an advantage here. The advantage is partially offset because Spellguard reports all com- pound words as suspects. So Spellguard made "import- export" suspect, but Microspell and The Word con- sidered the compound correct. In the 3000-word text file, Spellguard reported nine compound words as suspects; in the same file, Microspell reported fifteen hyphenated word fragments as suspects, The Word reported sixteen, and Microproof thirteen. Microproof also listed ten com- pound words as suspects. The User's Guide — The user's guide for Spellguard is excellent. The writing, organized around the program's screen displays, makes its point without resorting to jargon or inflated language. A plastic three-ring binder holds 116 pages of sharp print quality, including a table of contents, an index, and a glossary. The Spellguard user's guide would probably make Spellguard the best proofreading program for general use in offices. The Word Version 1.1 The Word is a program of beautiful simplicity. Its SPELL program proofreads a file and gives you a list of all the suspect words. The author, Wayne Holder, sought to create a set of tools for people who work with words. Each of The Word's seven programs is designed to meet Kernighan and Plauger's definition of a software tool: a program that is general and yet simple enough to have widespread application. Each of the seven programs works quickly and performs a valuable task. Holder envisions adding more useful programs to The Word's toolbox. For writers and editors, The Word already offers far more than just a proofreading program. The Package — In addition to the 160 K-byte dic- tionary, The Word includes seven programs: SPELL (4 K bytes), MARK (2 K bytes), WC (2 K bytes), DICTSORT (2 K bytes), WORDFREQ (2 K bytes), FIND (2 K bytes), and LOOKUP (2 K bytes). SPELL proofreads a text file and lists the suspect words. MARK puts an asterisk at the beginning of each suspect word in the text file. WC counts the words in the text file. DICTSORT alphabetizes words and eliminates redundancies from the resulting list. Use it on your own text files and discover what your working vocabulary is. WORDFREQ shows you how many times you use each word in a text file, a fast and valuable check on style. FIND searches the dictionary for words that conform to a character pattern (using CP/M "wild card" characters for the unknown letters in the pattern). LOOKUP is a remarkable little program that takes a misspelled word and "un-misspells" it, looking for words that can be derived from the misspelling by adding one letter, dropping one letter, changing one letter, or revers- ing two letters. The program often finds the right word and finds it much faster than you could with a printed dictionary. One new program that will appear in the forthcoming 2.0 version will let the user review the list of suspects one by one and decide whether to mark each suspect, add it to the dictionary, or ignore it. The review program will not be integrated with SPELL, so the user will have the option of listing all suspect words at once. On the more distant horizon, The Word may even in- clude heuristics to help cope with the problem of homonyms (like "fare" and "fair") in the proofread docu- ment. Dictionary — The Word's dictionary is large and literal. OBOTS *\ The Future Arrives Intelligent machines are rapidly appearing in homes, automobiles, offices and factories. Affordable cameras, speech synthesizers, and even robot arms are now on the market. Such advances are giving microcomputers the power to see, hear, grasp objects, and to move around the room. Where can you learn about this technology? In Robotics Age Magazine, the journal of intelligent machines. Robotics Age reports the experience of hobbyists building their own robots, the I latest products from industry, and the most 'powerful techniques from research labs. The face of the world is changing. Join us as we enter the Robotics Age. YES! I wanl to stay up-to-dale on Ihis fascinating new technology! Company City State/Providence/Counlry United Postal Code Canada Foreign □ 1 year {6 issues) n 2 years (12 issues) O 3 years (18 issues) States Mexico* Rates* $15 $17 $19 $28 $32 $36 $39 $45 $51 "US Funds on US Bank □ Bill VISA □ MasterCard □ Bill me (N. America only)- Exp. Signature Send to: RQ30CI04GE PO Box 512, Tujunga, CA 91042 Circle 368 on inquiry card. November 1981 © BYTE Publications Inc 441 Circle 72 on inquiry card. 5 or 10 Mbyte Storage for Heath/Zenith, TRS-80, SuperBrain, S-100 microcomputers. Now, 5'/4 " hard disk add-on storage for your computer, at a price you can afford. Available for a surprisingly low $3495 for the 5 Mbyte hard disk, $4350 for the 10 Mbyte disk. Disk drives and controller cards also available. Substantial OEM & Dealer discounts. CMC International A Division of Computer Marketing Corporation 11058 Main, Suite 125, Bellevue, WA 98004 Telephone (206) 453-9777 Telex 152556 SEA Main/Frames ,„ m $200 Main/Frames ,. $200 ' 14 Basic Models Available > Assembled & Tested 1 Power Supply: 8v@15A, ± 16v@3A • 15 Slot Motherboard (connectors optional) 1 • Card cage & guides > Fan, line cord, fuse, power & reset switches, EMI filler • 8v@30A, ± 16v@10A option on some models Rack mounted Main/Frame 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 It packs more than 45,000 words into only 160 K bytes of disk space. The Word's dictionary also uses cross- referencing to speed access to its contents. Oasis Systems based the dictionary on The American Heritage Dic- tionary of the English Language (Boston: Houghton Ivfif- flin Company, 1979), and used data-compression tech- niques. One of the methods of compression is simple: when two successive words have common letters at the beginning, the common letters are replaced in the second word by a 1-byte count of the common letters. If the word "power" is stored literally, the word "powerful" is stored as "5ful." If "eccentric" is already present, "eccen- tricity" is compressed to "9ity." The increased dictionary size made possible by data compression pays off in a dramatically reduced number of words reported as suspect. A new version of the dictionary, using addi- tional data-compression techniques, will soon be avail- able. The 45,000 words will occupy only 136 K bytes and will make The Word's programs run even faster. Performance — The Word took 1:39 to proofread the 400-word file in figure 1 and list the suspects. With the present version of The Word, you have to use your text editor to eliminate correctly spelled words from the list of suspects before marking the errors. Since The Word's large dictionary prevents SPELL from defaming many innocent words, this editing chore takes little time. Furthermore, you'll have to reload your text editor to make corrections anyway. (As noted earlier, a program for reviewing suspect words one by one is on the way.) Here's how I used The Word with WordStar. I ran The Word's SPELL program with the $F switch, which makes The Word write the list of suspect words to a file. Then I ran WordStar and edited the list of suspect words, deleting those that were in fact correct. Next, I saved the shortened list of suspect words and, from inside Word- Star, used WordStar's R command to run The Word's MARK program. Then I called up the marked text file for editing. To do all this with the page of text shown in figure 1 took me a total of 3:15. On the 400-word file, The Word got me to the point of being ready to make corrections only 34 seconds later than Spellguard. And correcting the file marked by The Word took 24 seconds less than cor- recting the same file marked with the same corrections by Spellguard. The reason? It takes a few seconds more to retype the character replaced by Spellguard's error mark. The Word's mark doesn't knock out any characters, so none have to be retyped. It took The Word 2:05 to proofread the 3000-word text file. The total time increased to 4:52 when I invoked WordStar, edited the list of suspect words, saved the shortened file of suspect words, ran MARK, and called up the text file for editing. I made the corrections and saved the file after 6:42. That's only 7 seconds slower than equivalent operations took with Spellguard. The User's Guide — The guide to The Word is simple and clear. It separately describes use of each of the pro- grams. Since The Word isn't organized around screen 442 November 1981 © BYTE Publications Inc Circle 200 on inquiry card. I'd had the joint staked out for two years and nine months. I'd been waiting for a break in the investigation all that time. This looked like the break I'd been waltzing for. The tall stranger walked up to the bar, ears akimbo. I knew he meant trouble from the moment I saw the insignia on the back of his black leather jacket: "Hell's Twirps." That was the same gang that peddled into the all-Mahler Philhar- monic concert last year and hummed the collected works of John Cage in unison. Not that John Cage has ever been in unison. Quite the canary. Why was this par- ticular Hell's Twirp barg- ing into the only Austro- Mongolian fife and drum factorial east of the Roc- kies? Why wasn't he rid- ding his unicycle? And what was the meaning of the gold mandalas hanging from the tips of his handlebore mustache? Then I saw his baton. The sight of its sleek crome length turned my bblood to issicles. When I glimpsed the white plastic knobs at the ends of the baton, I saw my whole life rush before my eggs. Suddenly the Twirp slammed his fist down on the bar. His ears swayed gently in the breeze as he demanded, "Give me four hundred snare drums to go! Give me the five longest fifes in your inventaryl Give me the old college try! Give me liberty or 1 give me grief!" I knew better than to let this build to a crisis before interseeding. I swizzled up behind the big Twirp and said, clam and easy like, "Shove off, Twirp. Vamoose. Leave well enough aloft." He whirled, ears slashing, baton twirling. I thought of the health-insurance premiums I hadn't paid. I realized how happy I would have made my dear old father if I'd only gurgitated from college. I thought of the thousand times I'd wanted to be where I wasn't, and knew this was the thou- sand and first. If I had'nt been in a connubial mood, I wouldn't have been able to stand up to the singing shroud, the short shrift and the five and dime. But I had no time for all that now. Before it was too late, I reached into my vest pocket and pulled out my well-thumbed copy of Milton's Areopagitica . "That'll be seven ninety-eight!" the bartender suddenly screamed. I'd been counting on him. Figure 1: The 400-word text file proofread by all five programs. Results are shown in table 3. The zaniness is intended to show the kinds of mistakes from which a proofreading program can't save you. November 1981 © BYTE Publications Inc 443 displays, the guide isn't either. The programs are easy to use and the guidebook gives just enough explanation and examples. Microspell Version 4.1 Microspell is the most interactive of the proofreading programs. Author Bob Lucas started work on Microspell after experiencing spelling problems while writing his thesis. He wanted to create a single program that gives the user fully integrated means of finding spelling errors, looks up the intended words in the dictionary, and makes corrections on the spot. He modeled Microspell after existing programs for larger computers. Frankly, I didn't like Microspell at first because it seemed to take too long. But the more I used Microspell, the more I liked it, and the time required to run the pro- gram decreased dramatically as I became more accus- tomed to it. Microspell shows you each suspect word in its original context and gives you several options for deal- ing with suspects then and there. If you don't spell well and want to save trips to the dictionary, Microspell's Guess and Probe functions may help you find the right spelling quickly. The Probe function is much like The Word's FIND program, but Probe works from inside Microspell's large integrated program. Once you've recognized the correct spelling, you can immediately make the correction in the original text file by using the Replace command. A coming version of Microspell will give users the ability to spread the dictionary over several disks, as well as improved logic for handling hyphenation at the end of a line (where a carriage return and line feed separate the two halves of a word). Lucas also is working on a patch program that will let the user change Microspell's defaults. The Package — In addition to dictionary files that add up to 178 K bytes, Microspell contains SPELL (14 K bytes), BUILD (14 K bytes), INVERT (8 K bytes), and EMPTY (2 K bytes), as well as help, demonstration, and documentation files. Only SPELL and the basic dic- tionary (128 K bytes) are needed for most Microspell operations. BUILD incorporates a list of words into the dictionary. EMPTY gives BUILD an empty dictionary to use as the basis for a new dictionary of the user's crea- tion. INVERT lets you view the dictionary or remove words from it. Dictionary— Microspell's distribution dictionary con- tains 20,000 words in four files totaling 128 K bytes. The basic vocabulary was taken from Thorndike's list of the 20,000 most frequently used words. Two additional vo- cabulary files are included in the package. Called INGVOC and ED.VOC, these files are incorporated into the dictionary if your disk size permits. INGVOC is 20 K bytes in size, and ED.VOC is 30 K bytes. I was able to squeeze in all of ED.VOC and three-fourths of INGVOC. That gave the dictionary 26,000 words in 154 K bytes of disk space. Microspell's dictionary handles about the same range of words as The Word's 45,000-word literal dictionary. That's primarily because Microspell can identify words in text by stripping a suffix and checking the spelling of a word root. Microspell also accepts many plurals on the same principle. Microspell's dictionary relies on the suffix-stripping routines, rather than on data compres- sion, to extend the range of the words it covers. The only trouble, as the Microspell manual points out, is that the suffix-stripping routines are sometimes wrong. As an experiment, I made up some nonwords out of roots and suffixes. Microspell accepted abstractment, abhor- rities, boathood, boatize, hairful, footish, mountainette, and theaterhood; it rejected discontinerary, condications, abominition, abettulate, ligamentury, nutticulate, vocab- utation, writathlon, safetydom, and theatricate. In use, Microspell shows how it forms a word from root and suf- fix, so you can catch a mistake if you are observant and willing to check Microspell's work against a printed dic- tionary. But you can't correct such a mistake without exiting Microspell and running a text editor. Performance — It took Microspell 1:06 to proofread the text in figure 1 and display a list of the misspelled words. That isn't the normal method of operation and doesn't mark or correct errors in the text file. Running Microspell in the normal way, reviewing one suspect word at a time, takes longer. The time required depends on the profi- ciency of the person running the program. My first few runs of Microspell were far slower than the ones reported here. Microspell's ability to correct errors in the text file seems a big advantage over Spellguard and The Word. It took a total of 2:47 to run Microspell this way and cor- rect all but one of the errors in the text in figure 1. (I'll say more about that one error later.) Spellguard took 1:46 to find and mark the errors, but then I had to change disks and run WordStar. Microspell proofed the text file and corrected all but one of the errors in about the same time Spellguard took to find and mark errors, plus the time needed to load WordStar and call up the marked text file. We would have to compare the 3:17 Microspell took with Spellguard's 1:46, plus the time necessary to use Word- Star to make all the corrections in the original file and save the corrected file. Microspell's 2:47, then, has to be compared to Spellguard's 3:40. In general, Microspell has the edge on short files because the time needed to load a text editor after running the other spelling programs is a larger proportion of the total time required for the whole process of finding and correcting errors. Except for that one special error, Microspell would have the clear advantage the correcting feature seems to offer. But that error, the nonword "inventary," was dis- played as a correct word. Microspell doesn't let the user alter any word it considers correct. So I had to note the word, load WordStar, find the unmarked word, and cor- rect the misspelling. Loading WordStar might also have been necessary if any correction changed the length of a word; such a change might destroy the text's alignment, especially if the text is justified. Microspell lost its edge 444 November 1981 © BYTE Publications Inc because of accepting the bad word. For a fair comparison with Spellguard and The Word, add about 1:20 to Micro- spell's timing of 2:47. That's a total of 4:07 — 27 seconds slower than Spellguard and 7 seconds slower than The Word. Microspell proofread the 3000-word text file in 2:15 (the quick way). But it took 7:15 to proofread the file step by step and make corrections. That's about 30 seconds longer than it took me to proofread and mark the file with The Word and correct the file with WordStar, and about 1:32 longer than the whole process took with Spellguard. Microspell found fifty-five suspect words, in- cluding all but one of the misspellings in the file. This time Microspell was willing to accept the word "stewardes." So I had to run WordStar afterward to cor- rect that, and that added about 1:20 to Microspell's tim- ing. The time required to handle this file was about 8:35 — almost three minutes slower than Spellguard and two slower than The Word. But don't forget that Microspell lets you look at the context of a suspect word and lets you probe the dictionary for a correct spelling. Those features may help you decide whether a suspect word is right or wrong, and may hand you the correct spelling on the spot, saving time-consuming trips to a printed dic- tionary. The User's Guide — The Microspell user's manual con- tains twenty-nine pages of single-spaced, photo-offset material stapled between pasteboard covers. The print quality is good, the writing clear, and the organization sound. The manual includes a detailed table of contents, an overview of the program, summaries of the com- mands, switches, and error messages, and instructions for using each of Microspell's four utility programs. Two pages from a sample run of Microspell let the user know what to expect from the program. The manual's three- page explanation of the program's limitations would satisfy any consumer protection agency. A revised edi- tion of the manual has just been released but did not reach me in time for inclusion in this review. Microproof (CP/M Version) If your disk space is extremely limited, Microproof may be the best proofreading program for you. On my system, I had room on a single disk for all the WordStar files, the Microproof dictionary, and Microproof's proof- reading and correction programs. Furthermore, I was able to run both the Microproof proofreading program and the correcting program from inside WordStar. That's real convenience. And Microproof is very fast and rea- sonably accurate. By using root-suffix and root-prefix routines and data compression, author Phillip Manfield has made the 70 K-byte dictionary act like a literal dic- tionary of about 30,000 words. Manfield's inspiration? His thesis was riddled with misspellings, and someone told him it was impossible to write a good proofreading program to run on a system as small as a TRS-80 Model I. (Microproof does run on Model I, II, and III TRS-80s.) The Package — The standard Microproof package in- cludes the proofreading program MICPROOF (10 K bytes), the dictionary-building program ADDTODIC (4 K bytes), and three dictionary files that total 72 K bytes. I strongly recommend the optional correction pro- gram CORRECT (4 K bytes) because Microproof can't mark errors in the text file. Without the correction pro- gram, you'll have to type in a long search string for every bad word, using your text editor's Find function. Count- ing CORRECT, MICPROOF, and the dictionaries, Microproof gives a complete proofreading system that performs well and occupies only 86 K bytes of disk space. Dictionary — Microproof's data-compression technique includes replacing all roots with one-character tokens. The dictionary is based on Webster's Pocket Dictionary but is not nearly that large a literal dictionary. Much of the dictionary's vocabulary comes from prefix-root and suffix-root logic. Suffix routines accepted abstractment, hairful, and footish, but rejected abhorrities, boathood, boatize, mountainette, theaterhood, discontinerary, con- dications, abominition, abettulate, ligamentury, nut- ticulate, vocabutation, writathlon, safetydom, and theatricate. Prefix routines accepted inclosed because they treat a prefix and root as separate words: "in" and "closed." Each word is identified to the dictionary as a verb, a noun, an adverb, or an adjective, or as more than one of those parts of speech. Knowing the part of speech helps the suffix and prefix routines avoid accepting some plausible but illegitimate words. WICKED SWITCH INTRODUCING COMPLETE PROGRAMMABLE CONTROL OF UP TO 8 DATA PORTS Mortal Laboratories Inc. 6) — Line Controlled Switching Matrix A unique general-purpose switch for serial data units, MICRO MATRIX II can be operated by most computers using existing software. Z80 based, it will handle any combination of eight RS232 ports, for computers, video displays, printers, modems, you name it. Whatever the combination, you get fast, glitch-free switching, for under a thousand dollars. Which makes it even greater than the sum of its ports. Digital Laboratories Inc. 600 Pleasant Street, Watertown, MA 02172. (617) 924-1680 Circle 136 on inquiry card. November 1981 © BYTE Publications Inc 445 Circle 150 on inquiry card. DISCOUNT PRICES MICROCOMPUTERS CRT TERMINALS PRINTERS DISKETTES SOFTWARE WE'RE ON THE EAST COAS DUPRE ENTERPRISES, inc MICROCOMPUTER SALES DIVISION SUITE 6 NELSON BLDG. 271 FORT LEE ROAD LEONIA, NJ 07605 (201)461-8086 9 AM-3 PM MON.-FRI. SB-80 The Price Is Nice. Single Board Technology • 4MHzZ80ACPU • CP/M 2 operating system • 64K 200ns main memory • 8-inch dual floppy drives • 50-pin expansion connector • 2-serial ports • 2-parallel ports • 4-counter'timers • Hard disk options available rf- -^ m *■» |-> Basic system with: 600K bytes !J> M J\ A J • 2.4 megabytes $3490 • 1. 2 megabytes $2990 A Z80A CPU combined with the CP M" operating system opens new vistas to software availability for eight-bit micros. FORTRAN. COBOL. BASIC. APL. PL ' I and Pascal are available now to accomodate today's scientific, educational, sophisti- cated small business and personal system users. * CP/M is a registered trademark of Digital Research. Inc. NORTHEAST COMPUTER SALES 563 South Main Street Bradford, Massachusetts 1 830 (617)683-3024 Performance — Microproof proofread the 400-word file in only 45 seconds. The program found thirty-two suspect words, six of which were in fact misspelled. Microproof missed one misspelled word. The program's prefix routine accepted interseeding, which Microspell rejected; on the other hand, Microproof's suffix routine rejected inventary, which Microspell accepted. Microproof recognizes some hyphenated words as single compound words and treats others as two-word fragments. It ignores all single-character words, so if you mean "I" but type "J," Microproof won't let you know. On the 3000-word file, Microproof took only 1:09 to find 109 suspect words, including all ten misspelled words. It rejected stewardes, which Microspell accepted. Microproof's prefix and suffix routines made no errors on this file. The User's Manual — The Microproof manual is rea- sonably clear, but could use refinement. Its problems, all minor, stem from the manual's need to deal with both CP/M and TRSDOS, the TRS-80 operating system. Since I received Microproof, Cornucopia has developed the manual from an outline into an adequate user's gu..de. The manual includes facsimiles of screen displays and the print quality is good. More and bigger staples would help the manual withstand intensive use. Wordsearch 1.03 Wordsearch is the only noncontender in the group of proofreading programs. The Package — In addition to its dictionary (72 K bytes), Wordsearch includes the programs SEARCH (10 K bytes), WDS, WDL, WDA, WDT, WDM, and VIEW. All but SEARCH and VIEW are 4 K bytes in size, and VIEW is only 2 K bytes. SEARCH works by letting you access the smaller programs. It uses WDS to scan a text file for suspect words, WDL to list the suspect words, WDA to assign each suspect word to one of three groups, WDT to display the text file with suspect words highlighted, and WDM to merge good words with the dictionary. The reason for displaying the text with suspect words highlighted is mysterious, because all you can do is look; you can't reassign or mark the words. Wordsearch provides no means of either marking suspect words in a text file or correcting misspellings. As My Hardware / ran the proofreading programs on my SuperBrain com- puter. My timings are slower than some of those advertised for the programs reviewed, but that doesn't mean the adver- tisements were false. On systems with larger disks or hard disks, all the programs should run faster. For SuperBrain users who have one of these programs but can't match my timings, the operating system I use (SB/E, from IE Systems of Newmarket, New Hampshire) performs disk operations about one-third faster than the standard SuperBrain operat- ing system. Also, do not try putting the larger Spellguard dictionary or The Word's dictionary on a single disk. My op- erating system can handle 188 K bytes per drive, opposed to the standard 161 K bytes. 446 November 1981 © BYTE Publications Inc Circle 308 on inquiry card. a result, the user has two choices. The first is to print on paper a copy of the entire text file with confirmed misspellings underscored (or in bold or surrounded by double parentheses, at your option). For a text file of any size, the time required for printing, unless you have an extremely expensive printer, is sufficient to prevent Wordsearch from being competitive with other proof- reading programs. Furthermore, after the file is printed, you have to work from the printed copy while using a text editor on the original unmarked file. Visual checking between paper and screen is time-consuming and far less accurate than using the search command of a text editor. Besides, if you'd been satisfied with the efficiency of working on paper, you wouldn't have bought a computer in the first place. The second choice is to have Wordsearch print an alphabetical list of confirmed misspellings. This way, you need less time to print, but you have no idea where the er- rors are located. So you work with the text editor's search command. But that poses problems, too. Since Word- search doesn't use a mark character, you have to type the full misspelled word when you use a search command. That requires more checking between paper and screen and raises the possibility of making a typographical error when entering the string to be searched for. To make matters worse, since the list of misspelled words is alphabetical rather than in the order of occurrence in the text file, you often have to return to the beginning of the file to start the next search (or else use a global search, which is slower). Wordsearch might deserve reevaluation if Keybits add- ed a large dictionary and a means to mark errors in the original text. Unfortunately, Keybits plans no major changes in Wordsearch in the near future. Dictionary — The dictionary I received with Word- search contains 7200 words in 72 K bytes. Rather than making the dictionary from a list of the most frequently used words, Keybits worked from a list of the 10,000 most frequently misspelled words. As a result of this approach and the dictionary's small size, Wordsearch considers the following words suspect: arm, baby, calm, catch, choices, assets, businessmen, chief, cover, dark, eyes, dinner, doubts, knew, land, life, thought.... You get the idea. Why did Wordsearch take this approach? The user's guide says, "...ones [sic] written word vocabulary is a major subset of his total word vocabulary and varies from person to person. It is for this reason that we have provided a starter library of several thousand words, many of which are variations on the same word... Over time however, it will be necessary to add fewer words in order to stabilize your own tailored writing environ- ment." If you can ignore the redundancies and mixed metaphors and somehow live with the knowledge that your environment has learned to write and tell the world what you're really like, you can get the message: Word- search assumes that everyone will write his or her own dictionary. Al Clark of Keybits says that after three months of adding words to the dictionary, the average Circle 410 on inquiry card. FREE your keyboard— interact directly with the screen . Why waste time typing? Use a 3-G Light Pen. ■Mail Coupon of Call Today for Immediate Delivery" 9 3-G Company, Inc. Dept. bt Rt. 3, Box 28A, Gaston, OR 97119 (503) 662-4492 Remember, 3-G offers a 30-Day Unconditional Money Back GUARANTEE TRS-80 Economy □ TRS-80 Professional □ PET Professional D Apple Professional I24.9S $39.95 $37.95 $36.95 □ Model I or G Model III Yes. I want to make rny computer more versatile. Rush me 3-G Light Pens. (Add $1.50 for mailing and handling— $6.00 foreign.) Enclosed is: . checkor money order MasterCharge Visa Card No. NAME Exp. Date ADDRESS CITY STATE ZIP In his business, Al Zenker of Zenker Denial labs in Penndel, Pennsylvania uses our pens lor da t;i entry. Larry Goodman ol Lowell. Massachusetts uses the pen to select telephone numbers to be dialed by his computer Tiorwald Esbensen ot Micro-Ed, Inc in Minneapolis, Minnesota wnies education software lor the 3-G Light Pen Dr Richard Kerns of East Carolina University incorporates our pen in a demonstration wilh a voice synthes^er lo teach his students how lo use computers These oeoole have discovered ihe benefits of using a 3-G Light Pen Wouldn't a 3-G Light Pen make your system more versatile and more functional 7 Yes. ol course it would' Don't Wait— order your pen today and receive 1) 3-G Light Pen 2) Demonstration cassettes (with Professional TRS-80. PET and Apple) 3) Sample program listing 4) Complete documentation and instructions so you can write your own program in BASIC '.)) Other Light Pen software and games available NO ASSEMBLY NECESSARY. PLUG IN AND USE DEALER PACKAGE AVAILABLE TRS-80 ® DISCOUNT PRICING Call Us For Discount Prices on All Radio Shack Hardware and Software MODEL II 26-4002 MODEL III 26-1066 $3,439°° $2,220°° PHONE (209) 526-1496 We Pay Freight No Taxes on Out of State Shipments Franchise Store 7079 Radio /hack 221 McHenry Ave. Modesto, Calif. 95354 Circle 364 on inquiry card. November 1981 © BYTE Publications Inc 447 user can expect Wordsearch to report only one or two suspect words each time it's run. Keybits has a 50,000-word dictionary on disk, but Clark says there has been no demand for it from Wordsearch users. If you consider yourself in the same league with Samuel Johnson, Noah Webster, and the Oxford English Dictionary's Dr J A H Murray, and if you have three months to devote to writing your own dictionary, Word- search is the proofreading program for you. But if you want to buy a program today and proofread a letter tomorrow, Wordsearch won't help you much. Performance — In the 400-word text file, Wordsearch found 105 words suspect. It listed the suspect words on the screen after only 55 seconds. But the list was of little use until I'd used the assign option to confirm which words were misspelled and then used the text-display op- tion (with the /OY switch) to print the file with the misspelled words underscored. Using the assign option took 2:55 to review the 105 suspect words. Printing the file brought the total elapsed time to 4:11. Making the corrections with WordStar and saving the corrected file took another 1:37, for a total of 6:13. Things were worse when I used Wordsearch to proof- read the 3000-word file. Wordsearch needed only 1:06 to proofread the file and list 517 suspect words on the screen, but it took me 8:15 to assign these words to one of three groups. Printing the whole file with misspellings underscored took more than 11 minutes. I abandoned that approach and started over. This time I just had the program print a list of confirmed misspellings. That took only 15 seconds, so I'd saved almost the full 11 minutes. But when I edited the file and used the search command to locate misspellings, I had to type in each string exactly. Since the list was alphabetical, I often had to return to the start of the file to initiate a new search. Alas, making the corrections and saving the file took another 3:28, so the total came to 13:49 — roughly double the time required by any of the competing programs. The User's Guide — The Wordsearch User Manual is in- complete, overwritten, and poorly organized. It stands as a Great Wall between the user and the program. The in- troduction says, "To take full advantage of this manual, begin by trying each function and feature at your ter- minal as you review it in the manual." A careful check revealed that my terminal was not in the manual. The system overview begins: "Wordsearch is a spelling word dictionary lookup system." That sounds like an attempt by a word, miraculously blessed with the ability to spell, to look up a dictionary. The Wordsearch User Manual sells for $45. I'll bet the National Museum of Obfus- cation, Redundancy, and Misplaced Modifiers would pay twice that amount for it! Conclusions Spellguard, The Word, Microspell, and Microproof should all win a place in the market for automatic proof- reading software. Which program is best for you? That depends on which features you consider most important. The Word and Spellguard are the most accurate pro- grams because they use literal dictionaries. At this writing, The Word's dictionary is larger and occupies less disk space. Spellguard, once its larger dictionary appears, will probably be best for the office because of its menu-driven operation. But The Word merits consideration there, too, because all its operations are so simple. If you want your computer to look through the dic- tionary and propose alternatives to a misspelling, choose between Microspell and The Word. If you prefer a single integrated program that does everything from proofreading to guessing the intended word and correcting the error in the original file, you'll go for Microspell. Because of its suffix-stripping routines, Microspell is slightly less accurate than the packages with literal dictionaries. If you have limited disk space, Microproof offers big- dictionary performance through data compression and suffix-prefix routines, at some sacrifice of accuracy. If you want a good proofreading program, but also want other features useful to writers and editors, you'll buy The Word. My own preference? I like great accuracy, a large, literal dictionary, and a marking feature. I also like a pro- gram that can look up words in the dictionary on disk. Furthermore, I like to see a list of all suspect words at once. Since I'm a writer and editor, I find word-frequency software useful, and I'm usually short of cash. By far the least expensive of these programs, The Word has no shortcomings I've been able to find. I've already mailed my check for $75 to Oasis Systems. ■ [While correcting the proof of this review, I received version 2.0 of The Word and I couldn't resist testing it. On the 400-word text file, it found the same number of suspect words as before, but the program works faster now. The Word took only 1:28 to proofread the file and list the suspects. The new REVIEW program eliminated the need to use WordStar to edit the list of suspects. With REVIEW, I needed only 26 seconds to review the suspects, and only 7 more seconds to mark the confirmed misspellings. I had loaded WordStar and was ready to correct after 2:46. I completed the corrections and saved the file in only 3:31. On the 3000-word file, The Word 2.0 showed im- proved handling of WordStar's soft hyphens. As a result, it found only 38 words suspect, only 28 wrongly so. Moreover, The Word 2.0 proofread the file and listed the suspects in only 1:43. REVIEW enabled me to review the suspects in 31 seconds; MARK marked the confirmed misspellings in 28 seconds. (Reviewing and marking took 2:49 with Spellguard, but only 0:59 with The Word 2.0; the short list of suspects helps a lot.) I had loaded Word- Star and was ready to correct after 3:27. It took another 1:50 to make the corrections and save the file, for a total of 5:17. For combined speed, convenience, and accuracy, I think The Word 2.0 has far surpassed its competitors. And it still costs only $75.) 448 November 1981 © BYTE Publications Inc User's Column New Software, New Hardware Computer Languages, and Games Jerry Pournelle c/o BYTE Publications 70 Main St Peterborough NH 03458 "Read any good books lately?" asked my mad friend Mac Lean. Having just come back from an autograph party for King David's Spaceship, and the day before sent off the copyedited manuscript for the new Niven-Pournelle Oath of Fealty, I knew what to say. "Haven't had time. But I've written some good books lately...." "Yeah, well, I wasn't talking about science fiction," said Mac Lean. "I meant good books on computers. I've got a dilly." He held up PL/1 : Structured Programming, by Joan K Hughes. "Hey, I know her," I said. "Well, you tell her for me she's written a really top book. Good index. Clear English. Stand-alone chapters, so you don't have to thumb back and forth to find out what's going on." "I'll do better than that," I said. "I'll tell my readers." "Yeah. Sure. When?" "Uh, real soon now...." * * * My apologies for taking so long in finishing this col- umn, and my thanks to all of you who've written en- couraging letters. Things do get hectic here at Chaos Manor, and the last few months have been something to see: books to get done, articles to write, and I built a new wing on the office, which meant moving everything around like Chinese Checkers, which meant that I lost the documentation to half the software sent me for review, which — I am also, for my sins, Chairman of the Citizens Ad- visory Council on National Space Policy, which involves chairing meetings and editing papers and writing sum- maries and flying to Washington. The result was that for a good while I. had no time to play with Ezekial, my Z80, but things are a bit caught up now, and maybe we can get onto a schedule. Just last week I had a surgeon remove the telephone from my ear. One reason we got caught up was Spellguard. Every now and then you find programs that do things right and have documentation that tells you what to do and how to do it — programs that are a joy to use. Spellguard is like that. (See the reviews of Spellguard, Microspell, the Word, Microproof, and Wordsearch on pages 434-448.) Spellguard finds spelling errors. That's all it does. It doesn't wash dishes, or set your clock, or do your taxes, but wow! can it find spelling errors in standard ASCII text files. And it doesn't care what editor you used to create the files. Using Spellguard is simplicity itself. All you do is tell it what file to look at. It does the rest. It does not do it as fast as the ads say — at least it doesn't with Zeke, but then he's only running at 2 MHz, and my ancient iCom drives, while utterly reliable, are pretty slow. Help is on the way: I've got a pair of Lobo's 8-inch drives, and they've promised an S-100 double-density controller next month. If the controller is as fast and reliable as their drives, things are going to hum around here. We've been using Lobo drives (both 8-inch and 5Vi-irtch) on the boys' TRS-80 for months now, and we love them. Meanwhile, Spellguard runs fine under Speed, a rather strange program available from the CP/M User's Group. Speed trades memory for rapid disk I/O, and if you have programs that don't use a lot of memory but have a lot of disk operations, Speed can cut running time dramat- ically. For Spellguard the saving is about 50%; the sav- ing in posting my journals to ledgers is even more dramatic— 70%. Speed, with auxiliary programs to get it running prop- erly, is available on Volume 38 of the CP/M User's group (CPMUG) disks. Those with access to a computer net may be able to find it in an on-line file. You need a bit of patching with DDT to install SPEED, but the documenta- tion (also on CPMUG Disk 38) is clear enough. One warning, though: Speed maintains the disk direc- tories in RAM (random-access memory), and if you change disks without rebooting (in Speed that's control- B, rather than CP/M's control-C) the result is an un- mitigated disaster! November 1981 © BYTE Publications Inc 449 User's Column. But back to Spellguard. When you run Spellguard, it first gives you a table, telling you how many words it has read, the number and percentage of unique words, the number and percentage that it can't find in the dic- tionary, and finally a changing column that tells you the percentage of proofreading the program has done. Many years ago, when I was young and impres- sionable, I fell under the spell of a science fiction writer named A E Van Vogt; later he became a friend, neighbor, and colleague. Van Vogt was (and still is) interested in a rather hard-to-define field of study called general seman- tics, and through him I was led to Alfred Count Korzybski and a strange book called Science and Sanity. That led me to Wendell Johnson at the University of Iowa. Professor Johnson's interests spanned everything from classical linguistics and speech therapy to general semantics. One of Johnson's research interests was identifying text: how could you tell if an anonymous work had been written by a particular author? Dr Johnson used a num- ber of quantitative measures, two of the most important being the type/token ratio and the verb /adjective ratio. Type/token means the ratio of unique words to total words; verb /adjective is self-explanatory. I remember going nearly blind counting total words and making tables of unique words in, for example, Marlowe's BDOS ERROR ON B:BAD SECTOR Before disk errors ruin your work again order BADLIM. ■ BADLIM assures the reliability of your CP/M computer. ■ You can use your disks 1 times longer without losing your data AND your time. ■ BADLIM checks thoroughly your disk marking all the blocks which have defective sectors. The operating system will know that those sectors should be skipped. ■ BADLIM is the only program that gives protection for soft and hard errors. ■ The first time BADLIM will list which files in your disk are on bad sectors, so you can take action to correct it. ■ But thereafter the bad areas in your disk will be automatically by-passed. ■ For CP/M 1 .4 single density and for CP/M 2.xx of any format and density. 1 1 is a must for Winchester as the media cannot be replaced. BADLIM cost only $73. Whatever the reason you have to use a computer you need BADLIM. Contact your dealer or call us today: BLAT R&D Corp., 8016 188th. St SW, Edmonds WA 98020. Phone: [206] 771-1408 _ ^ _ T -pi. «- DEALER INQUIRIES INVITED. RA I J I .1 M Duchess of Malfi; the idea was to find out if Marlowe had written any of the Shakespearean plays. (As best we could calculate, he hadn't.) Now Spellguard gives you automatic type/token ratios, and if you really want to, you can make up separate verb and adjective dictionaries, thus finding the ratio merely by typing in the text, which, believe me, is a great deal easier than doing it in teams of two with pencil and paper. Spellguard, with its efficient search algo- rithms, could be extremely useful in linguistic research projects. Anyway, if you work with text at all, you'll love In- novative Software's Spellguard. It is an example of ex- cellent software: a program that does one thing, does it very well, and has documentation to match. Datebook and Milestone Organic Software of Livermore, California, has also produced two excellent programs that I recommend, al- though I'll probably never use them. The first, Datebook, can keep track of about six months' worth of appointments for three people. We had no trouble getting it to run, and it seems to be easy to use. The main drawback is that you have to want to run it; Datebook requires both disk drives and all of your micro- computer's memory. What I want is Calendar, a program that I may have to write myself; it would come up when I turn on my system, insist that I give it the date (the way Lobo's LDOS operating system does), and then natter at me about what I have to get done. But it's fairly obvious that I can't write that program until I have hard disks with multimegabyte storage. Calendar would solve my problem: I forget to look at my appointment book until it's too late. And that raises a question: is Datebook really better than an appointment book of the kind used by many physicians and lawyers? I can't answer that, but my guess is that I wouldn't buy a computer for that alone. Datebook has various search patterns, so you can look for appointment openings of stated lengths, and the program offers up to nine candi- dates — but you can do that by glancing at a book, too. The value of Datebook is that it will keep three sched- ules simultaneously, so you can work appointments with your partners (it searches for times when you're all free). It will also search through and find all the appoint- ments you've made with a particular person — a task that is more difficult and certainly more tedious if you must rely on visual inspection of a book (especially if there are a lot of entries). And of course Datebook can make hard copy, and update that often. All in all, if I worked in a business where I had lots of appointments and schedules, I'd probably use Datebook, but then I'm gadget- oriented — and I have a computer. Organic's other interesting program is Milestone, and people who need it will like it a lot. Milestone is a PERT- chart generator. It performs critical-path analysis for jobs 450 November 1981 © BYTE Publications Inc Circle 50 on inquiry card. Circle 443 on inquiry card. with up to 300 tasks; it computes milestones (critical events), monthly manpower levels, monthly costs — in short, it handles most of the details we used to have to in- clude in the management-plan portion of a research pro- posal. Milestone isn't easy to use. In fact, it's almost impossi- ble to use on my system because I don't have a 24 by 80 terminal. I use a memory -mapped 16 by 64 video display, in part because I still use the old-fashioned Electric Pencil as a text editor, and Pencil requires it, in part because I like the smooth scrolling and fast response, and in part because I'm lazy and have never gotten around to buying a terminal. That's going to change one day. Anyway, Milestone isn't easy to use, not because the directions for the program aren't clear (they're only fair), but because PERT charting and critical-path analysis are more arts than sciences, and not easy jobs. Milestone can make the jobs easier, and if I ever again have to generate research proposals, I'll certainly use Milestone. One of my pet peeves is documentation without ex- amples. I can't imagine why people write instructions on how to use a program but fail to include specific illustra- tions of what command to issue and the results. Let me illustrate. Suppose I am opening Milestone after not looking at it for a couple of weeks (as indeed I am). I turn to page 36, and there I find: "B(egin) and E(nd) work These two values define when the normal working day begins and ends. They must be even hours as defined on a 24-hour clock. Follow the rules for entering in- tegers rather than times." Now I ask you, what does this mean? Presumably, I once knew, but I confess I've forgotten. Indeed, some of us go days on end without even thinking about computers! I don't want to be too hard on Organic; Milestone, in fact, comes with a set of example cases. One is Dr Victor Frankenstein Ill's PERT for creating a monster. Event One, "Fanatic Desire to Create Life," is a milestone; it has no duration, but you don't start without it. We proceed to Task Two, "Move to ancestral castle," and continue searching for Grandfather's notes, hiring a linguist, etc. As it happens, Organic ran this example as part of a dem- onstration for me at the San Francisco Computer Faire, and I can testify that Milestone is both fast and accurate. I thought up the need for a linguist to translate the notes. That broke into subtasks: advertise, interview, hire. I watched Burns VanHorne of Organic enter the new tasks. Milestone thought for a moment, then rearranged itself, because this information became part of the critical path. (Not long ago they sent a revision of Milestone and I notice that the tasks I suggested are now in the case study.) So they have examples, in the sense of worked-out problems for their program, but they should have in- EPISODE THE VERSATILE COMPUTER JUST ADD PERIPHERALS EPISODE is a CP/M' comput- er with 1.6 M byte of disk storage on dual 5Va flop- pies. Its compact design provides a wide range of standalone or network appli- cations including data base sharing. EPISODE gives you total flexibility. You can add your own CRT and Printer, what- ever brand and price range you choose. All the logic in- cluding the 64K RAM mem- ory is contained on a single 6" x 8" circuit board ensur- ing maximum reliability. 'Supetvyz is a trademark of Epic Computer Corporation. CP/M is a trademark of Digital Research. EPISODE includes a unique software system called SUPERVYZ™ - a menu based software control sys- tem that allows the user to integrate application pro- grams. Dealer inquiries invited, foreign and domestic. Epic Computer Corporation 7542 Trade Street San Diego, CA 92121 Tel: 714-695-3560 See us at ComDEX Booth 1346 C Compiler only $ 75 We have re-written Small-C as published by Ron Cain in the May, 1980 issue of Dr. Dobbs. The Code Works C compiler (CW/C) includes these additional features: • Structures and unions • For, switch/case, do-while • Multidimensional arrays • Conditional compilation (#ifdef,etc.) • Assignment operators, e.g. x +=10; • Can declare complex types, e.g. int (*fp)[5]; • User supplied I/O buffers of any size • Dynamic storage allocation (alloc and free) • Command line arguments using argv and argc • Improved error handling CW/C is a proper subset of the full C language. We do not have: float, double, long, unsigned or short data types; static; initial- izers; sizeof; typedef; "?:"; casts; bit fields; goto; #undef, #if, #line. CW/C generates assembly language source code that is then assembled using ASM or MAC. CW/C supports inline assembly language with the #asm ... #endasm preprocessor commands. Requires 56K 8080 or Z80 CP/M system. Distributed on single-density 8" disk or Northstar double density CP/M 5" disk. Includes an excellent User Manual, the executable CW/C compiler, runtime library, and several useful example programs written in C. theCODE WORKS CW/C is $75, including shipping in the US and Canada. CA residents add 6% tax. Visa and MasterCard welcome. CP/M is a registered trademark of Digital Research. Box 550, Goleta, CA 93116 805-683-1585 Circle 435 on inquiry card. November.1981 © BYTE Publications Inc 451 User's Column. eluded specific examples all over their manual — and so should every other publisher. Please? Debate on Languages My last column, on languages, generated a lot of cor- respondence. Some was predictable: I wasn't sufficiently respectful of LISP, the LISt Processing language written in 1956 by my friend John McCarthy, and since improved and expanded by McCarthy and my collaborator, Marvin Minsky, and used by my friends and associates who wrote ZORK, and — in other words, please, I don't dislike LISP users. What I said was that LISP was fine for special pur- poses, but it wasn't among the candidates for replacing BASIC. For those offended, my apologies, but I remain unrepentant. LISP may indeed be a great language for professional programmers, as it certainly is for those working in artificial intelligence. Furthermore, if you're someplace where you can learn LISP easily — say MIT or Stanford — then by all means grasp the opportunity. Most of us, though, don't have that opportunity. Even if you have access to MIT's LISP-teaching programs, it's going to take time — lots of time — to learn. The ideal way to learn LISP is to use it; it does have the great feature of being an interactive language (which is BASIC'S great ad- g Z S3 o <*> 5 00 c 12 o o 3 o >> vantage). But the LISPs available for microcomputers are very limited (Minsky himself wasn't able to do much with the one I have), and it isn't likely that they'll get bet- ter — not with our present hardware. Come the revolu- tion, when 32-bit machines with 256 K bytes of active memory and 50 megabytes of disk storage can be bought for $2000, LISP may then be the best thing available, but not now, unless you have very specialized needs. In any case, this remains the User's Column, directed in large part toward nonprofessionals who are trying to make their small systems do useful things, and for those readers I don't recommend LISP. It can be fun to play with, and I'm glad Microsoft published it, but I doubt that microcomputer users will ever do more than play with LISP. But the problem of languages has yet to be solved. In theory, BASIC is an inadequate language. Listen to the hackers: they'll tell you that BASIC programs "are a maze of GOTOs" or that "you can't do structured pro- gramming in BASIC." That isn't true. A good modern BASIC — say Microsoft's BASIC-80, or Software Systems' CBASIC— has do while, if -then-else , case, and nearly all the features Pascal has, plus string features that are a lot better than any Pascal I've seen, and decent I/O, which Pascal doesn't have at all. True, there are problems in BASIC that are easiest to solve with judicious use of GOTO statements, but it's certainly possible to write good BASIC programs without a single GOTO, and even easier to tame the GOTO so it never refers to anything outside a local modular block. You can write top-down structured programs in BASIC. Best of all, you can write interactively, testing each step of the way, then test the program logic until it's working, after which you turn it over to Microsoft's BASCOM compiler, and wham. And for maybe 80% of the jobs you want a microcomputer to do, that's the best approach. It's almost certainly the fastest. So what's wrong with it? Plenty. First, BASIC still has a fatal flaw— no truly local variables. Passing parameters to a subroutine is hard, and controlling side effects (making sure you don't do something you didn't intend) isn't easy. You can reserve I,J,K,L as indices and set up "declarations" in remarks up at the top of the program, and with the new cross-reference programs you can usually find the side ef- fects. Having done that, you still have trouble passing parameters, and if the program gets big, so that you'd like to compile it in chunks, you're out of luck. BASCOM doesn't permit decent chaining of programs, nor does it allow true compilation in parts. In fact, the Microsoft BASCOM is not really the same language as its BASIC-80. In addition to the chaining prob- lems, you can't use computed array sizes or common statements. "But," protests the BASIC enthusiast, "that can be 452 November 1981 © BYTE Publicaeions Inc Circle 182 on inquiry card. fixed. In fact, I bet you somebody at Microsoft is work- ing on it right now." True. And maybe, one day, they'll really fix the BASIC/BASCOM system. I hope so, because I find BASIC programs fairly easy to read and write. I expect you'd be able to buy a lot of programs in compiled BASIC right now if it weren't for Microsoft's disastrous policy of demanding royalties for every program com- piled with BASCOM. Competition will take care of that; meanwhile, I use BASIC-80 with BASCOM for routine jobs, and a lot of my most useful programs are written in CBASIC. There's so much investment in BASIC software — take Joan Hughes, author of the PL/I book that so impressed Mac Lean. Joan runs Execudata, one of the first of the small-systems houses that have sprung up everywhere. She sells turnkey systems for small businesses. The hard- ware she favors is the Vector Graphic S-100 bus Z80 with its "mindless terminal," which is really memory -mapped video. The software comes from all over. The editor is Vector's, and I'm tempted to buy a Vector machine just to get it; it's a lot like Electric Pencil but with most of the bugs out. Execudata writes other software or buys it commercially. Like all first-rate systems houses, they support everything they sell, and their customers seem downright enthusiastic. The interesting angle is that the author of the best book we've seen on PL/I sells software largely written in CBASIC. Why? Execudata has been around several years. When Joan first started the company, there wasn't a PL/I for microcomputers and CBASIC was the only BASIC that allowed long variable names (remember the horrible days when variables were "A$" and "Bl" and you hadn't the foggiest what they referred to?) and structured concepts. She may change over, now that we have PL/I from Digital Research. Digital's PL/I documentation is, if nothing to brag about, at least readable. PL/I-80 is a fairly healthy subset of the ANSI General Purpose (Subset G) PL/I, and it runs. "Yeah, and so what," asked a friend. "Who'd use it?" "PL/I is unwieldy and inefficient," says a recent article in a magazine. On the other hand, Mac Lean has spent the last couple of weeks learning it and he loves it. Meanwhile, I have— at last! — gotten not one but two Pascals that run, and I've been wading through Peter Grogono's Programming in Pascal (see references) and reading everything I can find on Pascal. I recommend Grogono's book — for that matter, I rec- ommend the Pascal/MT+ implementation of Pascal. It works, and unless Mike and Nancy Lehman have become liars, which I doubt, Pascal/MT+ is a full implementa- tion of the Standard Pascal, along with a few much- needed extensions. Their manual is improved, too. (They sent me an early copy, and apparently my anguished screams were too much for them.) They've added a number of sections, and, according to Nancy, "That's all because of you...." I also have the Sorcim Pascal/M up and running. Pascal/M compiles to an intermediate code. It's slower than Pascal/MT + , but it's also more compact and more portable. It, too, has extensions to standard Pascal, and I recommend it. What I don't recommend is Pascal itself. Not yet, anyway. When I first looked at Pascal several years ago, I thought it was the nicest thing I'd ever seen. But the more I look at it, the more misgivings I have. I certainly could be wrong, and I'll know more by next column time. And by then, Mac Lean will have done things with PL/I so we can compare notes. Meanwhile, don't throw away your CBASIC; they've made some improvements, also (Compiler Systems' President Gordon Eubanks says) as a result of my reviews. The needless limit on the line printer width has been fixed, and the COMMON and CHAIN features improved. I think the latest version has some other im- provements, too, but I've mislaid the new manual. Al- though I've said it before, it's worth mentioning again: the CBASIC documentation is excellent. Gordon also tells me that by the time this is printed there'll be a new version of CBASIC that allows nested IF MEMOREX FLEXIBLE DISCS BUY THE BEST FOR LESS. Lowest prices. WE WILL NOT BE UNDERSOLD!! Buy any quantity. Call free (800) 235- 4137 for prices and information. Dealer inquiries invited. C.O.D.'s accepted. PACIFIC EXCHANGES 100 Foothill Blvd. San Luis Obispo. CA 93401 InCal. call (800)592-5935 or (805)543-1037 Circle 330 on inquiry card. November 1981 © BYTE Publications Inc 453 User's Column, statements (fixing one of Joan Hughes's pet complaints), and before the end of the year they'll have parameter passing and local variables, and they're working on speeding it up. The language situation isn't our only dilemma. Let's face it, our microcomputers are becoming obsolete. In one sense that's silly: we have more computing power than the government did ten years ago. The machines work reliably. And there's no point in replacing our machines just when we're finally getting good software. But that's the problem: we're beginning to see hard- ware limitations on the new software. Take Spellguard for instance. It's a good program. I use it often. But it can't touch real spelling programs like those that run on the big MIT computers. MIT's Spell (written, incidentally, in LISP) not only finds misspelled words — it shows you the word along with context, shows a menu of words it thinks might have been meant, offers you a chance to enter the new word in your permanent dictionary (if that's refused, offers the opportunity to put it in a dictionary kept just for this job), and, finally, lets you input the proper spelling, which it inserts into the text. It does all this at blinding speeds, searching dic- tionaries of 35,000 to 50,000 words. No 8-bit machine running floppy disks can touch that job. /Editor's note: Don't be so sure, Jerry. See the review of spelling pro- grams in this issue. ...PL/ There are other limits. One controversy over text editors hinges on a simple forced choice: do you limit the amount of text you can work on to what can be held in memory (as Pencil does), or do you keep part of it on the disk (as WordMaster, WordStar, and Magic Wand do)? If you keep part on disk, you can't conveniently change disks: that can be a serious limitation if you want to bring in a chunk of an old file or make a quick copy of some- thing you can't afford to lose. If you keep all the text in memory, not only are you confined to 10,000 words or less (with my system, anyway), but you encounter real problems if you want windows and multiple buffers or if you'd like the machine to do some computing on values in the text. Obviously, I prefer Pencil's limits. I have Wand and WordStar, but I don't use them — Star because it natters at me (when was the last time you wanted to know line and column number every time you typed a letter?) and Wand because of the disk operations. (Word Master, on the other hand, is the best programming editor I know of.) None of the available editors, not one, can do what I'd really like them to — for instance, let me put equations in my text, solve them, and have the answers available as I write. (What I usually do is leave the text on the screen and turn to my programmable TI-59, and that's silly.) MICRO MASSTOR™ COMPLETE WINCHESTER SUBSYSTEM FOR EVERY APPLICATION * 3.5 to 68 MBYTE/DRIVES * 5 1 A", 8" and 14" WINCHESTERS * HIGH PERFORMANCE DISK and DISK/TAPE CONTROLLERS 1 18 MBYTE $2995 HARDEDGE AUTHORIZED DISTRIBUTOR COMPLETE HARDWARE AND SOFTWARE SUPPORT * S100 * CP/M 2.2 * TRS-80 II * TRS-DOS * APPLE II * APPLE DOS Micro-Tech Industries P.O. Box 17383 Irvine, CA 92715 (714) 559-0599 454 November 1981 © BYTE Publications Inc Circle 266 on inquiry card. Yet what I want isn't impossible — for big machines. MIT's MACSYMA can solve intricate equations, and its EMACS editor is inherently more powerful than anything we can implement on a microcomputer. I haven't seen them combined, but it wouldn't be that dif- ferent if the memory was available. New Machines For a few years we'll exploit what we have, but it isn't going to be long before Zeke becomes the world's smartest terminal (two memory-mapped screens, a 20 K-byte PROM monitor to control printing and I/O, etc), while a new machine does the work. Only — what will the new machine be? Two years ago everyone would have said "the Z8000." Now we just don't know. Next, when we get the new machine, what will we use for an operating system? Again, two years ago everyone would have said "UNIX, of course." And if we had UNIX, which is a fairly complex tree-structured operating system developed by Bell Laboratories, we'd also have answered the language question, since UNIX contains a C programming- language compiler and is written in C. Now, again, we just don't know. What went wrong? First, there weren't any reliable Z8000 chips. Now that problem's fixed — but there aren't many available Z8000 computers, are there? There is one. Onyx has a working Z8000, with UNIX and C, hard disks, and 128 K bytes of memory. They're being shipped as fast as they're being made, and accord- ing to their customers they work and work well. There's a good chance I'll have an Onyx running here in a few weeks and I'll be able to tell you a lot more. Meanwhile, there's a serious rival to the Z8000 and UNIX: the dual 8085/8088, working on an S-100 bus and running Digital Research's operating system that looks a lot like CP/M and allows you to bring over most of your CP/M files. The 8085/88 won't run Z80 code, but then neither will the Z8000. It does execute 8080 code. Bill Godbout sells an 8085/88 system, and Tony Pietsch, the engineer who built my system, recommends it, along with hard disks and dual-sided double-density floppies to back up the hard-disk system. Tony is building a Godbout S-100 system and there's a chance I'll get one for review. The Lehmans use a Godbout S-100 8085/88 system for their Pascal/MT+ and they're very happy with it, while Sorcim's president Richard Frank says they've got half a dozen running constantly and that you can pitch the Godbout box out a second-story win- dow without hurting it. THE SYSTEM INTEGRATERSi Ithaca OoDfeD% v sfcDDDS™ THE MICRO FOR BIGGER IDEAS IS NOW MUCH BIGGER. Multi-user Z80 Systems *CP/M-*MP/M 1 to 4 User (64K to 256K) Floppy and Hard Disk Systems tmmmn nnim rami Terminals • Printers • Accessories • Service Complete Business and Development Systems Specialized Business Systems 5306 S. Bannock, Littleton, CO 80120 (303) 797-8709 rM Trademark of Ithaca Intersystems, Inc. *CP/M and *MP/M are Registered Trademarks of Digital Research. % *!> Circle 388 on inquiry card. November 1981 © BYTE Publications lnc 455 User's Column. In other words, Z8000 with UNIX has respectable sup- porters, and so does 8085/88. Prices aren't quite com- parable: the Onyx system costs more, largely because of the UNIX software, which isn't cheap. Performance isn't comparable either: the Z8000 Onyx is much faster than the 8085/88 machines. Fortunately, we don't have to make any decisions just yet. It may be that the best policy is to skip all the 16-bit machines entirely and wait for a new generation of 32-bit monsters. Certainly if you're contemplating buying your first system, go ahead and get one: I still recommend the S-100 bus and Z80. You can upgrade to dual-density flop- pies and hard disks without too much risk, but if you want a system to use rather than play with, be conser- vative and leave systems development to the Tony Pietsches of this world. (Notice that if I get new systems in here, they'll be in addition to Zeke; him I don't touch.) And stand by. Exciting things are happening in microland. * * * I like computer games. I'm fond of ZORK and the various Automated Simulation games, and now they've got a new one called Star Warrior that's guaranteed to use up more time than you thought you'd give it, especially if you're a fan of Heinlein's Starship Trooper. The game has a lot of the same appeal as that book. It's 3S33 Old Conejo Rd. #102 Newbury Park, CA 91320 1-805-499-3678 CA. TOLL FREE 1-800-322-1873 EAST COAST 1-800-556-7586 12 Meeting Street Cumberland, Rl 02864 1-401-722-1027 OMEGA SALES CO. played in real time, and you jump about in space armor trying to wreak havoc on the dastardly enemy while avoiding death. And it's balanced: you usually get out alive, but just barely. I'm a Star Warrior addict. The boys like ASI's Hellfire Warrior, which is an extension of their famous Temple of Aphsai. They also like ASI's Rescue at Rigel, which is Dungeons and Dragons in spacesuits. I expect I'd like them too, if I had time to play them. However, I'm not enough of a masochist to play Scott Adams's Adventure International games. There are those who like Scott's games a lot. Certainly, they aren't easy. Unfortunately, for me at least, they're just too tough. For example, he's got one called Balrog Sampler (it also has the title Maces and Magic #1 on it), a vastly complex game requiring two 5V4-inch disk drives. Like Automated Simulation's Temple of Aphsai, when you enter the game it generates a random character for you, after which you buy weapons, armor, and the like, before setting out. Unlike ASI's games, Adams's game gives you no choice. You have to accept the characters randomly generated for you and a scruffy lot they are. But don't worry — if you're lucky enough to get one who's strong as Superman and rich as Croesus, he's still going to get killed about the time you get interested in the game. Everybody gets killed in Adams's dungeon, and often un- fairly. In Zork and Adventure there's some logic to the puzzles, but in Balrog various things pop up and kill you before you can run away. There's one room in his dungeon where you find an attendant and a wheel of for- tune. If you don't play, the bouncer comes and kills you. If you do play, you lose. There are other "puzzles" in Balrog, but all of them are inexplicable — at least to me — and I always get killed. So do the boys, and one of them is an experienced (and fanatical) Dungeons and Dragons player, so it isn't just my amateur status. It wouldn't be so bad if you could just play, get killed, and start over, but since the game is in BASIC (with en- crypted messages and all kinds of kludges to keep you from analyzing it) it takes forever to initialize, load, create a character, and go through the ritual of choosing weapons and armor, just so you can get killed two minutes later. The dungeon keeps score and the program alters itself after every expedition so that when next you play, the dungeon proudly displays the number of players who have entered and the number killed. Ours is up to about 25 for 25 now, and nobody in the neighborhood wants to see the game again. Meanwhile, Workman & Associates continues to sell the original Crowther and Woods Adventure for CP/M systems (see my review, December 1980 BYTE, page 230), only now they've added a twist. "Only with our Build-an-Adventure Kit can you truly build an Adventure," the Workman copy reads, and I guess that's nearly true. The "kit" consists of an Adven- 456 November 1981 © BYTE Publications Inc Circle 319 on inquiry card. ture data base and instructions for altering it or, if you like, starting over with everything new. The data base contains a travel table (description of each room, where you can go from there, and what com- mands get you where); the vocabulary (five-letter or shorter words that the program will recognize); initial conditions for various rooms (light, water, oil, etc); messages, objects, including their initial location and whether or not they can be moved; treasures, which are a kind of object; and various other stuff. It's amazing what you can do with it. For example, you can specify that to get from a room, say BEDQUILT, to another, say SWISS CHEESE, you will be successful 25% of the time if you go East, but always if you go Up, or that the travel will fail if you are not carrying the skull, or that it will fail if you are carrying the skull. You can automatically transfer from one room to an identical room (identical to the player), except all commands work backward in the second room, or there are extra objects and doors. In the actual Adventure game this is done a lot: for ex- ample, there's a room with a live dragon standing on a carpet and another with a dead dragon lying near a carpet. Most players think it's the same room, since it's the same location, but in fact it's not. In the first room the carpet isn't real: it's part of the room description. If you tried to take it, the program would say "I see no carpet here" if the program wasn't instructed to issue messages about the dragon only. In the second room, the carpet is real, and so is the dead dragon, except that you can't "take dragon" successfully because he's an immovable object. Once you've killed the dragon, however, you can't get back to the room in which he's still alive. Workman's implementation of Adventure includes a "wizard" routine that lets you move freely through the dungeon. He doesn't tell you how to use the routine unless you buy the "Build-an-Adventure Kit." To build an adventure, you use a standard editor, such as Wordmaster, to alter the game data base (or create a new one), after which you invoke a BUILDER program. The program takes your logically ordered data base and makes a work file out of it, while simultaneously patch- ing other chunks into the ADVENT.COM file that con- trols the game. You can construct very complex dungeons and when you're done you have a game that recognizes vocabulary. You don't have to specify the permissible moves the way you must in BASIC adventure games. I asked Workman how many of the people who buy the game intend to market adventures and he chuckled. He isn't sure, but he suspects that most copies are sold to people who bought Adventure and then couldn't solve the puzzles and mazes. "We give them the original Adventure data base with the Adventure Kit," Workman said. "That contains the Adventure map. We also tell them how to move through the dungeon by magic. I know that's why one guy bought the kit. He kept writing letters begging for the map. When we put out the kit, he bought the first copy." Coming Up: In the next column I will continue to dis- cuss languages, and I've also collected a raft of data bases I want to talk about. And I just finished letting Zeke do my taxes.... ■ References Grogono, Peter. Programming in Pascal (revised edition). Reading MA: Addison-Wesley, 1980. $13.95. Hughes, Joan K. PL/I — Structured Programming, second edition. New York: John Wiley & Sons, 1979. Additional Information Innovative Software Applications POB 2797, Menlo Park CA 94025 Spellguard CP/M $295 Organic Software, 1492 Windsor Way, Livermore CA 94550 Milestone CP/M, Apple Pascal, UCSD Pascal, CP/M-86 $295 Datebook CP/M, Apple Pascal, UCSD Pascal, CP/M-86 $295 Workman & Assoc, 112 Marion Ave, Pasadena CA 91106 Adventure Build-an-Adventure CP/M CP/M $29.95 $97.50 CP/M Users Group, 1651 Third Ave, New York NY 10028 Speed Volume 38 Each volume CP/M 8-inch disk $8 Catalog North Star 5 l A -inch disk (depending on the number of disks needed) $12 $6 Adventure International, POB 3435, Longwood FL 32750 Balrog Sampler CP/M $29. 95 Automated Simulations Inc, Dept SW7 Box 4247 1988 Leghorn St, Mountain View CA 94040 Star Warrior Apple 11, TRS-80, Atari $ 39.95 Digital Research, POB 579, Pacific Grove CA 93950 PL/ 1-80, MAC. RMAC. L1NK-80 CP/M $500 MT Microsystems, 1562 Kings Cross Dr, Cardiff-by-the-Sea CA 92007 Pascal/ MT + CP/M $475 Sorcim, POB 32505 San Jose CA 95152 Pascal/M CP/M $225 November 1981 © BYTE Publications Inc 457 Circle 276 on Inquiry card. reformaTTer © MrrroTech Exports 1980 GETS FILES ACROSS! With REFORMATTER disk utilities you can read and write IBM 3~i0 and DEC KT-1 1 single density formatted diskettes on your CP/M • system. REFORMATTER enables you to access large system databases, improve data exchange with other organizations, increase program development capabilities, and use your micro in distributed processing. REFORMATTER programs feature bi-directional data transfer and full directory manipulation. ASCII/EBCDIC conversion provided with CP/M <->lBM. MPIM is now fully supported. Program Data Sheets, Application Guides, and Machine Compati- bility Guides available. Each program $195.00 from stock. Specify CP/M ++ IBM or CP/M ** DEC. Order from MicroTech Exports, Inc., 467 Hamilton Ave., Suite 2, Palo Alto, CA 94301 □ Tel: 415/324-9114 □ TWX: 910-370-7457 MUH-AITOS □ Dealer and OEM discounts available. _— CP/M* is a registered trademark ol Digital Research. QB 68000 ERG68-696 68000 CPU in production. Meets or exceeds IEEE696 S-100 standard. $1995 Available software: Z80 emulator, 68K FORTH systems language, Whitesmiths' UNIX-like IDRIS— O/S with C or Pascal com- pilers. Integrated 68000 systems also available. Special offer: 68K Mini-System $7395 CPU, 4 port I/O, 64K static RAM, 68K FORTH O/S and compiler, 10 slot mainframe, (2) 8" D/D, D/S floppy drives or a 5MB 5Va" hard disk drive. Empirical Research Group, Inc. PO Box 1176 Milton, WA 98354 206-631-4855 Book Reviews Apple Pascal: A Hands-On Approach Arthur Luehrmann and Herbert Peckham McGraw-Hill Book Com- pany, New York, 198 1, 432 pages, softcover, SI 4.95 Reviewed by Hartley G Lesser 3243 Oakes Dr Hayward CA 94542 I knew very little about Pascal when I first sat down with this book. I had read a few magazine articles that described Pascal as a struc- tured and understandable language, but my only pro- gramming experience was with BASIC and assembly language. I needed an intro- duction that assumed no prior knowledge, yet, at the same time, I wanted a book that didn't talk down to me. I'm happy to report that Ap- ple Pascal: A Hands-On Ap- proach is not only thorough and clear, but also treats the reader as the authors' equal. Although the authors begin at the most basic level, they seldom sound like lecturers. They teach as if they and the reader are working together on a series of intriguing experiments. Written in a manner that will hold the interest of adults, this book also ex- plains things clearly enough for children. My nine-year- old son worked through the first three chapters with ap- parent ease, although at a pace somewhat slower than my own. He learned to write simple Pascal programs and save them on disk, and moved on to the session on the graphics features of the Apple Pascal system. Judging from our experience, Apple Pascal: A Hands-On Ap- proach will meet the needs of a wide variety of readers. Although it focuses on Pascal, the book has more general applications. In addi- tion to describing the me- chanics of this one language, it explains sound program- ming techniques. If you have access to an Apple, then this book is an excellent way for you to learn the art of pro- gramming as well as the vir- tues of Pascal. Hands On! The title means what it says: this book's instructional method really requires you to get your hands on an Apple and work your way through. Mastering the material pre- sented will require that you commit several hours each day to sessions with the Ap- ple. The sessions present sim- ple but interesting procedures that produce clear results — whether they be music, graphics, or text. I resolved to spend two or three hours in front of my Apple each day for about six weeks. Sometimes events dis- rupted my schedule, but that only pointed out another of the book's strengths: the pre- sentation of information in a natural sequence. With a minimum of rereading, I was usually able to pick up where I had left off. And at the end of six weeks of study, I had a firm grasp of the basics of Pascal. The book is organized into work sessions rather than conventional chapters. The authors' method is to describe a project in general terms, and then try different ap- proaches to see what works and what doesn't. The reader understands each point thoroughly as a result of run- ning several slightly modified versions of the same program before achieving complete success. 458 November 1981 © BYTE Publications Inc Circle 163 on inquiry card. Circle 415 on inquiry card. TERMINALS FROM TRANSNET Circle 281 on inquiry card. PURCHASE PLAN • 12-24 MONTH FULL OWNERSHIP PLAN • 36 MONTH LEASE PLAN PURCHASE PER MONTH DESCRIPTION PRICE 12 MOS ?i MOS 36 HOS LA36 DECwriter II S1.095 S105 $58 S 40 LA34 DECwriler IV 995 95 53 36 LA34 DECwriter IV Forms Ctrl. . 1095 105 58 40 LA120 DECwriter III KSR 2,295 220 122 83 LA120 DECwriter III RO 2.095 200 112 75 VT100 CRT DECscope 1,695 162 90 61 VT132 CRT DECscope 1,995 190 106 72 TI745 Portable Terminal 1,595 153 85 58 TI765 Bubble Memory Terminal 2,595 249 138 93 Tl Insight 10 Terminal 945 90 53 34 TI785 Portable KSR. 120 CPS . 2,395 230 128 86 TI787 Portable KSR, 120 CPS . 2.845 273 152 102 TI810 RO Printer 1,695 162 90 61 TI820 KSR Prinler 2,195 211 117 80 DT80-1 CRT Terminal 1,695 162 90 61 DT80/3 CRT Terminal 1,295 125 70 48 DT80/5L APL 15' CRT 2,295 220 122 83 ADM3A CRT Terminal 650 62 36 25 ADM31 CRT Terminal 1,095 105 58 40 ADM42 CRT Terminal 2.195 211 117 80 1420 CRT Terminal 945 91 51 34 1500 CRT Terminal 1,095 105 58 40 1552 CRT Terminal 1,295 125 70 48 920 CRT Terminal 895 86 48 32 950 CRT Terminal 1,075 103 57 39 Letter Duality, 7715 RO 2,895 278 154 104 Letter Duality, 7725 KSR 3,295 316 175 119 2030 KSR Printer 30 CPS 1,195 115 67 43 2120 KSR Printer 120 CPS 2.195 211 117 80 730 Desk Top Printer 715 69 39 26 737 W/P Desk Top Printer .... 895 86 48 32 FULL OWNERSHIP AFTER 12 OR 24 MONTHS -10% PURCHASE OPTION AFTER 36 MONTHS MICROCOMPUTERS APPLE • COMMODORE • HP85 • DEC LS1 11 ACCESSORIES AND PERIPHERAL EQUIPMENT ACOUSTIC COUPLERS • MODEMS • THERMAL PAPER • RIBBONS • INTERFACE MODULES • fLOPPV DISK UNITS DEC TEXAS INSTRUMENTS DATAMEDIA LEAR SIEGLER HAZELTINE TELEVIDEO NEC SPINWRITER GENERAL ELECTRIC CENTRONICS R AM Si\ET corporation 1945 ROUTE 22 • UNION, N.J. 07083 • (201) 688-7800 TWX 710-985-5485 DECLSI-ll Components Dependable service at discount prices Domestic ■illl and Export -Inn «. *».*. r ■ '^rnm J \JV vv vvvv U mini Computer Suppliers, Inc. 25 Chatham Rd., Summit, N.J. 07901 Since 1973 (201) 277-6150 Telex 13-6476 EDITOR, ASSEMBLER AND MORE! SOFTWARE DEVELOPMENT SYSTEM The Micro Works Software Development System (SDS80C) is a complete 6809 editor, assembler and monitor package contained in one Color Computer program pack! Vastly superior to RAM-based assemblers/editors, the SDS80C is non- volatile, meaning that if your application program bombs, it can't destroy your editor/assembler. Plus it leaves almost all of 16K or 32K RAM free for your program. Since all three programs, editor, assembler and monitor are co-resident, we eliminate tedious program loading when going back and forth from editing to assembly and debugging! The powerful screen-oriented Editor features finds, changes, moves, copys and much more. All keys have convenient auto repeat (typamatic), and since no line numbers are required, the full width of the screen may be used to generate well commented code. The Assembler features all of the following: complete 6809 instruction set; complete 6800 set supported for cross-assembly; conditional assembly; local labels; assembly to cassette tape or to memory; listing to screen or printer; and mnemonic error codes instead of numbers. The versatile ABUG monitor is a compact version of CBUG, tailored for debugging programs generated by the Assembler and Editor. It features examine/change of memory or registers, cassette load and save, breakpoints and more. SDS80C Price: $89.95 .**% «V~ CRACK THOSE ROMS! SOURCE GENERATOR: This package is a disassembler which runs on the color computer and generates your own source listing of the BASIC interpreter ROM. Also included is a documentation package which gives useful ROM entry points, complete memory map, I/O hardware details and more. A 16K system is required for the use of this cassette. 80C Disassembler Price: $49.95 CBUG IS HERE! MONITOR TAPE: A cassette tape which allows you to directly access memory, I/O and registers with a formatted hex display. Great for machine language programming, debugging and learning. It can also send/receive RS232 at up to 9600 baud, including nost system download/upload. 19 commands in all. Relocatable and reentrant. CBUG Tape Price: $29.95 MONITOR ROM: The same program as above, supplied in 2716 EPROM. This allows you to use the entire RAM space. And you don t need to re-load the monitor each time you use it. The EPROM plugs into the Extended Basic ROM Socket or a moditied ROMPACK. CBUG ROM Price: $39.95 LEARN 5809! 6809 ASSEMBLY LANGUAGE PROGRAMMING, by Lance Leventhal, contains the most comprehen- sive reference material available for programming your Color Computer. Price: $16.95 PARALLEL O! USE A PARALLEL PRINTER with your Color Computer! Adaptor box plugs into the serial port and allows use of Centronics/Radio Shack compatible printers with parallel interface. Assembled and tested. PI80C Price: $69.96 THE W®\^S^ RO GOOD STUFF! 32K RAM! MEMORY UPGRADE KITS: Consisting of 4116 200ns. integrated circuits, with instructions for installation. 4K-16K Kit Price: $39.95. 16K-32K Kit (requires soldering experience) Price: $39.95 WE SHIP FROM STOCK! Master Charge/Visa and COD Accepted BOX 1 110 DEL MAR, CA 9201 4 71 4-942-2400 Circle 264 on inquiry card. BYTE November 1981 459 Book Reviews The authors are careful to demonstrate the traps in the language system and how to cope with them. In fact, they instruct you to commit errors, then explain each error so that you really un- derstand why some programs won't compile and run cor- rectly. The explanations are all the more effective because they come after the demon- stration. Each new session begins with a brief summary of the previous session. After out- lining the goals of the new session, the authors break it down into manageable sec- tions. Each section treats a specific feature of Pascal— whether it be the command prompts, the use of variables, or the grammar rules that ap- ply to the procedures under study. The authors end each session by presenting a brief summary and a series of thought-provoking questions and problems. I strongly recommend that you answer the session-re- view questions and problems before you go on to the next session. The questions test your comprehension of the material presented, and al- though some questions are difficult, answering them lays a foundation for work to come. An appendix contains the answers, and the tempta- tion to peek can be strong. Try to refrain from peeking until you've worked out your best answer to each question or problem. Then, of course, you can check your answers against those in the appendix. Getting Started Session 1, "Getting Started," tells the reader what he or she needs in order to work with the book: an Apple II or Apple II Plus computer with 48 K bytes of RAM (random-access read/ write memory), a properly A MITSUBISHI FLEXIBLE DISK DRIVE SETTING NEW STANDARDS FOR RELIABILITY AND DURABILITY • FULLY IBM AND SHUGART SA850R COMPATIBLE • DOUBLE-SIDED, DOUBLE-DENSITY • 1.6 MBYTE/DISK • SOFTOUCH™ PROPRIETARY HEAD LOAD MECHANISM • 3 MS TRACK-TO-TRACK ACCESS TIME • HIGH QUALITY, ALL FERRITE MnZn HEADS • PRECISION BUILT/MODULAR CONSTRUCTION • 6 MONTH WARRANTY I I $525.00 Available from stock. Terms: cash, check, money orders, VISA, MasterCharge. Tax: 6% if California resi- dent. "Price subject to change without notice. U 2 1333 Lawrence Expressway, Suite 408 Santa Clara, California 95051 (408) 247-3450/TWX 910-338-7442 AUTHORIZED SALES AND SERVICE AGENT FOR INFORMATION CONTACT HOLLY SAUER OEM INQUIRIES INVITED installed language system, a TV monitor or a TV receiver with RF (radio frequency) modulator, and a pair of game paddles. Only one disk drive is required, but instruc- tions are included for using more than one. The text calls for Apple Pascal version 1.1, contained on two disks marked AppleO: and Apple3:. Both disks come with the purchase of the lan- guage system. The authors provide an appendix, how- ever, for users of Apple Pascal version 1.0 that states every change that must be made in the text to accommo- date the earlier version of the language. They stress the im- portance of keeping back-up copies and explain all of the 26 steps necessary to copy the distribution disks using two drives (Appendix B) and the even more numerous steps necessary when using a single drive (Appendix A). Session 1 proceeds with in- structions for "booting" Pascal and then guides the reader on a tour of the Pascal system that includes the command-prompt line, the file-prompt line, the filer's date-set command, the filer's "volume" feature (which displays a list of input and output devices that are "on- line"), and the filer's L com- mand (which lists the direc- tory of a disk). The session ends with an explanation of how to toggle from one half of the Pascal "page" to the other. Considering how much material the first ses- sion covered, I was surprised at how smoothly everything had gone. The Pascal editor, includ- ing how to obtain the work- space needed to create pro- grams and how to move pro- grams into and out of mem- ory and onto a disk, is ex- plained in Session 2. Session 3 teaches the writing, run- ning, and changing of pro- grams. It was during this ses- sion that I first began to feel at ease with the Pascal lan- guage. In fact, the language seemed hospitable to my in- put. Session 4 demonstrates the use of built-in procedures and taught me how to generate sound. I also learned how a function could provide input to a program, how a For loop works, and how to rename a disk or a file. In Session 5, the impor- tance of the distinction bet- ween local and global variables is emphasized, and the creation and calling of new procedures is explained. Session 6 explains func- tions, comments brackets, and some new features of the editor. Session 7 presents more about graphics. I learned to use the "turtle," the creature that crawls across the screen drawing lines with pens of different colors — but I did encounter some difficulties in the pro- cess. I rushed through this session the first time. On the second time through, I was able to complete answers to all the questions and to write the programs requested by the authors. As a result of this experience, I recommend that you study at a moderate pace. Session 8 covers branching statements, more graphics features, and the technique of obtaining user input for a running program. Session 9 tackles string variables and While loops, and Session 10 teaches number types and arithmetic. The authors de- serve particular praise for this chapter; I loathe mathe- matics but found the material both interesting and effortless to learn. Discovering the Scalars Session 11 introduces scalar data types and sets. This session is strikingly suc- cessful in leading the reader to discover, by directed ex- periments, what a scalar data 460 November 1981 © BYTE Publications Inc Circle 299 on inquiry card. Circle 359 on inquiry card. JANUS # the language that is based on the past but looks to the uses of the future. JANUS is a true compiler for a subset of ADA. ADA is the much awaited U.S. Department of Defense language. With JANUS, it is available now on your CP/M system. Now, JANUS includes Single & Double Precision Floating Point numbers, as well as Unlimited Precision Fixed Point numbers. The JANUS package is an integrated set of programs, support- ing true Separate Compilation. The JANUS package produces ROMable, Re-entrant 8080 or optimized Z80 machine code. Code that is not only fast, but also is small because it includes a minimum of run-time support. But no other currently available compiler really compares with JANUS. You too can take a step forward into the future. ORDER before December 31 and get in on the special intro- ductory price of $2 50. The JANUS package consists of the JANUS compiler, linker, assembler, disassembler, and users manual. JANUS requires an 8080/8085 or Z80 CPU, 56K of memory, and at least one 8" floppy disk. JANUS is supplied on a single density 8" floppy disk. Specify 8080 or Z80 optimized version. ffcs CP/M is a trademark of Digital Research, Inc. ADA is a trademark of the U.S. Department of Defense OFTWARE specialists in state of the art programming P. 0. BOX 1512, MADISON, Wl 53701 (608)244-6436 Circle 12 on inquiry card. QUALITY parts at DISCOUNT PRICES RFI LINE FILTER 5S§ for line to line & line to ground noise suppression « ,>jjf CORCOM o IOK8 &@LW Rated: 10 amp 115/250 v 50-400 hz $ 3.75 ea. 10 for $35.00 SUPER SMALL PHOTO-FLASH 170 MFD 330 VOLT jjrfjjj 2 lor $1.50 R; 'J 10 lor $7.00 MRF 901 MICROWAVE TRANSISTOR $3.00 EACH TYPE N CONNECTOR KINGS UG 526 B-U Fivs RG55, RG58, RG1M RG'.'l2, RG225 ,^eBS>L_- 51.75 each 10 lor $16.00 MINI SIZE BUZZERS 1%to 3 volts WITH WIRE LEADS fWaB 75* each J|hC 1)4 to 3 volts &gr WITH PIN TERMINALS - 75«each S3 3 to 7 volts |> ~ F" W1TH PIN TERMINALS! 1 75 C each ' "® SEND FOR OUR NEW -i e e.' 40 PAGE CATALOG f« e HEADERS 34 PIN HEADER 3M 3413-1003 SI. 25 EA 40 PIN HEADER ALPHA $1.50EA SO PINHEADER 3M 3433-1002 $1.75 EA 40 PIN CONNECTOR 3M 3417 $1.50 EACH mm 8 s&tch ,p Til II I If $1.50 each 1 L.E.D.s 'standard jumbo diffused | RED 10 FOR SI. 50 GREEN 10 FOR S2.00 YELLOW 10 FOR S2.00 FLASHER LED X "t 5 VOLT OPERATION JUMBO SIZE 2 FOR 51.70 Bl POLAR LED 2 FOR 51.70 SUB MINI LED .079" X .098" 20mA at 1.75V 10 FOR 51.00 200 FOR 518.00 QUANTITY PRICES AVAILABLE 14 CONDUCTOR RIBBON CABLE SCOTCHFLEX K3365 28 AWG STRANDED GRAY WITH RED MARKER 10 FEET for $2.50 100 FOOT ROLL $12.00 ALL CLECTROAICS CORP. 905 S. Vermont Ave. P.O. BOX 20406 Los Angeles, Calif. 90006 (213)380-8000 Mon. - Fri. Saturday 9 AM- 5PM 10AM -3PM • Quantities Limited • Min. Order 110.00 •Add $2.50 Shipping USA • Calif. Res. Add 6% ■ Prompt Shipping TRANSFORMERS 120 volt primaries 6 VOLTS at 150 mA $1.25 12 V.C.T. at 500mA $2.50 16.5 V. at 3 AMPS $6.50 18 VOLTS at 1 AMP $4.50 25.2 VCT at 2.8 AMP $5.50 |22/44EDGE CONNECTOR T1NSOL0ERTAIL 556 » 200" LAHGE QUANTITIES AVAILABLE SI 35each 10 for 512 50 MODEL II DISCOUNT TRS-80® MODEL III BUY DIRECT COMPUTER SPECIALISTS 26-4002 64K 1 Drive $3297.00 We carry the full line of TRS-80 Computers. All sold at Discount Prices. 26-1061 4KI 26-1062 16K III.... 26-1066 48K III VV/2 Drives. RS232. $609.00 849.00 2077.00 CALL US. . . SAVE MONEY WRITE US FOR A FREE CATALOG 1-800-841-0860 Toll Free Order Entry MICRO MANAGEMENT SYSTEMS, INC. No Taxes on Out Of State Shipments DOWNTOWN PLAZA SHOPPING CENTER DEPT. # 1 115 C. SECOND AVE. S.W. CAIRO, GEORGIA 31728 Immediate Shipment c e . - \. (912) 377-7120 Ga. Phone No. & Export r-rom btock on Most Items TRS . 80 „ „ „„„,.„,,, , rDdemork of , he Tondy Co r P . A copy of the manufacturer's war- ranty can be obtained free upon specific written request to the Electronic's Department of our Cairo, Georgia Retail Store. Circle 127 on inquiry card. BYTE November 1981 461 Circle 357 on inquiry card. Kill Surges Like Lightning! Model SS-120-H UL Listed. Permanent protection for small computers, communi- cations, medical and other sensitive electronic equip- ment. Surge Sentry works in parallel with the power line to shunt destructive power surges in picoseconds! Triggers at 10% above the nominal peak voltage. At $89.50, it's less than the cost of a service call. Easy to install for immediate protection. Several models to choose from to fit your specific application. For details and a free brochure, call or write M IgJRh INDUSTRIES Telephone: (408) 438-5760 208 Mount Hermon Road, Suite 2, Scotts Valley, CA 95066 Dealer inquiries invited. 32K Static Ram Memory with Ultimate features • Bank Select • Extended Address • 8/16 bit Data S465 with 32KB S295 with 16KB SI 49 without memory chips All assembled and Tested Features: Mrjdel-32KUS Uniselect: 3 • 8/16 bit wide data • Extended Addressing, 24 bit • Bank Select by ports and bits - compatible with Cromemco, Alpha Micro, North Star and others • Fully Static and low power - 600 orA typ. • Two 16KB addressing, 32K bank select, with window capability in 2K increments • EPROM (2716) can be mixed with RAM • Provision for Battery back - up • Fast Access Time - 250 nsec, will run with Z80/Z8000 to 4 Mhz, 8086/8088 or 68000 to 8 Mhz without wait states. 16K Static Ram Memory • Bank Select S195 Assembled and tested with lower power, 200 nsec chips Features: Model-1 6KUS 'Uniselect' • Fully Static - uses 21141-2 • Bank Select by ports and bits - compatible with Cromemco. Alpha Micro Other S-100 boards Available: Z80 CPU with 8 levels ol Interrupts. 1/0, ROM, RAM interlace with built in Audio Cassette. All boards conform to IEEE696/S100 specifications, fully socketed, screened legends, solder masks, Gold contacts, and Guaranteed for One Full Year. Deliver is from stock to 72 hours. Ordering: MC, Visa, C.0.0. accepted. Add S5.00 for C.O.D. Personal check takes 7 to 15 days to clear before shipping. Undamaged boards can be returned within 10 days for full refund. Illinois residents add 5'/4% sales tax OEM S.C. Digital & 0EALER PRICING AVAILABLE P.O. Box 906 Aurora, IL 60507 Phone: (312) 897-7749 Book Reviews. type is. A few quotes (page 238) will give you an idea of the writing style: What is WHITE any- way? Well, what things could it be? First we note that WHITE appears in this program as a para- meter that is being passed to the PENCOLOR proce- dure. That rules out the possibility of its being a reserved word, such as IF or FOR or WHILE or BEGIN, since reserved words never have values. The things that have values in Pascal are vari- ables, constants, and functions. Perhaps WHITE is one of these things. ... if WHITE is an integer or a real num- ber or a character or a string, then WRITELN (WHITE) will tell us what its value is. Insert a semicolon after READLN and then the fol- lowing new line: WRITELN (WHITE) Run the new version. Well, whatever WHITE is, it does not be- long to one of these stan- dard data types. The error message makes that plain. WHITE seems to have a value, but it is not a num- ber, a character, or a string. Very mysterious. Here's another ap- proach. . . . And so on. The reader sees scalar data types and what they will and won't do. The authors let the reader infer much about scalars, and let the reader enjoy a real sense of discovery at every stage. The scalar data types are de- fined only after they have been revealed; by then, the reader feels like the Amerigo Vespucci of the scalars. Session 12 uses the same experimental approach to in- troduce arrays and their uses. Session 13 provides a thorough introduction to rec- ords and file systems. Session 14, the last in the book, dis- cusses recursion and its uses. The session ends with a daz- zling color-graphics program. In addition to the appen- dices already mentioned, there are the following: "Names, Reserved Words, and Built-in Names," "The Command Structure of Ap- ple Pascal," "Size and Quan- tity Limits in Apple Pascal," and "ORD and CHR Values of ASCII Character Set." A list of the 500 compiler error messages follows a compre- hensive index. Every book has its flaws, but those I will name are minor. There are some in- structional paragraphs that are long and tedious — more, 1 think, as a result of the book's design than of the authors' prose. A more liberal use of graphics would have broken the paragraphs into digestible chunks. The book also neglected two im- portant commands: the one that clears the screen of text and the one that inserts tabs in output to the screen. I found these commands else- where, but the book should have mentioned them. In summary, Apple Pascal: A Hands-On Approach is a fine introduction to a power- ful and increasingly popular programming language. I can unhesitatingly recommend this book to any Apple owner, and I would jump at the chance to buy a sequel. ■ 462 November 1981 © BYTE Publications Inc Circle 369 on inquiry card. Book Reviews Threaded Interpretive Languages by R G Loeliger BYTE Books, Peterborough NH 1981, 251 pages, hardcover, SI 8.95 Reviewed by A Richard Miller 6 1 Lake Shore Road Natick MA 01760 Ron Loeliger's new book may well be the most impor- tant one in years for a grow- ing number of FORTH pro- grammers and enthusiasts. Although the book is called Threaded Interpretive Lan- guages, the prospective reader should know that its subject is FORTH. This book is well written and witty, but be warned that it is not trivial. It sets out to implement a Z80-based computer language, right before your eyes. The author calls his language ZIP: again, read FORTH. For those who are able to discriminate among versions of this "newly arrived," high- level language (and/or as- sembler, and/or interpreter, and/or compiler, and/or op- erating system, and/or total computer environment, and/ or seemingly whatever you wish), ZIP is a close approx- imation of microFORTH from FORTH, Inc. It is also generally similar to fig- FORTH, and to FORTH-79 systems including MMS- FORTH It has become traditional to introduce FORTH with a scries of initially baffling key- board entries. One might lead off with some arithmetic, us- ing FORTH's Reverse Polish Notation (eg: the FORTH phrase {55*. }) instead of BASIC'S more familiar ("PRINT 5*5. Next, one might demonstrate FORTH's ability to add new words to its instruction set, adding a new word to do a given job (eg: the FORTH phrase { : SQUARE DUP * . ; } compiles a new instruction named SQUARE, which then might be executed as { 5 SQUARE } to do the same thing as the above ex- amples). Soon, one is switch- ing number bases with HEX, and DECIMAL, switching dictionary vocabularies with EDITOR , ASSEMBLER and FORTH , and eventually creating whole new types of defining words with < BUILDS (79-STANDARD now calls it CREATE) and DOES> . This traditional approach presumes that one must have many hours of low-level ex- perience with the language before considering why FORTH works the way it does. As with BASIC, most users never get around to learning how FORTH literal- ly threads its way through the internals of the computer to gain its ends. But its unique internal design makes FORTH what it is and Threaded Interpretive Lan- guages starts with internal de- sign and stays there for most of its pages. It assumes no knowledge of FORTH but does demand more than a be- ginner's familiarity with com- puters. To practice routine FORTH operations, get an- other book, a lot of sample FORTH source code, an ade- quate FORTH system to run on your computer, and some learning projects of your own. To learn FORTH inside out, however, buy this book! Any good FORTH system is very compact and very fast. For example, on the TRS-80ModelI or III, MMS- FORTH is about 20 times faster than Level II BASIC. Thus, many programmers do all FORTH programming in high-level FORTH. But FORTH includes a resident assembler and, where extra speed helps, it is at your com- mand. I like the author's un- biased way of balancing the trade-off between the ease and elegance of high-level FORTH and the "brute force" capabilities of assembly lan- guage. The publisher deserves praise for treating this book as just that — a book. Up to now, most FORTH books have been indifferently printed and looseleaf bound. In contrast, Threaded Inter- pretive Languages is a solid little hardcover book, profes- sionally produced and with a touch of class. I do have some minor criticisms. The book uses black squares to represent the space characters within the code. Although it is useful to indicate the spaces (rather than to assume them), these large black squares over- whelm the eye and distract the mind. I recommend the use of unobtrusive open squares for the book's next edition. In a similar vein, the input lines are printed with proportional spacing between the characters, in contrast to the "typewriter-spaced" uni- formity of a video terminal. Although this "typeset" style may appear more attractive, it is less faithful to the orig- inal material and is, I believe, misapplied here. It is unfortunate that the author chose to call the lan- guage ZIP instead of FORTH, as that further complicates the issue. I imagine that, when he wrote this material, he wished to avoid any con- flict with FORTH, Inc, which holds the rights to its name. However, in the last few years, FORTH, Inc has been gracious enough to encourage systems houses to produce versions with several variants on the name. His caution, therefore, appears unneces- sary and — given the title of this important book — some- what misleading. It may also be misleading to say that the book imple- ments a computer language. It does, but the author cor- rectly warns that the imple- mentation will require some work by the reader. It will also require some decisions that will affect certain trade- offs, lots of ability, time, pa- tience, and a very good idea of what you intend to accom- plish. A few expert pro- grammers will follow his pat- tern to create elegant and streamlined FORTH. Others may concoct unfortunate ap- proximations of good sys- tems. Most readers will do neither, but reading this de- velopment of a FORTH sys- tem will enable them to ap- preciate the several complete FORTH systems now avail- able for microcomputers. As a good book on music theory stimulates musicians, I believe this text will serve most effectively as a mar- velous insight for those work- ing with existing — and de- bugged — FORTH systems. In other words, do not study music theory without practic- ing on a musical instrument. And, if at all possible, do not design an instrument without first playing on another. FORTH has existed only for a decade. It has thousands of users, but it was invisible to the general microcomputer community until the special FORTH issue of BYTE (August 1980). In this re- viewer's opinion, Threaded Interpretive Languages is the first book of excellent quality among the few written about the language. ■ November 1981 © BYTE Publications Inc 463 Software Received This is a list of software packages that have been received by BYTE Publications during the past month. The list is correct to the best of our knowledge, but it is not meant to be a full description of the product or the forms in which the product is available. In particular, some packages may be sold for several machines or in both cassette and floppy-disk format; the product listed here is the version received by BYTE Publications. This is an all-inclusive list that makes no comment on the quality or usefulness of the software listed. We regret that we cannot review every software package we receive. Instead, this list is meant to be a monthly acknowledgment of these packages and the companies that sent them. All software received is considered to be on loan to BYTE and is returned to the manufacturer after a set period of time. Companies sending software packages should be sure to include the list price of the packages and (where appro- priate) the alternate forms in which they are available. Apple Auto-Modem, a telecom- munication utility program for the Apple II. Floppy disk, $39.95. Computer Station, 11610 Page Service Dr, St Louis MO 63141. Castle Wolfenstein, a real- time graphics adventure pro- gram for the Apple II and Apple II Plus. Floppy disk, $29.95. Muse Software, 330 N Charles St, Baltimore MD 21201. Enhanced Centronics 739 Graphics Software, a utility program that prints high-res- olution graphics for the Apple II. Floppy disk, $44.95. Computer Station (see address above). Enhanced Graphics Soft- ware, for the Epson MX-80. A utility program that prints high-resolution graphics for the Apple II. Floppy disk, $44.95. Computer Station (see address above). Enhanced Graphics Soft- ware, for the NEC Spinwriter (5510/5520). A utility pro- gram that prints high-res- olution graphics for the Apple II. Floppy disk, $44.95. Computer Station (see address above). Falcons, a graphics arcade game for the Apple II and III. Floppy disk, $29.95. Piccadil- ly Software Inc, 89 Summit Ave, Summit NJ 07901 . MACRO-SCED 2.1, a cur- sor-oriented screen editor for the Apple II. Floppy disk, $49.95. Computer Station (see address above). Micro-DSS/Finance, a financial planning and analy- sis package for the Apple II Plus. Floppy disk, $1500. Addison-Wesley Publishing, Jacob Way, Reading MA 01867. NET-WORKS, a bulletin- board and information-ser- vice system for the Apple II. Floppy disk, $124.95. Com- puter Station (see address above). P-LISP 2.0, an implemen- tation of the interpretive lan- guage LISP for the Apple II. Floppy disk, $99.95. Pegasys Systems Inc, 4005 Chestnut St, Philadelphia PA 19104. Powertext, a word-pro- cessing program for the Apple II. Floppy disk, $199. Beaman Porter Inc, Pleasant Ridge Rd, Harrison NY 10528. Professional Easywriter Version 4, a word-processing program for the Apple II. Floppy disk, $250. Informa- tion Unlimited Software, 281 Arlington Ave, Berkeley CA 94707. Ultra Hi-Res Graphics, a utility program that plots as much as a full page of output for the Paper Tiger 460G to 560G series printers and the Apple II. Floppy disk, $49.95. Computer Station (see address above). Word Handler, a word processor that does not re- quire hardware modifications for the Apple II. Floppy disk, $189. Silicon Valley Soft- ware, 652 Bair Island Rd, Redwood CA 94065. Zork: The Great Under- ground Empire, Part I, Ad- venture-type game for the Apple II. Floppy disk, $39.95. Personal Software, 1330 Bordeaux Dr, Sunny- vale CA 94086. Commodore VIC Biorhythm Compatibility, a program that compares bio- rhythm charts for the Com- modore VIC-20. Cassette, $14.95. Commodore, 950 Rit- tenhouse Rd, Norristown PA 19403. Space Math, a utility pro- gram that solves basic mathe- matical problems for the Commodore VIC-20. Cas- sette, $14.95. Commodore (see address above). TI 99/4 Invoice Management, a utility program that main- tains a customer-invoice file for the TI-99/4. Floppy disk, $69.95. Texas Instruments Inc, Dallas TX 75265. Saturday Night Bingo, a board game for the TI-99/4. Floppy disk, $29.95. Texas Instruments Inc (see address above). Speak & Spell Program, emulates a TI Speak & Spell for the TI-99/4. Floppy disk, $29.95. Texas Instruments Inc (see address above). Structural Engineering Li- brary, five programs that solve engineering problems for the TI-99/4. Floppy disk, $29.95. Texas Instruments Inc (see address above). Teach Yourself Extended BASIC, a self-help guide to TI Extended BASIC for the TI-99/4. Floppy disk, $24.95. Texas Instruments Inc (see address above). TRS-80 B17 Disk/Bas, a utility program that saves and loads disk files to and from cassette tapes for the TRS-80 Model I. Cassette, $14.95. ABS Sup- pliers, POB 8297, Ann Arbor MI 48107. CC Writer, a word-pro- cessing program for the TRS-80 Color Computer. Cassette, $30. Transforma- tion Technologies, 194 Lock- wood Ln, Bloomingdale IL 60108. DC Circuit Analysis, a program that solves DC cir- cuits for the TRS-80 Model I. Cassette, $11.95. Computer Heroes, 1961 Dunn Rd, East Liverpool OH 43920. KWIK Cassette Operating System, for the TRS-80 Model I. Cassette, $24. KWIK Software, POB 328, Bolivar MO 65613. Maxi Manager A. 3, a data- base management system for the TRS-80 Model I. Floppy disk, $99.95. Adventure In- ternational, POB 3435, Long- wood FL 32750. New DOS/80 Version 2.0, a disk operating system for the TRS-80 Model I. Floppy disk, $149. Apparat Inc, 4401 S Tamarac Parkway, Denver CO 80237. Stock Scoreboard, com- putes investment return and updates holdings for the TRS-80 Model I and III. Cas- sette, $15. Gary L Gilbert, 975 D Elgin, San Lorenzo CA 94580. Wordsmith, a word pro- cessor for disk systems, for the TRS-80 Model I. Cas- sette, $14.95. ABS Suppliers (see address above). ■ 464 November 1981 © BYTE Publications Inc 12 ways American business can increase productive and save energy to improve its etitive e T Westinghouse technology improves productivity. , i "f - K.M ■ V A IIW.i.i.i.i.uJ Precision Heating for Metal Processing increased productivity by 300 percent and cut energy costs by 50 percent for a forging facility. The Westinghouse induction heating system is so much faster than any type of surface heating, it enables the forge to pro- duce parts at three times the old rate. That's because the controlled electric current flow within the bar stock heats to the precise depth required. Such controlled heating from within significantly reduces the energy waste that accompanies surface heating. It also means an improved environment for employes in- volved with forging, forming, rolling, heat treating or curing of coatings. Office productivity increased 6 percent when a Westinghouse "Open Office" System was installed by a major Eastern bank. "Open offices" improved communica- tions, provided efficient work stations and lowered noise levels for the bank's program- mers and analysts. Productivity increased almost overnight. Today, white collar employes represent half of the American work force, but white collar productivity has increased only 0.4 percent per year in the last five years. Install- ing "open offices" by Westinghouse can im- prove those figures. Microprocessor-based production control increased productivity 300 percent for an agri-business. A Westinghouse Numa-Logic™PC-700 programmable controller system replaced manual batching. Now a single 8-hour shift can mix 720 tons of 30 different types of feed requiring 41 separate ingredients. With only a 1 percent weight error in a given ingredient. Before Numa-Logic, the same output required two 12-hour shifts, and there was a 20 percent weight error. The Westinghouse Numa-Logic can in- crease productivity in a wide variety of process and manufacturing operations. Ultrasonic Cleaning and Degreasing increased productivity by over 900 percent for a manufacturer of iron molds. Instead of 1 ,300 man-hours and $21,500 to clean 100,000 units, now it takes 133 man-hours and slightly over $2,100. Westinghouse Ultrasonic Cleaning does a faster, more thorough cleaning job than any other method. Using less harsh chemicals and no elbow grease, high intensity sound waves implode small vapor bubbles that blastoff dirt and residue. If cleaning has been your productivity bottleneck, ultrasonics could be the answer. Westinghouse technology saves energy. *>w Energy Management will save over $800,000 per year in fuel consumption and labor costs for a 600-acre, 150-building chemical plant. A Westinghouse Industrial Energy Man- agement System replaced the plant's slower, traditional ways of monitoring and adjusting energy generation and use. Now, over 1 ,800 sensors provide the central computer with continuous data for real time analysis of the entire plant's energy generation, distribution and process systems. Result: Any deviation from optimum operational levels-anywhere-can be spot- ted and corrected in seconds. By one opera- tor. At the press of a button. Illumination costs were cut $233,000 per year for a 22-story bank. The reason? Westinghouse Ultralume" lamps. Westinghouse researchers discov- ered that combining three particular wave- lengths of light produced a fluorescent that gives better lighting for less money. Two Westinghouse Ultralume Fluores- cents provide the bank with a lighting envi- ronment which the employes agree com- pares to four standard fluorescents while using only half the electricity. The bank has since installed Ultralumes in two other facilities. And is saving an addi- tional $84,000 annually as a result. Ir ■ »/jis. .fHT •par w-x jn ■/ «/-~ J-jr »gat » . a% wd sum JR~~ ojy Combustion Control has cut the fuel bill of an Eastern chemical company 15 percent, saving it $75,000 per year. The company installed a Westinghouse fully automatic boiler system on one of its four boilers. Combining a probe-type oxygen ana- lyzer with a microprocessor-based oxygen trim controller, the system optimized fuel consumption, increased safety, and de- creased excess oxygen by 8 percent. It has been so impressive that the com- pany has ordered similar equipment for its three other boilers. Modular escalators will save over $150,000 per year in energy costs for the mass transit system of a major East Coast city. The 354 Westinghouse Moduline 100" escalators used there save 30 percent of energy costs when going "up" 60 percent when going "down" compared to the con- ventional type. These advanced Westinghouse escala- tors can be connected in modular sections, giving architects a design freedom they never had before. These escalators can skip a floor, span vertical rises of 1 00 feet or more, and provide a nonstop 10-story ride. That's right, 10 stories. Westinghouse technology for the future. JmI SF4 \i m nRE ' V , ,!, 4 I " 1 i .11 ► J ' lal 1 M ^r^ Electricity from sunlight is one step closer to economic reality. The unique Westinghouse Dendritic Web process promises to significantly re- duce the cost of manufacturing photovoltaic cells. It produces long, thin, continuous strips of single crystal silicon, the main component of solar cells. The costly and wasteful slicing of silicon blocks has been eliminated. Modules like the one pictured behind the dendritic strip above can produce up to 16 watts per square foot. Now, Westinghouse is working toward automated production fa- cilities. And we've designed and installed systems for residential application. Fuel Cells promise to be a highly efficient, compact, nonpolluting source of electric power. Westinghouse is developing two types of fuel cells. One is a phosphoric acid fuel cell tar- geted for the mid 80's. It converts any hydro- gen-rich fuel such as synthetic gas from coal directly into electricity. It's environmentally benign, the only by-products are carbon dioxide, heat and pure water. The other type is a solid oxide design. It's even more compact and more fuel effi- cient than the phosphoric acid fuel cell. With an 1800°F operating temperature, it's ideal for industrial cogeneration. It should be ready for use by the mid 90's. u ra ; • mm ■\ :?. , s.ss H SUfa a iii i High Power Battery technology may soon give commercial vehicles such as delivery vans a 100-mile cruising range, take only 4 to 6 hours to recharge, and last 100,000 miles. Westinghouse is developing a high power nickel-iron battery that offers the best combination of high energy density, long life cycle, longer time between charges and competitive life cycle costs. Smaller and lighter than older types of batteries, the new Westinghouse nickel- iron battery could also replace fossil fuels as the power source for industrial forklifts, min- ing machines, and airplane tow trucks. It's already in limited production. Super Small, Super Fast Processors will dramatically enhance America's military capabilities and ultimately revolutionize American industry. Very High Speed Integrated Circuits (VHSIC) will increase processing capabili- ties by over 1 ,000 percent. It wi 1 1 be possible to put up to 500,000 transistors on a single chip. The production and use of very pure silicon will enable such chips to process in- formation at much higher rates of speed. And they'll require 1,000 times less power. And advanced circuit pattern printing techniques will help deliver all of this capa- bility in a package 400 times smaller than today's! Through its technology, Westinghouse is ready to help American industry increase productivity PRODUCTIVITY INCREASE IN MANUFACTURING, 1970-1980 United States Japan 102.1'-; the Netherlands 74.8% France 60.6 ( /r Germany 59.9% Italy 59.0% United Kingdom 25.5% Source: Based on most recent data from the Bureau of Labor Statistics, United Stales Department of Labor, June, 1 C )81 and... Reestablish our worldwide industrial leadership. Improve our trade balance. Slow inflation, and help preserve and improve our quality of life. * For more information, call toll free 800-245-4474 In Pennsylvania, call 800-242-2550 Or write: Six Gateway Center, Dept. 10, Pittsburgh, PA 15222. Clubs and Newsletters Computer Publicity News for Publishers If you're in the computer or electronic publishing busi- ness, Computer Publicity News could be exactly what you've longed for. Send the newsletter your yearly editor- ial schedule and information on how you would like prod- uct releases and advertising sent to you, and Computer Publicity News will publish it free. The newsletter is sent to marketing professionals in the computer and electronic industries. The subscription rate is $195 from Hi-Tech Publicity Consultants, 44 Monterey Blvd, Suite 170, San Francisco CA 94131, (415) 585-6102. Computer Club Rides In Central Texas The Computer Club of San Marcos has been formed to promote personal computing in central Texas. Correspon- dence from other clubs is in- vited, and all can attend meetings. For information, contact January Smith, POB 381, Martindale TX 78655, (512) 357-6762. Packet- Switching Network VADCG (Vancouver Am- ateur Digital Communica- tions Group) is devoted to creating a packet-switching network via amateur radio. It is experimenting with high- speed protocol transmissions, and efforts are underway to connect a smart terminal node-controller board that interfaces any parallel or asynchronous serial device to the network. Other projects include an S-100 card to pro- vide the centralized station node network control and a 1200-bit-per-second modem for connection to VHF (very- high frequency) transceivers. Some public-domain soft- ware is available and more is being developed. Newsletter subscriptons are $10 from VADCG, 818 Rondeau St, Coquitlam, British Colum- bia, V3J 5Z3, Canada. Computer Graphics Software News The Computer Graphics Software News reviews com- puter programs in the public and industrial domain that deal with computer-gener- ated graphics. Areas of inter- est are computer-aided design and manufacturing, anima- tion, business graphics, im- age processing, and petro- physical-related software. The subscription rate is $50 a year (six issues). Contact The Computer Graphics Software News, 5857 S Gessner, Suite 401, Houston TX 77036, (713) 975-8509. PET Users Meet In Golden State The Southern California PET Users Group meets the first Tuesday of each month at 7 PM at the Data Equip- ment Supply Corporation, 8315 Firestone Blvd, Dow- ney, California. For more de- tails, call Lyle Phillips at (213) 693-3175. CCAN Construction Computer Applications Newsletter- CCAN is a monthly publica- tion from the Construction Industry Press. It has infor- mation and reviews on com- puter products designed ex- clusively for the construction industry. A one-year sub- scription to the Construc- tion Computer Applications Newsletter-CCAN costs $48. Contact the Construction In- dustry Press, 1105-F Spring St, Silver Spring MD 20910, (301) 589-4884. Mall-Order Software Library ESL (Educational Software Library) is a nonprofit, mail- order library of educational programs for the TRS-80 Models I and III. Members receive a bimonthly newslet- ter that describes current selections, which range from preschool to high school level. A one-year membership costs $20 and entitles you to the newsletter, two educa- tional tapes, the opportunity to borrow programs for two- week periods at $2 per tape, and the chance to purchase software at discount prices. Contact ESL Inc, 262 Park Ln, King of Prussia PA 19406. Mlcrosrv Newsletter The Microsrv newsletter has short articles, technical tips, news, and programming help. It is primarily for Apple users, but much of the infor- mation can be applied to any system. For details on sub- scriptions or submitting editorial material, contact Microsrv, 20th Century Busi- ness Systems, 324 W 145th PI, Riverdale IL 60627, (312) 841-3400. Librarians and Microcomputers The University of Arizona Graduate Library School has announced the availability of the Small Computers in Li- braries Newsletter. The news- letter acts as a clearinghouse for the sharing of information on microcomputers in librar- ies. It offers glossaries, short tutorials, and reviews of pro- grams and books pertinent to the subject. Subscriptions start at $20 from the Gradu- ate Library School, Attn: SCIL, University of Arizona, 1515 E First St, Tucson AZ 85719, (602) 626-3565. New TRS-80 Group In North Carolina The Greensboro TRS-80 Group is a recently formed club that wants to learn all it can about TRS-80 equipment. Contact David K Bodman, POB 7785, Greensboro NC 27407, (919) 855-9155. Sun Shines On New CBBS A new CBBS (computer- ized bulletin-board system) has gone on line in Orlando, Florida. The system is posi- tioned to service central Florida, and licenses are available for other areas. No particular subject dominates the board. The 24-hour tele- phone number is (305) 830-8166. National Apple Newsletter Owners and users of Apple II and II Plus computers now have a club publication de- voted to their needs. The Na- tional Apple Newsletter will print anything members de- mand: Pascal programs, home control, computerized alarm systems, and other practical applications. For more information, contact Scott Summer, 27 Leicester Way, Pawtucket RI 02860. ■ November 1981 © BYTE Publications Inc 465 Event Queue November 1981 November-December Courses from Datapro, vari- ous sites throughout the US. Datapro Inc's educational program features seminars and one-day management briefings on a wide range of subjects. Among the topics to be presented are "Structured Systems Analysis," "Intro- duction to Micro/Personal Computers," "Local Net- works," "Evaluating and Se- lecting Computer Software Packages," and "BASIC: In- troduction to Computer Pro- gramming." Seminar enrollment fees are $595 for Datapro sub- scribers and $645 for nonsub- scribers. The management briefings cost $360 and $395, respectively. Contact Data- pro Research Corporation, 1805 Underwood Blvd, Del- ran NJ 08075, (800) 257-9406; in New Jersey (609) 764-0100. November-December The Master Method of Selling We'll buy for you on the wholesale market using our expertise to get you the best available price. We have access to over 500 manufacturers. Our fee is one fourth of what we save you off the list price. Examples of total prices being paid by our clients (including our fee) are: COMPUTERS Alpha Micro 1030 $12,047.00 Alpha Micro 1051 17,634.00 Alpha Micro AM-1011 9,313.00 Altos 8000-10 $6,397.00 Altos 8000-15 Altos 8000-2 Apple 2 +48K Archives Model I Archives Model II Archives Model III CCS Series 300-1 A CCS Series 400-1 A Cromemco System 3 CromemcoZ-2H Dynabyte 5200-A2 Dynabyte5200-B2 Dynabyte 5615-A1 Ithaca C.B. 128KSS/0D Ithaca Sys. 2'A W7Panel NEC 8001 A NEC8012A NEC 8031 A North Star 64KDD North Star 64KQD 4,450.00 2,629.00 1 ,208.00 4,794.00 5,532.00 6,269,00 4,414.00 6,374.00 5,650.00 7,521.00 3,216.00 4,896.00 8,396.00 5,421.00 2,941.00 1,014.00 600.00 1,014.00 3,073.00 3,299.00 PRINTERS Anadex 9000 Anadex9501 C. ltoh25P C. Itoh 45 P Diablo 630 Diablo 1640 Malibu 1650 Malibu200 NEC 3510 NEC 5510 NEC 5520 KSR NEC 5530 NEC 7710 1,100.00 1,278.00 1,325.00 1,700.00 1,975.00 2,444.00 1,796.00 2,320.00 1,980.00 2,345.00 2,645.00 2,345.00 2,345.00 Epson MX80 IN STOCK! $468.00 Qume Sprint 9-35 Qume Sprint 9-45 Qume Sprint 9-55 CRT, DISK DRIVE, MODEMS Alpha Micro AM-600 Anderson Jacobsen 1256 1,738.00 1,996.00 2,085.00 8,075.00 641.25 North Star Adv. $2,995.00 DEC VT 100 $1,495.00 Televideo System I Televideo System II Televideo TS-800 Term. Vector 2600 Vector 3005 Vector 5005 SOFTWARE Dbase II Spellguard Datastar Spell Star Wordstar Basic Compiler Fortran 80-CPM $2,380.00 5,311.00 1,324.00 4,221.00 6,458.00 7,308.00 $500.00 200.00 230,00 180.00 305.00 277.00 375.00 Hayes Micromodem Apple Hayes Micromodem S-100 Houston Instrument DMP-2 Houston Instrument DMP-4 Houston Instrument DMP-7 LoboDual8 "DS/DD Lobo Dual Mini Drives Morrow 10 MEG Morrow 20 MEG Morrow 26 MEG 250.00 319.00 819.00 1,063.00 1,528.00 2,234.00 855.00 2,750.00 3,550.00 3,375.00 Assembly, integration and testing available from our computer REPAIR division. ^3 m Ji Mastercharge at 3% handling fee. MMI .Prices subject to change without notice. .VIS* I Minimum fee S100. 15% cancellation fee. IM^Bl THE PURCHASING AGENT 1635 School St., Ste. 101 Moraga, CA 94557 In Calif, call (415) 376-9020 International Telex 470851 CALI For latest wholesale TOLL prices ____ and to rntt order 800-227-2288 Small Business Systems, vari- ous sites throughout the US. MWL Inc is offering a series of one-day seminars for manufacturers of small-busi- ness systems and software vendors. The price for a semi- nar is $135. Contact the Seminar Coordinator, MWL Inc, 32038 Watergate Ct, Westlake Village CA 91361, (213) 889-2607. November-March 1982 Two-Day Seminars for Pro- fessional Development, Wor- cester Polytechnic Institute, Worcester MA. Courses on the fundamentals of data pro- cessing, data communica- tions, and microprocessors are being offered by Worces- ter Polytechnic Institute at its campus and at selected loca- tions in the Boston metropoli- tan area. The fee is $445. Contact Ms Ginny Bazarian, c/o the Office of Continuing Education, Worcester Poly- technic Institute, Worcester MA 01609, (617) 793-5517. November 12-14 Accounting and Information Systems Expo '81, MGM Grand Hotel, Reno NV. This exposition is geared toward accounting experts and infor- mation-systems analysts, de- signers, and managers. The emphasis will be on technolo- gical advances in the field and ways in which these advances can improve efficiency and effectiveness. For more infor- mation, contact Leanne Stone, c/o the University of Nevada-Reno, Division of Continuing Education, Col- lege Inn, Reno NV 89557, (702) 784-4046. November 13 The Impact of New Technol- ogies on Information Service Environments, Battelle Col- umbus Laboratories, Colum- bus OH. The Ohio chapters of ASIS (American Society 466 November 1981 © BYTE Publications Inc Circle 352 on inquiry card. for Information Science) are sponsoring this one-day semi- nar. Speakers and a panel will examine the impact of electronic publishing, video- discs, and personal comput- ers on libraries and corporate information centers. Regis- tration fees are $40 for ASIS members, $50 for nonmem- bers, and $10 for students. For details, contact Katherine Frohmberg, Oberlin College Library, Oberlin OH 44074, (216) 775-8285. November 13-15 The Los Angeles Computer Showcase Expo, Convention Center, Los Angeles CA. The Computer Showcase is de- signed to place vendors and their intermediaries in touch with small-computer-system users. For details, contact the Interface Group, 160 Speen St, Framingham MA 01701, (800) 225-4620; in Massachu- setts (617) 879-4502. November 16-17 Computer-Aided Graphics Systems: Design and Drafting Tools, Marriott Pavilion Ho- tel, St Louis MO. This course has been designed for middle- and upper-level administra- tors who are responsible for planning, evaluating, select- ing, acquiring, and imple- menting computer-graphics systems for industrial design and drafting purposes. The course fee is $295. For technical information, contact Ralph E Lee, Mathe- matics-Computer Science Building, University of Mis- souri-Rolla, Rolla MO 65401, (314) 341-4491. Course or registration infor- mation can be obtained from Martha K Fort, Arts & Sciences Continuing Educa- tion, 105A Humanities-So- cial Sciences Building, Uni- versity of Missouri-Rolla, (314) 341-4943. November 16-19 The 1981 Electronics and Aerospace Systems Confer- ence (EASCON '81), Wash- ington Hilton Hotel, Wash- ington DC. The theme of this conference is "Government- Industry Interchange." The exhibition will include dis- plays from many electronics and aerospace companies. For details, contact EASCON '81, 608 H St, SW, Wash- ington DC 20024, (202) 347-7088. November 19-21 Business and Personal Com- puter Sales-Expo '81, Phila- delphia Civic Center, Phila- delphia PA. The Sales-Expo is aimed at a wide range of computer users. The show features exhibits of micro- computers, business supplies, peripherals, and software. For more information, con- tact Produx 2000 Inc, POB 2000, Bala Cynwyd PA 19004, (215) 457-2300. November 20-22 Symposium on Small Com- puters in the Arts, Philadel- phia PA. The Symposium on Small Computers in the Arts (formerly the Personal Com- puter Arts Festival) is being held to bring together in- dividuals interested in using small computers in the audio and visual arts. The Sympo- sium will offer a range of pre- sentations from introductory tutorials to sessions on ad- vanced techniques. Work- shops, exhibits, and demon- strations are also planned. Tune up your LA36 The DS120 Terminal Controller makes your LA36 perform like a DECwriter® III. The Datasouth DS120 gives your DEC writer* II the high speed printing and versatile performance features of the DEC writer® III at only a frac- tion of the cost. The DS120 is a plug compatible replacement for your LA36 logic board which can be installed in minutes. Standard features include: • 165 cps bidirectional printing • Horizontal & Vertical Tabs • Page Length Selection • 110-4800 baud operation • 1000 character print buffer • X-on, X-off protocol • Self Test • RS232 interface • 20 mA Current Loop interface • Top of Form • Adjustable Margins • Double wide characters • Parity selection • Optional APL character set Over 5,000 DS120 units are now being used by customers ranging from the Fortune 500 to personal computing enthusiasts. In numerous instal- lations, entire networks of terminals have been upgraded to take advan- tage of today's higher speed data communications services. LSI microprocessor electronics and strict quality control en- sure dependable performance for years to come. When ser- vice is required, we will respond promptly and effec- tively. Best of all, we can de- liver immediately through our nationwide network of distributors. Just give us a call for all the details. data© computer corporation 4740 Dwight Evans Road • Charlotte, North Carolina 28210 • 704/523-8500 See Us At . November 19-22, 1981 Las Vegas Convention Center, Las Vegas, NV firm « Circle 130 on inquiry card Event Queue. Complementing the Sympo- sium will be the Fourth An- nual Computer Music Con- cert. Contact the Symposium at POB 1954, Philadelphia PA 19105, (215) 243-8109. November 22-24 Data-Telecommunications Expo, Rhein-Main-Halle, Wiesbaden, West Germany. Exhibits of equipment and systems for applications in commerce and industry plus a conference program com- plementing these subjects will be presented. Details are available from Kiver Com- munications S.A., UK Branch Office, 171/185 Ewell Rd, Surbiton, Surrey, KT6 6 AX, England. December 1981 December 1-3 Legal Info, Shoreham Hotel, Washington DC. Automating legal-information systems is the subject of this conference and exposition. Attorneys wishing to use computers in their work are invited to at- tend. Contact Legal Info, 1730 N Lynn St, Suite 400, Arlington VA 22209, (703) 521-6209. December 1-4 Computer-Network Design and Protocols, Washington DC. Integrated Computer Systems (ICS) will be present- ing a course on fundamentals AlLApple product s in st ock— Call for prices SAVE BIG BUCKS Model II 64K $3395 26-4160 1 Drive Exp $1014, 26-4161 2 Drive Exp 1559.00 26-4162 3 Drive Exp 2099.00 26-4530 Scripsit II 259.00 26-4512 Profile II 159.00 26-4511 Visicalc II 259.00 26-4501 Gen Ledger 179.00 26-4506 Mail List 72.00 MODEL III 26-1061 4K I 26-1062 16K III 26- 1066 48K III W/2 Drives, RS 232 26-1162 1st Drive ... i 599.00 . 859.00 2225.00 . 765.00 IDS PAPER TIGERS Dot Resolution Graphics quality print IDS 445G 7 wire printhead, graphics (List $ 985) $ 795.00 IDS 460G 9 wire printhead, graphics (List 1094) 886.00 IDS 560G 9 wire, wide carriage, graphics. . . (List 1394) 1129.00 Model I 26-1140 Expansion Interface $249.00 26-1141 16K Exp. Interface 359.00 26-1142 32K Exp. Interface 469.00 26-1145 RS 232C Board 84.00 26-1160/1 Mini Disk Drive 419.00 26-1563 Scripsit-Disk 79.00 26-1566 Visicalc 83.00 PRINTERS 26-1167 9V 2 Line Printer VII .... $ 360.00 26-1166 Line Printer VI 1080.00 26-1158 Daisy Wheel II 1798.00 26-1 165 Line Printer V 1710.00 26-1401 Cable 36.00 Color Computer 4K $353 26-3001 4K $353.00 26-3002 16K Ext. Basic 533.00 26-3009 Joysticks 22.50 26-3010 Color Video 353.00 26-1206 Recorder 54.00 All prices are subject to change without notice. Freight, handling, and insurance charges are extra. Most items are shipped United Parcel Service. Model II and other hardware weighting over 50 lbs. is ship- ped freight collect by truck. Certified Check for immediate shipment from stock. Master Charge, Visa or Bank Card add 3% surcharge. Vern Street Products 114 West Taft Sapulpa, Ok 74066 The Computer Store, Inc. 4949 South Peoria Tulsa, Ok 74105 918-747-9333 in computer communication- network concepts, technol- ogy, and implementation. Emphasis is on the practical aspects of network design, in- terfacing, protocols, and pac- ket switching. For a schedule of times and locations, con- tact Ruth Dordick, c/o Inte- grated Computer Systems, 3304 Pico Blvd, POB 5339, Santa Monica CA 90405, (800) 421-8166; in California (800) 352-8251. December 2-3 Introductory Seminar on UNIX, Key Bridge Marriott Hotel, Arlington VA. Human Computing Resources Cor- poration is offering this two- day seminar on the use of UNIX for programmers, analysts, and anyone needing to know about this operating system. For details, contact the Course Coordinator, c/o Human Computing Re- sources, 10 St Mary St, Toronto, Ontario, M4Y 1P9, Canada, (416) 922-1937. December 3 California Computer Show, Hyatt Hotel, Palo Alto CA. For details and a schedule of upcoming events, contact the Show Administrator, c/o Norm De Nardi Enterprises, 95 Main St, Los Altos CA 94022, (415) 941-8440. December 3-4 Computer Graphics: Micro- processor/Personal Comput- er Systems, Marriott Pavilion Hotel, St Louis MO. This course has been designed for managers, educators, and graphics users responsible for evaluating and acquiring microcomputers and graphics systems. The course fee is $195. For technical information, contact Ralph Lee, Mathema- tics-Computer Science Build- ing, University of Missouri- Rolla, Rolla MO 65401, (314) 341-4491. Course or registra- tion information can be ob- tained from Martha K Fort, 468 November 1981 © BYTE Publications Inc Circle 97 on inquiry card. Arts & Sciences Continuing Education, 105A Humanities- Social Science Building, University of Missouri- Rolla, (314) 341-4943. December 8 Computer Networking Sym- posium/National Bureau of Standards, Gaithersburg MD. This conference is being sponsored by National Bu- reau of Standards and the In- stitute of Electrical and Elec- tronics Engineers. Contact Robert Toense, B226 Tech- nology Building, National Bureau of Standards, Wash- ington DC 20234, (301) 921-3516. December 9-11 The 1981 Winter Simulation Conference (WSC 81), Peachtree Plaza, Atlanta GA. WSC 81 will feature papers, panel discussions, and tutori- als on discrete and combined simulation and modeling. The conference will be organ- ized into tutorial, methodol- ogy, and application ses- sions. For information, con- tact John Carson, WSC 81 Registration Chairman, School of Industrial and Sys- tems Engineering, Georgia In- stitute of Technology, Atlan- ta GA 30332, (404) 894-2308. December 15-19 Gulf Computer Exhibition, Dubai International Trade Centre, Dubai, United Arab Emirates. IBM, NCR, Apple, Honeywell, Philips, Wang, Hewlett-Packard, Data Gen- eral, and other well-known manufacturers will be repre- sented at this first exhibition of computer equipment in Dubai. The scope of the show takes in systems ranging from microcomputers to main- frames. Details are available from the Trade Centre Man- agement Company, POB 9292, Dubai, United Arab Emirates, Telex 47474 DITC EM, and from Diana Clifton Sewell, International Office, Seymour House, 17 Waterloo PI, London, SE1Y 4AR, Eng- land. December 16-18 The Twentieth IEEE Confer- ence on Decision and Control (CDC), Vacation Village Hotel, San Diego CA. The CDC is the annual meeting of the IEEE (Institute of Elec- trical and Electronics Engi- neers) Control Systems Soci- ety. It is held in cooperation with the Society for Industri- al and Applied Mathematics. The conference will include contributed and invited ses- sions plus tutorials and pre- sentations on all aspects of the theory and applications of systems involving deci- sion, control, and adapta- tion. Other topics of interest include linear and nonlinear system theory, stability theory, large-scale system theory and decentralized con- trol, estimation, identifica- tion, signal processing and stochastic control, and con- trol systems. For more infor- mation, contact the Institute of Electrical and Electronics Engineers Inc, 445 Hoes Ln, Piscataway NJ 08854. December 28-30 Computer Modeling of Lin- guistic Theory, Grand Hyatt Hotel, New York NY. The ACL (Association for Com- putational Linguistics) is sponsoring three sessions on computer modeling of lin- guistic theory in conjunction with the annual meeting of the Linguistic Society of America. New models for grammars and new strategies ATTENTION S-100 USERS, OEMs & ISOs! MM-103 IS THE ONLY MODEM FOR YOUR NEEDS! In previous issues, we listed more than 50 reasons why PMMI MM-103 modems are superior, along with a list of satisfied users that is now too long to print. Quality, integrity and low cost have made the MM-103 America's most popular modem. PMMI was the first to gain FCC approval and meet IEEE-696 S-100 standards. You won't find another modem for the S-100 bus with a wider range of Baud rates, more extensive and controllable software and such an unbeatable warranty. And since PMMI has eliminated the need for an acoustic coupler or an RS 232 adapter, your connection is more reliable and you buy no unnecessary hardware. SO DON'T DELAY! GO WITH THE MODEM WITH EXPERIENCE! k Oj» COMMUNICATIONS [POTOMAC MICRO-MAGIC, INC.] For further information, call or write: Three Skyline Place 5201 Leesburg Pike, Suite 604 Falls Church, VA 22041 |703]379-9660 Or dial into our 24 hour-a-day Modem Test Center: |703| 379-0303 |300 Baud] AFTER ALL... ALL MODEMS ARE NOT CREATED EQUAL! Circle 347 on inquiry card. November 1981 © BYTE Publications Inc 469 THE 1 T T A • ft j^j-EXIT TO UCSD SYSTEM. CONTROL-S— >SHIFT TRANSFER MODES (NORMAL<~- >ASCIl) . CONTROL-R— >RECEIVE FILES. CONTROL-T— >TRANSMIT FILES CONTROL-A ASSISTANCE : DISPLAY MENU. THIS INTERFACE OPERATES ONLY IN CDC NULL SUBSYSTEM. (control-S) (* user wishes to switch character set modes *) PROGRAM FILES MUST BE TRANSFERRED IN CDC NORMAL MODE. TEXT FILES (U/L CASE) MUST BE TRANSFERRED IN CDC ASCII MODE. PLEASE ENTER TRANSFER MODE N=N0RMAL OR A=ASCII — > A ASCII MODE (lb) (control-R) (* user wishes to transfer file, CYBER-Microengine *) FILE TRANSFER - CYBER TO MICROENGINE NOTE : CDC FILE TO BE TRANSFERRED MUST BE PERMANENT ENTER MICROENGINE FILENAME , E.G. FILENAME. TEXT OR ENTER "STOP" TO TERMINATE prime. text ENTER NAME UNDER WHICH THE FILE IS CATALOGED ON THE CYBER primnum DO YOU WISH THE FILE TO BE ECHOED AS IT IS TRANSFERRED? (Y/N) Y [listing of file] EOT ENCOUNTERED PRIMNUM CLOSED AND CATALOGED He) (control-T) (* user wishes to transfer file, Microengine-CYBER *) FILE TRANSFER - MICROENGINE TO CYBER ENTER NAME OF FILE TO BE TRANSMITTED FROM THE MICROENGINE OR ENTER "STOP" TO TERMINATE E.G. FILENAME. TEXT prime. text ENTER CDC FILENAME, OR ENTER "STOP" TO TERMINATE NOTE : FILE WILL BECOME A CDC PERMANENT FILE, OLD PRIMARY FILE WILL BE LOST primenum DO YOU WISH THE FILE TO BE ECHOED AS IT IS TRANSFERRED ? (Y/N) N_ TRANSFER COMPLETE PRIMNUM IS A CDC PERMANENT FILE November 1981 © BYTE Publications Inc 475 MICROMAIL HAS THE RIGHT TERMINAL AT THE RIGHT PRICE. TELEVIDEO 9io^: $569.00 912 $699.00 920 $749.00 950 $939.00 Model 912 C shown k QjJME Letter Quality NEW! SPRINT 9/45/1 $1824.00 9/35 CALL DIABLO Letter Quality 630 $1950.00 1640 RO CALL 1640 KSR CALL 1650 RO CALL 1650 KSR CALL AN APEX 8000 $799.00 DEC LA 34 DA $899.00 TELETYPE 43 PF (TTL) $975.00 ANADEX DP 9500 DP 9501 DP 9000 DP 9001 $1279.00 $1279.00 .$1179.00 .$1179.00 TEXAS INSTRUMENTS 810/2 $1399.00 (includes upper/lower case option) 810/2 VFC/CP $ 1549.00 (includes u/1 case, forms control 8c compressed print) SOROC DEC I6L120 IQ.135 IQ140 . . $689.00 . . $849.00 $1099.00 VT 100 DEC LA 34AA NEC $1399.00 . $999.00 C. ITOH SP ec |8» CIT 101 ?/. $1399.00 3500 SERIES Call For Price 5500 SERIES Call For Price 7700 SERIES Call For Price r i i i CALL TOLL FREE (800) 854-6028 To Order: Send check to MICROMAIL. P.O. Box 3297, Santa Ana, CA 92703. Personal or company checks require two weeks to clear Visa/MasterCard accepled. COD. requires a 15% deposit. Handling: Add 3% to orders less than S750. 2% to orders S751 ■ S2.000, 1% to orders over S2.000. NOTE, Handling charges are waived on orders pre-paid in advance by check. Shipping: We ship FREIGHT COLLECT via UPS or Motor Freight. Air and Express delivery is available. Prices subject to change without notice.. P.O. Bex 3297 Santa Ana, CA 92703 Phone: 714/731-4338 TWX: 910 595 1146 Text continued from page 474: will appear at the console. If the transfer is allowed to run to comple- tion, a message will be printed at the console. In either case, Transmit Mode will be terminated and Emulator Mode resumed. File-Transfer Program The file-transfer program that in- terfaces the Microengine to the Cyber (listing 2) is written in UCSD Pascal on the Microengine. It consists of three basic modules: • the emulator • the file transmit procedures (Microengine to Cyber) • the file receive procedures (Cyber to Microengine) The main program, which is the emulator, performs the communica- tion between the Microengine console and the Cyber IAF system. It does this, alternately testing for input to the Microengine from the Cyber (re- mote port) and from the Microengine console (console port), by testing the status bits associated with each port. The status register for the console port is at address —1007 (two's com- plement) and the status register for the remote port is at address —991 (two's complement). Access to the status bit (bit 1 of the status registers) is achieved through a variant record: type STATRG = record STATREG : packed array [0..7] of boolean end; STATREC = record case BVAR : boolean of TRUE : (STATREGADDR : integer ) ; FALSE : (STATPTR : STATRG) end; The Boolean variable, BVAR, is originally set to true, and the variant field, STATREGADDR, is set to the address of the status register. This is done at the beginning of the file- transfer program. BVAR is then set false, making the variant field a Text continued on page 486 476 November 1981 © BYTE Publications Inc Circle 269 on inquiry card. Listing 2: The emulator program, as written for the Pascal Microengine. PROGRAM EMULATOR ; (* JONATHAN DUST *) (* STEVEN SEDLET *) (* DEPARTMENT OF COMPUTER SCIENCE *) (* COLORADO STATE UNIVERSITY *) (* JUNE, 1980 * (* THIS PROGRAM PERFORMS THE FOLLOWING TASKS : * (* 1 . IT SERVES AS AN EMULATOR BETWEEN THE WESTERN DIGITAL *) (* PASCAL MICROENGINE AND THE CDC CYBER 171/172. THE MAIN *) (* PROGRAM ALLOWS A USER AT THE MICROENGINE CONSOLE TO LOG *) (* INTO THE CYBER. *) (* 2. IT PROVIDES FOR THE TRANSFER OF FILES FROM THE CYBER TO * (* THE MICROENGINE, AND FROM THE MICROENGINE TO THE CYBER. * (* *) (* IT IS INTENDED THAT THE PROGRAM WILL ULTIMATELY BE USED TO *) (* EFFECT THE TRANSFER OF FILES BETWEEN COMPUTERS CONNECTED TO *) (* RIAS RING NETWORK. MODIFICATION WILL BE REQUIRED FOR THIS *) (* PURPOSE. (* (* THE PROGRAM MODULES CONSIST OF : *) (* MAIN PGM - THE EMULATOR, ALLOWS USER TO LOG INTO CYBER. *) (* RECEIVEFILE - ALLOWS THE TRANSFER OF A FILE FROM THE CYBER * (* TO THE MICROENGINE. * (* TRANSMITFILE - ALLOWS THE TRANSFER OF A FILE FROM THE *) (* MICROENGINE TO THE CYBER. *) (* *) (* PROGRAM EXECUTION : *) (* THE PROGRAM IS WRITTEN IN UCSD PASCAL AND RESIDES ON MICRO-*) (* ENGINE DISK. TO INITIALLY EXECUTE THE PROGRAM, THE FILE, *) :) (* "EMULATOR. CODE" MUST BE FETCHED AND EXECUTED. THE FILE * "EMULATOR. TEXT" CONTAINS THE SOURCE CODE. ONCE THE PRO- GRAM IS RUNNING, A CR WILL SOLICIT THE LOGIN MESSAGE FROM P r* (* THE CYBER. *) (* * (* ONCE LOGGED IN, THE USER MAY ISSUE ANY LEGAL TELEX COMMAND,*) (* AS WELL AS *) * CNTRL-E - EXITS EMULATOR AND RETURNS TO THE MICROENGINE *) INTERACTIVE SYSTEM. RE-EXECUTION OF THE PRO- *) (* GRAM WILL RESUME TELEX, UNLESS THE USER HAS *) (* BEEN TIMED-OUT IN THE MEANTIME. WHEN *) (* LOGGING OUT USING "BYE", HIT CNTRL-E AFTER *) (* RECEIVING LOGOUT MESSAGE, THEN TURN OFF MODEM.*) CNTRL-R - PASSES CONTROL TO THE PROCEDURE "RECEIVEFILE",*) ALLOWING THE TRANSFER OF A FILE FROM THE CYBER*) (* TO THE MICROENGINE. *) (* CNTRL-T - PASSES CONTROL TO PROCEDURE "TRANSMITFILE", *j (* ALLOWING THE TRANSFER OF A FILE FROM THE *) (* MICROENGINE TO THE CYBER. *) (* IN THE LATTER 2 CASES THE PROGRAM WILL PROMPT THE USER FOR*) (* NECESSARY INFORMATION. IN BOTH CASES THE FILE TRANSFER *) (* CAN BE TERMINATED WITH A CNTRL-S. *) (* *) (* MAJOR DATA STRUCTURES : *) (* STATREC - RECORD USED TO ACCESS INDIVIDUAL BITS OF AN *) (* ADDRESS LOCATION, NECESSARY TO ALLOW EXAMINATION *) Listing 2 continued on page 478 November 1981 © BYTE Publications Inc 477 i: Listing 2 continued: (* OF THE SERIAL PORT STATUS REGISTERS FOR DETECTION*) (* OF INPUT FROM THE CYBER OR FROM THE CONSOLE. THE *) (* STRUCTURE IS ALSO USED TO CHANGE CERTAIN BITS OF *) (* THE SERIAL STATUS REGISTERS (PP. 34-42, PASCAL *) (* MICROENGINE REFERENCE MANUAL). INDIVIDUAL BIT *) (* ACCESS IS IMPLEMENTED BY USING A RECORD CONSIST- *) (* OF A BOOLEAN FIELD AND A VARIANT FIELD. WHEN THE *) (* BOOLEAN IS TRUE, THE VARIANT PART IS AN INTEGER *) (* & IS SET EQUAL TO THE ADDR OF A STATUS REGISTER. *) (* WHEN THE BOOLEAN IS SET FALSE, THE VARIANT PART *) (* IS A POINTER INTO A PACKED ARRAY[0..7] OF *) (* BOOLEAN, ALLOWING ACCESS INTO THE 8 INDIVIDUAL *) (* BITS OF THE WORD. *) (* THE RECORDS OF THIS TYPE ARE : *) (* STATREG1 - USED TO DETECT IF A CHARACTER HAS *) (* BEEN ENTERED FROM THE CONSOLE. *) (* STATREG8 - USED TO DETECT IF A CHARACTER HAS *) I* BEEN SENT BY THE CYBER. *) (* PARITYON, PARITYODD - SEE PP. 37-42 *) (* T - A ONE ELEMENT ARRAY USED TO HOLD THE CHARACTER WRITTEN/*) (* READ TO/FROM THE SERIAL PORTS. AN ARRAY IS USED, *) (* RATHER THEN A CHAR VARIABLE, BECAUSE THE UCSD PASCAL *) (* COMMANDS, UNITREAD AND UNITWRITE, REQUIRE AN ARRAY. *) TYPE STATRG = RECORD STATREG : PACKED ARRAY [0..7] OF BOOLEAN END ; STATREC = RECORD CASE BVAR : BOOLEAN OF TRUE : (STATREGADDR : INTEGER) ; FALSE : (STATPTR : sTATRG) END ; VAR T : PACKED ARRAY [0..2] OF CHAR ; FOREVER : BOOLEAN ; STATREG1 ,STATREG8 : STATREC ; SKIP : BOOLEAN ; ASCII : BOOLEAN ; PROCEDURE ASCIIMODE ; (* THIS PROCEDURE SETS THE CYBER CHARACTER MODE TO ASCII *) VAR M : PACKED ARRAY [1..12J OF CHAR ; BEGIN (* PROC ASCIIMODE *) M:='CSET, ASCII '; M[11]:=CHR(13); UNITWRITE(8,M,11 ,0,1); UNITWAIT(8); UNITREAD ( 8, M, 11 ,0,1 ); UNITWAIT(8); WRITELN( 'ASCII MODE*) ; WRITELN END ; (* PROC ASCIIMODE *) PROCEDURE CHARMODE ; (* THIS PROCEDURE ALLOWS THE USER TO SWITCH CYBER CHARACTER *) (* MODES (NORMAL <— > ASCII) *) VAR M : PACKED ARRAY [l..12] OF CHAR ; BEGIN (* PROC CHARMODE *) 478 November 1981 © BYTE Publications Inc Listing 2 continued: WRITELN ; WRITELN ('PROGRAM FILES MUST BE TRANSFERRED IN A CDC NORMAL MODE.') ; writeln('text files (u/l case) must be transferred in a cdc ascii mode.'); write('please enter transfer mode n=normal or a=ascii — >') ; unitread(1,m, 1,0,1) ; unitwait(i) ; WRITELN ; IF (m[i]='A') OR (M[l]= , a') THEN BEGIN ASCII := TRUE ; ASCIIMODE END ELSE BEGIN ASCII := FALSE ; M := 'CSET, NORMAL ' ; M[12] := CHR(13) ; UNITWRITE(8,M, 12,0,1 ) ; UNITWAIT(8) ; UNITREAD(8,M,11 ,0,1 ) ; UNITWAIT(8) ; WRITELN ('NORMAL MODE') ; WRITELN END ; WRITELN END ; (* PROC CHARMODE *) PROCEDURE RECEIVEFILE ; (* TRANSFER A FILE FROM THE CYBER TO THE MICROENGINE. *) (* THE TRANSFER IS PERFORMED BY GENERATING A TELEX "TAPE" *) (* COMMAND FOLLOWED BY A "LIST" COMMAND. TAPE *) (* MODE IS ENTERED TO ENABLE DETECTION OF AN EOT (END OF *) (* TEXT) CHARACTER. THE CYBER FILE TRANSFERRED MUST BE THE *) (* PRIMARY FILE. THE FILE IS TRANSFERRED TO A BUFFER, THEN *) (* ONTO THE MICROENGINE DISK. A "NORMAL" COMMAND IS THEN *) * GENERATED TO EXIT TAPE MODE. *WARNING : THE NORMAL COM- *) MAND WILL CAUSE CANCELLATION OF ASCII MODE. *) P VAR DONE : BOOLEAN ; : STRING ; N : PACKED ARRAY [l..13] OF CHAR ; P : PACKED ARRAY IJ--13J OF CHAR ; FILENAME : STRING ; RCVEFILE : TEXT ; USERTERM : BOOLEAN ; VERIFY : BOOLEAN ; BUFF1 : PACKED ARRAY [l.. 32766] OF CHAR ; BUFFINDEX : INTEGER ; 1 : INTEGER ; M : PACKED ARRAY [o..20] OF CHAR; BYE : BOOLEAN ; PROCEDURE RCVEREADY; BEGIN (* PROC RCVEREADY *) P[1 ]:=CHR(10) P[2J:=CHR(13) P'3J:=CHR(10) P 4 : = R l Listing 2 continued on page 480 November 1981 © BYTE Publications Inc 479 isting 2 continued: P '5l = 'E' ; P 6 : = 'A' P Y = 'D' P ,8. : = 'Y' P *9J t 1 1 P .10 1.-' • . • t P 11 • f P "12 :=CHR(13) 1 P 13 :=CHR(10) f IF P = N THEN BYE := FALSE ELSE BEGIN BYE : = TRUE WRITELN ('ERROR-CDC FILENAME NOT FOUND-CHK DIRECTORY") END END ; (* PROC RCVEREADY *) PROCEDURE LISTFILE ; BEGIN (* PROC LISTFILE *) M = 'ip* . M V = 'A' ; M Y := 'P' ; M y = *E' ; M .4. := CHR(13) ; UNITWRITE(8,M,5,0,1) ; UNIT¥AIT(8) ; UNITREAD(8,M,6,0,1 ) ; U YITWAIT(8) ; M V = "L* ; M r = 'I' ; M .2 = 'S' ; M y. = 'J' . M .4. = CHR(13) ; UNITWRITE(8,M,5,0,1) ; UNITWAIT(8) END » < * PROC LISTFILE *) BEGIN (* PROC RECEIVEFILE *) CHARMODE ; WRITELN('FILE TRANSFER - CYBER TO MICROENGINE' ) ; WRITELN('NOTE : CDC FILE TO BE TRANSFERRED MUST BE PERMANENT') ; WRITELN ; WRITELNC ENTER MICROENGINE FILENAME, E.G. FILENAME. TEXT' ) ; WRITELN (' OR ENTER "STOP" TO TERMINATE') ; READLN( FILENAME) ; IF FILENAMEO'STOP THEN BEGIN WRITELN (' ENTER NAME UNDER WHICH THE FILE IS', 'CATALOGED ON THE CYBER') ; READLN(O) ; WRITE('DO YOU WISH THE FILE TO BE ECHOED AS IT IS', ' TRANSFERRED ? (Y/N) * ) ; UNITREAD(1,T, 1,0,1) ; UNITWAIT(1); WRITELN ; IF T[0] = 'Y' 480 November 1981 © BYTE Publications Inc Listing 2 continued: THEN VERIFY := TRUE ELSE VERIFY := FALSE ; Ojr-'O' ; l1:-'L' ; 2 ^'D' ; V . = * • . J J • f t FOR I :=1 TO LENGTH(O) DO "1+3] := 0[l] ; LENGTH(0)+4]:=CHR(13) ; I:=(LENGTH(0)+5) ; UNITWRITE(1 ,M,I,0,1) ; UNITWRITE(8,M,I,0,1) ; UNITREAD(8,M,13,0,1) ; UNITWAIT(8) ; FOR I:=0 TO 12 DO N[l+1 ] := M[l] RCVEREADY ; IF BYE=TRUE THEN EXIT(RECEIVEFILE) ELSE LISTFILE ; USERTERM := FALSE ; DONE := FALSE ; BUFFINDEX := ; WHILE (NOT DONE) AND (NOT USERTERM) DO BEGIN BUFFINDEX := BUFFINDEX + 1 ; UNITREAD(8,T,1 ,0,1 ) ; UNITWAIT(8); IF ORD(T[ol) = 17 THEN DONE := TRUE ; IF ORD(TLOj) = 13 THEN BEGIN IF VERIFY THEN WRITELN END ELSE IF 0RD(T[0]) <> 10 THEN IF VERIFY THEN WRITE(t[o]) ; BUFF1 [BUFFINDEX J := T[o] ; IF STATREG1 .STATPTRSTATREG[1 ] = TRUE THEN BEGIN UNITREADO ,T, 1,0,1) ; UNITWAIT(1) ; IF ORD(T[OJ) = 19 THEN USERTERM := TRUE END END ; IF NOT USERTERM THEN BEGIN M:='NORMAL ' ; M[6]:-CHR(13) ; UNITWRITE(8,M,7,0,1) ; UNITWAIT(8) ; UNITREAD(8,M,9,0,1) ; UNITWAIT(8) ; IF ASCII=TRUE THEN ASCIIMODE ; WRITELN ('EOT ENCOUNTERED* ) ; REWRITE (RCVEFILE, FILENAME) ; FOR I := 1 TO BUFFINDEX DO IF 0RD(BUFFl[l])=13 THEN WRITELN (RCVEFILE ) Listing 2 continued on page 482 November 1981 © BYTE Publications Inc 481 Listing 2 continued: ELSE IF"ORD(BUFFl[l]) <> 10 THEN WRITE(RCVEFILE,BUFFl[l]) ; CLOSE (RCVEFILE, LOCK) ; WRITELN ; WRITELN ( FILENAME, ' CLOSED AND CATALOGED') END ELSE BEGIN T[0] := 'S' ; UNITWRITE(8,T,1 ,0,1 ) ; UNITWAIT(8) ; UNITREAD(8,T,15,0,1 ) ; UNITWAIT(8) ; WRITELN ; WRITELN ; WRITELN ('TRANSFER TERMINATED BEFORE COMPLETION', ' - FILE NOT CATALOGED') END ; END ELSE WRITELN ('NO FILE TRANSFERRED') END ; (* PROC RECEIVEFILE *) PROCEDURE TRANSMITFILE ; (* TRANSFER A FILE FROM THE MICROENGINE TO THE CYBER. *) (* TRANSFER IS PERFORMED BY CREATING A PRIMARY CYBER FILE, *) (* ENTERING TEXT MODE, AND TRANSMITTING THE MICROENGINE FILE*) (* TO THE CYBER. AFTER THE FILE IS TRANSFERRED, A "BREAK" *) (* (CNTRL-C) IS GENERATED, FOLLOWED BY A "PACK" COMMAND. *) (* THE TRANSFERRED M.E. FILE IS THEN THE CDC PRIMARY FILE, *) (* AND MUST BE SAVED IF THE USER WISHES TO RETAIN IT. *) (* IF THE TRANSFER IS TERMINATED BY A CNTRL-S, THE REST OF *) (* THE FILE IS READ AND BLANK LINES TRANSMITTED TO THE *) (* CYBER. THIS IS NECESSARY DUE TO THE TIMING CONSTRAINTS *) (* BETWEEN THE TWO COMPUTERS. *) VAR DONE : BOOLEAN ; Z : INTEGER ; X : STRING ; FILENAME : STRING ; TRANSFILE : TEXT ; CDCFILENAME : STRING ; USERTERM : BOOLEAN ; VERIFY : BOOLEAN ; CH : CHAR ; I : INTEGER ; M : PACKED ARRAY [0..20] OF CHAR ; PROCEDURE XMITRDFILE ; (* THIS PROCEDURE TRANSMITS A CHARACTER FROM THE MICROENGINE *) (* TO THE CYBER. *) BEGIN (* PROC XMITRDFILE *) READ ( TRANSFILE, CH) ; T[0] := CH ; IF NOT USERTERM THEN BEGIN 482 November 1981 © BYTE Publications Inc Listing 2 continued: UNITWRITE(8,T, 1,0,1) ; UNITWAIT(8) ; IF VERIFY THEN WRITE (t[o]) END ; IF EOLN(TRANSFILE) THEN BEGIN IF (NOT USERTERM) AND (VERIFY) THEN WRITELN ; T[o] := CHR(13) ; t[i] := CHR(10) ; UNITWRITE (8, T, 2, 0,1 ) ; UNITWAIT(8) ; READLN(TRANSFILE) END ; IF STATREG1 .STATPTRSTATREG[1 ] = TRUE THEN BEGIN UNITREAD(1 ,T,1 ,0,1) ; unitwait(i) ; if ord(t[o]) = 19 then userterm := true END END ; (* PR0C XMITRDFILE *) PROCEDURE REPLACEFILE ; BEGIN (* PR0C REPLACEFILE *) X:='REP'; FOR I := TO (LENGTH(X)-I ) DO M[l] := X[l+1] ; H[3] := CHR(13) ; UNIT¥RITE(8,M,4,0,1 ) ; UNITWAIT(8) ; UNITREAD(8,M,13,0,1 ) ; UNITWAIT(8) END ; (* PROC REPLACEFILE *) BEGIN (* PROC TRANSMITFILE *) CHARMODE ; WRITELN (' FILE TRANSFER - MICROENGINE TO CYBER') ; WRITELN ('ENTER NAME OF FILE TO BE TRANSMITTED FROM MICROENGINE') ; WRITELN('OR ENTER "STOP" TO TERMINATE') ; WRITELN( 'E.G. FILENAME. TEXT ' ) ; READLN( FILENAME) ; IF FILENAME <> 'STOP THEN BEGIN RESET(TRANSFILE, FILENAME) ; WRITELN (FILENAME, ' OPENED') ; WRITELN ; WRITELN ('ENTER CDC FILENAME, OR ENTER "STOP" TO TERMINATE') ; WRITELN('NOTE : FILE WILL BECOME A CDC PERMANENT FILE, ', 'OLD PRIMARY FILE WILL BE LOST') ; READLN(CDCFILENAME) ; IF CDCFILENAME <> 'STOP ' THEN BEGIN WRITELN ; Listing 2 continued on page 484 November 1981 © BYTE Publications Inc 483 Circle 463 on inquiry card. DIGITAL DATA RECORDER MODELS DC-1, DC-3 For five years now, the CC series recorders have been the industry NRZ Asynchronous recorder standard. Now the D series sets a new standard in stability and reliability with its tachometer feedback LC stabilized motor circuit. • 4800 or 9600 Baud (3" or 6" per second) • 10" 8 Error Rate RS232 or TTL In and Out • RTS motor start • CTS Data start • DB 25 or special connector optional • 1101220 - 50/60 Hz • Wow & Flutter ±.3% • Speed Stability (long term)±.l% DCl Model Price $275.00 DC3 Model Price $295.00 NATIONAL MULTIPLEX CORPORATION 260 Lackland Drive East Middlesex, New Jersey 08846 Tel. (201) 356-9200 TWX 710-997-9530 NorthStar^ HORIZON II COMPUTERS Shop around find your best price then call us COLLECT*we'll match the price plus ship it direct to you by A R ABSOLUTELY FREE!* WORRY FREE WARRANTY - This is our third year with North Star with a reputation of only the finest service (call North Star for a reference) all repairs are handled through our store service center. *CONTINENTAL U.S. ONLY LONG ISLAND COMPUTER GENERAL STORE 103 ATLANTIC AVE. LYNBROOK NEW YORK 11563 (516)887-1500 Listing 2 continued: WRITE('D0 you wish the file to be echoed AS' IT IS TRANSFERRED ? (Y/N) ') ; UNITREAD(1 ,T,1 ,0,1 ) ; WRITELN ; IF T[0] = 'Y' THEN VERIFY := TRUE ELSE VERIFY := FALSE PI M H H M FOR = 'N' = 'E' = '¥' I := 1 TO LENGTH (CDCFILENAME) DO M[l+3] := CDCFILENAME[l] ; M[LENGTH(CDCFILENAME) + 4] := CHR(13) Z := (LENGTH( CDCFILENAME)) +5 ; UNITWRITE(8,M,Z,0,1) ; UNITWAIT(8) UNITREAD(8,M,13,0,1) UNITWAIT(8) 'm • 'E' 'R* 'B' •l" •k' •e' •d* EXIT TO UCSD SYSTEM.') ; WRITELNC CONTROL-S— >SHIFT TRANSFER MODES (NORMAL<~>ASCIl) . ' ) ; WRITELNC CONTROL-R— >RECEIVE FILES.') ; WRITELNC CONTROL-T >TRANSMIT FILES. ' ) ; WRITELNC CONTROL-H— >DISPLAY ABOVE CONTROL COMMANDS.') ; WRITELN END ; (* PROC PRNTHELP *) BEGIN (* MAIN PROGRAM - TERMINAL EMULATOR *) PRNTHELP ; WRITELNC PLEASE TYPE RETURN FOR LOGIN MESSAGE IF NOT LOGGED IN.'); STATREG1.BVAR := TRUE ; STATREG8.BVAR := TRUE ; STATREG1.STATREGADDR := -1007 ; STATREG8.STATREGADDR := -991 ; STATREG1.BVAR := FALSE ; STATREG8.BVAR := FALSE ; UNITCLEAR(8) ; UNITCLEAR(l) ; FOREVER := TRUE ; WHILE FOREVER DO Listing 2 continued on page 486 November 1981 © BYTE Publications Inc 485 Text continued from page 476: pointer into a Boolean packed array. Since the memory address associated with this field has been previously set to the address of the status register, and because a pointer type is merely an address of a memory location, we now have a pointer into the in- dividual bits of the status register. In Emulator Mode, the status bits associated with the two ports are al- ternately tested. If input is detected at the remote port, a unitread instru- tion is executed to fetch the character, followed by a unitwrite command to the console. These instructions are UCSD Pascal low-level intrinsics for accessing a peripheral device. Line- feeds (ASCII character 10) are not echoed. At the end of a line, the Cyber transmits a carriage return followed by a linefeed. On the Micro- engine a carriage return implies a linefeed, so the linefeed from the Cyber is redundant. If input is de- tected at the console port, a "unit- read" is initiated to fetch the charac- ter. The character is first checked to determine if it is one of the previously discussed control-key commands, in which case the appropriate action is taken. If the character is not a control character, the emulator assumes it is meant for the Cyber, and it is transferred to the remote port by ex- ecution of a "unitwrite" command. Input to the remote port is given priority over input to the console port so that the stream from the Cyber is not interrupted. This is implemented by placing the code for testing the re- mote-port status bit in a "while" loop and the code for testing the console- port status bit in an "if" statement in the main program. As long as char- acters are being received at the remote port, the emulator will con- tinue to read them and echo them to the console. Only when there are no more characters detected at the remote port is the console-port status bit checked. Even then, only one character is accepted before the remote-port status bit is again tested. Consequently, characters entered at the console while information is being sent by the Cyber are displayed, but ignored. Listing 2 continued: := FALSE ; TRUE BEGIN WHILE STATREG8.STATPTRSTATREG[1 ]=TRUE DO BEGIN UNITREAD(8.T,1 ,0,1) ; UNITWAIT(8) ; IF 0RD(T[0]) <> 10 THEN BEGIN UNITWRITE(1 ,T,1 ,0,1) ; UNITWAIT(l) END END ; IF STATREG1 .STATPTRSTATREG[l ]=TRUE THEN BEGIN UNITREAD(1 ,T, 1,0,1) ; UNITWAIT(1) ; SKIP := FALSE ; IF 0RD(T[0])=05 THEN BEGIN FOREVER SKIP := END ; IF 0RD(T[0])=18 THEN BEGIN RECEIVEFILE ; SKIP := TRUE END ; IF 0RD(T[0])-20 THEN BEGIN TRANSMITFILE ; SKIP := TRUE END ; IF 0RD(T[0])=19 THEN BEGIN CHARM0DE ; SKIP := TRUE END ; IF ORD(T[0])=08 THEN PRNTHELP IF SKIP=FALSE THEN BEGIN UNITWRITE(8,T, 1,0,1 ) ; UNITWAIT(8) END END END END. File transfer from the Cyber to the Microengine is performed by the pro- cedure RECEIVEFILE. The transfer is implemented by generating an OLD, filename IAF command to fetch the file from your Cyber file space. The procedure then waits for a READY response from the Cyber. If it does not receive the response, the routine assumes that the file was not found, that is, the Cyber actually generated a filename NOT FOUND response. 486 November 1981 © BYTE Publications lnc In the latter case, an error message is printed at the console and Emulator Mode is resumed. You must then re- enter Receive Mode to reattempt the file transfer. It is because of this type of response by the Cyber that file transfers must be performed in the IAF NULL subsystem. The response made by IAF to commands differs be- tween IAF subsystems, and the file- transfer program was designed to ac- commodate the responses made in the NULL subsystem. If the file is successfully fetched, the routine generates a TAPE command, causing the Cyber to enter the TAPE subsystem under IAF. Performing the transfer in this subsystem is necessary since it is only in this mode that the Cyber generates an EOT (end-of-text) character to allow detection of trans- fer completion. The actual transfer is initiated by generating an IAF LIST command. The transfer is performed by reading the listed output from the Cyber, at the remote port, into a buf- fer in Microengine memory, BUFFI, consisting of an array of characters. Upon completion of the transfer, BUFFI is written to Microengine disk. It is necessary to use this intermediate storage because of the activity of the Microengine disk-drive head as a file is written. At certain intervals as it is writing, the head must position itself to available partitions. In doing so, it misses a few characters, since the Cyber will not withhold its transmis- sion to allow positioning of the disk head. This, of course, is allowed for when writing from Microengine memory to disk, and so the writing of the file to Microengine disk is post- poned until the file transfer is com- pleted. (Because of this use of inter- mediate storage, the size of Microen- gine memory places a limit of 32,767 characters on the size of files received from the Cyber.) During the transfer, certain charac- ters must be noted. If you have re- quested echoing of the file to the con- sole as it is transferred, a "writeln" command must be generated if a car- riage return (ASCII character 13) is detected from the Cyber. As in Emulator Mode, a linefeed is redun- dant and must not be echoed to the screen. The detection of an EOT (ASCII character 17) indicates the completion of the transfer. If the transfer is ter- minated by detection of an EOT char- acter, a suitable message is written to the console, BUFFI is written to Microengine disk, the file is cataloged and closed, and Emulator Mode is re- sumed. If, during file transfer, an S is entered at the console keyboard, it is transmitted to the Cyber, causing the listing of the file to be terminated. A termination message is written to the console screen and Emulation Mode is resumed without writing BUFFI to Microengine disk. Since IAF was placed in the TAPE subsystem in order to enable the de- tection of an EOT mark, it must now be returned to the NULL subsystem. This is done, before returning to Emulator Mode, by generating a Nor- mal command to IAF. If, however, you have been operating in ASCII Mode, you will want to remain in that mode. To this purpose, a Boolean variable, ASCII, is main- tained to keep track of the character mode. If ASCII is true, the character- set mode is switched to ASCII before returning to Emulator Mode. Transmission of a file from the Microengine to the Cyber is per- formed by the procedure TRANS- MITFILE. After you are prompted for the name of the Microengine file to be transferred, the file is opened and you will be prompted for the name under which the file is to be cataloged on the Cyber. Keying in STOP in place of either file name will terminate Trans- mit Mode and resume Emulator Mode without initiating the transfer. The transfer is performed by generat- ing a NEW, Cyber filename IAF command, thus creating a new primary local file on the Cyber and listing the Microengine file to the Cyber. Since a new primary file is created, the user must take care to SciTronics introduces . . . REAL TIME CLOCKS with full Clock/Calendar Functions The Worry-free Clocks for People Who Don't Have Time to Worry!! What makes them worry-free? • Crystal controlled for high (.002%) accuracy • Lithium battery backup for contin- uous clock operation (6000 hrs!!!) • Complete software in BASIC- including programs to Set and Read clock • Clock generates interrupts (seconds, minutes, hour) for foreground/background operation Applications: • Logging Computer on time • Timing of events • Use it with the SciTronics Remote Controller for Real Time control of A.C. operated lights and ap- pliances Versions available for: • S-100 bus computers RTC-100 $159 • Apple II computer RTC-A $129 • SciTronics RC-80 RC-80CK $109 owners send SciTronics Inc. check or 523 s ciewell St., P.O. Box 5344 ordcMo- Bethlehem, PA 18015 (215) 868-7220 Please list system with which you plan to use controller • Master Charge and Visa accepted. COD's accepted. PA residence add sales tax. Circle 374 on inquiry card. November 1981 © BYTE Publications Inc 487 save the old primary file before enter- ing Transmit Mode. Before the transfer is initiated, BLKEDIT mode is entered in IAF by generating a TERM, BLKEDIT command. BLKEDIT mode is de- signed to allow multiple-line input from a terminal to the Cyber, rather than line-by-line transmission. In this mode, the file transmission can be viewed as a stream of characters in- stead of a series of lines. Thus, the Microengine does not have to wait for the Cyber to accept each line be- fore transmitting the next. Following the command, a TEXT IAF command is generated to allow the file transmitted from the Micro- engine to be read into the newly de- fined CYBER file. Then, the nested procedure XMITRDFILE performs the transfer. When the transfer is completed, BLKEDIT mode is ter- minated and Cyber filename is cata- loged on the Cyber by generation of TERM, TTY, and REPLACE IAF commands. In addition to the two transfer rou- tines (with nested procedures) and the emulator (main) routine, there are two other procedures: 1. CHARMODE allows the user to choose the character-set mode (Nor- mal or ASCII) for file transfer. It is accessed by entering a Control-S while in Emulator Mode. 2. PRNTHELP lists the menu of control commands available to the user in Emulator Mode. PRNTHELP is accessed by entering Control-A while in Emulator Mode. Limitations, Tradeoffs, Extensions Our file-transfer system has been used extensively at data rates up to 1200 bps (bits per second) and has proven successful in its intended pur- pose. The system does contain some limitations, however, either due to tradeoffs between versatility and sim- plicity or as a result of the inherent qualities of the machines. One such limitation is the constraint that all file transfers must be performed under the Cyber NULL subsystem. As described earlier, this is necessary since the program must test for cer- tain responses from the Cyber. Ori- ginally, a "busy wait," in the form of an empty Pascal "for" loop, was used to halt program execution until the Cyber had generated its response. In this way, the Microengine did not have to wait for a specific response, but only had to make sure that it gave the Cyber sufficient time to generate it. Because of the variation in response time by the Cyber, coupled with the rapid processing of the Microengine, the range of the loop bounds had to be made very large to insure that the Cyber had completed its response before the Microengine resumed execution of the file-transfer program. So instead of employing the "busy wait," the program was tailored to the responses made by the Cyber in the NULL subsystem. This approach was cleaner and more effi- cient but was chosen at the cost of WE DISCOUNT PRICES — NOT SERVICE [apple computer " Sales and Service APPLE II PLUS 48K $1,075 APPLE II PLUS 16K $1,025 HARDWARE DISK I! DRIVE * INTERFACE 499 DISK II SECOND DRIVE 439 BASF 5% "DISKETTES (10) 25 LANGUAGE SYSTEM W/PASCAL 379 INTEGER BASIC FIRMWARE CARD 149 APPLESOFT II FIRMWARE CARD 149 CENTRONICS PRINTER INTERFACE CARD . 179 HIGH-SPEED SERIAL INTERFACE CARD ... 145 GRAPHICS TABLET 649 APPLE IEEE-488 INTERFACE CARD 339 M&RSUP-R-MODRF MODULATOR 25 MICROSOFT Z-80SOFTCARD SYSTEM 299 MICROSOFT 16K RAM CARD 169 VIDEX 80 COLUMN BOARD 295 HAYES MICROMODEM II 299 AMDEX 13" COLOR MONITOR 429 NEC 12" GREEN MONITOR 255 SILENTYPE PRINTER WIINTERFACE 350 EPSON MX-100 829 QUME SPRINT 5/45 PRINTER 2499 SOFTWARE APPLE DOS TOOLKIT 65 APPLE PLOT 60 TAX PLANNER 99 APPLE FORTRAN 159 APPLE PILOT 119 APPLEWRITER 65 DOW JONES PORTFOLIO EVALUATOR 45 DOW JONES NEWS & QUOTES REPORTER . 85 THE CONTROLLER 495 VISICALC (16 SECTOR) 159 VISIPLOT 149 VISITREND/VISIPLOT 215 DESKTOP PLAN II 159 BPI BUSINESS SOFTWARE (EACH) 335 SUPER TEXT II 125 PROGRAMMA APPLE PIE 110 EASYWRITER (80 COLUMNS) 219 D.B. MASTER 180 WORD STAR 299 MICROSOFT FORTRAN 149 APPLE III 128K $3,295 DISK III 479 MONITOR III 280 INFORMATION ANALYST 399 PASCAL III 215 SILENTYPE III 329 Jll ATARI 800 16K ATARI' $739 ATARI 400 (16K) 339 410 PROGRAM RECORDER 69 810 DISK DRIVE 439 815 DUAL DISK DRIVE 1199 16K RAM MEMORY MODULE 89 850 INTERFACE MODULE 159 830 ACOUSTIC MODEM 159 825 PRINTER (CENTRONIC 737) 650 ATARI VISICALC 149 BASIC LANGUAGE 45 ASSEMBLER EDITOR 45 MUSIC COMPOSER 45 STAR RAIDER 39 computer age. inc. Authorized Apple Dealer & Service Center 4688 CONVOY STREET, SAN DIEGO, CA 92111 (714) 565-4062 Technical & California (800) 854- "1941 Outside California Order Desk TO ORDER: Please send cashier's check, money order or personal check (allow 10 business days to clear). VISA and Master Card credit card service add 3%. American Express credit card service add 5%. Shipping, handling and insurance in U.S. add 3% (minimum $4). California residents add 6% sales tax. Foreign orders add 10% for shipping. Equipment is subject to price change and availability. All equipment carries factory warranty. Store prices differ from mail order prices. TELEX: 697120 DATAMAX-SDG CALL OR WRITE FOR A COMPLETE PRICE LIST 488 November 1981 © BYTE Publications Inc Circle 81 on Inquiry card. versatility. The program can be ex- tended to accept responses made under other subsystems as well, but this would lengthen the program size considerably. Another such limitation is the re- striction on the size of files trans- ferred from the Cyber to Microengine disk, due to the use of a memory buf- fer. A large file can be transferred by dividing it into smaller files on the Cyber, transmitting the files sepa- rately and merging them at the Microengine. If more memory is available, the buffer size can be in- creased to allow the transfer of large files. The file-transfer system might also be extended to allow the transfer of object-code files. Due to the incom- patibility of binary codes on the two machines, a remapping of the codes would be required for file transfers in both directions. Again, this enhance- ment would considerably increase the size of the transfer program. When we designed the file-transfer system, we intended it to be adapted, with minimal modification, to other microcomputers and minicomputers. The program was also designed for eventual use as a skeleton of a file- transfer system for a network of com- puters in the Department of Com- puter Science at Colorado State University. At present, the system has been adapted to an Altair 8800 and an Intertec SuperBrain. The primary modification made to the program, in order to adapt it to the Altair, was in the emulator section. In the Microen- gine, the serial-port status registers are memory-mapped and can be tested using the Pascal record con- struct presented earlier. The ports on the Altair cannot be tested in this manner. The UCSD Pascal system allows assembly-language linking to Pascal programs, however, and so the adaptation to the Altair was made possible by the addition of two as- sembly-language functions, one to test the port to the Cyber and one to test the port connected to the system console. (The listing of modifications to the file-transfer-system program can be obtained from the authors. )■ The cure for pollution is people. Working together. Our streets and countryside have become dumping grounds for trash. But all across America, people are now recycling 8 million tons of it a year. We create staggering amounts of garbage. But in Virginia Beach, they turned a mountain of garbage into a recreational hillside. For a brochure showing how you can participate in dozens of projects like these, write Keep America Beautiful, Inc. 99 Park Avenue, New York, N.Y. 10016. A Public Service of This Magazine & The Advertising Council mm hcj bsttMAtq crimes 70 Main St. Peterborough, NH 03458 UNLIMITED. Exploration of the arts through computer technology. DIGITAL HARMONY by John Whitney Lays the foundation for the whole new field of audio-visual art made possible by microcomputers. Whitney, a pioneer of the special effects technology used in STAR WARS and 2001: A SPACE ODYSSEY, explains the special union of computer graphics and music. Illustrations and descriptions of Whitney's computer, peripherals, and film techniques. ISBN 07-070015-X, 240 pp., hardcover S21.95 INVERSIONS: A Catalogue of Calligraphic Cartwheels by scott Kim Filled with intriguing designs, words that read the same right-side up and upside down, words within words, and unexpected symmetries, these composi- tions create a fresh way to look at the alphabet. Invertible writing appeals to everyone who loves beauty in mathematics and design. ISBN 0-07-034546-5, 128 pp., SOftCOVer S8.95 m Order by mail or phone. Call toll free 800-258-5420. Please send: DIGITAL HARMONY S21.95 INVERSIONS $8.95 Add 75C per book to cover postage and handling. Check enclosed in the amount of S VISA MasterCard Card # Name Street City Expires, State .ZiP. #19 SOFTWARE ULTIMATE SOFTWARE PLAN We'll match any advertised price on any item that we carry. And if you find a lower price on what you bought within 30 days of buying it, just show us the ad and we'll refund the difference. It's that simple. Combine our price protection with the availability of full profes- sional support and our automatic update service and you have the Ultimate Software Plan. It's a convenient, uncomplicated, logical way to get your software. 'MANUAL ONLY DISK WITH / MANUAL' ARTIFICIAL INTELLIGENCE Medical(PAS-3) . . . . $849/$40 Dental (PAS-3) .. $849/$40 ASYST DESIGN Prol Time Accounting $549/540 General Subroutine .5269/540 Application Utilities . 5439/540 COMPLETE BUS. SYSTEMS Creator $269/525 Reporter .. .$169/$20 Both $399/$45 COMPUTER CONTROL Fabs(B-tree) $159/$20 UltraSort II 5159/525 k" Enhanced Osborne COMPUTER PATHWAYS Pearl (level 1) . 5 99/525 5299/540 5549/550 i/* (New items or new prices) CP/M users: specify disk systems and formats. Most formats available ORGANIC SOFTWARE TextWriter III DateBookll . . Milestone OSBORNE General Ledger Acct Rec/Acct Pay Payroll w/Cost All 3 All 3 + CBASIC-2. $m/$ as 5269/525 5269/530 S 59/520 5 59/520 5 59/520 5129/560 5199/5 75 5269/560 5349/575 Pearl (level 2) Pearl (level 3) DIGITAL RESEARCH CP/M 2.2 NorthStar . . TRS-80 Model Micropolts Cromemco PL/l-80 BT-80 Mac Sid Z-Sid Tex DeSpool DMA Ascom 5149/525 (P+TIS 159/535 5169/525 $189/525 S459/S35 5179/530 85/515 65/515 90/515 90/515 50/510 • WitlT'C" Basic PEACHTREE' General Ledger Acct Receivable Acct Payable Payroll Inventory $399/540 Surveyor 5399/540 Property Mgt $799/540 CPA Client Write-up $799/540 P5 Version . . Add 5129 SOFTWARE WORKS Adapt (CDOS to CP/M) 5 69/Sna Ratfor 5 86/$na SOHO GROUP MatchMaker WorkSheef 5399/540 5399/540 $399/540 5399/540 5149/515 DMA-DOS 5179/535 CBS 5369/545 Formula 5539/545 GRAHAM-DORIAN General Ledger . . Acct Receivable Acct Payable Job Costing Payroll II Inventory II Payroll Inventory Cash Register Apartment Mgt Surveying Medical Dental MICRO-AP S-Basic Selector IV $729/$40 $729/540 5729/540 $729/$40 $729/540 5729/540 5493/540 $493/$40 $493/540 5493/540 5729/540 5729/540 $729/$40 $ 97/$20 $177/520 STRUCTURED SYSTEMS GLorARorAPorPay S599/S40 5599/540 5199/525 5179/525 5 89/520 $ 87/$20 $ 49/520 5 84/5 20 S B4/520 5149/530 5219/530 5289/535 less 10% 5 79/525 5269/S99 5 99/525 . . $269/525 5469/535 MICRO DATA BASE SYSTEMS HDBS $269/$35 MDBS $795/$40 DRSor QRSorRTL . $269/510 MDBSPKG 51295/560 MICROPRO WordStar $319/$60 Customization Notes $ 89/Sna Mail-Merge $109/$25 WordStar/ Mail-Merge 54 19/585 DalaStar $249/$60 WordMasler $119/$40 SuperSort I $199/$40 Spell Star $175/540 MICROSOFT Basic-80 $289/$na Basic Compiler 5329/Sna Fortran-80 $349/$na Cobol-80 $574/$na M-Sorl $124/$na Macro-80 $144/$na Edit-80 $ 84/$na MuSimp/MuMath . . 5224/Sna MuLisp-80 $174/$na Inventory Control Analyst Letteright. QSorl *- NAD SUPERSOFT Diagnostic I . Diagnostic II Disk Doctor . Forlh (8080 or Z80] Fortran Fortran w/Ratfor Other TCS GLor AR or AP or Pay All 4 ^ Compiled each UNICORN Mince $149/525 Scribble 5149/525 Both 5249/550 WHITESMITHS "C" Compiler Pascal Oner C") DATA BASE FMS-80 ^dBASE II . Condor II . y Access/80 OTHER GOODIES k* Select S Forcaster *? Micro Plan *s The Lasl One SuperCalc Target BSTAM BSTMS Tiny "C" Tiny "C" Compiler CBASIC-2 Nevada Cobol MicroStal Vedit MiniModel SlatPak Micro B+ Raid String/80 Slrmg/80 (source) ISIS II Plan 80 INFO UNLIMITED EasyWnter Datadex Other MICROSOFT Softcard(Z-80CP/M) Fortran Cobol MICROPRO Wordstar MailMerge Wordstar/MailMerge SuperSort I . . S Spellstar 5269/Sna $199/5na S419/$na 5549/Sna 5269/550 5189/530 5149/515 5149/515 $ 89/$50 $229/$50 $ 98/$20 $129/$25 $224/$25 $105/$15 $449/$50 $449/540 5229/520 $224/535 $ 84/$20 $279/$na $199/$50 $269/$30 $224 5349 less 15% 5259 5179 5499 5269 5 99 S349 SI 59 S129 PERSONAL SOFTWARE Visicalc 3.3 CCA Data Mgr Desktop/Plan II Visiterm Visidex Visiplot Visitrend/Visiplot. Zork $159 5 84 5159 5129 $159 $149 $229 5 34 PEACHTREE- General Ledger. . . 5224/540 5600/530 S850/S45 $649/545 $595/550 $899/550 $699/550 •'Optimum... 5749/550 PASCAL Pascal/MT+ S429/S30 Pascal/Z 5349/530 Pascal/UCSD 4.0. . $429/550 Pascal/M 5189/520 WORD PROCESSING" WordSearch $179/550 SpellGuard . 5229/525 VTS/80 $259/$65 Magic Wand $289/545 Spell Binder 5349/545 Accl Receivable Acct Payable Payroll Inventory "OTHER GOODIES dBASE II VU #3R (usew/Visicalc). s Context Connector (usew/Visicalc). . . . s Micro Courier s TCS Apple (complete business) Super-Text II Dala Factory DB Master Charles Mann STC 5224/540 5224/540 5224/540 5224/540 5329/550 $ 79 5129 $219 5269/599 $127 $134 $184 less 15% less 15% ORDERS ONLY-CALL TOLL FREE VISA • MASTERCHARGE 1-800-854-2003 ext. 823 • Calif. 1-800-522-1500 ext. 823 Overseas — add $10 plus additional postage • Add $2.50 postage and handling per each item • California residents add 6% sales tax • Allow 2 weeks on checks. C.O.D. ok • Prices subject to change without notice. All items subject to availability • r — Mfgs. Trademark. THE DISCOUNT SOFTWARE GROUP 6520 Selma Ave. Suite 309 • Los Angeles, Ca. 90028 • (213) 666-7677 Int'l TELEX 499-0032 BVHL Attn: DiscSoft • USA TELEX 194-634 BVHL Attn: DiscSoft • TWX 910-321-3597 BVHL Attn: DiscSoft Books Received Ada, An Introduction, Ada Reference Manual, Henry Ledgard. New York: Springer-Verlag, 1981; 26.5 by 18.75 cm, 373 pages, soft- cover, ISBN 0387-90568-5, $12.95. Apple BASIC for Business, For the Apple II, Alan J Parker and John F Stewart. Reston VA: Reston Publish- ing, 1981; 17.5 by 23.5 cm, 301 pages, softcover, ISBN 0-8359-0226-1, $14.95; hard- cover, ISBN 0-8359-0228-5, $17.95. Beyond COBOL, Gary D Brown. New York: John Wiley & Sons, 1981; 15.5 by 23.5 cm, 200 pages, hard- cover, ISBN 0-471-09030-1, $17.50. Computer Peripherals, Barry Wilkinson and David Horrocks. New York: Crane Russak & Company, 1981; 15.5 by 23.5 cm, 310 pages, softcover, ISBN 0-340- 32652-3, $19.75. Data Processing with Applications, 2nd ed, Robert J Condon. Reston VA: Res- ton Publishing Company, 1981; 15.5 by 23.5 cm, 477 pages, hardcover, ISBN 0-8359-1254-X, $16.95. Digital Circuits and Sys- tems, Richard L Castellucis. Reston VA: Reston Publish- ing Company, 1981; 16 by 23.5 cm, 332 pages, hard- cover, ISBN 0-8359-1297-3, $18.95. Executive Computing, How to Get It Done on Your Own, John M Nevison. Reading MA: Addison-Wes- ley, 1981; 16 by 23.5 cm, 319 pages, softcover, ISBN 0-201- 05248-2, $8.95. 50 Programs in Basic for the Home, School & Office, Jim Cole. Woodsboro MD: ARCsoft Publishers, 1981; 14 by 21.5 cm, 80 pages, soft- cover, ISBN 0-86668-002-0, $9.95. Finite Elements, An Intro- duction, Volume I, Eric 490 November 1981 © BYTE Publications lnc Circle 143 on inquiry card. Becker, Graham F Carey, and J Tinsley Oden. Englewood Cliffs NJ: Prentice-Hall, 1981; 15.5 by 23.5 cm, 258 pages, hardcover, ISBN 0-13- 317057-8, $24.95. Flight Deck Uses for the HP-41C, Volume I, Melvin N Peterson. San Francisco CA: MNP Star Enterprises, 1981; 13.5 by 21.5 cm, 59 pages, softcover, ISBN 0-938880- 01-2, $12. The Hexadecimal Chroni- cles, Don Lancaster. In- dianapolis IN: Howard W Sams & Company, 1981; 21.5 by 28 cm, 377 pages, soft- cover, ISBN 0-672-21802-X, $17.95. How to Get Started with CP/M, Carl Townsend. Bea- verton OR: dilithium Press, 1981; 14 by 22 cm, 127 pages, softcover, ISBN 0-918398- 32-0, $9.95. Introduction to Computers and Information Processing, Language Edition, Don Cassel and Martin Jackson. Reston VA: Reston Publish- ing Company, 1981; 18 by 24 cm, 472 pages, hardcover, ISBN 0-8359-3150-1, $19.95. An Introduction to Com- puter Programming and Data Structures Using MACRO-U, Harry R Lewis. Reston VA: Reston Publishing Company, 1981; 18.5 by 24 cm, 241 pages, hardcover, ISBN 0- 8359-3143-9, $18.95. Jewels of Formal Language Theory, Arto Salomaa. Rockville MD: Computer Science Press, 1981; 16 by 23.5 cm, 144 pages, hard- cover, ISBN 0-914894-69-2, $24.95. Knowledge and the Flow of Information, Fred I Dretske. Cambridge MA: The MIT Press, 1981; 16 by 24 cm, 273 pages, hardcover, ISBN 0- 262-04063-8, $18.50. Microcomputer Power Series, Data Management Techniques, John P Grillo and J D Robertson. Dubuque I A: Wm C Brown Company Publishers, 1981; 21.5 by 28 cm, 208 pages, softcover, We Meet or Beat Any Advertised Price! N0RTHSTAR HORIZON II 32k Double Density Reg *9fiQR S3695 £D93 HORIZON II 64k Quad Density •Two 5V<" Dbl. Side Dbl. Density Drives •Full Factory Warranty •List $4495 HORIZON II 64k Double Density !& '3050 $ PCB PRICE ONLY 3275 HORIZON II 32k Quad Density $3995 2895 SUPERBRAIN 64k Double Density 64k QD $ 2650 $ 2950 HARD DISCS 5mbyte for S-100, TRS-80, SUPERBRAIN, HEATH H 89, ZENITH $3495 C I 9D OORYUS FOR TRS-80. Apple, Superbrain. Alpha-Micro. S-100 Bus. Altos $ 4295 $ 5300 lOmbyte 20mbyte Mirror backup '660 Host Multiplexer '760 Master Multiplexer s 760 Interface Card, 5' cable. . .'195 5 1 / 4 " DISK DRIVES TandonCDC BmLoimity . . $ 225 TandonCDC S! oULy . $ 350 Tandon I00-4eo.r.c k . '600 5mb Hard Disk Seagate ST-506 . ..'1350 DISKETTES Verbatim 525-01 box omo '29 Dysan 5V<, ss, DDSort. . .bmomoW PRINTERS $ 450 *825 •479 '549 COMET c.itoh COMET II C.ltoh parallel EPSON MX80 p.r,n.i EPSON MX80 RSZ32 EPSON GRAFTRAX $ 90 STARWRITER 25c P . p, f ,u,i '1495 STARWRITER 2^ k™ '1650 STARWRITER II 45c P , pr.u.i '1795 STARWRITER III 40c P s k™ '1750 NEC 7710 RS232 '2395 MPI88G Willi graphic! R«g S749 '650 TELEVIDE0 910C $ 595 912C '665 920C '720 950 '950 SUPERBRAIN S-100 Bus Adapter LIST $595 '475 SUPERBRAIN Parallel Port SBE Prom LIST $90 '75 LIST $205 '155 LANGUAGES C Basic II '98 M Basic 80 '275 MT Pascal '430 Fortran 80 '450 Cobol 80 '660 M Basic Compiler '329 GRAPHICS Graphics board '896 Symbol Generator '200 Graphics Plotter '200 3-D Graphics '400 Surface Plotter '460 Graphics Terminal Emulator '460 To Order Call (206) 453-8159 Mail and telephone orders only. Mastercharge, VISA add 3%. No COD. All prices FOB origin. Send (or catalog. PACIFIC COMPUTER BROKERS 11056 Palatine North, Seattle, WA 98133 Circle 329 on inquiry card. November 1981 © BYTE Publications Inc 491 BVTI TOLL-FREE SUBSCRIPTION LINE 1-800-258-5485 New Hampshire Residents Dial 924-9281 The Quickest Way To • Order a Subscription • Renew a Subscription • Change or Correct an Address • Give a Friend a Gift Subscription • Inquire about a Subscription We are waiting to help you. Call us between: 8:30-4:00 Mon.-Thurs. 8:30-1 2:30 Fridays (Eastern Time) ifTE the small systems j ournal ATARI 800 16K $749 OMECA SALES CO. ATARI SPECIALS ATARI 400 16K Personal Computer $349 ATARI PERIPHERALS 410 Program Recorder $ 60 810 Disk Drive $449 820 40 Column Printer $299 822 40 Column Thermal Printer $349 EAST COAST 1-800-556-7586 12 Meeting Street Cumberland, Rl 02864 1-401-722-1027 WEST COAST 1-800-235-3581 3533 Old Conejo Rd. #102 Newbury Park, CA 91320 1-805-499-3678 OMEGA SALES CO. Books Received. ISBN 0-697-09954-7, $16.95. Microcomputer Power Series, Guide to System Ap- plications. Same as above; 288 pages, softcover, ISBN 0-697-09952-0, $17.95. Microcomputer Power Series, Introduction to Graphics. Same as above; 144 pages, softcover, ISBN 0-697-09953-9, $15.95. Microcomputer Power Series, Techniques of BASIC. Same as above; 272 pages, softcover, ISBN 0-697-09951-2, $18.95. Microsystems '81, Proceed- ings of the 4th Annual Con- ference (London, March 11-13, 1981). Westbury House, division of IPC Science and Technology Press (POB 63, Bury Street, Guilford, Surrey, England, GU2 5BH), 1981; 16.5 by 23.5 cm, 124 pages, softcover, ISBN 0-86103-046-X, £12.50. Osborne 16-Bit Micropro- cessor Handbook, Adam Osborne, Gerry Kane. Berkeley CA: Osborne/ McGraw-Hill, 1981; 18 by 23 cm, 771 pages, softcover, ISBN 0-931988-42-X, $19.95. Pascal Programs for Scien- tists and Engineers, Alan R Miller. Berkeley CA: Sybex, 1981; 18 by 23 cm, 374 pages, softcover, ISBN 0-89588- 058-X, $16.95. Representations, Philo- sophical Essays on the Foun- dations of Cognitive Science, Jerry A Foder. Cambridge MA: The MIT Press, 1981; 16 by 24 cm, 343 pages, hard- cover, ISBN 0-262-06079-5, $20. 67 Ready-To-Run Pro- grams in BASIC: Graphics, Home & Business, Education, Games, William Scott Wat- son. Blue Ridge Summit PA: Tab Books, 1981; 13.5 by 21 cm, 182 pages, softcover, ISBN 0-8306-1195-9, $6.95; hardcover, ISBN 0-8306- 9660-1, $12.95. Sociological Methods & Research, Volume 9, Number 4, edited by David R Heise. Beverly Hills CA: Sage Publi- cations, 1981; 13.5 by 21.5 cm, 141 pages, softcover, ISSN 0049-1241, $5.50. Structured Requirements Definition, Ken Orr. Topeka KS: Ken Orr and Associates, 1981; 15 by 23 cm, 235 pages, softcover, ISBN 0-9605884- 0-X, $25. Taming Your Computer, A Guide for Business and Pro- fessional People, Jerome Kanter. Englewood Cliffs NJ: Prentice-Hall, 1981; 18.5 by 24 cm, 246 pages, hardcover, ISBN 0-13-884403-8, $17.95; softcover, ISBN 0-13-884395- 3, $8.95. Telecommunications Man- agement for Business and Government, 2nd ed. Larry A Arredondo, edited by Harry Newton. New York: Telecom Library, 1981; 21.5 by 28 cm, 270 pages, soft- cover, ISBN 0-936648-07-4, $30. 32 BASIC Porgrams for the Apple Computer, Tom Rugg and Phil Feldman. Beaverton OR: dilithium Press, 1981; 13.5 by 21 cm, 284 pages, softcover, ISBN 0-918398- 34-7, $17.95. The Year of the Robot, Wayne Chen. Beaverton OR: dilithium Press, 1981; 13.5 by 21 cm, 182 pages, softcover, ISBN 0-918398-50-9, $7.95. ■ This is a list of books received at BYTE Publications during this past month. Although the list is not meant to be exhaustive, its purpose is to acquaint BYTE readers with recently published titles in computer science and related fields. We regret that we cannot review or comment on all the books we receive; instead, this list is meant to be a monthly acknowledgment of these books and the publishers who sent them. 492 November 1981 © BYTE Publications Inc Circle 320 on inquiry card. Information Hiding in Pascal Packages and Pointers Michael B Feldman Department of Electrical Engineering and Computer Science The George Washington University Washington DC 20052 Information hiding is the principle that allows pro- grams written at a high level to be insulated from messy low-level details. This principle fosters program reliabili- ty for two related reasons: • Since low-level details are relegated to lower-level pro- grams (procedures, functions, macroinstructions, etc), they can, in principle, be coded once, instead of once per program. Thus, the detailed code need be debugged only once. Moreover, the calling programs cannot disturb them because they cannot gain access to these details. • High-level programs, being insulated from low-level details, can be written more cleanly, making them easier to maintain. Since higher-level programmers know that lower-level details have already been debugged, they can concentrate on their assigned task — writing the higher- level material. Information hiding is equally valid for single- and multi-programmer tasks. It is clear that even a single pro- grammer can benefit from writing low-level code only once. What Is a Package? One important application of the information-hiding principle is in the definition, in some programming language, of new data types not already supported. Pascal, for example, does not support complex numbers — at least in the standard language. A package, also called a class or data abstraction, is an encapsulation of a new data type, together with a set of primitive func- tions or procedures that handles the details of creating in- stances of the new type and performing operations on it. To continue with our example of complex numbers, a complex-number package generally contains the follow- ing parts: • a definition of complex data as consisting of a real part and an imaginary part • a method to be used by higher-level programs in creating new complex data, given two integers or real numbers to serve as the real and imaginary components • a set of operations on complex numbers so higher-level programs can do arithmetic on complex numbers without needing access to the details of what complex numbers look like internally Such a set of operations should ordinarily be minimal (without redundant operations) and complete (ie: calling routines don't need any additional operations to do everything required). For complex numbers, we would need sum, difference, product, quotient, and absolute value or magnitude operations, plus some comparison operations, such as equals, less than, greater than, etc. The general idea is that this extended data type "comes with" the same general level of support offered by the base language for integers and real numbers. Ideally, a package should be defined by two pieces: a functional specification of the type and its operations, which gives a list of the legal operations and a description of what each operation does (not how), and a group of programs implementing the operations and responsible for handling the messy lower-level details. Jean Ichbiah, developer of the new Ada language, ex- plains the package idea by referring to a wrist- watch — say, one of the new digital ones with many features. The owner's guide describes the watch's features, explaining what each button does (time, date, light, set alarm, and so on). The user receives a warranty from the manufacturer that the watch will perform as advertised. It is not necessary to know anything about how the watch works to use it effectively. Furthermore, the manufacturer would probably refuse to honor the warranty on a watch whose internal circuits have been tampered with. So, the internal parts of a watch are — we hope — packaged to discourage tampering. Indeed, more complex equipment is often packaged with a lock or seal. This way, only an authorized technician can get inside, November 1981 © BYTE Publications Iric 493 or an attempt by a user to get in will be obvious and void the warranty. Ichbiah asserts that software producers are going to be called upon more and more to guarantee their products. However, it will be difficult to give an effective warranty on products whose reliability has not been proven (at least to our own satisfaction; recalls occur in many in- dustries). More important, it is difficult to guarantee a product whose internal parts can be tampered with by a user. Packages, then, are a way to foster warrant- ableness. There are several programming languages that support variations on the package theme. The language SIMULA67, used more in Europe than in the United States, provides a similar concept called class; experimen- tal languages such as Concurrent Pascal, CLU, and Alphard support the idea in one form or another, and Ada emphasizes packages by that name as an important principle of modular design. Standard Pascal does not support packages as such; let us examine how we can im- plement their principle in Pascal. Packages in Standard Pascal A package should consist of a functional specifica- tion — ideally recognized by the compiler — and an im- plementation module. Pascal has no facility for separating the specification part from the implementation part. Therefore, we write the specification part, in an ap- STOP! Did you remember to remove your Priority One insert? If not please turn back to page 64 and tear it out. propriate style, as a block comment. Also implicit in the notion of a package is the fact that we can physically isolate the package from other packages and calling programs. Unfortunately, Pascal is not much help here, since neither a compile-time facility for copying separate pieces of source text into a source file nor a facility for separate compilation of packages is supported. Many implementations of Pascal provide one or both of these, but this discussion is limited to the possibilities of the standard language. Another limitation of Pascal is that all type definitions must appear in one group following a "type" keyword, and these must appear before all code for functions and procedures. This hinders the ability to group a type definition with all its operations, another type to be grouped with its operations, and so on. Once again, there are some implementation-dependent relaxations of this rule. A Pascal Complex-Number Package To summarize the previous sections, Pascal does not permit the direct production of packages because of its lack of separate compilation facilities and its rigid syntax for defining new types. With some good programming- style conventions, however, and perhaps a bit of manual preprocessing of the source code, a fairly good approx- imation can be achieved. How shall we implement a complex -number package? Let us define a Pascal type called COMPLEX as a record with real and imaginary components: type COMPLEX = record REALPART: real; IMAGPART: real end; We could then declare variables of type COMPLEX: var A, B, C, D, E, F: COMPLEX; and set A, B, and C as follows: A.REALPART := 1.5; A.IMAGPART := -3.7; B. REALPART : = 2.0; B. IMAGPART : = -5.1; C.REALPART := 0.0; C. IMAGPART := 4.1. How shall we do arithmetic on complex numbers? Sup- pose we defined a procedure: procedure CADD(C1, C2: COMPLEX; var RESULT: COMPLEX) The complex sum RESULT is a complex number that gives: RESULT.REALPART := Cl.REALPART + C2.REALPART; RESULT.IMAGPART := Cl.IMAGPART + C2. IMAGPART 494 November 1981 © BYTE Publications lnc Circle 438 on inquiry card. Writing this procedure would be quite straightforward, and we could do the equivalent of saying D = A + B by writing: CADD(A,B,D) Things start looking messier when we try to emulate a more complicated expression like D = A + B + C. We would then have to write something like: CADD(A,B,E); CADD(C,E,D) As the expression gets longer, we need more separate calls to the CADD procedure, each doing only a single operation. It would be better if we could write an expres- sion, as we would if we were dealing with integers or real numbers. In other words, can we turn CADD into a func- tion, then write: D := CADD(A, CADD(B,C)) which is much cleaner (especially in longer expressions)? Writing functions to do this operation, and others like difference, product, quotient, etc, would be easy if our Pascal functions looked like: function CADD (CI, C2 : COMPLEX) : COMPLEX that is, if functions could return complex numbers as value. Pascal sets up an obstacle here: functions can return only scalar types, and COMPLEX is a structured type, a record. What can we do? Enter the Pointer What is a pointer? It is an abstraction of the idea "the data at the address: ..." Pointers exist in many program- ming languages, notably PL/I. A pointer in Pascal is written in publication language as t . Since many im- plementations use the symbol @ instead, we shall use it as well. In Pascal, you can declare a variable to be a pointer: var P: ©INTEGER which is read "P is a pointer to an integer." Pascal, differ- ing from PL/I, for example, requires not only a declara- tion of all pointers, but also a declaration of the type of thing pointed to. This is a protection against using pointers indiscriminately to point to different things at different times and is a reflection of the Pascal "strong- typing" philosophy. P@ is read "the thing pointed to by P." Pointers must be used with care. In fact, it is often said that "pointers are to data what GOTOs are to program code." But in appropriate situations, pointers in Pascal are extremely useful. Pascal textbooks illustrate pointers as a way to link nodes in a list or tree structure, and many of you are familiar with this application. What is not usually Model 953A EPROM PROGRAMMER Programs 2508, 2758, 2516, 2716, 2532 and 2732 five volt EPROMS. Complete - no personality modules to buy. Intelligent - microprocessor based, programs and verifies any or ail bytes. RS-232 serial interface - use with computer or terminal. Verify erasure command - verifies that EPROM is erased. Extended diagnostics - error output distinguishes between a bad EPROM and one which needs erasing. May be used for extremely reliable data or program storage. All power on programming socket under processor control. LED warning light indicates when power is applied. Complete with Textool zero insertion force socket. High performance/cost ratio. Standard DB-25 I/O connector. PRICE $289 BAY TECHNICAL ASSOCIATES, inc. HWY. 603. P.O. BOX 387 BAY ST. LOUIS, MISSISSIPPI 39520 (601)467-8231 fT A Message to our Subscribers From time to time we make the BYTE subscriber list available to other companies who wish to send our subscribers promotional material about their products. We take great care to screen these companies, choosing only those who are reputable, and whose products, services, or information we feel would be of interest to you. Direct mail is an efficient medium for presenting the latest personal computer goods and services to our subscribers. Many BYTE subscribers appreciate this controlled use of our mailing list, and look forward to finding information of interest to them in the mail. Used are our subscribers' names and addresses only (no other information we may have is ever given). While we believe the distribution of this information is of benefit to our subscribers, we firmly respect the wishes of any subscriber who does not want to receive such promotional literature. Should you wish to restrict the use of your name, simply send your request to BYTE Publications Inc, Attn: Circulation Department, 70 Main St, Peterborough NH 03458. Thank you. ^i- J) November 1981 © BYTE Publications lnc 495 discussed in the texts is, first, that pointers don't have to be used as that kind of link, and second, that pointers are scalar types, and thus may be returned as function values. Listing 1: Pascal programming examples (see the text for details). (la) type COMPNUM = record REALPART, IM AGP ART: real end; COMPLEX = ©COMPNUM (lb) function MAKECOMP (R,I: real): COMPLEX; var P: COMPLEX; begin NEW (P); P@.REALPART := R; P;. IMAGPART := I; MAKECOMP : - P end; (lc) function RE( C: COMPLEX): real; begin RE := C@.REALPART end; function IM( C: COMPLEX): real; begin IM : = C@. IMAGPART end; (Id) function CSUM ( X,Y : COMPLEX): COMPLEX; begin CSUM : = MAKECOMP (RE(X) + RE(Y), IM(X) + IM(Y)) end; (le) function CEQUALS ( X,Y: COMPLEX ): Boolean; begin CEQUALS : = RE(X) = RE(Y) & IM(X) = IM(Y) end; (If) type COMPNUM = record REALPART, IMAGPART: real; TEMPORARY: Boolean end; (lg) notion MAKECOMP (R, I : real): COMPLEX var P: COMPLEX; begin NEW(P); P@. REALPART = R; P@. IMAGPART = I; P@. TEMPORARY = TRUE; MAKECOMP = P end; We can use pointers advantageously in creating our package for complex numbers. Instead of using the type COMPLEX to name our complex-number record, let us rename that record COMPNUM and use COMPLEX to refer to a pointer to a COMPNUM, as shown in listing la. Declaring variables as in: var A, B, C, D, E, F : COMPLEX does not create six records — only six pointers. The records come into being later. We can give a calling program an easy way to create a complex number by noticing that the Pascal predeclared function NEW can be used to create instances of a type at execution time. A call such as NEW(P), where P is a pointer to some type, creates space for an instance of that type, returning the location of the new instance in P. We can now write a Pascal function MAKECOMP, as in listing lb. MAKECOMP creates a new complex number with real and imaginary parts and returns a pointer to that new number as its value. A user can then write: A := MAKECOMP(2.0,-5.5) and, assuming that A is of type COMPLEX, never realize what is going on at the lower level. We can further insulate the user from the "dot" nota- tion of Pascal records and any concern with pointers by writing two functions that access the real and imaginary components (see listing lc). Given that Y is of type real, Y : = RE(A) looks much like the corresponding notation from mathematics. At this point, we can start writing other functions to do complex arithmetic. All such functions can now be writ- ten with arguments and return values of type COMPLEX, and no further reference must ever be made to lower-level implementation details. For example, see the code for CSUM in listing Id. A function to determine if two com- plex numbers are equal might be written as in listing le. Giving Back the Memory This would all work very well, except for one problem. If we were to write the complex-expression equivalent of: E = (A X B) + (C X D) [E: = CSUM(CPROD(A,B),CPROD(C,D))] our scheme would call NEW to get space for the tem- porary results CPROD(A,B) and CPROD(C,D), as well as for the final sum of the two. What happens to the two temporary records we created7 They remain allocated and will not be reused. Con- tinual use of expressions like this will allocate temporary space that will not be recovered. Eventually, our pro- gram will run out of dynamic-memory space (usually called heap space) and "bomb," even though we're not actually using all that space. 496 November 1981 © BYTE Publications Inc (lh) procedure CASSIGN (var CI, C2: COMPLEX); begin if CI <> nil then DISPOSE(Cl); (* if CI already points to something *) CI : = MAKECOMP(RE(C2), IM(C2»; Cl@. TEMPORARY := FALSE end; procedure CRELEASE (CI: COMPLEX); begin if Cl@. TEMPORARY then DISPOSE(Cl) end; (li) function CSUM(X,Y: COMPLEX): COMPLEX; begin CSUM := MAKECOMP(RE(X) + RE(Y), IM(X) + IM(Y)); CRELEASE(X); CRELEASE(Y) end; Pascal, in most reasonable implementations, has a built-in function DISPOSE(P) that, given a pointer P, returns whatever is pointed to by P to the heap. It's the inverse of NEW. The problem is for our system to be able to discern whether a given complex is temporary, as in the intermediate expressions above, or permanent, like A, B, C, D, and E. One way to do this is to add to each record a Boolean field TEMPORARY that is set to TRUE by MAKECOMP. This changes the declaration of COMP- NUM to that shown in listing If. It also changes the MAKECOMP function to that shown in listing lg. Two questions remain: how to designate permanent complex numbers, and how to DISPOSE of temporary ones. The first question is answered by noticing that the only time we need a permanent complex number is when we are assigning it to a declared variable. To do this, we write a procedure CASSIGN(Cl, C2), which copies C2 into Cl, replacing the assignment (: = ) operation and setting TEMPORARY to false. To dispose of temporary structures, we can write a procedure CRELEASE(C) that calls DISPOSE if C is tem- porary. We have to call CRELEASE in each of our arithmetic functions so input arguments to these func- tions can be given back, if temporary. The CASSIGN and CRELEASE procedures are seen in listing lh. This may be messy. But since Pascal will not "collect the garbage" automatically, it's about the only way to reclaim the storage. As an example of where to use CRELEASE, consider the revised CSUM in listing li. A typical assignment statement might be: CASSIGN(A, CSUM(B, CPROD(C,D))) which is equivalent to A = B + C X D. We could go on and on, but you can fill in further details. We can summarize by reiterating that choice of a Powerful Lab Graphics For Your Apple II + ® Computer ~\ SCIENTIFIC PLOTTER CURVE FITTER r A : i/y V V V% j SCIENTIFIC PLOTTER 48K APPLE II +, $25 Draws professional-looking graphs of your data. EASIER, FASTER, NEATER and more ACCURATE than handplotting. You choose data format, length and position of axes, 20 symbols, error bars, labels anywhere in 4 orientations, etc. Includes 5 DEMOS on disk with 30-PAGE MANUAL CURVE FITTER 48K APPLE II +,$35 Selects the best curve to lit your data. SCALE, TRANSFORM, AVERAGE, SMOOTH, INTERPOLATE (3 types), LEAST SQUARES FIT (3 types), EVALUATE UNKNOWNS from fitted curve. Includes 5 DEMOS on disk with 33-PAGE MANUAL. VIDICHART 48K APPLE II +,$75 NEW tools for lab data management. FAST plots of 4 data sets with SCROLL- ING in 4 directions, ZOOM scaling on X and Y axes, 2 types of graphic CUR- SORS and on-screen STATUS REPORT. PLOTS A/D INPUT while sampling. ADD, SUBTRACT, MULTIPLY, DIVIDE, INTEGRATE, DIFFERENTIATE, AVERAGE or NORMALIZE data sets with SIMPLE COMMANDS. Ideal lor spec- tra, chromatograms, rate curves, etc. Includes SAMPLE DATA on disk with 28-PAGE MANUAL. SPECIAL! All 3 programs on one disk, only $120. Since each program uses the same data format on disk, data may be shared. BUY THESE PROGRAMS AT YOUR LOCAL DEALER OR ORDER DIRECT. For more information, ask for FREE brochure or send $5 for any manual ($12 for all 3), deductible with purchase. Add $1.50 shipping on all orders. For fastest service, call in your VISA or Master Card order. iffii INTERACTIVE MICROWARE, INC. P.O. Box 771, Dept. B State College, PA 16801 CALL (814) 238-8294 lor IMMEDIATE ACTION Trademark of Apple Computer, Inc. ADALAB Is a small lab computer system with LARGE capabilities from Interactive Mlcroware, Inc. ADALAB HARDWARE PACKS MORE POWER. . .for collecting data and con- trolling your laboratory instruments. It includes a 12-bit analog voltage Input, a 12-bit analog voltage output, 8 digital eenae Inputs, 8 digital control outputs, a 32-bit reel-time clock and two 16-bit timers/counters. . .ALL ON A SINGLE APPLE INTERFACE CARD! QUICKI/O SOFTWARE MAKES IT EASY. . .Simple commands In BASIC give you control of all hardware features of ADALAB. Sample programs end eesy-to- use manuals will enable you to start using your ADALAB system right away. Ad- ditional software for laboratory applications is available at extra cost. A com- plete self-test diagnostic progrem Is included to assure you that all of the hard- ware Is working properly and accurately. A D A L I • Saves time by eliminating manual calculations. 1 Is easy to use because the manuals and software are complete and well written. Saves money by adding convenience and utility to older instruments. Has a great memory to store and organize experimental data. 1 Is versatile; it works with many different Instruments. • Is more accurate than a meter or chart recording. 1 Is fully supported by a dedlcted team of scientists. GREAT PRICE/PERFORMANCE. . .the ADALAB Add-on Package with inter- face card, cables, self-test module, QUICKI/O™ software and manuals Is available today for ONLY $495. Put a complete, reliable computer system in your laboratory FOR ONLY $3295, including a 48K APPLE II + * computer, disk drive, graphics/text printer, video monitor and ADALAB Add-on Package. Send for FREE hardware and software brochures or enclose $10 for com- plete manuals. For fastest service, call In your VISA/Master Card order NOW. Dealer inquiries invited! "Trademarks of Apple Computer. Inc. ^. INTERACTIVE MICROWARE, INC. | P.O. Box 771, Dept. B State College, PA 16801 ■*■ CALL (814) 238-8294 (or IMMEDIATE ACTION Circle 203 on inquiry card. Circle 204 on Inquiry card. November 1981 © BYTE Publications tac 497 good implementation strategy (pointers and records) and the right low-level primitive functions (MAKECOMP, RE, IM) has given us a healthy level of insulation for higher-level programs from messy details. Even fun- damental operations like sum and equals can be written using the notations of the application area, rather than the esoterica of the programming language. An objection could be made that we are paying a price in run-time efficiency by insisting on all these levels of in- sulation, each imposing either a subprogram call (and its overhead) or an indirect (pointer) reference (also with an associated overhead). There is no doubt that a price measured in machine performance is exacted here. We counter by pointing out that almost any device used in programming to increase people efficiency (and this in- cludes high-level languages) takes its toll in reduced machine performance. In today's world of fast and inex- pensive hardware, it's a price worth paying. The Specification Part The routines shown previously constitute part of what is usually called the package body, namely, the implementing code for all the routines. Ideally, we should be able to write a section giving only functional specifica- tions, and this would be the only part visible to a user or calling program. Listing 2: The specification part of a package that states the complex-number data type. It is included in the Pascal program as a comment and explains what the attributes of the package are, but not necessarily how they work. (* package ComplexNumbers type COMPLEX function MAKECOMP ( R,I : real ) function RE ( C : COMPLEX ) function IM ( C : COMPLEX ) function CSUM ( X,Y : COMPLEX ) function CDIFF ( X,Y : COMPLEX ) function CPROD ( X,Y : COMPLEX ) function CQUOT ( X,Y : COMPLEX ) function CEQUALS ( X,Y : COMPLEX ) function CLESSEQ ( X,Y : COMPLEX ) function CGTREQ ( X,Y : COMPLEX ) ...and possibly some complex I/O routines. detai Is private COMPLEX; real; real; COMPLEX COMPLEX COMPLEX COMPLEX Boolean; Boolean; Boolean; Listing 3: A complex-number package written for the Pascal- like language Ada. function "*" (x,y; complex) return complex is R,I: float; begin R := RE(x)*RE(y) - IM(x)*IM(y); I := RE(x)*IM(y) + IM(x)*RE(y); return (R,I); end; function "*" (x: float; y: complex) return complex is TEMP : complex; begin TEMP : = (x * RE(y), x * IM(y)); return TEMP; end; Since Pascal has no facility for separating these two im- portant sections, we shall write the specification part as a block comment. A specification part for complex numbers is shown in listing 2. Operator Overloading In writing our complex-number package in Pascal, we were forced to use prefix-function notation (ie: CSUM(X,Y), and so on). Ideally, a higher-level program should be able to write X + Y when X + Y is meant, and the compiler should be able to invoke the addition routine appropriate to the declared types of X and Y. Suppose, for example, that X and Y were vectors of in- tegers. If we had written a routine to add two vectors, there ought to be some way to inform the compiler that vector addition is what is meant by X + Y if X and Y are declared as vectors. In other words, instead of calling our complex-addition routine CSUM, we should be able to call it + , and let the compiler determine when its use is appropriate. To give an example of how this can be done in Ada, here are two functions, both called *, to do complex multiplication and multiplication of a complex by a real scalar (see listing 3). The two most important parts of this example are the two additional operators named * — the compiler can tell which one is meant, in an expression, by the types of the operands — and the fact that in Ada, unlike Pascal, struc- tures can be returned as function values. The pointer scheme used in this article is thus unnecessary in Ada. This technique of adding power to an arithmetic opera- tion, extending its range to cover new data types, is known as operator overloading. Several experimental languages have supported overloading; SNOBOL4 is a major language in the "real world" that has supported it for more than ten years. But no widely used procedural language permits operator overloading. As the Ada language comes into wide use, many people will discover and appreciate its overloading facility, as well as other niceties that make packages easy to do.B References 1. Brinch Hansen, P. "The Programming Language Concurrent Pascal." IEEE Transactions on Software Engineering, volume SE-2, number 2, June 1975, pages 199 through 207. 2. Dahl, O J, B Myhrhand, and K Nygaard. The SIMULA67 Common Base Language. Oslo: Norwegian Computing Centre, Publication S-22, 1970. 3. Griswold, R E, J F Poage, and I P Polonsky. The SNOBOL4 Pro- gramming Language, 2nd ed. Englewood Cliffs NJ: Prentice-Hall, 1971. 4. Liskov, B H and S N Zilles. "Abstraction Mechanisms in CLU." Communications of the ACM, volume 20, number 8, August 1977, pages 564 through 576. 5. Wegner, P. Programming with Ada. Englewood Cliffs NJ: Prentice- Hall, 1980. 6. Wolf, W A, R L London, and M Shaw. "An Introduction to the Con- struction and Verification of Alphard Programs." IEEE Transac- tions on Software Engineering, volume SE-2, number 4, December 1976, pages 253 through 265. 498 November 1981 © BYTE Publications Inc System Notes A Voice for the Apple II Without Extra Hardware Robert A Payne 7437 Arizona Ave Los Angeles CA 90045 With an Apple II computer and a standard cassette-tape player, I have been able to store human voices in digital form and recall them later with relatively good fidelity. In fact, my 48 K-byte Apple computer can store up to three minutes of digital voice data without additional hardware or disk storage. My experiments in this area began after reading other articles concerning the application of home computers to voice recording (see reference). These prompted me to try simple hardware additions to a standard Apple com- puter and to experiment with various low-priced A/D (analog-to-digital) converters that were readily available from local electronics supply houses. The problems I encountered fell into three general categories: first, most inexpensive A/D converters will not operate in the range of 10,000 to 12,000 samples per second. This is the minimum rate acceptable for rea- sonable word reproduction. Second, at higher sample rates the computer memory required to store the digital data exceeds the memory of the Apple computer after only a few seconds of actual operation. And finally, the hardware I was adding to the computer tended to be cumber- some and of relatively low quality. I would have to overcome each of these problems before I could store voices in my computer. Recording the Voice The idea for recording voice without additional hardware came from looking at commercially available software that digitizes voice input to the Apple computer from a standard cassette-tape recorder through the cassette-input port. It is possible to monitor zero crossings of any analog signal, including voice, simply by making a recording of the signal on a cassette tape, then plug- ging the recorder into the Apple cassette-input port and playing the tape back while monitoring memory location C060 (hexadecimal), bit 7 (cassette input). Above a certain level of input signal, the cassette input will read high; below this level it will read low. The level of this transition is called the threshold. If voice is thought of as being a simple sinusoidal function, it is readily apparent that each time the signal crosses the threshold, the state of the cassette-input bit changes. A history of these changes contains all of the frequency characteristics of the original analog input, assuming two threshold crossings per cycle. Since this method of data gathering really amounts to a 1-bit A/D conversion, amplitude information is not present and the stored voice will be repro- duced at a constant volume depend- ing on the hardware used for the actual playback. It should also be noted at this time that the sampling rate must meet the Nyquist criteria. That is, the rate at which the cassette-input port is read must be equal to at least twice the fre- quency of the highest voice harmonic that we wish to store. The ideal cassette recorder should have a volume and a tone control so that the user can input the correct amplitude and control the frequency range to reproduce a given voice with minimal noise and to cause the mid- point of the input signal's peak-to- peak amplitude to be set at the point where the Apple threshold ("0" to "1" transition) occurs. The quality of speech recorded will vary drama- tically with changes in these parameters, and each individual will have to find the correct settings by ex- perimentation. For my own voice and cassette recorder, I use relatively low volume settings with the tone control adjusted to its highest frequency. Data Compression At this point, by using the cassette input for data, I had solved the prob- lems of not being able to find inex- pensive A/D converters that could sample at a fast enough rate to record voice and of having to add wires and power supplies to my Apple com- puter. However, once I learned how to record voice and store it in memory, I found that about twenty seconds of data were all I could han- dle. This was the result of packing 8 bits of A/D data into each memory location. On close inspection I found that the data that had been stored did not always change from sample to sam- ple. This was true when low-fre- quency signals were being input and also during the times when no input was being sensed at the cassette-input port (eg: when the speaker stops to breathe, or at the beginning of a re- cording before the speaker has started talking). Since the data fluctuations had this characteristic, I decided to store data such that the first bit of each memory location represented November 1981 © BYTE Publications lnc 499 the status of the A/D input and the next 7 bits represented a counter in- dicating the number of samples col- lected while that input remained un- changed. If the counter overflowed the alloted 7 bits, the same A/D bit would be stored in the next memory location with a new counter value. Listing 1 is written in 6502 machine language and should load voice data into any Apple computer with 48 K bytes of memory. For machines with less memory, the operands in state- ments 849 and 810 (hexadecimal) can be changed to a smaller hexadecimal number representing the most-sig- nificant byte of the upper limit of memory. At this point I had a computer memory full of A/D data that con- tained enough samples to reproduce between one and three minutes of reasonably understandable human voice. The exact time of playback is a function of voice pitch and the setting of the inputs on the tape recorder. Also, certain sounds such as "sssss" tend to cause a great deal of change in the A/D data relative to the sampling rate and will therefore give less voice recording time for a given amount of memory. Although it is difficult to analyze the efficiency of this new A/D pack- ing technique by data inspection, I assume that it is five to six times more efficient than the method of packing 8 bits per word. I base this conclusion on the improvement in time for a given memory size. Reproducing the voice data for playback was the next logical experimental step. Reproducing the Voice The Apple computer has an on- board speaker that can be toggled by a read or a write to memory location Listing 1: A/D input routine. Record your voice input on the cassette tape, then run the tape while executing this program starting at location 800 (800G). Voice data will be stored from location 1000 through BFFF in the form of data plus counter. Adjust the number at location 81F to change the sample rate of the A/D converter. The lower the number, the better the quality, but less time will be available for a given amount of memory. Store zero Increment storage LSB Increment storage MSB Check for end of memory Restore storage LSBs and MSBs 800 A9 00 LDA #$00 802 8D 00 10 STA $1000 805 EE 03 08 INC $0803 808 DO F8 BNE $0802 80A EE 04 08 INC $0804 80D AD 04 08 LDA $0804 810 C9 CO CMP #$C0 812 DO EC BNE $0800 814 A9 00 LDA #$00 816 8D 03 08 STA $0803 819 A9 10 LDA #$10 81B 8D 04 08 STA $0804 81E A0 0A LDY #$0A 820 88 DEY 821 DO FD BNE $0820 823 AD 60 CO LDA $C060 826 29 80 AND #$80 828 CD A0 09 CMP $09A0 82B 8D A0 09 STA $09AO 82E DO 05 BNE $0835 830 E8 INX 831 E0 7F CPX #$7F 833 DO E9 BNE $081E 835 8A TXA 836 A2 00 LDX #$00 838 4D A0 09 EOR $09AO 83B 8D 00 10 STA $1000 83E EE 3C 08 INC $083C 841 DO DB BNE $081E 843 EE 3D 08 INC $083D 846 AD 3D 08 LDA $083D 849 C9 CO CMP #$C0 84B DO Dl BNE $081E 84D A9 00 LDA #$00 84F 8D 3C 08 STA $083C 852 A9 10 LDA #$10 854 8D 3D 08 STA $083D 857 00 BRK Load sample rate delay counter Get data from cassette input port Use only the first bit Compare to previous A/D sample Replace old A/D value with new one Branch if bit changed state Increment counter Compare counter to overflow value Branch if counter < 127 Move counter to accumulator Zero counter OR bit with counter value Store data plus counter Increment storage location Check for end of memory Restore program locations End of storage routine C030 (hexadecimal). The software shown in listing 2 will unpack the stored A/D data and toggle the speaker each time that the data counter reaches zero and the A/D bit changes state. This amounts to pro- ducing a "click" on the output speaker each time the original input voice signal had a zero crossing. It may be hard to imagine how these clicks can reconstruct the human voice since they have no tones or amplitudes related to the original voice input. Try not to think about the individual clicks; instead, think of a series of clicks being output at a varying frequency which is a function of the original voice input. This vary- ing frequency is an FM (frequency modulated) reproduction of that original input signal. Although the reproduced signal is understandable if output in the above manner, there are several significant sources of noise that degrade the voice, one being the Apple's on-board speaker itself. The others relate to the method of sampling and reproducing the data. To reproduce any analog signal stored in digital format, it is very important to sample the A/D converter at a constant rate and to make the corresponding D/A (digital- to-analog) conversion at that same uniform rate. Any variance of these rates will cause high noise levels that will have to be filtered. Unfortunately, the software that I had written to sample the input data had several different logical paths to follow depending on whether the counter was being incremented or whether it plus the data bit were be- ing stored, and whether the least- or most-significant bit of the storage location had to be incremented. Each case took a different number of machine cycles to complete and therefore affected the time required to return and read the cassette-input port. When I modified the software to make each logical path use the same number of machine cycles, what I was really doing was slowing down each logical loop until they all ran at the rate of the slowest loop. This had the undesired effect of lowering the sample rate and reducing the band- width of the input signal, which at- 500 November 1981 © BYTE Publications Inc tenuated the higher harmonics to the point where word recognition became extremely difficult. Two solutions to the above prob- lem were possible: the first was to use digital-filtering techniques on the stored data to remove unwanted noise. I rejected this due to the com- plexity of designing a bandpass filter which is not symmetrical with respect to a frequency equal to one half of the A/D sampling rate. The design of this type of filter requires the use of com- plex multiplying coefficients and is not practical for real-time microcom- puter operations on large amounts of data. Instead, I used the hardware filters controlled by the cassette-tape- recorder tone control and sent the data back to the cassette to be either recorded on tape or output in the PA (public address) mode. To do this I changed the output software to toggle memory location C020 (cassette out- put) instead of the Apple speaker. The results were quite good when us- ing this method to reproduce the stored voice. I used the cassette tone control to filter out unwanted noise. Just to prove that anyone can understand a voice that had been recorded and then reproduced with the methods I have discussed in this article, I tried recording random passages from several different text- books and playing them back to dif- ferent listeners. Most had no trouble understanding the output once I had optimized the sampling rates and tone controls for my own voice. Future Plans The next step in my experiments will be to store digitized voice on the computer disk, which should allow approximately ten minutes of play- back. I am also trying to find meth- ods of packing voice data into more efficient patterns to minimize memory-size requirements. I hope this article helps others find inexpen- sive methods of bringing speech to their computers. ■ Reference Anderson, James C. "An Extremely Low-Cost Computer Voice Response System," February 1981 BYTE, pages 36-43. Listing 2: A/D output routine. First store data using listing 1 and a cassette recorder. After the data is stored in the Apple memory, it can be output to the on-board speaker by running this program from location 860 (860G). To send the data back to the cassette-output port, change location 874 to 20 and run the program from location 860 with the tape recorder in either the record or PA mode. The counter in location 877 should be adjusted until the optimal output is found. The number at location 892 is the most-significant byte of the upper limit of memory. Get A/D data Mask for counter only Move counter to X register Get A/D data Mask for data only Compare to previous data Store current data Branch if current data = last data Toggle output Programable delay loop Decrement A/D counter Used only for initial value of zero Branch if A/D counter <> Increment data pointer's LSBs 860 AD 01 10 LDA $1001 863 29 7F AND #$7F 865 AA TAX 866 AD 01 10 LDA $1001 869 29 80 AND #$80 86B CD A0 09 CMP $09A0 86E 8D A0 09 STA $09A0 871 F0 03 BEQ $0876 873 8D 30 CO STA $C030 87 6 A0 0D LDY #$0D 878 88 DEY 87 9 DO FD BNE $0878 87B CA DEX 87C 30 02 BMI $0880 87E DO F6 BNE $0876 880 EE 61 08 INC $0861 883 EE 67 08 INC $0867 886 DO D8 BNE $0860 888 EE 62 08 INC $0862 88B EE 68 08 INC $0868 88E AD 68 08 LDA $0868 891 C9 CO CMP #$C0 893 DO CB BNE $0860 895 A9 01 LDA #$01 897 8D 61 08 STA $0861 89A 8D 67 08 STA $0867 89D A9 10 LDA #$10 89F 8D 62 08 STA $0862 8A2 8D 68 08 STA $0868 8A5 00 BRK Test for MSB increment Increment data pointer's MSBs Test for the end of memory Branch to next sample Restore pointers Need a Real-Time Multi-Tasking Executive for 8080 and Z80? • Faultless operation proven in world wide use • Truly hardware independent • Optimized for fast interrupt response • Minimal memory requirements • ROMable for control applications • Terminal Handler is CP/M BDOS compatible • Console Driver supports Intel iSBC boards • SYSGEN speeds user system configuring • Program in PI./M, Fortran, Pascal or Assembler • Source code included (Intel or Zilog mnemonics) • Unlimited use licence agreement • Complete documentation (available separately) • Low cost Jt KADAK Products Ltd. IF 206-1847 West Broadway Avenue Vancouver, B.C., Canada V6J 1Y5 Telephone (604) 734-2796 Dealer enquiries invited CP/M is a trademark ol Digital Research Corp.; RMX/80, iSBC are trademarks oi Intel Corp. Circle 216 on inquiry card. November 1981 © BYTE Publications Inc 501 Circle 465 on inquiry card. e rtt -et project £& CONDOR SERIES 20/DBMS is the answer to your data processing needs whether you're an experienced or first time computer user. ►■ Create data base files in minutes using screen formatting techniques. ►- Access vital information using powerful English-like instructions ►■ Non-computer professionals can develop applications for accounting, personnel, inventory, work in progress, and more. The Answer To: • A General Ledger System • An Inventory Control System • A Purchase Order System • A Data Tracking System • A Personal Record Keeping System • And many more applications. DBMS in simple English instructions. APPEND DIR RENAME CHANGE DISPLAY REORG COMBINE EMPTY RESTART COMPARE ENTER SAVE COMPUTE FORMAT SELECT COPY HELP SET DATE JOIN SORT DBMS LIST STAX DEFINE LOGDISK SYS DEGROUP POST TERM DELETE PRINT TITLE DESTROY PROJECT UPDATE DIC READ WRITE AVAILABLE AT: U.S. DEALERS Niagara Falls, NY Huntsville, AL Ann Arbor, Ml Wilmington, DE San Antonio, TX Toledo, OH Philadelphia, PA Denver, CO Detroit, Ml Bloomington, IN Fort Collins, CO Chicago, IL Minneapolis, MN Provo, UT Milwaukee, Wl Iowa City, IA Seattle, WA Birmingham, Ml Quad Cities, IA California New York, NY Birmingham, AL DISTRIBUTOR OUTLETS FOREIGN DEALERS Microsource Canada Lifeboat Associates Australia England CONDOR SERIES 20/DBMS is compatible with many Z-80 microcomputers with at least 48K RAM running under CP/M® operating systems. CP/M is a registered trademark of Digital Research, Inc. CONDOR COMPUTER CORPORATION P.O. Box 8318 Ann Arbor, Michigan 48107 (313)769-3988 Dealer inquiries welcome. M-481 CONDOR SERIES 20/DBMS D User's Manual ($35, plus tax) D Additional information. Please Send To: Name Position Company Address . City State Zip Phone ( )- Computer _ Building Blocks for Microcomputer Systems, Dedicated Controllers and Test Equipment. R 2 l/0 S-100 ROM, RAM & I/O BOARD ECT's R 2 l/0 is an S-100 Bus I/O Board with 3 Serial I/O Ports (UART's), 1 Parallel I/O Port, 4 Status Ports, 2K of ROM with the 8080 Apple Monitor Program and 2K of Static RAM. $295.00 RM-10 S-100 RACK MOUNT CARD CAGE ECT's RM-10 is a rack mount 10 slot Card Cage with Power Supply, consisting of an ECT-100 rack mount Card Cage (19"W x 12.25"H x 8"D), the MB-10 Mother Board (with ground plane and termination) all 10 connectors and guides and the PS-15A Power Supply (15A @ 8V, 1.5A @ ± 16V). $295.00 Specializing in Quality Microcomputer Hardware Industrial • Educational • Small Business • Personal Card Cages, Power Supplies, Mainframes, CPU's, Memory, I/O, OEM Variations 763 Ramsey Ave., Hillside, NJ 07205 (201) 686-8080 502 BYTE November 1981 Circle 157 on Inquiry card. Circle 470 on inquiry card. does it again! The NEC™ 8023 matrix printer out- performs every printer in its price range! Unbelievable? Do a compar- ison and see for yourself. . . FEATURES: High Resolution Graphics: 144 x 160 dots/inch Proportional Spacing Lower Case Descenders 9 x N Dot Matrix 8 Character Sizes 5 Unique Alphabets Greek Character Set Graphic Symbols SHERMAN OAKS STORE 13604 Ventura Blvd. Sherman Oaks, CA 91423 (213) 501-3486 ' 100 CPS Print Speed 1 Bidirectional, Logic Seeking Printing | Adjustable Tractors o < Single Sheet Friction Feed < Paper Empty Sensor ' Vertical & Horizontal Tabbing i Bidirectional Paper Feed ' Bold & Underlined Print ^Orange micro ■MB Inc. 3150 E. La Palma Suite G Anaheim, CA 92806 (714) 630-3322 (800) 854-8275 TOLL FREE Yes, once again NEC has engineered a superior printer as it did with the NEC Spinwriter.™ The 8023 Matrix Printer is backed by the NEC warranty and complete support organization. To place an order, call Orange Micro or visit one of the Orange Micro Printer Stores. ANAHEIM STORE 3150 E. La Palma, Suite I Anaheim, CA 92806 (714) 630-3622 ©1981 Orange Micro, Inc. 1001 333 pages META TECHNOLOGIES 26111 Brush Avenue, Euclid Ohio 44132 CALL TOLL FREE 1-800-321 -3552 TO ORDER IN OHIO, call (216) 289-7500 (COLLECT) THINGS TO DO WITH YOOR PERSONAL COMPUTER I BY MARK SAWUSCH $7.95 333 pages, written in simple terms, of "what-to-do" and "how- to-do-it". Suitable not only for microcomputers, but for pro- grammable calculators as well. Includes program listings, formulas, a glossary of computer terms and more! Definitely a MUST BUY! A PARTIAL LIST OF APPLICATIONS Real Estate Evaluation Test Your Typing Speed Astrology Finances & Investments Income Tax Biorythm Speed Reading Energy Efficiency Personality Test Antenna Design Statistical Analysis Letter Writing Logic Circuit Analysis Recipe Index/Calculator Carpenter and Mechanic's Helper General Purpose Clock Timer "OTHER MYSTERIES" VOLUME III by Dennis Kitsz Call now and place your order for this new book, "THE CUSTOM TRS-80™ & OTHER MYSTERIES", from IJG, Inc. More than 300 pages, with over 60 photographs, of projects for the hardware hobbyist. In- cludes schematics, PC layouts, software driver code, etc. for such do-it-yourself undertakings as high resolution graphics, reverse video, real-time clock/calender, music synthesis, ROM/RAM additions and more! THE CUSTOM TRS-80™ $29.00 CALL FOR AVAILABILITY MICRO PA RA PHERNALIA NEWDOS by APPARAT NEWDOS/80byApparaf $139.95 NEWDOS UPGRADE CALL NEWDOS + with ALL UTILITIES 35-track $69.95 40-track $79.95 BOOKS TRS-80™ DISK AND OTHER MYSTERIES . . $19.95 MICROSOFT™ BASIC DECODED $29.95 META NOTATIONS. . . MTC introduces its FREE computer "bulletin board" service. Set up your terminal or ter- minal software for 300 baud, parity disabled, S-bit word length, and 1 stop bit. Dial (216) 289-8689. After the connection is established, type LOGIN META. When asked for a valida- tion code, type META. Have tun! * * # In a couple of months MTC will introduce the successor to AIDS-III/CALCS. It is called AIDS/P® and is based on MTC's PRIMAL® (Practical Relational Information Manage- ment Applications Library), a powerful system for PRIME minicomputers. AIDS/P features the best of the critically acclaimed AIDS-III/CALCS but is probably an order of magnitude beyond It In power. It will be first made available to AIDS-III/CALCS owners (for an upgrade charge), then to the general public. Price will be in the $200-$300 range. Effective September 1 , 1 981 , Metatronics Cor- poration became a subsidiary of MTC. Metatronics will carry the complete MTC product line in addition to its own. Order pro- cessing and fulfillment departments have been combined to improve service response levels. MTC's superior software and supplies marketing, and Metatronics exceptional peripheral offerings should prove to be a fomidable combination. (Sorry guys, if you can't beat us, join us . . .) MTC now offers a more complete selection of diskette products (ad deadlines prevented in- clusion in anything but this column). New manufacturers are MAXELL and 3M. Definite- ly call for specific information. For example, MAXELL Brand 5% " diskettes in a PLASTIC LIBRARY CASE are only $34.95 for a box of 10! SCOTCH Brand diskettes are comparably value-priced. MTC is also introducing its own PARAGON® Brand media products. The in- tent is to offer a super-high quality product at a very competitive price. For example, a box of 10 single-sided, soft-sectored, double- density, 100% certified diskettes with HUB RINGS is only $24.95! A full line of products (including HEAD CLEANING KITS, etc.) will be offered. The PLAIN JANE® (almost 200,000 units sold) diskette line will become part of the PARAGON® MAGNETICS operation (but don't quote us verbatim). Let your TRS-80™ Test Itself With THE FLOPPY DOCTOR & MEMORY DIAGNOSTIC by David Stambaugh A complete checkup for your MODEL I or MODEL III. THE FLOPPY DOCTOR-Version 3 completely checks every sector of single or double density 35-, 40-, 77-, or 80-track disk drives. Tests motor speed, head positioning, controller functions, status bits and provides complete error logging. THE MEMORY DIAGNOSTIC checks for proper write/read, refresh, executability and exclusivity of all ad- dress locations. Includes both diagnostics and complete instruction manual. SYSTEM DIAGNOSTICS .$24.95 For MODEL III $29.95 Single Sided, Soft- Sectored 5'/4-inch, (for TRS-80™) Mini-floppy DISKETTES $19 95 box of 10 TM PLAIN JANE These are factory fresh, absolutely first quality (no seconds!) mini-floppies. They are complete with envelopes, labels and write- protect tabs in a shrink-wrapped box. PLAIN JANETM Diskettes $19.95 PLAIN JANE™ <&old Introducing MTC's premium generic diskette. Single-Sided, Soft-Sectored, DOUBLE-DENSITY, 5'/«-inch diskettes with reinforcing HUB-RINGS. Individually 100% ERROR-FREE certified. Invest in GOLD! PLAIN JANE™ '.%/« tdMOllMl «MConWtlbt>»3BB>S MlMkn>» z°z .,.:,,,, iioui POM 3000 FD3BB0O0 WW* .„;„ F W.dW 0.« Id KIM CaOHHOBM DM US M Sv.Julll 3090 2.69 47407. Mi-en 3740' III OI-IWM7IOO FO ID 74 10 FD34-SOOO 113. (HI 4?300^ SoilScTloHiMH'S IBStcWtlflCVeRSIBU .ir>»3 3.69 _ - _ - _ '*"'"' "* Mr ""' ^m«,,,i cj«w«*.^ » Mart HchH ^ Z 2.69 309 47OB01 MM " I0M1Q " mt-an 741 3? s '* "" 1B071 FD3?BOO0 FB3M1W 4 ? 33J7 FMtMtMKl. So-,5-,l»IU.H.S ffiSKI.,,1 ma 3.09 not BO0H14 17BM70 BVfrlBO !i, H fU10-4OVb F17IM.X Um.M, H.juki Di..» Sail Srrl*.. I?S6 H'S. IS BdCtOUJ SIM 309 4734 7 7 S43M B00B15 2!M 700 ■MhBBBO MM IB1B4 F0IO4D.S MBB111X 474G12 Sm ** °* n "" """" ri..**. d. k i d Bail BkW UfOtmuUttB am 3.09 4 734BS otwo Hi; MIM ro-so 7430 .1103 DU3. .00. _ 4?5O0; Ouuhl* M««rt„l On... SutlS-tlo. 1 IJTtB'S JOSrUor.1 3111 309 _ - S/A-.SO _ _ BOftBdCUX 1 (IS 8*8 ISS.cloi.1 E 3.09 3.09 3.09 309 3.09 3.49 3.39 :',z ::::: E»° :r:: «"» ; "Er *,;,., E z,z "::;;;: :E FltllM Pl« FO i>".7( V/Vi.o' £ " u " FO VI (V.n,l J.c»H 3071KW3 2.69 4TOB61 - ro "' - " FO-,.! SILO - 1S028 FOSiiooo F„M,IX - lj ■■■ riaiicia :)■■■. ii ■*«^ ■*•*••*« 3403 1 94 1.94 47*0, MtM '«" MO, MD110 ■ M-10* 19300 "■■»■" ..100! Singw.Otniil, MM .a Sell Sac ID' (Ur-tetniitadl *.HuD Pino BUI 1.94 2.14 2.14 2.14 47 M „ urn : - Wl " 74...B - '"" MOMi-ie UB,„,,X "-" MM '...!.,. OlM Id M tin«ll-NHM lOHa.aBacior 3118 2.14 214 " B4B4B lOf'ID Bull Sac ID' ILlnrtnitiilladl ./KuD Ft log Ml 2.14 2.34 " »OU I0BJ10 ■ " ~ " " : Mosis-ie " - 'OH «" "'"UP «lng 34B3 2.34 - - - - - - - ~ - wosjs-io - - iitUmtwiHwntabiitat 34 Bi 2.34 " - - - - " " " - MOSM-IB - - Mini ri.,11,1, [J,„ In Sdll NMW IUr>lorm.,..dl Mil 2 59 _ S4BJ4 104/JD _ _ - _ S'A.,84 _ MDS10-01 - - S'A ■Doubl 1 H,.0,3 10 Hartf Bailor ]•!] 2.59 _ S4BS7 107/10 - - - - B'*.|fl7 - MBSSO-10 - - Soft Sar-lor (UnlD.mall.ql w/Huh Ring 34!S 2.59 2.79 " S4B30 1 0S/ID - - " " fl'A-IBB - MBBSO-.e ~ : lOHinfMonrwamBRMB 3*03 2.79 - - - - - " - - - mosbd-io ~ - '"H«iaB«tor«,HubRln, 3405 2.79 M0500-1B ~ " Memorex Flexible Discs.. .The Ultimate in Memory Excellence Quality Memorex means quality products that you can depend on. Quality control at Memorex means starting with the best materials available. Continual surveillance throughout the entire manufacturing process. The benefit of Memorex's years of experience in magnetic media production, resulting, for instance, in proprietary coating formulations. The most sophis- ticated testing procedures you'll find anywhere in the business. 100 Percent Error Free Each and every Memorex Flexible Disc is certified to be 100 percent error free. Each track of each flexible disc is tested, individually, to Memorex's stringent standards of excellence. They test signal amplitude, resolution, low-pass modulation, overwrite, missing pulse error and extra pulse error. They are torque-lested, and competitively tested on drives available from almost every major drive manufacturer in the industry including drives thai Memorex manufacturers. Rigid quality audits are built into every step of the manufacturing process and stringent testing result in a standard of excellence that assures you, our customer, of a quality product designed for increased data reliability and consistent top performance. Customer-Oriented Packaging Memorex's commitment to excellence does not stop with a quality product. They are proud of their flexible discs and they package them with pride. Both their packaging and their labeling have been designed with your ease of identification and use in mind. The desk-top box containing ten discs is convenient for filing and storage. Both box labels and jacket labels provide full information on compatibility, density, sec- toring, and record length. Envelopes with multi-language care and handling instructions and color-coded removable labels are included. A wrile-protect feature is available to provide data security. Full One Year Warranty — Your Assurance of Quality Memorex Flexible Discs will be replaced by Memorex if they are found to be defective in materials or workmanship within one year of the date of purchase. Other than replacement, Memorex will not be responsible for any damages or losses (including consequential damages) caused by the use of Memorex Flexible Discs. Quantity Discounts Available Memorex Flexible Discs are packed 1 discs to a carton and 10 cartons to a case. Please order only in increments of 100 units for quantity 100 pricing. We are also willing to accom- modate your smaller orders. Quantities less than 100 units are available in increments of 10 units at a 10% surcharge. Quantity discounts are also available. Order 500 or more discs at the same time and deduct 1%; 1,000 or more saves you 2%; 2,000 or more saves you 3%: 5.000 or more saves you 4%; 1 0,000 or more saves you 5%; 25,000 or more saves you 6%; 50,000 or more saves you 7% and 1 00,000 or more discs earns you an 8% discount off our super low quantity 1 00 price. Almost all Memorex Flexible Discs are immediately available fromCE. Our warehouse facilities are equipped to help us get you the quality product you need, when you need it. If you need further assistance to find the flexible disc that's right for you, call the Memorex compatibility hotline. Dial 800-538-8080 and ask for the flexible disc hotline extension 0997. In California dial 800-672-3525 extension 0997. Buy with Confidence To get the fastest delivery from CE of your Memorex Flexible Discs, send or phone your order directly to our Computer Products Division, Be sure to calculate your price using the CE prices in this ad. Michigan residents please add 4% sales tax. Written purchase orders are accepted from approved government agencies and mosl well rated tirms at a 10% surcharge (or net 10 billing. Ad sales are subject to availability, acceplance and verification. All sales are linal. Prices, terms and speciticalions are subject to change without notice. Out of Stock items will be placed on backorder automatically unless CE is instructed dilf erently Minimum order S50.00. International orders are invited with a S20.00 surcharge for special handling in addition to shipping charges. All shipments are F.O.B. Ann Arbor. Michigan. No COO's please. Non- certified and foreign checks require bank clearance. Mail orders to: Communications Electronics. Box 1002. Ann Arbor, Michigan 48106 U.S. A Add $8.00 per case or partial-case ol 100 8-inch discs or S6.00 per case of 100 5'4-inch mini-discs for U.P.S. ground shipping and handling in the continental U.S.A. II you have a Master Card or Visa card, you may call anytime and place a credit card order. Order toll-free In the United States. Call anytime 800-521-4414. If you are outside the U.S. or in Michigan, dial 313-994-4444. Dealer Inquiries Invited. Alt order lines al Communications Electronics are stalled 24 hours. Copyright : 1 981 Communications Electronics" _ __^_ MEMBER VISA MasterCard Order Toll-Free! (800)521-4414 In Michigan (313) 994-4444 For Data Reliability — Memorex Rexible Discs a COMMUNICATIONS ELECTRONICS™ Computer Products Division 854 Phoenix D Box 1002 D Ann Arbor, Michigan 48106 U.S.A. Call TOLL-FREE (800) 521 441 4 or outslda U.S.A. (313) 994-4444 Circle 466 on inquiry card. What's New? MISCELLANEOUS Controller Board for Heath Systems Users can double the 5-inch floppy-disk storage capacity of Heath 88/89 microcomputers with the FDC-880H floppy-disk- controller board from CDR Sys- tems Inc. The board runs under CP/M 2.2 and is capable of han- dling as many as four Shugart- compatible 5- or 8-inch drives si- multaneously. In addition, the FDC-880H handles single- and double-sided operation and single- and double-density data. The board converts 5-inch hard- sectored disks to soft-sectored double-density. The FDC-880H unit is supplied with a cable, zero-origin conver- sion PROM (programmable read- only memory), boot PROM with disk diagnostics, and hardware and software manuals. It costs S695 and is available from CDR Systems Inc, 7667 Vickers St, Suite C, San Diego CA 921 1 1, (714) 275-1272. Circle 543 on inquiry card. Upgrade Your Caslotone Robin Whittle, 42 Yeneda St, North Balwyn, Australia, has a technical bulletin that contains extensive yet simple modifications for the Casiotone M-10 keyboard instrument. The M-10 is a hand- held, four-voice synthesizer. With Robin's modifications, the M-10 can have 25 voices, two-octave drop switches, hold, sustain, a milder vibrato than normal, and adjustable tuning. The parts re- quired cost approximately S20. Robin's bulletin, which includes the theory and construction notes, costs S3 Circle 545 on inquiry card. North-Holland Catalog Books and journals covering computer communications, simu- lation, artificial intelligence, pro- gramming languages and tech- niques, computing in medicine and biology,- and other related subjects are described in the North-Holland Computer Publi- cations Survey 1980. Many of the publications are papers from conferences and seminars. For the brochure and price list, con- tact Elsevier/North-Holland- Journals Information Center, 52 Vanderbilt Ave, New York NY 10017, (212) 867-9040. Circle 546 on inquiry card. New AMD PROMs Advanced Micro Devices' (AMD) new family of PROMs (programmable read-only mem- ories) uses a platinum-silicide fuse, which offers a 97% program- ming yield. Among the family members are the Am27S40 and the Am27S41. Both are 4 K-byte by 4-bit bipolar PROMs. The Am27S40 has open-collector out- puts while the Am27S41 has three-state outputs. The devices offer 50 ns or 35 ns maximum ac- cess times, respectively. The Am27PS41 is a three-state, power-switched PROM that re- lieves power problems by re- ducing consumption from 875 mW to 425 mW when deselected. The platinum-silicide fuse is nor- mally programmed with a single pulse. There have been no fuse failures reported in more than 13 billion hours of tests. In 100-unit lots, prices for this family of PROMs begin at S44.90. For more information, contact Advanced Micro Devices Inc, 901 Thompson PI, Sunnyvale CA 94086, (408) 732-2400. Circle 544 on inquiry card. Handbook Explains EEPROM The E 2 PROM Family Applica- tions Handbook describes the operation and application possi- bilities of Intel's 1 6 k-bit EEPROM (electrically erasable program- mable read-only memory). The handbook shows ways to inter- face the device to a microproces- sor and program it. The hand- book is available free from Intel Corporation, Literature Depart- ment SV3-3, 3065 Bowers Ave, Santa Clara CA 95051. (408) 734-8102. Circle 547 on inquiry card. 514 November 1981 © BYTE Publications Inc PrintersRus ...computers, peripherals, accessories and supplies! APPLE ACCESSORIES Apple II & 48K CALL Disk II w/controller DOS 3.3 CALL Disk II Add-On CALL Microsoft Z80 Softcard 319. 16KRam Card 159. CCS Parallel Card 109. Async Serial Card 139. Clock/ Calendar Card 109. IEEE Card 239. AD Card 99. Mountain Comp. Romplus 139. KB Filter ROM 49. CPS Multifunction Card 1 99. Supertalker 259. Paymar L/C Adapter - Mew 49. - Old 39. M&R Super Mod 25. Superterm 319. Videx Video Term 309. APPLE SOFTWARE Personal S/W Desktop Plan II $ 1 69. CCA Data Mgmt 85. Visicalc 169. Visiplot 1 59. Visitrend/Visiplot 219. Visidex 169. Visiterm 129. Micropro Wordstar 299. Super-Sort 1 59. Mail-Merge 99. Data Star 239. Spell Star 199. Muse Super Text II 129. Address Book 44. Form Letter Module 79. Stoneware-DB Master II 1 99. Microcom-MicroCourier 239. Infotory 199. RIBBONS NEC $77.00/Doz. Qume 45.00/Doz. Diablo 66.00/Doz. Anadex 1 35.00/6 ea. Tritel 95.00/Doz. TI/DEC/TTV 45.00/Doz. Epson 1 3.95/ea. MPI/ Axiom/Base 2 10.00 ea. MAGNETIC MEDIA Premium Quality At Bargain Prices 5'A" Diskettes, all Formats 100% Certified with hub rings, box of 10 Single sided, single density 26.95 Single sided, double density 29.95 Double side, double density 38.95 8" Diskettes, All Formats, 1 00% Certified Single sided, single density 29.95 SSSD Error Free 32.95 Single sided, double density 39.95 Double sided, double density 49.95 Complete. Stock of MX-80, MX-80 F/T MX- 1 00 Printers, Graphics Chip Sets Cards and Cables NEC-8023 A, 100 cps Matrix Printer Hi-Res dol graphics, proportional spacing. correspondent quality printing, bi-directional tractor and friction feed. 80. 132 col. Greek & Math symbols. Everything you need in a small printer. List $840 $699. MODEMS (IDS 103 LP, direct $169. 1 03 JLP Auto Answer 219. 202 LP 1200 BAUD 259. NOVATION CAT, acoustic 1 59. D-CAT, direct 1 69. Auto Cat 219. Apple Cat 339. HAYES S 1 00 Micromodem $ 349. Apple Micromodem 329. Smart Modem 249. VIDEO MONITORS Zenith 1 2" Green 5 1 39. NEC 12" Green $239. Amdex 1 2" B/W (Leedex) $ 1 39. Amdek 1 3" Color Lo-Res $439. VIDEO TERMINALS Ampex Dialog 80 $995. Ampex Dialog 30 795. Televideo 920C 845. Televideo 950 995. SEC PC-8000 Series Microcomputer System. INTRO PRICING $1099-00 • Z-80A CPU 4 MHz • 5 user programmable function keys • 82 Keys with numeric keypad • 160 x 100 resolution • 80 character screen PC-8001 A Microcomputer w/32K RAM 1 099. PC-8012A I/O Unit w/32K RAM Expansion slots 699. PC-803 1 A Dual Mini-Disk Drive Unit 1 099. PC-8032A Add-On Dual Mini Disk Drive Unit 949. MPI 88G / 99G MATRIX High resolution dot-addressable graphics foi I Apple. Enhanced "correspondence quality" I prinling. Tractor and friction feed. Serial and \ Parallel Input. 100 cps Bidirectional printing. 80. 96 and 132 column widths! 88 G List $749 $589. 99 G List $849 $660. Apple Parallel I/O Card/Cable/Disk . . $ 1 1 0. with Graphics Prom (Ap-Pak) $ 145. IEEE I/O Card $55. Single Sheet Feeder $25. QT Cover $25. NEC SPINWRITERS 5510/5530 RO w/tractor $2,550. 7710/7730 RO w/tractor $2,595. 5520 KSR w/tractor $2,850. 7720 KSR w/tractor $2,895. 3510/3530 RO $1,895. Bi-directional tractor $225. Pusher tractor $350. <*> ^ OLYMPIA Letter quality. Daisy wheel printer typewriter inlcifaces to Apple. Atari. NEC TRS80 and RS232 Serial ports. A truly cost effective letter i quality printer that functions as a typewriter. ESI 00 RO Computer printer List $1690 CALL ESI 00 Typewriter only Interface Card Only " (specify serial or parallel) I/O Cable (specify serial or parallel) ... " Apple Serial Card Print Wheels & Ribbons " TO PLACE YOUR ORDER CALL: TELEPHONE TELEX (714)744-7314 697120 or write to: PALOMAR Computer Products 910-105 W. San Marcos Blvd., San Marcos. CA 92069 | TERMS OF SALE: Cash check mone\ order hank wire transit- credit card or pun haw? older*, from qualified firms an institutions Pleas** inr bde telephone numlici *ith order an^ expiration date on r redii tard orders California residents add fS? t Sales tfflt Advertised pn< es are for prepaid orders f OB shippmq point Add vr-for shipping in (I s Pnnhgandavailanilir, subjecno ( harnje without notice Circle 336 on inquiry card. What's New? MISCELLANEOUS Type-Ahead Buffer The Model 150 Type-Ahead Buffer for the Apple II features a 40-character type-ahead capabili- ty. It eliminates the need to wait for computer prompts before en- tering the next command or data. No software patches, circuit board cuts, or jumpers are re- quired. The Model 150 costs $49.95 and is available from Vista Computer Company, 1317 E Edinger, Santa Ana CA 92705, (714) 953-0523. Circle 550 on inquiry card. 64 K-BIt ROM GTE's 2364 is a 64 K-bit ROM (read-only memory) with an automatic power-down feature that reduces power requirements. The device operates with a 40 mA current in the active mode and an 8 mA current in the stand- by mode. It uses a single + 5 V supply. The 2364 is organized as an 8 K-byte by 8-bit unit. The device has access times of 250 and 300 ns. All inputs and outputs are TTL- (transistor-transistor logic) compatible. In lots of 250, the 300 ns 2364 ROM costs $21.20. Contact GTE Microcircuits Division, 2000 W 14th St, Tempe AZ 85281, (602) 968-443 1 . Circle 548 on inquiry card. A Modem for the Atari The Microconnection is an answer/originate, direct-connect modem for Atari 400 and 800 computers. The Microconnection features autodial/autoanswer operation (optional), which allows an unattended Atari to send messages, text, or other data to a host computer, and automatically answer the tele- phone and receive data, too. The Microconnection is Bell 103 compatible and operates at 300 bps (bits per second). Models are available for use without the Atari 850 interface and provide a socket for connection to any serial printer capable of 300 bps operation. A cassette recorder can be plugged into the unit for storage and playback of received data. With autodialing terminal soft- ware, power supply, and a cable, the Microconnection costs $199.50. The autodial/autoans- wer option is $79 extra. For com- plete details, contact the Micro- Peripheral Corporation, 2643 151st PI, NE, Redmond WA 98052, (206) 881-7544. Circle 549 on inquiry card. FORTH for the Apple TransFORTH II is a fully com- piled, floating-point implementa- tion of fig-FORTH for Apple II, II Plus, or III microcomputers. It has transcendental functions, strings and arrays, high- and low-resolu- tion graphics, Turtlegraphics, and music. TransFORTH II has a suggested price of $ 1 25. For details, contact Insoft, 259 Barnett Rd, Unit #3, Medford OR 97501, (503) 779-2465. Circle 551 on inquiry card. Articles and Papers Compilation The Battelle Memorial Institute has a booklet listing the titles of papers and articles from its staff. The booklet contains the names and dates of the publications in which an article or paper ap- peared and the author(s). Copies of the booklet, entitled Published Papers and Articles: 1980, are free from the Re- print/Brochure Center, Battelle Memorial Institute, 505 King Ave, Columbus OH 43201, Attn: Jane Carr, (614) 424-7727. Battelle is an independent research and development institute. Circle 552 on inquiry card. 516 November 19B1 © BYTE Publications Inc NEC Microcomputer PC-8001A 32K Computer CALL PC-8012A I/O Unit w/32K RAM CALL PC-8013A Dual Mlnl-Dlsk Drive Unit CALL 1>C -8001 Multl Cardware (FDI/O & 32K) CALL CP/M 2.2 Operating System for NEC 129 WordStar configured for NEC 299 SuperCalc configured for NEC 279 NEC Wordprocessor & Accounting Software CALL Many more software packages and languages; (Pascal, Fortran, Cobol, etc) are available configured for the NEC 8001A Computer. Please call or write for a product price list. Please call for prices - r '">nnMiiin;i!i™ni"i("i; ATARI 800 16K \$749 Atari 400w/16K 349 410 Program Recorder 65 810 Disk Drive 449 825 80 col. 7x8 Dot matrix impact printer 699 822 40 col. Quiet Thermal Printer 349 850 Interface Module 159 Atari 16K Ram Module 69 Axlon Ramcram 32K Module 189 Available Nowl! Asteroids. Missile Command and Star Raiders. . .35ea. WE STOCK ALL ATARI COMPUTER SOFTWARE AND HARDWARE. PLEASE CALL OR WRITE FOR COMPLETE PRICE LIST. Video Monitors Amdek/Leedex Video 100 12" B&W 155 Amdek/Leedex Video 100G 12" Green Phospher. . . 179 Amdek (Hitachi) 13" Color w/audlo output 389 NEC 12" Green Phospher Display JB- 1201 M CALL NEC 12" LoRes Color Display CALL NEC 1 2" HIRes RGB Color Display CALL Sanyo 9" B&W Display 185 Sanyo 9" Green Phospher Display CALL Sanyo 12" BStW Display 269 Sanyo 12" Green Phospher Display 285 Sanyo 13" Color Display 449 Zenith 1 2" Green Phospher Display 2VM- 1 2 1 149 consumer totnpu' e,s ZENITH 12" GREEN $149 [apple computer » Authorized Dealer APPLE It PLUS 16K NOW $1025 48K NOW $1089 $1199 64K* now 'includes 16K Ramboard APPLE k^^^ DISK DRIVES ONLY ■^^ $439 w/controller and DOS 3.3 $499 SEE OUR ADS ON PAGES 146 & 147 FOR MORE DISCOUNTS 16K RAMBOARD by ConComp for Apple II Computers AVAILABLE NOW FOR ONLY $130 VIC20 $259 Personal Computer Color ' Sound * Graphics Call or write for more info. Disk drives available soon! S-100 California Computer Systems Floppy Disk Controller $369 64K Dynamic Ram Board, 200ns $499 Z-80 CPU board w / monitor ROM $269 1 6K Static memory board, 200ns 369 32K Static memory board, 200ns 599 S-100 12 Slot Mainframe 475 4-Port Serial Interface 299 2-Port Serial/ 2-Port Parallel Interface 299 4-Port Parallel Interface 229 ORDER TOLL FREE 800-854-6654 In California and outside continental U.S. (714) 698-8088 Telex 695-000 Beta CCMO Printers Epson MX-80 CALL Anadex 9501 w/2K Buffer 1349 C. Itoh Starwrlter 25 CPS dalsywheel. 1449 C. Itoh Starwrlter 45 CPS dalsywheel 1649 Epson MX-70 CALL Epson MX-80 & MX-80 F/T CALL Epson MX-100 CALL NEC 8023 Impact Dot Matrix 695 NEC Spin writers (Latest models) CALL Paper Tiger IDS-445G w /graphics 699 Paper Tiger IDS-460G w / graphics 949 Paper Tiger IDS-560G w/graphlcs . , 1249 Silentype Printer w/Apple interface. 349 Qume Sprint Daisy wheels (Latest models) ...... CALL Ordering Information: Phone orders using VISA. MASTERCARD. AMERICAN EXPRESS. DINER'S CLUB. CARTE BLANCHE, bank wire transfer, cashier's or certified check, money order, or personal check (allow ten days to clear) Unless prepaid with cash, please add 5'T, for shipping, handling and Insurance [minimum f. 1)1)1 Calrfot nfa residents add 6% sales lax We accept CODs OEMs. Institutions and corporations please send for a written quotation All equipment is subject to price change and availability without notice All equip menl is new and complete with manufacturer's warranty (usually Wl days! Showroom prices may differ from mail older prices Send Orders to: G®[]Dgfflti00®L7 G@lffl[pQa , Ll , ®i7§ Mailorder 8314 Parkway Drive La Mesa, California 92041 Circle 113 on inquiry card. What's New? MISCELLANEOUS Programming and EPROM Memory on One Board SSM Microcomputer Products' PB1 S-l 00 board combines pro- gramming and memory capabili- ties. Four on-card sockets provide a total of 4 K or 8 K bytes of mem- ory, depending upon whether 2708 or 2716 EPROMs (erasable programmable read-only mem- ories) are used. Two program- ming sockets are provided for a 2708 and a 2716. Separate on- card circuits allow programming of 5 V 2708 and 2716 EPROMs without board modifications. The programming voltage is gener- ated on-board. The PB1 board with software for programming and verifying EPROMs costs S265. A kit version is available for S 1 79. Contact SSM Microcomputer Products Inc, 2190 Paragon Dr, San Jose CA 95 1 3 1 , (408) 946-7400. Circle 553 on inquiry card. Reversible Floppy Disks Omni Resources has developed a reversible 5-inch floppy disk. Each Omni Flip/Floppy has two recording surfaces, two sets of write-enable notches, two index holes, and reinforcing hub rings. Each disk is rated for over 1 2 mil- lion passes without disk-related errors or significant wear. Omni's 5-pack sells for $21, and a 10-pack costs S40. For more in- formation, contact Omni Re- sources, 4 Oak Pond Ave, Mill- bury MA 01527, (800) 343-7620; in Massachusetts (800) 252-8770. Circle 554 on inquiry card. MIcroCOMPOSER-ll MicroCOMPOSER-ll is a type- setting system that is added to a Compuwriter II typesetting ma- chine made by CompuGraphic. MicroCOMPOSER-ll consists of software and a hardware inter- face. The hardware interface is placed inside the Compuwriter and connected to a TRS-80 Model I or III microcomputer. Micro- COMPOSER-ll reads files created using the TRS-80's word-process- ing programs and feeds them to the Compuwriter II for a hard- copy printout. Cove View Press, the market- ing agent for this microApplica- tions Associates' system, recom- mends using the Scripsit or Elec- tric Pencil word-processing pro- grams. The word-processing pro- grams allow text to be formatted to fit MicroCOMPOSER-ll stan- dards. The TRS-80 must have at least 32 K bytes of memory and one or more disk drives. Micro- COMPOSER-ll costs SI 500. For details, contact Cove View Press, POB 637, Garberville CA 95440, (707) 923-3476. Circle 555 on inquiry card. Double-Density Digital Cassette Magnetic Information Systems has introduced a line of digital cassettes that have been selected and certified for storing twice the normal bit density. Each cassette is certified for errors at 1 600 bpi (bits per inch) and is guaranteed for a year. To complement this line, MIS will also supply align- ment tapes to help users calibrate their machines to this higher storage capacity. For additional information, contact Magnetic In- formation Systems, POB 806, 4 1 5 Howe Ave, Shelton CT 06484, (203) 735-6477. Circle 556 on inquiry card. 518 November 1981 © BYTE Publications Inc COMPUTER STOP ORDER BY PHONE MON.— SAT. 10-6 2545 W. 237 St. Torrance, CA. 90505 LOWEST PRICES IN THE WEST.NORTH. SOUTH & EAST tippkz computer 1-800-421-1947 Sales and Service NEC 8001A $1100 NEC 8012A $ 750 NEC 8031A $1100 NEC RGB Monitor $ 999 NEC General Accounting System $ 350 APPLE HARDWARE Parallel Printer Interface Card 160 Communications Card 195 High Speed Serial Interface 160 Pascal Language System 425 Centronics Printer Interface 185 Applesoft Firmware Card 160 Integer Firmware Card 160 Disk ][ with Controller DOS 3.3 529 Disk ][ only 475 Graphics Tablet 625 OTHER HARDWARE Alf Music Synthesizer (3 Voice) 245 9 voice 175 ABT Numeric Keypad 119 Micromodem ][ 295 Apple Clock 245 Rom Plus with Keyboard Filter 175 lntrol/X-10 System 250 Romwriter 150 DoubleVislon 80 x 24 Video Interface 245 CCS Arithmetic Processor 399 CCS Parallel Interface 119 16K Ram Card 145 Microworks DS-65 Digisector 339 SVA8inch Disk Controller 350 Sup-R-Mod 30 CCS Synchronous Serial Interface 159 CCS Asynchronous Serial Interface 159 Corvus 10 Meg. Hard Disk 4395 Corvus Constellation 595 MISCELLANEOUS/SUPPLIES 16K RAM (200-250 NS) 29 Verbatium Datalife Diskette(Box of 10) 30 Dysan Diskettes (Box of 5) 22 Apple Diskettes (Box of 10) 45 Verbatim Diskette Boxes (Holds 50 Disks) 18 Silentype Paper (Box of 10 rolls) 40 APPLE ][ Plus 16K $1075 48K $1193 Disk][Drive ..S529 with Controller & Dos. 3.3 MICRO MODEM II $295 Z-80 Softcard $299 MONITORS/DISPLAYS Leedex Video 100 12" 140 Sanyo 9" Monitor 195 KG-12C Green Phos. Monitor 275 Sanyo 12"Green Phosphor. Monitor 275 NEC 12" Green Phosphor. Monitor 275 Sanyo 12" B/W Monitor 250 PRINTERS Apple Silentype with Interface 525 IDS 445 (Paper Tiger) with Graphics 650 IDS 460 with Graphics 1049 IDS 560 with Graphics 10) 1199 Centronics 737 795 NEC Spinwriter(RO, Serial) 2650 SOFTWARE The Controller 525 Apple Post (Mailing List Program) 45 Easywriter Professional System 195 Apple Pie 2.0 110 DB Master Data Management 175 The Cashier 210 Apple Writer 65 Vlsicalc 175 CCA Data Management System 90 Full Screen Mapping for CCA DMS 59 Pascal Interactive Terminal Software (PITS) 29 Basic Interactive Terminal Software (BITS) 29 Data Capture 45 Data Factory DMS 110 Apple Plot 55 Apple Pilot 120 Magic Wand Word Processor (Needs Z-80 Softcard) 345 Dow Jones Portfolio Evaluator 45 Fortran 1 40 ORDERING INFORMATION: Phone orders invited using VISA, MASTERCARD or bank wire transfers. VISA & MC credit card service charge of 2%. Mail order may send charge card number (include expiration date), cashier's check, money order or personal check (allow 10 business days to clear.) Please include a telephone number with all orders. Foreign orders (excluding Military PO's) add 10% for shipping. All funds must be in U.S. dollars (letters of credit permitted). Shipping, Handling and in- surance in U.S. add 3% (minimum $4.00). California residents add 6% sales tax. Our low margins prohibit us to send COD or on purchase orders or open account (please send for written quotation). All equipment is subject to price change and availability. Equipment is new and complete with the manufacturer warranty. We do not guarantee merchantibility of products sold. All returned equipment is subject to a 15% restocking fee. We ship most orders within 2 days. WE ARE A MEMBER OF THE CHAMBER OF COMMERCE. RETAIL STORE PRICES MAY DIFFER FROM MAIL ORDER PRICES. PLEASE SEND ORDERS TO: COMPUTER STOP, 2545 W. 237 St., TORRANCE, CA 90505 Circle 96 on inquiry card. BYTE November 1981 519 Circle 160 on inquiry card. master charge CALL TOLL FREE Z28 4Q97 ^y Call For "Unbelievable" Low Low Prices , ^^mimmm^ Qn These Lines: AMDEK APPLE ATARI BASE 2 CENTRONICS COMMODORE DC HAYES HAZELTINE LEEDEX MACROTRONICS MAXELL MICROSOFT MOUNTAIN'HARDWARE N.E.C. NORTHSTAR PANASONIC SANYO SYNCOM youft CUCTftONICS PLAYGROUND 1840 "O" Street Lincoln, Nebraska 68508 In Nebraska Call (402) 476-7331 STOP DON'T TURN THIS PAGE. . . . . .if you are tired of dealing with mail order houses that never have in stock what you need, when you need it. We are not a mail order house. Micro Source of Texas is a stocking wholesale distributor of microcomputer printers, video display terminals, and supplies. What makes us different? We don't just take orders! Whether you're a dealer, systems integrator or first-time micro user, you expect help from your supplier in determining the best product to fit a particular application. We give that help, and more. Since complete doc- umentation is essential, we provide it with every order we ship. And if you're located in Texas, stop by and we'll demonstrate our products without obligation. Try to do that mail order! Don't waste valuable time. Talk to Micro Source. We can help. LOOK LISTEN AT THESE POPULAR. . . . . .low cost, high quality products: • EPSON MX-80 & MX-100 printers • C.ITOH "Starwriter" WP printer • TELEVIDEO Model 910 CRT terminal • Tl SILENT 700 & OMNI 800 printers Need supplies? We stock ribbons and accessories for EPSON, C.ITOH, DIABLO, QUME, NEC, AND DEC. printers. All products and supplies are in stock, available for immediate delivery. Micro Source of Texas is a specialty distributor handling only peripheral hardware. We don't sell microcom- puters or software. So if you're a systems dealer, consider us a depend- able supplier, not a competitor. Micro Source of Texas, Inc. 834 N Glenville Drive Richardson. Texas 75081 214-690-5111 TO WHAT WE OFFER. . . LOW PRICES The best in the industry! Because of our volume purchases, we offer at- tractive discounts to independent deal- ers and micro systems builders. Call or circle our reader inquiry number and receive a current dealer price list and catalog. IMMEDIATE DELIVERY We stock a variety of popular micro printers and display terminals includ- ing EPSON, C.ITOH, and TELEVIDEO. If your needs are immediate, we'll ship within 24 hours of receiving your order. And if you're nearby, just drop in and pick up your order the same day. TECHNICAL ASSISTANCE Micro Source offers in-depth appli- cation assistance to Apple, Commodore, and TRS-80 dealers, among others. We want you to buy the right product with the right interface at the right price. Product support and courteous service are "standard features" with Micro Source. Call today and make us prove it! WE'RE IN TEXAS Ask about our NO FREIGHT CHARGE special offer to Texas customers 520 BYTE November 1981 Circle 263 on inquiry card. You'll like our service. You'll love our price! Ohio Scientific Superboard II $329. It's the first complete computer system on a board. Superboard II uses the ultra power- ful 6502 Microprocessor 8K Microsoft BASIC-in-ROM • 4K static RAM on board, expand- able to 8K • Full 53-key keyboard, with upper and lower case. Plus user expand- ability. • Video interface and audio cassette interface. The Ohio Scientific Superboard II at $329 — in today's economy — has got to be the best buy by far. It will enter- tain you with spectacular graphics made possible by its ultra high resolu- tion graphics and super fast BASIC. It will help you in school or industry, as an ultra powerful scientific calculator. Ad- vanced scientific functions and a built-in "immediate" mode allow you to solve complex problems without programming. The Superboard II can be expanded economically, for business uses, or to remotely control your home appliances and security. Even communicate with other computers. Read what's been written about Superboard II: "We heartily recommend Superboard II for the beginner who wants to get into microcomputers with a minimum cost. A real computer with full expandability." —POPULAR ELECTRONICS, MARCH 1979 "The Superboard II is an excellent choice for the personal computer en- thusiast on a budget." —BYTE, MAY 1979 Buy Now. Quantities Limited! 610 Board For use with Superboard II and Challenger 1 P. 8K static RAM. Expandable to 24K or 32K system total. Accepts up to two mini-floppy disk drives. Requires + 5V @4.5amps. Mini-Floppy Disk Drive Includes Ohio Scientific's PICO DOS software and connector cable. Compatible with 61 expander board. Requires + 1 2V @ 1 .5 amps and + 5V @ . 7 amps . [Power supply S. cabinet not included .] 4KP4K RAM chip set. PS-005 5V 4 . 5 amp power supply for Superboard II. P5-003 1 2V power supply for mini-floppies. RF Modulator Battery powered UHF Unit. C1 P Sams C1 P Service manual C4P Sams C4P Service manual S298 311 79 45 45 35 8 16 Ohio Scientific and independent suppliers offer hundreds of programs for the Superboard II, in cassette and mini-floppy form. OS-65D V3.3 Operating System Supports a command "KERNEL", Microsoft 9-digit BASIC, a G502 Assembler Editor and debugger utility. Available for C1P, C4P and C8P floppy disk computers. • Expanded to a self-teaching operating system. V3.3 comes in a 6 disk set with an easy-to-follow manual which leads the first time user from the operation of simple menuized programs through programming in BASIC and storing data on disk to a complete program development system with advanced capabilities. • BASIC feature expansions including a full feature screen editor, full upper/lower case compatibility with "Normal" typewriter operation, PRINT USING, and screen formatting capability. • Improved graphics support including direct X, Y plotting and the ability to dump medium resolution [64 x 1 28] graphics directly to the AC-1 9A low cost printer. • Enhanced utilities including greatly simplified Create, Initialize and Delete functions, new Single Disk Copier, a communications support utility for the optional modem and Resequences • Compatible with OS-65D V3.2 files and programs but has greatly improved disk I/O throughput. 24K Ram Required Only S79 Freight Policies ah orders of $100 or more are shipped freight prepaid. Orders of less than $100 please add $4.00 to cover shipping costs. Ohio residents add Ohio Sales Tax. Hours: Call Monday thru Friday. 8:00 AM to 5:00 PM Eastern Time TOLL FREE: 1-800-321-5805 Guaranteed Shipment Cleveland Consumer Computers fi. Components guarantees shipment of computer systems within 48 hours upon receipt of your order. Our failure to ship within 48 hours entitles you to 835 of software, FREE. VISA 33 TO Order: O to get our free catalog CALL 1-800-321-5805 TOLL FREE. Charge your order to your VISA or MASTER CHARGE account. Ohio residents call: [216] 464-B047. Or write, including your check or money order, to the address listed below. CLEVELAND CONSUMER COMPUTERS & COMPONENTS P.O. Box 46627 Cleveland, Ohio 44146 I I I I I Order Form: CLEVELAND CONSUMER COMPUTERS & COMPONENTS P.O. Box 46627 Cleveland, Ohio 44146 □ Superboard II $329. □ 610 Board $298. □ Mini-Floppy Disk Drive $311. □ RF Modulator $35. □ 0S-B5D V3.3 [Specify System] $79. □ C1 P Sams Service Manual $8. [Attach separate sheet for other items.] NAME: ADDRESS: CITY: STATE:. ZIP:. PHONE: Payment by: VISA Credit Card Account # Expires MASTER CHARGE, MONEY ORDER. Interbank # [Master Charge]. TOTAL CHARGED OR ENCLOSED $ Orders of less than £1 All prices quoted are U.S (Ohio Residents add Ohio Sales Tax] Orders of less than S100, please add S4.00 to cover shipping costs. Orders will be accepted from U.S. and Canada only, date of publication, standard UPS shipping FOB the factory. PRICES SUBJECT TO CHANGE WrTHOUT NOTICE Circle 69 on inquiry card. BYTE November 1981 521 Circle 278 on inquiry card. SI DO 2032 32K STATIC RAM A & T. 450 NSEC...S579.00, 300 NSEC .$585.00. 200 NSEC...$629.00 2116 16K STATIC RAM A & T. 450 NSEC...S285.00, 300 NSEC...S289.00, 200 NSEC...S329.00 2065 64K DYNAMIC RAM A & T S548.95 2200 S-100 MAIN FRAM A&T $379.95 2422 FLOPPY DISC WITH CP/M 2.2'" $329.95 2802 6502 PROCESSOR A & T $282.95 2810A Z80 CPU A & T $249.95 2710* 4 SERIAL 1/0 A & T $291.95 27I8A 2 SERIAL, 2 PARALLEL A & T $305.95 2720* 4 PARALLEL A & T $214.95 PHOTO BOAflDS WW ... . $39.95, SOLDERTAIL .... $29.95 APPLE PRODUCTS 7114A 12K ROM/PROM $68.50 7424A CALENDAR/CLOCK S1 06.95 7440A PROGRAMMABLE TIMER $98.50 7470A A TO CONVERTER $1 05.95 7490A GPIB (IE 488) INTERFACE $265.95 77I0A ASYNC SERIAL S125.95 7712A SYNC SERIAL $153.95 7720A PARALLEL STANDARD $98.95 7720B PARALLEL CENTRONICS $98.95 7B1 IB ARITHMETIC PROCESSOR W/DISC S342.95 781 1 C ARITHMETIC PROCESSOR W/ROM S342.95 7500A WW BOARD $22.95 75I0A SOLDERTAIL BOARD S23.95 SOFTWARE 2610 CP/M"MACR0 ASSEMBLER ON DISK $76.95 2620 CP/M'" SYMBOLIC INSTRUCTION DEBUGGER . . . $64.25 2630 CP/M'"TEXT FORMATER S64.25 2640 CP/M'" BACKGROUND PRINT UTILITY $42.95 OTHER CCS PRODUCTS ARE AVAILABLE. CALL FOR PRICE ssm MICROCOMPUTER PRODUCTS S100 PRODUCTS CBIA 8080 PROCESSOR PCBD $32.95 KIT $155.95, AST $215.95 CB-2 280 PROCESSOR BOARD. KIT $198.95, A&T . $269.95 VBIC 64 x 16 VIDEO, PCBD $32.95 KIT $153.95. A&T $199.95 VB2 64 x 1 6 VIDEO, PCBD $32.95 KIT $175.95, A&T $234.95 VB3 80 CHARACTER VIDEO 4MHZ. KIT $345.95, A&T $425.95 UPGRADE RAMS FOR VB-3 S42.00 104 2 PARALLEL, 2 SERIAL, PCBD S32.95 KIT $155.95, A&T $194.95 PB-1 2708, 2716 PROGRAMMER BOARD. KIT $13595, A&T $185.95 MB-IO 16K STATIC RAM. KIT $299.95, A&T S339.95 APPLE PRODUCTS A488 IEEE 488 INTERFACE S399.95 AIO SERIAL/PARALLEL INTERFACE KIT $125.95, A&T $155.95 ASIO SERIAL I/O KIT S87.95. A&T $97.95 APIO PARALLEL 10 KIT(W/0 CABLES) . . . $67.95, A&T(W/0 CABLES) . . $87.95 OTHER SSM PRODUCTS ARE AVAILABLE CALL FOR PRICES. uwu MONDAY.FRIDAY, 8:00 TO 12:00 THURSDAYS, 8:00 TO 9:00 P.M. (415) 728-9121 P.O. BOX 955 • EL GRANADA, CA94018 PLEASE SEND FOR IC, XISTOR AND COMPUTER PARTS LIST NOV. SPECIAL SALE ON PREPAID ORDERS (CHARGE CARDS AND C D OR P.O. KOI AVAILABLE ON THESE OFFERS) 10% OFF ON WAMECO PCBD'S WITH MIKOS PARTS rv JTlCJjnc, wameco inc. BOARDS WITH MIKOS PARTS MEM-3 32K STATIC RAM, PCBD $36.95 KIT LESS RAM S95.95. A&T $135,95 CPU-2 Z80 PROCESSOR, PCBD $32.95 KIT LESS ROM $109.95, A&T $149.95 EPM-2 16K/32K EPROM, PCBD $32.95 KIT LESS ROM S65.95. A&T S99.95 FPB-1 FRONT PANEL, PCBD $48.50 KIT $144.95. A& T $184.95 CPU-1 8080 PROCESSOR, PCBD $29.95 KIT $89.95, A&T $129.95 QMB-12 13 SLOT MOTHER BOARD. PCBD $39.95 KIT $95.95, A&T $135.95 OTHER WAMECO PRODUCTS ARE AVAILABLE. CALL FOR PRICES. MIKOS PARTS ASSORTMENTS ARE ALL FACTORY MARKED PARTS KITS INCLUDE ALL PARTS LISTED AS REQUIRED FOR THE COMPLETE KIT LESS PARTS LISTED ALL SOCKETS INCLUDED LARGE SELECTION OF LS TTL AVAILABLE. PURCHASE S50.00 WORTH OF LS TTL AND GET 10% CREDIT TOWARD ADDITIONAL PURCHASES. PREPAID ORDERS ONLY. VISA oi MASTERCHARGE Send account number, interbank number, expiration dale and sign your order Approx postage will be added Check or money order will be senl posl paid in US II you are not a regular customer, please use cbarge. cashier's check or postal money order. Otherwise there will be a Iwo-week delay tor checks tocleai Calif. residents add 6% tax Money back 30-day guarantee We cannot accept returned IC's that nave been spidered to Prices subject to change without notice SID minimum order SI. 50 service chwje on orders less thin SIQ.OD. FLOPPY DISK DRIVES Qume Datatrak-8 $540 Virtually the industry standard. High quality/reliabil- ity. Full featured, double-sided, double density. SA851R S540 Full featured drive, double sided, double density SA801 R $430 Single sided, double density, very consistent FDD100-8 $430 Qume Datatrak 5 514" $345 SA-400 5V $299 TandonTM-100 48TPI 5>/4." $350 96 TPI $425 NEW! Tandon 8" thinline drives. Call for details. CONTROLLERS Tarbell single density kit $195 Tarbell single density A&T $310 Tarbell double density A&T $425 CCS 2422 w/CPM 2.2 $350 Godbout Disk 1 $450 MDA MXV-21 LSI-11 controller (RX-01, RX-02 compatible) $1050 MISCELLANEOUS CCS Mainframe $395 2 Disk drive enclosure $ 95 (fits Siemens, Shugart, Qume) CP-206 power supply $110 (powers two floppies) Cable Kits 2 drives $ 35 3 drives $40 4 drives $ 45 Diskettes ss $39/10 - ds $59/10 CPU CCS 2810 Godbout Z-80A . Godbout 8085A $ 275 $ 275 $ 295 MEMORY CCS 2065 64K dynamic . CCS2116 32K static . . . Godbout RAM 17 64K . $ 625 $ 675 $ 995 I/O CCS2710 4SIO Godbout Interfacer 1 . Godbout Interfacer 2 . $ 325 S 225 $ 225 Qume S/5 - Daisy Wheel Printer Sprint 5/45 RO Sprint 5/55 RO Sprint 5/45 KSR Sprint 5/55 KSR Forms Tractor Pinfeed platen Paper Guide Paper Basket many print wheels, ribbons, & more available. $2699 2829 3029 3159 210 155 30 50 Terms of sale: cash or checks, purchase orders from qualified firms and institutions. Minimum order $25. CA residents add 6% tax. Prices subject to change without notice. All goods subject to prior sale. Minumum shipping/handling charge $4.00. Electrolabs POB 1608, Palo Alto, CA 94302 (415) 321-5601 522 BYTE November 1981 Circle 156 on inquiry card. WE WILL NOT BE UNDERSOLD DISK DRIVES FOR TRS-80* Model I CCI-100 5 1 /4",40Track(102K) $299 ADDON DRIVES FOR ZENITH Z-89 CCI-189 5Va", 40 Track (102K) $389 Z-87 Dual 5V*" system $995 External card edge and power supply included. 90 day warranty/one year on power supply. CORVUS 5mg $3089 10mg $4489 Mirror $699 RAW DRIVES 8"SHUGART801R $399 5 1 /i"TANDON $CALL POWER SUPPLIES $CALL DISKETTES -box of 10 5Vt" Maxell $40 8" Maxell $45 PLASTIC FILE BOX-Holds 50 5V* "diskettes PLASTIC LIBRARY CASE SVa" $3.00 HEAD CLEANING DISKETTE FLOPPY SAVER $10.95 16K RAM KITS 200ns forTRS-80,*Apple II, (specify): COMPUTERS/SYSTEMS ARCHIVES 64K, 2-Drives, 77 Track ALTOS ACS8000 Series ZENITH 48K, all-in-one computer ATARI 400 $ 359 MATTEL INTELLIVISION APPLE PERIPHERALS SYSTEM SPECIAL Apple II Plus 48K w/drive and controller. Epson MX-80 printer and interface. SUP-R Mod RF Modulator: List $2965 You Pay $2295 BASF/Verbatim $26.95 BASF/Verbatim $36.00 $19.00 8" $ 4.00 $25.00 RINGS $ 6.95 2 for $37 $19 Jumpers $2.50 $CALL SCALL $2200 800 $ 789 $ 259 $CALL PRINTERS } NEC SPINWRITER 7710 R O Par $2395 $2595 ^^w^^^^^ ■ II lu i i. v. fa! ^H 7710 R.O. Par w/tractor y^ jl 7720 KSR w/tractor $2795 H^^^**'* M 7730 R.O. Ser $2395 S*^ 7730 R.O. Ser w/tractor $2595 NEW 3500 Series SCALL EPSON MX-70 MX-80 MX-80F MX100 $CALL PAPER TIGER IDS 445 Graphics &2K buffer $ 639 IDS 460 Graphics &2K buffer $ 799 IDS 560 Graphics $1049 ACCESSORIES $CALL ANADEX DP-8000 $849 DP-9500/01 $1295 OKI DATA Microline 80 Friction & pin feed $CALL Microline 82 Friction & pin feed $CALL Microline 83 120 cps, uses up to 15" paper SCALL Call for new Microline series! CENTRONICS 739, new model with graphics $ 739 C. ITOH Starwriter I 25 cps, parallel interface $1439 Starwriter I 25 cps, serial interface $1495 Starwriter II 45 cps, parallel interface $1770 Starwriter II 45 cps, serial interface $1870 AXIOM GP-80M $ 319 DATA SOUTH 180 cps $CALL MONITORS BELL & HOWELL 9"B&WBHD911 $155 LEEDEX 12"B&W $129 12' 13" Color $329 Green Screen $159 SANYO 9"B&W $149 12' Green Screen $238 12"B&W $219 13' Color $399 ZENITH 13" Color $349 12' Green Screen $129 TERMINALS ADDS Viewpoint $CALL ZENITH Z-19 $ 725 TELEVIDEO 910 $ 559 920C $729 950 $ 939 IBM 3101-10 $1189 S-100 CALIFORNIA COMPUTER SYSTEMS MAINFRAME $359 Z80CPU $ 269 64KRAM $599 FLOPPY DISC CNTRL $ 359 TELECOMMUNICATIONS LIVERMORE STAR MODEM 2-year guarantee $125 UNIVERSAL DATA SYSTEMS UDS103LP $149 UDS103JP $215 NOVATION CAT $139 D-CAT $149 AUTO-CAT $199 APPLE CAT II $339 D.C. HAYES SMART/STACK MODEM $235 MICRO-MODEM II $295 CCI Telnet Communications Package $135 APPLE ACCESSORIES Mfr. by-Microsoft - Mountain Computers AND SOFTWARE - Videx - CCS - Personal Software INTEGRATED SYSTEM W/INTERNAL CABLES, TESTED $1975 VISICALC VISITERM $185.00 $119.00 VISIDEX VISIPLOT $159.00 $139.00 2P + 2SI/0 $ 269 Z-80SOFTCARD $259.00 VIDEX BOARD $249.00 4 PORT SERIAL I/O $ 249 KEYBOARD ENHANCER $110.00 16KCARD $159.00 4 PORT PARALLEL I/O $ 179 APPLE JOYSTICK $ 49.00 SUP-R FAN $ 39.00 CABLES $CALL SUP-R MOD $ 25.00 CCS CARDS $CALL APPLE CARDS SCALL ASCII EXPRESS $ 59.00 CASIO CALCULATORS SUPERCALC $199.00 ALF9 VOICE BOARD $149.00 POCKET COMPUTER FX702 $199.00 CPS MULTIFUNCTION CARI $199.00 DESK PRINTER /CALCULATOR FR100 $ 79.95 SCIENTIFIC CALCULATOR FX8100 $ 49.95 ENTERTAINMENT GAME WATCH CA90 Plastic $ 49.95 Mfr. by:On Line - Broderbund Sirius - California Pacific GAME WATCH CA901 Steel $ 69.95 FLIGHT SIMULATOR $29.00 SARGON II $29.00 SPORT WATCH AX210 Calendar $ 59.95 WIZARD & PRINCESS $28.00 ABM $21.95 MYSTERY HOUSE $24.00 GORGON $34.95 BUSINESS SOFTWARE HI-RES FOOTBALL $35.00 MICROPAINTER $29.00 WORDSTAR for Apple II $ 329 RASTER PLASTER $25.95 APPLE PANIC $27.95 WORDSTAR for Zenith Z89 $ 329 SPACE EGGS $17.95 MATTEL GAMES $27.00 For fast delivery, send certified checks, money orders or call to arrange direct bank wire transfers. Personal or company checks require two to three weeks to clear. All prices are mail order only and are subject to change without notice. Call for shipping charges. dealer (national/international) inquiries invited Send for FREE Catalogue The CPU SHOP TO ORDER CALL TOLL FREE 1-800-343-6522 TWX: 710-348-1796 Massachusetts Residents call 617/242-3361 5 Dexter Row, Dept. B11M Charlestown, Massachusetts 02129 Hours 10AM-6PM (EST) Mon.-Fri. (Sat. till Technical Information call 617/242-3361 Massachusetts Residents add 5% Sales Tax Tandy Corporation TrademanV-'Digital Research ^^^^^^. 1 master charge VtSA . ^^^^^^^^^ Circle 116 on inquiry card. BYTE November 1981 523 PROFESSIONAL MICROCOMPUTER THE BEST VALUE ON THE MARKET • Z80 4MHZ • 64K RAM • DUAL 8" DRIVES • 1.2 MB STORAGE • 2 SERIAL I/O • 2 PARALLEL I/O • OPERATING SYSTEM AND UTILITIES MICRO BUSINESS ASSOCIATES. INC. 500 SECOND STREET SAN FRANCISCO, CA 94107 415-957-1343 9 TRACK TAPE DRIVES 800 BPI 45 IPS FULL MANUAL $4850 VALUE $2400 NEW IN ORIGINAL BOXES PERTEC Model 8840A-9-45 INDUSTRY STANDARD INTERFACE CAPABLE OF IND. STD. ANSI-IBM DATA FORMAT l-IBM COMPATIBLE • DUMP WINCHESTERS AND HARD DISKS; 10 inch reels hold up lo 3600' ni tape 34.56 Megabytes unblocked. ■ EXCHANGE DATA & PROGRAMS WITH LARGE MAIN FRAMES AT SCHOOL. WORK. SERVICE BUREAUS ETC. • BARGAIN PRICED MINI-COMPUTER UPGRADE. OEM Lisl S4BS0 A large OEM overstock makes IhOSS industry standard drives available at a fraction ol Ihtjir current list price Full Siie drives nandle up lo 10 5 inch reels of si use right SPECIFICATION SUMMARY: 9-track. BOO BPI. dual head (read alter wnle). 45 IPS read/Write, 20O IPS rewind. BOT/EOT sensing, 110 VAC/60-H*. solid siaie. receni manufacture, all I/O signals TTL/DTL compatible, tension arm tape bullering. full control panel Call or wnle lor full set of technical specifications INTERFACES: Eleclrovalue encourages Ihe development ot interfaces to popular systems Interlaces exist lor popular minis and arc being developed for several hoboy computers II you'd like lo develop and document an interlace to a popular small system call lo discuss ELECTROVALUE INDUSTRIAL INC. PO BOX 157-B ryj Pnonc MORRIS PLAINS, NJ 07950 < -^ffiO queslio Fo ' n "'" Ei "'" <™« Cm s CONTROL-Z SINGLE BOARD Z-UUfr COMPUTER FOR CONTROL USES USES: Industrial Tost Equipment Macfi.no Com. ol Inieliigoni PnnpIior.il Controller Secuniy Systems OEM room Automalic Dialing Eqmpmonl Traffic Signal ConiroJ Etc 1 Solar Houtinn ft Power Systems AejHrance Control FEATURES: -I MHj- 2-80A* ion Board erysial). Ik RAM. sockets lor 2 2715s i4K PWDMi. 3-U Oil parallel t H nuiflut ports. 2-8 Lut parallel TTL mpui pons. B analog input polls 1100 iisoc u:-HiviT-.iijii IhtimI. ti li.gli curit-ii! imfjiul -, (doiti collocltxl 4 0(ifi>- isolated input In"",. MM tingM H T'lL output to strut I O 280 conliol lines moughi lo edge conneclor. oilm imhI decodes brought to oofle c Bus far port expansion, on bo.vUSv regulator. «'-"" M. fully si PRICE: 5295 o 10 m 1.500 m . uses standard 72 pin edge Mmiilo PflOM SJ5Fuiltunciionmoniio'piogiam«i!'TO'o*riio.iU capacity sottwant serial driver & sett lest Icatuic TERMS: CHECK. MC. VISA. orCOD Cal Res add 6". la- Firsl Class Shipping Included ■iu, ] ..i...»ii>iae™n*..«ki ■ COMPUTER-AID 1122DELAVINA SANTA BARBARA, CA 93101 (805)966-3077 Circle 255 on Inquiry card. Circle 82 on inquiry card LOWEST POSSIBLE PRICES BEST POSSIBLE WARRANTY model III 16K color computer 4K $310 call toll free 1 -800-343-81 24 com Write lor your free catalog. $£ 24SA Great Road Littleton, MA 01460 617 • 486 • 3193 NEW! for the '89 from MAGNOLIAS MICROSYSTEMS DOUBLE DENSITY DISK CONTROLLER for both 5 1 /4" S. 8" drives onlyipGyiD complete including CP/M™2.2 MAGNOLIA MICROSYSTEMS, INC. 2812 Thorndyke W., Seattle 98139 [206] 285-72BB (800) 426-2841 CP/M is a trademark of Digital Research. FREE! 1981 DISCOUNT ELECTRONICS CATALOG JOIN THE PAK! ilog and become a .............. ._celve Poly Pak exciting catalog several times a year. We offer: Penny Sales, Free erals. Integrated Circuits, Speakers, Audio Equipmenl, Rechargeable Batteries, Solar Prod- ucts, Semiconductors, and much, much more! Take advanlage ot our 25 years as Ar loremost Supplier ol discount electronics. POLY PAKS, INC. Circle 91 on inquiry card. Circle 237 on Inquiry card. Circle 346 on Inquiry card. WANTED: APPLE, PET, TRS-80, CP/M SOFTWARE Westico is a publisher and distributor of professional software for microcomputers. If you have a new program ready for distribution or want your existing programs to reach a larger market, contact Phillip Woellhof. V.P. Mktg. Westico, Inc. 25 Van Zant Street Norwalk, CT 06855 (203) 853-6880 To increase your profits, take advantage of Westico's worldwide promotion and distribution. WESTICO The Software Express Service SPECIALS of the MONTH ATARI 800 Computers ( 750.00 ATARI 810 Disc Drives i 450.00 ATARI Software 25% off APPLE II 6 48 K Computers (1 , 1 50 00 LODO Disc Drive for APPLE II S 395.00 8" Dual Drive Subsystems 2.4Mb DS-DD complete $1,795.00 CDC LARK Subsystems 16Mb with 1 cartridge-power supply-cables. S5.200.00 Complete Word Processing System with DIABLO Printer S4.200.00 CALIFORNIA Computer Systems 300 Dual 8" Drive Computer, 64K RAM. OASIS-2.4 Mb Disc memory. 25 serial ports, 1 Centronics compatible parallel port, a televldeo 910 CRT-COMPLETE!. S5. 800. 00 EPSON MX-70 Printers S 385 00 EPSON MX-80-F/T Primers S 685.00 IDS 460G Printers S 800.00 IDS 560G Printers S 1 . 1 50 00 CITOH STARWRITER 25 Printers H. 380. 00 DIADLO 630 RD Printers t2,240 00 NEC 5PINWRITERS Coll for price APPLE Peripherals Coll for price MOUNTAIN HARDWARE CPS Multifunction Cords S 180.00 DATA SYSTEMS "THE COMPLETE SYSTEMS AND SUPPORT TEAM" wabash When it comes to Flexible Disks, nobody does it better than Wabash. MasterCard. Visa Accepted. Call Free: (800)235-4137 PACIFIC EXCHANGES 100 Foolhill Blvd San Luis Obispo. CA 93401 (In Cal call (805)543-1037) Circle 246 on Inquiry card. Circle 332 on Inquiry card. California Computer Systems • 2810 CPU Only — $250.00 • 2422DskCont Only — $300.00 • 2065C64K Only — $425.00 • 2032C32K Only — $620.00 • 2718 2x2 Only — $305.00 • 2200A Mainframe Only — $349.00 • 2501 Mother Board Only — $106.00 • 21 16C16K Static Ram 200ns Only — $309.00 • 2520K Extender Board Only — $52.00 TERMINALS • Televideo 910 — $575.00 • Televideo 91 2C — $665.00 • Televideo 920C — $740.00 • Televideo 950 — $950.00 • Ampex Dialog 80 — $950.00 • Zenith Z19 — $745.00 PRINTERS • C-ITOHCometl 9x7 Dot Matrix . . .$450.00 • C-ITOH Comet II ..$810.00 132 Column Printer 9x7 Dot Matrix • C-ITOH Star Writer* Call for best price • EPSON MX 80 ....$470.00 • Anadex9501 ....$1,275.00 Graphic Printer LEXICON LX-1 1 , acoustic . .$145.00 S-100- CONNECTOR Tl or Better WmiiJruii/i:i:iMmiiihiiiiii SOLDER TAIL 11 EDISON DRIVE * NEW LENOX * ILLINOIS 60451 CALL TOLL FREE: 1-800-435-9357 • MONDAY thru SATURDAY (ILLINOIS RESIDENTS CALL: 815-485-4002) • 8:00 a.m. to 6:30 p.m. TERMS: Prepayment — C.O.D. up to $100.00 — M/C Visa $5.00 Processing and Handling added to each order PLUS Shipping Charges. Please allow personal check to clear before shipment. S1 — MOD (KIT) $199.00 (gggf Complete S-100 12 Slot Main Frame. Ample system power with regulated power for drives. Excellent for Subsystem or Hobby use. Four hours to build. (6 conn., incl., less fans) FLOPPY DISK DRIVES S-100 BOARDS EXPANDABLE RAM This is the best all around 64K board you can buy. If after you see it, you don't agree return for full refund. Bank Select by extended address lines or I.O. 40H • $400.00 A&T * DUAL DRIVE SUBSYSTEM $1,045.00 $245.00 w/no Drives Kl ) 2 SHUGART 801R ^^ POWER SUPPLY / Shugart 801 's - Shugart 851 's - Qume DT-8's - Shugart 400's - Tandom 5 1 /4 - MPI B-51 — $395.00 $585.00 $540.00 $255.00 $255.00 $255.00 TWIN VERTICAL DRIVE$T-Tn 5" $550.00 — 8" $980.00 Jill - CHIPS - Z — 80 CPU The first time this world popular CPU offered in Kit. Two serial, 3 parallel, CTC, EProm Z-80 at 4 mhz. Software buad rate, etc. (Less Prom. & Cable) $250.00 U$ — D$K $275.00 Double Density 8" and 5" Disk Controller designed for S-100 IEEE standards. Uses Western Digital 1795. 1691, 2143 Chip Set. 32K (Kit) 300NS Lo-Lo Power 4K by 1 Chips Extended Address Lines Phantom Line 9 Regulators $250.00 Z-80A — $6.95 Z-80A SUPPORT CTC — $6.55 SIO — $25.50 PIO — $6.50 DMA — $18.75 2716-$6.75 2708-$3.95 4116-$2.50 2114-$2.75 INTEL 2141-$4.00 S-100 CARD EXTENDER $12.50 $2.50 data systems Quality Affordable ' Microcomputers Z89FA $2,150.00 Z89GA $1,970.00 Z87 Dual 5V4 Disk Unit $960.00 Z47 BA Dual 8 Disk Unit . . .$2,750.00 Expansion Interface $128.00 CP/M® V.2.2for289 $140.00 Microsoft BASIC V5.1 forCP/M $150.00 Microsoft FORTRAN 180.00 Microsoft COBOL S365.00 Circle 418 on inquiry card. HOBBY ROBOTICS' Shoppers Mart - For the SERI OUS Hobbyist - v .(ti \\ Hobby Robotics \ Directory Complete RU 2 Manual! Everyiliing you need lo build you: own robot lion base up wilh Honby Robotics' highly maneuver able 2-fl. per rated al 15 lbs., gnp-li hands. Manual on $25.00, refundable wi Hobby Robotics' Parts Supplier Dime- lory. ChOCk-fUll of names, addresses, phone numbers you want for hard-to- find parts, systems, build-yourown- robot info. Only S3. 50. Gel yours now! HOBBY ROBOTICS 5070-E Butord Highway Norcross. Ga. 30071 404/4480190 Please send items checked below: QH NewMettei HU-2 Manual FREE* Hobby Rob lies CalalofMFREt Perac Cashiers Check/ MO Bank Americard HOBBY ROBOTICS' ROBOT BASE Ready to roll! ONLY $495 (include ihlppln HOBBY ROBOTICS 5070-E Buford Highway ■ Norcross, Ga. 30071 • 404/448-0190 8035/9 BOARDS CPU 1K RAM, 40 I/O lines Parallel I/O 2 8255s, 70 mil line drivers Serial I/O 3 8251s, RS 232C interface A/D-D/A 8/1 channel All boards 4x7, 86 pin edge connector Assembled • $125 Bare • $20 Hardware & Software Tools available Make check payable to: SKP ELECTRONICS 2211 Caper Tree Dr. Tustin, CA 92680 (714) 832-1732 California residents add 6% sales tax Please add $3.00 for shipping and handling COD charges extra INSTANT PLATEN FOR THE EPSON MX80 PROFESSIONAL LOOK FOR YOUR CHECKS INVOICES LETTERHEAD AND ENVELOPES WITH TRACTOR ADJUSTMENTS ONLY INSTANT PLATEN $9.00 PLUS HANDLING AND SHIPPING 1.00 COMPUTEROOM DEPT SFC PO BOX 895, MONTEREY CA 93940 DISTRIBUTORS/DEALERS WELCOMED Circle 445 on inquiry card. Circle 380 on inquiry card. Circle 462 on inquiry card. RAM For ATARI Get the most from your ATARI 400. Memory expansion to a full 48K is now possible with our 48K Board. Expand your ATARI 800 with our 32K Board. 48K Board 32K Board $299 $199 INTEC Suite #111 3387 Del Rosa Ave. North San Bernardino, CA 92404 (714) 864-5269 CA residents add 6 percent tax ATARI is trademark of ATARI, Inc. UV EPROM ERASER $49.95 LiVERASntiLFFPnOr.VM.-Vfiii 271G 2532. 2564. e > OUICK FIFTEEN MINUTE ERASE TIME i ERASES OVEfl FIFTEEN EPROMS M A TIME • LAMPLIFE ,7<)0 HOURS > TIMER AND SAFETY INTERLOCK SWITCH OPTION ADD S30QC THE BEST 6809 SINGLE BOARD COMPUTER AVAILABLE t Floppy Controller « SWI PC compatible • Printer Port • Runs TSC Flex • RS-?32Poit • full Dacwncntitmn PRICE: FOR THE SS-50 AND S-100 BUS ASSEMBLFD, TESTED. 18 HOUR BURN IN, flO DAY WARRANTY $389.00 2114 RAM 300 ns S2.95 STRAIGHT FROM THE FACTORY 2716 EPROM 550ns 54.50 ^GUARANTEED. EPROM PROGRAMMER lor 2716, 2732 S99.50 In Circuit Emulator for 68xx, 8085. 280 S99.95 WE ACCEPT VISA, MASTERCARD. CO D . CHECKS phone orders (305)974-0967 LOGICAL DEVICES INC. 781 W OAKLAND PARK BLVD • FT [ AUDERDALE. FLORIDA 333: 1 ANALOG <■» DIGITAL DIGITAL** ANALOG CONVERSION MODULES SOFTWARE CAIN CONTROL amplifier - custom board test — S-100 - 9 ro 15 khz conversion limp, - mixable high and low inputs - gain from 1 to 1024 - tg-bit '.nmplc and hold amplifier 3-chonnel differential - 16-chonnel - analog ro digital nigh ocajFOcy - programmable gain instrumentation amplifier - custom board tes! - S-100 - 2 to 15 khz conversion time - mixoblr. high and low inputs - gam : rom 1 to I0S4 12-bit sample and hold amplifier B-channel differential - 16 channel - analog to digital high accuracy - programmable gam instrumentation amplifier - custom board ir.M - S-100 - 2 lo 15 ktv For additional details about the AD-100-4 and other fine California Data corporation 100°p individually tested, high reliability products, circle the reader service card number below or for faster response write or call us. CALIFORNIA DATA CORPORATION 3475 Old Conejo Road, Suite C-10 Newbury Park, CA 91320 (805) 498-3651 Circle 199 on inquiry card. Circle 230 on Inquiry card. Circle 59 on inquiry card. FULL PERFORMANCE CP/M* computer $1995 list dealer-distributor discounts ^J^ Alspa Computer, Inc. 5215 Scotts Valley Drive Scotts Valley, CA 95066 (408) 438-3326 'trademarks of Digital Research, Inc. t~ QUARTZ CRYSTALS "~$ 1 i .3MB 5.2428B 9.9336 B 20900 6 36-2SB5-B 42.851 B-B 468I2BB 1 1 5390 D 5.61 D-B 9-96408 B 2049B8-0 363636 B 425768 B 473766 8 ' , , ' I 000 A 6.7143-8 9.98960 B 22II84B 379628-B 42.92S6-B 478836 8 ^ ( 1 .8432 A 5.955 6 1 0000 B 22.6258 B 38.3 7GBB 42.96268 48(111) fl i ' 1 fc 1 .8437 B 6.982-8 102453-8 263686-8 384448B 43DO068 48.3006 B | ( ' 2.000 A 6.000 9 104968-8 26.5006 B 38.62S8-B 43H3788 48.6668 B < . .. 2.0971 A 6.144 e 10.7755-8 266706-B 38.9258-6 430MB Ii 4B.700G B i ' ( 2.4576 A 6.15030 B 1 0.6255-8 27.800 B 39.3I28-B 43.IB56-B 4887GB-B 1 ( 2.500A 6.297B0B 10.8386-8 27JU06-B 39.5038 B 43.2598 B 49.7006 B ' , , 1 2.6657 B 64008 111360 9 27.6506 B 39 6668 ii 43.3336-B 49 7338 fl ( 1 2.9850 B 655368 1 1.156 B 28.4006 B 39.7538-8 43J708B 498128-8 , ' ' . 3.QO0-A 6 72530 6 1 1.2186-8 28.6276-B 39BJ6BB 43.4078B 50^505- B 1 I 3.067 B 6.75840B II 2890 8 28.75388 3996288 434378 B 5I055G-B ' . * 3.200 8 6.9003 8 114776-6 298758 B 40444B-B 434448B 5I3I28-B 1 ' > 3.2768A 7.0063 B 1 1 6566 B 29.937BB 40592BB 43656S-B 5I.7778B , 1 1 . 3.500 B 7 0336 B IIGBI6-B 30.0648-B 40.61 28< 8 43.6298-B 518506-B ' ) 1 ' 3.579B 7.091GB 12.440 B 3036061! 40.833G-B 43.G66B-B 528128B 1 1 4.000B 7,1838-9 I4.3182B 30.6258B 40B75B-B 43.7778B 56.7506 8 , ' 1 . 4.1943-B 7.25B6B 14 4308 B 30B768-B 40688BB 43.B128B 60.60068 ) ( ' 4.3426-B B.OOOB 15000 B 31437BB 40.925B-B 43JI48B 50.7508 B ' , 1 44803-8 8U556B 15440BB 31.7538 B 41000B8 433518 B GG.7506-B 1 \ t 4.6I03B B 1416 B 15.5066 B 319008B .111666-0 43.BB88B 704006 8 , 1 ( 4.6503-B B.I61B-B 16.0008 32000 B 413768-B 43925BB 75 0005B t . ' 4.8303 B B.3303B 1838488 33.2006 fi 41937BB 44.0008 B W 8338-B < . , 4.9152 B 8.4998-8 17.2248 B 33.6258 B 42.0008 B 440378 B 9991*8 i! | ' 1 , 5.000-e 8 5766 I72422B 34.5558 B 42.583G-B 44.3768 B I0OG66B-B . 1 ( 5.0688-8 B.6056B ISOOO-B 34.7538B 42.626BB 44.777BB 101.4666-6 ' , . * 5.1203 8 B.9606B 184320-8 34.9776 B 42.7WG-B 45.1256-8 1030668 6 1 ) 5.1850-B B.9906B 19.46908 35 9256-B 42.7538 B 4G.3006B 1034668 6 , ' < . 5 IB56-B 9472088 19 750B-B 36.0008 42814BB 46.7006 B 10499IB-8 1 ( ALL A - 1299 ALL B -1199 OORMOBf nUlllCT 5 '| <\DD $1.00 SHIPPING CAL. RES. ADD 6% SALES TAX FREE OSCILLATOR SCHEMATICS '| WITH ANY ORDER l! QUALITY COMPUTER PARTS ]■ < PO BOX 743 / CHATSWORTH, CA 91311 1 MEMOREX FLEXIBLE DISCS WE WILL NOT BE UNDER- SOLD!! Call Free (800)235-4137 for prices and information. Dealer inquiries invited and CO.D.'s accepted. PACIFIC EXCHANGES 100 Foothill Blvd San Luis Obispo, CA 93401 In Cal. call (800) 592-5935 or (805) 543-1037 Circle 17 on Inquiry card. Circle 353 on Inquiry card. Circle 333 on Inquiry card. Best prices anywhere ! Now a Toll-Free"800" COMPUTERS • NORTHSTAR HORIZON II HRZ-2-32DD,Lisi $3695." CALL HRZ-2-64DD, Lisl $4195 HRZ-2-Q32, LiSI $3995 HRZ-2Q64, Lisi $4495 NEW . . .NORTH STAR ADVANTAGE. CALL DYNABYTE List Less 30% ALTOS PLEASE CALL FOR PRICES SUPERBRAIN By INTERTEC m „. ; a \ * 64K DD $2695 64K QD $2995 DSS-10MEG $3195 INTERTUBE $725 Emulator $725 CROMEMCO CS2, L si $4695 OUR PRICE $3549 CS3, Lsi $7995 OUR PRICE $6349 data systems Z-89. . . . List $2895 OUR PRICE $2139 Intersystems CALL FOR PRICES TERMINALS TeleVideo Televideo 910 $579 912C $659 920C $729 950 $945 SOROC Soroc IQ120 $689 IQ130 $579 IQ135 $719 IQ135w/g $789 IQ140 $1049 HAZELTINE 1420 CALL 1500 $789 1510 CALL HAZELTINE ESPIRIT ZENITH Z19 $719 Most items in stock lor immediate delivery factory sealed cartons. wfull factory warranty NYS residents add appropriate sales lax Prices do not include shipping VISA and Master Charge add 3% CO D orders require 2b% deposit Prices subiect lo change without notice PRINTERS CENTRONICS 739-1 $749 739-3 $799 704-11 parallel $1569 709-9 $1519 TI810 810 Basic $1289 810 Full Option $1599 820 RO Basic $1545 820 KSR Basic $1739 NEC 7510. 7530. $2395 $2395 Diablo 630 $2049 PaperTiger 445G $739 460 $799 460G $839 560G $1099 Epson CALL FOR PRICES DISK SYSTEMS MORROW Discus 2D $849 Dual Discus 2D $1389 2 + 2 $1199 M-26 $3599 M-10 $2999 COMPUTERS WHOLESAL P.O. Box 14a Camillus, N.Y. 13031 InN.Y. call 319-472-2582 Circle 282 on inquiry card. Z-80 and 8086 FORTH Z-80* FORTH— a complala program developmenl system. Usos standard CP/M* compatible random access disk files 1or screen storage. Package includes: Interpreter/compiler wllh virtual mem- ory management, line editor, screen editor, Z-80 Assembler, de compiler, utilities, demonstration programs, and 80 pago user manual. System requirements: Z-80 microcomputer, 48 kbytes RAM,CP/M2.2orMP/M» 1.1. S50 00 Z80 FORTH WITH NAUTILUS SYSTEMS CROSS-COMPILER. Extend/modify the FORTH runtime system, recompile on a host computer lor a dilfergnt target computer, generate heacm ■>■;- code, generate ROMabio code with initialized variables. Supports forward referencing to any word or label. Produces load map and list of unresolved symbols. 107 page manual. System require' ments as for Z-B0 FORTH above. $200 00 80B6 FORTH with line editor, screen editor, assembler, and utilities. Uses standard CP/M compatible random access files for screen storage. Requires 8086 or 8088 microcomputer, 64 kbytes RAM, and CP/M86 operating system. $ 100 00 MACHINE TEST PROGRAM PACKAGE for Z-80 systems. Includes memory, floppy disk, printer, and terminal tests with all source code. Requires CP/M 2.2. $50 00 All software distributed on elghl-lncfi soft sectored single density diskettes. Prices include shipping by first clas3 or UPS within USA or Canada. COD charges extra. Purchase orders accepted at our discretion. (CP/M and MP/M are registered trademarks of Digital Research, Inc. ZB0 Is a registered Irademark of Zllog, Inc.) Laboratory Microsystems 4147 Beethoven Street Los Angeles, CA 90066 (213)390-9292 Circle 220 on Inquiry card. Convert your TRS-80 into a DEVELOPMENT SYSTEM Z-80 In-Circuit emulation and EPROM/EEPROM programming in a single compact unit. Debug stand-alone systems with program in TRS-80 RAM, then copy working program into PROM. Only $329 including personality module for2716, 2516, 2758, 2508, 2532, 2816, 2808,48016. ORION INSTRUMENTS - 172 Otis Ave, Woodside, CA 94062 (415)851-1172 Circle 326 on Inquiry card. SCR SUPER-BUYS UPS ANYWHERE IN CONTINENTAL U.S. ©FREE DECODER PLANS plus a brochure describing our new UHF-VHF Conversion Kit rrnrn are yours just by sending us your name, riitt address and an 18c stamp, © VHF VARACTOR-TUNER. 300 ohms inpul. Tunable for Channels 2-10-13. All solid-stale, jagc Made by leading name manufacturer. New- t- ea. surplus. ©BRAND NAME POWER SUPPLIES. ±5V/6A. Voltage adjustable and 1C regulated. Ideal $23^ for CMOS, computer-based instruments, etc, ea. New-surplus, ©6-FOOT TELEPHONE CORD with AMP brand, modular phone-jack at one end. and **-* * 4-spade-lug leads a! the other. Normally cJaC ea. priced at $2.49 each. 'Call us (or special large quantity pricing quotations. ^^ #%P> (714)527-2554 • [213] 596-7553 OUK ELECTRONICS INC. 9533 Valley View Street. Cypress. CA 90630 $10.00 MIN. ORDER HANDLING/SHIPPING S5.00 Pay by CHECK, M.O., VISA, MIC, C.O.D. For Free Buyers Guide Circle No. 375 Circle 375 on inquiry card. PRIAM Disk Subsystems and Accessories, (SMD interface available) lowest cost and greatest established relia- bility for H.P., DEC, Apple, Z-80, 8085 ... and so on. We can show you how to overcome "foreign disk" warranty worries. Special Opportunity: 14A. S-100 Power Supply Kit Input: 95-220VAC, 50/60 Hz 4 "hardware" UARTS (no software initializa- tion required). ->RS-232 printer handshaking on all four channels. -- > Occupies any 8 consecutive ports starting at any eight port boundry from to F8 hex. ~> Individually selected baud rate, word size, parity, number of stop bits, polarity of status word. --> Timed, latched interrupt generator for system clock or type-ahead or multi-user polling sys- tem — ideal for Z80 mode 1 interrupt operation. Uses SINTA to clear interrupt. -->Pre-jumpered for 9600 baud, emulating 8251 status, 8 bit data with 2 stop bits, no parity. Full documentation supplied to custom con- figure the card. $250.00 wired and tested. Oklahoma Buyers add 4% Micronics, Inc. 2834 N.W. 39th Oklahoma City, OK 73112 MINI-DISK DRIVES NOW $219 Mini-Disk Drives as shown $219 each + shipping & sales tax where applicable Manufacturer's Overstock of Tandon Model TM 100 5-V4" Single Sided Floppy Disk Drives • Shugart SA 400 connector compatible • Rated for single and double density operation • 1724K bits (215. 5K bytes) capacity (unformatted MFM) • 5 msec track-to-track step rate • Write protect option included • 48 tracks per inch ■ Plus more.. falDilB CALDISK Box 555, Provo, UT 84603 (801) 375-0000 TWX 9109715889 Phone orders welcome with MasterCharge and Visa. OAE's PP-Series EPROM Programmers plug directly into any vacant EPROM socket and allow you to transfer data directly from RAM to EPROMs. No additional power supplies are required. All timing & control sequences are handled by the programmer. Each unit in- cludes internal DC to DC switching regulator, ZIF socket and 4 ft. ribbon cable terminated with a 24 pin plug. Programmers are available for all EPROMs from 2708's thru 2532's. Oliver Advanced Engineering, inc. 675 W. Wilson Ave., Glendale, CA 91203 (213) 240-0080 or Telex 194773. PP SERIES PROGRAMMERS Circle 270 on Inquiry card. Circle 4B on inquiry card. Circle 473 on inquiry card. yc/t- P.O. Box 4430X Santa Clara, CA 95054 ELECTRONICS INTEGRATED CIRCUITS Will calls: 2322 Walsh Ave. (408) 988-1640 TWX 910-338-2139 Same day shipment. First line parts only. Factory tested. Guaranteed money back. Quality IC's and other compo- nents at factory prices. 74 ION M1-IN imn hmu 7130N '442N M4SN M47N M4SN ■mti M74N M7SN I4B5N M89N M'MN MMN 7493N 7495N ;4100N ;si50N Ml SIN 74.64N 74157N MI61H M167N 74I03N .Mt,'4N 74175N 74190N 74I92N 741 'UN 74?? IN 71298U 7H6IJN 7436SN 7J.ir.7N 741S02H 74i S04H 71LS05N 74LS08N 74LS10N 7ILSUN 711SI4N mi n.'tiN 741 S22N 71IS28N 741 S30N 7SLS33N 71lS38ti 74LS74N HLSrSN 741S9QN 74LS93H 74LS95N 74LS107N 741SI12N 74LSH3N NLSH2N MIS136N ■:.■■.!■ IN MIS15SN M5157N 74L5HJ2N M.S163N 7SLS190N 71IS321N Ml S367N LINEAR CA3045 CA3046 CS3QS3 C43082 IM32DK5 IM121.K I? tM330K-t5 I M370T 5 LM370T8 IM370M2 IM170T-15 I.M.1J3K 'i IM3?4N I M333N LMWOK-s 1M140K-6 1M340K.12 LM34QK IS IM340K-24 I.M340T-5 IM34018 LM34D1 l? LM340M5 IM340T 18 IM340T74 LM350 1M377 LM379 LM380N LM38! IM38? LM709H IM773HN LM733N 1 W7-11CH 1M741N I M747H H LM748N IMI303N I.M1304 I.M1305 LM1307 I Ml 3 10 LMMbfl I M 181 7 IM1B89 LM2M1 LM79G2 I M3QOON LM3S05 LMMQ'W MI.M5BV NE55QU ■ NE5S5V NE556A M565A NE566V V '..-. HE570B 7SLQ5 7BLDB 7BM05 7b 108 75491 CN ; 75497CN 75494CN 13 95 I 90 3 4Q LWOtANAH 35 LH305H 87 IMM7N 35 LM.108N IrJ.lO'X. II IH N 1 65 B700GJ BTQlCN B750CJ 13 9b 11)130 9 95 U400C.IV F 7 40 ICL7T03 9 50 ICI7107 M25 CMOS C040M CDJOOl CD 4003 C040O5 CDJO07 CO40OB CD 4009 Ca-iOiD C0401I CD4012 CD4013 CD40I4 CD40I5 CD4016 CD40I7 CD4Q1R CD40I9 CD4070 CD402I nr)40?2 cn40?.i CD4024 CQ4D23 CDJ026 CD4027 CD4028 CD4029 CD4030 CD4035 CU4040 CD J 0-1? CD4043 CD4044 CD4D46 CO40J9 CD4050 CD4051 CD4O60 CD406G CD 4068 CD 4069 CO407O CD407I CD4072 CD4073 CD-1075 CD4076 CD4078 CD 408' CD4082 CD4U6 CD4490 C04507 CD45M C04510 CD45I I CD4515 CD45I6 CD4518 CD4520 CD4527 CD452H CD4553 CD4565 CD4583 CD4585 C 04011? 74COO 74C04 74C10 74CI4 74C20 74C30 74C48 74C74 74C76 74C90 74C93 74C.I54 74C16D 74C175 74C192 74C22I 74C905 74C9D6 7JC914 74C922 H 74C923 74C975 74C92G 74C927 ?1!4L45Dns 4 00 4116 200ns 2 95 84!l6200riiia IP MM576? 40 MM52B0 3 0!) MM5370 9 95 MM5330 1 94 PD4MD-3 400 PD4I1D-4 5 00 PSiOIL 8 95 420OA 9 95 B2S25 2 90 91L02A WJ0165-S f.!l,1:i7IOO G I AV.Ifi ;■(!!) 100 pm vilnr WW i 75 IC SOCKETS Solder Tin Low Profile PIN I UP PIN 1UP KEYBOARDS 55 ley ASCII keyEoa'd ta fully assemBied 53»ey ASCII keyboard « lul>, assembled tncinsine Plastic Matal Enctosute S67 50 77 50 60 00 70 00 14 95 29.95 fi 95 1100 350 WIRE WRAP LEI/EL 3 CLOCKS MM 5.11! 530 MM5312 3 90 MM53T4 3 90 MM5369 7 10 MU5841 14 45 MM5E65 7 95 CT7O10 8 95 CT7015 8 95 MM5375AA'N .1 9U MM5375AG/N 4 90 7205 7207 7708 7209 DS0026CN DS0056CN MM53104 6504 6572 6530 T.B00 6802 7 50 15 95 685D B080A 6085 B2I6 S224 8728 8251 8253 8255 B257 8759 1802CPp1as 13 95 1802DP pl.is 17 95 I8GTP 9 50 COP1802CD 78 95 CDP18020 ^5 00 20 MH? 1 W 32 MM/ J. 90 32766 M? J 00 i K-:;; 1 \v«: 4 50 3 5795 MH/ ! 20 7 0100 MM/ 195 2 097152 MR: 4 50 2 4576 M«: 4 50 3 2768 MM; 4 50 a oens MHl : SO 5 185 MH: 1 bit 5 714JMH; 4 50 •-, ssifi MM: 1 50 II IIHI8MH: 4 25 IH 4;i7 MH: 4 50 77I184MH: 150 KEYBOARD ENCODERS AY5-2176 S12 50 AY5 1600 17 95 AY5-9100 10 50 AY5 9200 15 50 74C977 5 50 74C923 5 50 1 HD0165 5 6 95 ■ AYfi 140U 10 50 Connectors RS232 . nB?5P 3 62 , DB2SS 5 2D i Cove' 1 67 i OE9S 1 95 i DA15P 2 10 i DA15S 3 10 Cnrnpl.'lc